From cf24dedeb733ebb18a88a7933cf991881b5a6b80 Mon Sep 17 00:00:00 2001
From: muzikmoe
Creating the /etc/inputrc File
+ 创建 /etc/inputrc 文件
+
Making the LFS System Bootable
+ 启动 LFS 系统
+
The
Chapter 7. System Configuration
+
+ 第七章 系统配置
+
@@ -50,6 +70,7 @@
7.9. Creating
the /etc/shells File
+ 7.9. 创建 /etc/shells 文件
shells
file contains a list of
@@ -58,12 +79,22 @@
present, consisting of the shell's path, relative to the root of the
directory structure (/).
+ shells
文件包含一个系统中登录 shell 的列表
+ 应用程序通过这个文件判断某个 shell 是否有效,
+ 每个 shell 都应当有一行包含 shell 绝对路径的语句。
+
For example, this file is consulted by chsh to determine whether an unprivileged user may change the login shell for her own account. If the command name is not listed, the user will be denied of change.
++ 例如,chsh访问这个文件来确定某个非管理员用户是否可能改变她账户下的登录 shell + 如果命令并没有列入其中,该用户的更改将被拒绝。 +
It is a requirement for applications such as GDM which does not populate the face browser if @@ -71,6 +102,12 @@
+ 它是一些应用程序的必要文件,例如GDM 在找不到
+ /etc/shells
的情况下不会弹出图形浏览器, 还有一些 FTP 守护进程将
+ 拒绝 shell 未包含在该文件中的用户访问。
+
cat > /etc/shells << "EOF"
# Begin /etc/shells
@@ -87,24 +124,38 @@
Prev
+ 上一页
Creating the /etc/inputrc File
+
+ 创建 /etc/inputrc 文件
+
Next
+ 下一页
Making the LFS System Bootable
+
+ 启动 LFS 系统
+
Up
+ 返回
Home
+ 首页
diff --git a/lfs-8.0/chapter07/inputrc.html b/lfs-8.0/chapter07/inputrc.html
index 8bc93f5..efd64c5 100644
--- a/lfs-8.0/chapter07/inputrc.html
+++ b/lfs-8.0/chapter07/inputrc.html
@@ -3,7 +3,7 @@
+ "application/xhtml+xml; charset=UTF-8" />
7.8. Creating the /etc/inputrc File
@@ -21,28 +21,45 @@
Chapter 7. System Configuration
+
+ 第七章 系统配置
+
-
Prev
+ 上一页
The Bash Shell Startup Files
+
+ Bash Shell 启动文件
+
-
Next
+ 下一页
Creating the /etc/shells File
+
+ 创建 /etc/hsells 文件
+
-
Up
+ 返回
-
Home
+ 主页
@@ -50,6 +67,7 @@
7.8.
Creating the /etc/inputrc File
+ 7.8. 创建 /etc/inputrc 文件
The inputrc
file is the configuration
@@ -58,6 +76,10 @@
keyboard inputs into specific actions. Readline is used by Bash and
most other shells as well as many other applications.
+
+ inputrc
文件是 Readline 库的配置文件,它在用户从终端输入行时提供编辑功能。
+ 它通过将键盘输入转换为特定操作来起作用。 Readline 由 Bash 和大多数其他 shell 以及许多其他应用程序使用。
+
Most people do not need user-specific functionality so the command
below creates a global /etc/inputrc
@@ -66,6 +88,10 @@
.inputrc
file in the user's home
directory with the modified mappings.
+
+ 大多数人不需要用户特定的功能,因此下面的命令创建了所有登录的用户使用的全局/etc/inputrc
文件。
+ 如果您以后决定需要在每个用户的基础上覆盖默认值,可以创建一个.inputrc
文件在用户的主目录中与修改的映射。
+
For more information on how to edit the inputrc
file, see
"command">info readline is also a good source
of information.
+
+ 查找更多如何编辑inputrc
文件的信息, 查阅Readline Init File章节下的info bash。info readline 也是一个不错的信息源。
+
Below is a generic global inputrc
along
with comments to explain what the various options do. Note that
comments cannot be on the same line as commands. Create the file
using the following command:
+
+ 下面是一个全局带有各个设置选项注释的inputrc
文件。
+ 注意注释不可以和命令在同一行。使用下列命令创建该文件:
+
cat > /etc/inputrc << "EOF"
# Begin /etc/inputrc
@@ -131,24 +168,38 @@
Prev
+ 上一页
The Bash Shell Startup Files
+
+ Bash Shell 启动文件
+
Next
+ 下一页
Creating the /etc/shells File
+
+ 创建 /etc/shells 文件
+
Up
+ 返回
Home
+ 主页
diff --git a/lfs-8.0/chapter07/network.html b/lfs-8.0/chapter07/network.html
index 6611e5c..ed63c1d 100644
--- a/lfs-8.0/chapter07/network.html
+++ b/lfs-8.0/chapter07/network.html
@@ -3,9 +3,10 @@
+ "application/xhtml+xml; charset=utf-8" />
- 7.5. General Network Configuration
+ 7.5. General Network Configuration
+ 7.5. 通用网络配置
@@ -21,28 +22,45 @@
Chapter 7. System Configuration
+
+ 第七章 系统配置
+
-
Prev
+ 上一页
Managing Devices
+
+ 设备管理
+
-
Next
+ 下一页
System V Bootscript Usage and Configuration
+
+ System V 启动脚本用法和设置
+
-
Up
+ 返回
-
Home
+ 主页
@@ -50,24 +68,38 @@
7.5. General
Network Configuration
+
+ 7.5 通用网络配置
This section only applies if a network card is to be configured.
+
+ 本节内容只用于配置网卡
+
If a network card will not be used, there is likely no need to create
any configuration files relating to network cards. If that is the
- case, you will need to remove the network
symlinks from all run-level directories
(/etc/rc.d/rc*.d
) after the bootscripts
are installed in Section 7.2,
“LFS-Bootscripts-20150222”.
+
+ 如果不使用某张网卡,那么就不必为其创建任何配置文件。这种情况下,在启动脚本安装后,需要从(/etc/rc.d/rc*.d
)中移除network
链接。
+ Section 7.2,
+ “LFS-Bootscripts-20150222”.
7.5.1. Creating Network Interface Configuration Files
+
+ 7.5.1. 创建网络接口配置文件
+
Which interfaces are brought up and down by the network script
usually depends on the files in
stem of the filename be ifconfig.
+
+ 网络接口的开启和关闭由/etc/sysconfig/
中的网络配置脚本决定。
+ 所有需要配置的接口都应当在该文件夹下有一个配置文件。
+ 比如 ifconfig.xyz
, “xyz” is
+ 由网卡的名字决定 (e.g. eth0)。这个文件中包含网卡接口的属性,比如 IP 地址,子网掩码等。
+ 文件名必须是ifconfig.
+
@@ -97,11 +140,21 @@
or ifconfig.eth0) or your network interface will not be
initialized during the boot process.
+
+ 如果未进行上一节的配置过程,Udev 会根据系统的物理特点给网卡接口命名,比如 enp2s1。
+ 如果你不确定接口的名字,你可以开机后运行ip link命令。再强调一次,ifconfig.xyz 必须对应正确的网卡接口名(比如,ifconfig.enp2s1
+ 或 ifconfig.eth0),否则,网卡接口在启动阶段将无法初始化。
+
The following command creates a sample file for the eth0 device with a static IP address:
+
+ 下面创建为 eth0 设备创建一个包含静态 IP 地址的样本配置文件。
+
cd /etc/sysconfig/
cat > ifconfig.eth0 << "EOF"
@@ -118,6 +171,9 @@
The values of these variables must be changed in every file to
match the proper setup.
+
+ 这些变量的值必须在每一个文件中修改以保证设置正确。
+
If the ONBOOT
variable is set to
“
the ifup and
ifdown commands.
+
+ 如果 ONBOOT
变量设置为
+ “yes” System V 网络脚本会在系统启动时唤醒网卡。如果设置为“yes”以外的值,网络脚本会忽略该网卡,也不会被唤醒。
+ 网卡接口可以由 ifup 和
+ ifdown 命令手动开启或关闭。
+
The IFACE
variable defines the interface
name, for example, eth0. It is required for all network device
configuration files.
+
+ IFACE
决定所有网络设备配置文件所需的网卡名称,例如,enth0。
+
The SERVICE
variable defines the method
used for obtaining the IP address. The LFS-Bootscripts package has
@@ -144,9 +211,12 @@
Configuration Protocol (DHCP), which is addressed in the BLFS book.
- The GATEWAY
variable should contain the
- default gateway IP address, if one is present. If not, then comment
- out the variable entirely.
+ SERVICE
变量决定获取 IP 地址的方式。
+ LFS-Bootscripts 包有一个 IP 赋值格式模块通过在/lib/services/
+ 文件夹中创建补充文件来提供其他 IP 赋值方法。其主要用于 BLFS 书中强调的动态主机配置协议。
+
+
+ 如果有GATEWAY
变量,其应当包含默认网关 IP 地址,否则注释掉它。
The PREFIX
variable contains the number
@@ -160,15 +230,27 @@
"envar">PREFIX variable according to your specific subnet.
If omitted, the PREFIX defaults to 24.
+
+ PREFIX
变量包含子网中使用的位。
+ IP 地址中的每个字节有八位。如果子网掩码是 255.255.255.0 ,那么它使用前三个字节(24位)来确定网络数量。
+ 如果子网掩码是 255.255.255.240,那么它使用前 28 位。超过 24 位的前缀通常由 DSL 和 基于电缆的互联网服务提供商使用。
+ 根据你的特定子网修改PREFIX
变量,如果变量不存在,默认值为 24。
+
For more information see the ifup man page.
+
+ 了解更多详细信息可查看 ifup 命令帮助。
+
7.5.2. Creating the
/etc/resolv.conf File
+ 7.5.2. 创建
+ /etc/resolv.conf 文件
If the system is going to be connected to the Internet, it will
@@ -179,6 +261,10 @@
"filename">/etc/resolv.conf. Create the file by running the
following:
+
+ 如果系统要连接到互联网,则需要通过域名服务(DNS)的名称解析方法将域名解析为 IP 地址,反之亦然。最好的办法是将从 ISP 和网络管理员手中获取的 DNS 服务器 IP 地址 /etc/resolv.conf code>。运行以下命令创建文件:
+
cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf
@@ -197,6 +283,11 @@
replaced with a search
statement. See
the man page for resolv.conf for more details.
+
+ domain
语句可移除或用
+ replaced with a search
语句替代。
+ 查看 resolv.conf 的帮助页面获取更多信息。
+
Replace <IP address of the
nameserver>
with the IP address of the DNS most
@@ -206,6 +297,12 @@
nameserver line from the
file. The IP address may also be a router on the local network.
+
+ 用最适合配置的 DNS IP 地址替代<IP address of the
+ nameserver>
。一般多于一个入口(需要第二个服务器回馈容量)
+ 如果你只需要或只想有一个 DNS 服务器,从文件中删除
+ nameserver 行。该 IP 也可能是本地网络中的一个路由器。
+
@@ -214,22 +311,34 @@
The Google Public IPv4 DNS addresses are 8.8.8.8 and 8.8.4.4.
+
+ 谷歌公共 IPv4 DNS 地址是 8.8.8.8 和 8.8.4.4
+
7.5.3.
Configuring the system hostname
+ 7.5.3.
+ 设置主机名
During the boot process, the file /etc/hostname
is used for establishing the
system's hostname.
+
+ 启动过程中 /etc/hostname
用于创建系统主机名。
+
Create the /etc/hostname
file and
enter a hostname by running:
+
+ 运行下列命令创建 /etc/hostname
文件:
+
echo "<lfs>
" > /etc/hostname
@@ -240,17 +349,29 @@
Fully Qualified Domain Name (FQDN) here. That information is put in
the /etc/hosts
file.
+
+ 用主机名替代这里的<lfs>
+ 不要在这里输入全称域名。那些信息放在
+ /etc/hosts
文件中。
+
7.5.4.
Customizing the /etc/hosts File
+
+ 7.5.4.
+ 自定义 /etc/hosts 文件
Decide on the IP address, fully-qualified domain name (FQDN), and
possible aliases for use in the /etc/hosts
file. The syntax is:
+
+ /etc/hosts
用于确定 IP 的全称域名和可能用到的别名。语法如下:
+
IP_address myhost.example.org aliases
@@ -261,8 +382,12 @@
address is in the private network IP address range. Valid ranges
are:
+
+ 除非这台电脑将外网可见(比如,有一个注册域名和有效的已分配 IP 地址— 大多数用户并没有),请确保
+ 这些 IP 处于内网 IP 段。有效范围是:
+
-Private Network Address Range Normal Prefix
+有效 IP 段 正常前缀
10.0.0.1 - 10.255.255.254 8
172.x.0.1 - 172.x.255.254 16
192.168.y.1 - 192.168.y.254 24
@@ -271,18 +396,30 @@
x can be any number in the range 16-31. y can be any number in the
range 0-255.
+
+ x 可以是 16-31 之间的任何数,y 可以是 0-255 之间的任何数。
+
A valid private IP address could be 192.168.1.1. A valid FQDN for
this IP could be lfs.example.org.
+
+ 一个有效的 IP 地址可以是 192.168.1.1。该 IP 对应的全称域名可是 lfs.example.org
+
Even if not using a network card, a valid FQDN is still required.
This is necessary for certain programs to operate correctly.
+
+ 在不使用网卡的情况下,全称域名依然是必须的,一些程序的正常运行依赖于此。
+
Create the /etc/hosts
file by
running:
+
+ 运行下列代码创建/etc/hosts
文件:
+
cat > /etc/hosts << "EOF"
# Begin /etc/hosts (network card version)
@@ -296,18 +433,19 @@
EOF
- The <192.168.1.1>
- and <HOSTNAME.example.org>
values
- need to be changed for specific uses or requirements (if assigned
- an IP address by a network/system administrator and the machine
- will be connected to an existing network). The optional alias
- name(s) can be omitted.
+ <192.168.1.1>
+ 和<HOSTNAME.example.org>
的值应根据特定用途和要求修改(如果网络或系统管理员赋予一个IP地址,那么设备将接入当前网络。
+ 可选别名可以移除。
If a network card is not going to be configured, create the
/etc/hosts
file by running:
+
+ 如果不配置某个网卡,运行下列命令创建
+ /etc/hosts
文件:
+
cat > /etc/hosts << "EOF"
# Begin /etc/hosts (no network card version)
@@ -326,24 +464,38 @@
Prev
+ 上一页
Managing Devices
+
+ 设备管理
+
Next
+ 下一页
System V Bootscript Usage and Configuration
+
+ System V 启动脚本用法和配置
+
Up
+ 返回
Home
+ 主页
diff --git a/lfs-8.0/chapter07/profile.html b/lfs-8.0/chapter07/profile.html
index 6f863cc..3e781ab 100644
--- a/lfs-8.0/chapter07/profile.html
+++ b/lfs-8.0/chapter07/profile.html
@@ -3,10 +3,13 @@
+ "application/xhtml+xml; charset=UTF-8" />
7.7. The Bash Shell Startup Files
+
+ 7.7. Bash Shell 启动文件
+
Chapter 7. System Configuration
+
+ 第七章 系统配置
+
-
Prev
+ 上一页
System V Bootscript Usage and Configuration
+
+ System V 启动脚本用法和配置
+
-
Next
+ 下一页
Creating the /etc/inputrc File
+
+ 创建 /etc/inputrc 文件
+
-
Up
+ 返回
-
Home
+ 主页
@@ -50,6 +70,8 @@
7.7. The
Bash Shell Startup Files
+ 7.7.
+ Bash Shell 启动文件
The shell program
it may override the global settings.
- An interactive login shell is started after a successful login, using
- /bin/login, by reading
- the /etc/passwd
file. An interactive
- non-login shell is started at the command-line (e.g., [prompt]$
/bin/bash). A non-interactive shell
- is usually present when a shell script is running. It is
- non-interactive because it is processing a script and not waiting for
- user input between commands.
+ Shell 程序/bin/bash (后文称为
+ “
+ shell”) 使用一些启动文件来创建其运行环境。每个文件都有特别的用处,并对登录和交互环境产生不同的影响。
+ /etc
中的文件提供全局设置。如果家目录存在相同的文件,该文件将覆盖全局设置。
For more information, see info
@@ -79,14 +97,24 @@
Startup Files and Interactive Shells
section.
- The files /etc/profile
and ~/.bash_profile
are read when the shell is invoked
+ 查找更多信息,查看 Bash 启动文件和 Shell 交互章节
+ 下的 info bash。
+
+
+ The files /etc/profile
and ~/.bash_profile
are read when the shell is invoked
as an interactive login shell.
+
+ /etc/profile
和 ~/.bash_profile
文件在 Shell 作为交互登录 shell 启动时被读取。
+
The base /etc/profile
below sets some
environment variables necessary for native language support. Setting
them properly results in:
+
+ 下文中的/etc/profile
文件针对区域设置设置一些必要环境变量,合适的设置如下:
@@ -94,6 +122,9 @@
The output of programs translated into the native language
+
+ 译成区域设置的程序输出
+
-
@@ -102,21 +133,35 @@
"command">bash to properly accept
non-ASCII characters in command lines in non-English locales
+
+ 正确的字母,小数点和其他种类的字符分类。这对bash 在非英语环境的命令行中处理非 ASCII 字符是必要的。
+
-
The correct alphabetical sorting order for the country
+
+ 正确的国别字母排序
+
+
-
Appropriate default paper size
+
+ 合适的默认页面大小
+
-
Correct formatting of monetary, time, and date values
+
+ 正确的货币,时间和日期格式
+
@@ -132,10 +177,24 @@
modifiers such as “@euro” may also be present.
+
+ 用语言代码替换<ll>
below
+ (比如, “en”)用国家代码替换
+ <CC>
+ (比如, “GB”)。用选择的区域设置的合适字符映射表替换
+ <charmap>
+ 可选的参数有“@euro”。
+
The list of all locales supported by Glibc can be obtained by running
the following command:
+
+ Glibc 所支持的所有区域设置列表可以通过下列命令获取:
+
locale -a
@@ -158,6 +217,24 @@
your preferred locale (“en_GB.iso88591” in our example).
+
+ 字符映射表可以有一些别名,比如“ISO-8859-1” is
+ 可以指向 “iso8859-1” 和 “iso88591”.
+ 一些程序无法正确地处理多个同义别名(比如,
+ “UTF-8” 要写成 “UTF-8”, 而不是
+ “utf8”), 所以大多数情况下最安全的方式是选择区域设置的经典名。
+ 可通过下列命令确定经典区域设置名<locale name>
是
+ locale -a 针对你的偏好语言给出的结果
+ (“ 在我们的例子中是en_GB.iso88591”).
+
LC_ALL=<locale name>
locale charmap
@@ -167,6 +244,10 @@
"quote">en_GB.iso88591” locale, the above command
will print:
+
+ 对于 “en_GB.iso88591” 区域设置,下列命令输出:
+
ISO-8859-1
@@ -177,6 +258,12 @@
the locale found using the heuristic above is tested prior to it
being added to the Bash startup files:
+
+ 这是“en_GB.ISO-8859-1”区域设置最终设置,
+ 使用上文设置的区域设置在加入 Bash 启动文件之前必须要经过测试。
+
LC_ALL=<locale name> locale language
LC_ALL=<locale name> locale charmap
@@ -191,6 +278,10 @@
shown below, this means that your locale was either not installed in
Chapter 6 or is not supported by the default installation of Glibc.
+
+ 上面的命令会打印语言名,区域设置使用的字符编码,货币和拨号前缀。如果上列的任何一个命令出现
+ 以下相同错误就说明你的区域设置未在第六章安装或者不被默认安装的 Glibc 支持。
+
locale: Cannot set LC_* to default locale: No such file or directory
@@ -201,12 +292,20 @@
or consider choosing a different locale. Further instructions assume
that there are no such error messages from Glibc.
+
+ 如果发生上述的情况,你应当用localedef 安装所需的区域设置或者
+ 考虑换一个不同的区域设置,进一步说明假设没有来自 Glibc 的错误消息。
+
Some packages beyond LFS may also lack support for your chosen
locale. One example is the X library (part of the X Window System),
which outputs the following error message if the locale does not
exactly match one of the character map names in its internal files:
+
+ LFS之外的一些软件包也可能不支持您选择的区域设置。一个例子是X库(X Window System的一部分),如果区域设置
+ 与其内部文件中的一个字符映射名称不完全匹配,则会输出以下错误消息:
+
Warning: locale not supported by Xlib, locale set to C
@@ -222,6 +321,12 @@
"de_DE.ISO-8859-15@euro" to "de_DE@euro" in order to get this locale
recognized by Xlib.
+
+ 在某些情况下,Xlib 希望字符映射将以标准破折号的大写表示法列出。例如,“ISO-8859-1”而不是“iso88591”。
+ 还可以通过删除语言环境规范的字符映射部分来找到适当的规范。这可以通过在两种语言环境中运行
+ locale charmap命令进行检查。
+ 例如,为了获得Xlib所识别的本地区域,必须将“de_DE.ISO-8859-15@euro”更改为“de_DE@euro”。
+
Other packages can also function incorrectly (but may not necessarily
display any error messages) if the locale name does not meet their
@@ -229,10 +334,18 @@
distributions support your locale might provide some useful
information.
+
+ 如果区域名称不符合要求,其他包也可能不正确地运行(但可能不会显示任何错误消息)。
+ 在这些情况下,查阅其他Linux发行版如何支持您的区域设置可能会提供一些有用的信息。
+
Once the proper locale settings have been determined, create the
/etc/profile
file:
+
+ 一旦确定合适的区域设置,创建
+ /etc/profile
文件:
+
cat > /etc/profile << "EOF"
# Begin /etc/profile
@@ -261,12 +374,30 @@
locale only if you are sure that you will never need 8-bit
characters.
+
+ “C” (默认) 和 “en_US” (
+ 美式英语用户推荐) 区域设置是不同的。“C” 使用 US-ASCII 7-bit 字符集,并且把高位视为无效字符。
+ 这就是例如 ls命令在区域设置中用问号替代它们。
+ 此外,尝试使用Mutt或Pine发送带有此类字符的邮件会导致发送不符合RFC的消息(发送邮件中的字符集表示为
+ “unknown 8-bit”). 所以你只有在确定不使用 8-bit 字符时使用
+ “C”
+ 该区域设置。
+
UTF-8 based locales are not supported well by some programs. Work is
in progress to document and, if possible, fix such problems, see
http://www.linuxfromscratch.org/blfs/view/8.0/introduction/locale-issues.html.
+
+ 一些程序基于 UTF-8 的本地化支持并不完善,文档的修复工作正在进行中。查看
+
+ http://www.linuxfromscratch.org/blfs/view/8.0/introduction/locale-issues.html.
diff --git a/lfs-8.0/chapter07/usage.html b/lfs-8.0/chapter07/usage.html
index 627a909..2a4bfff 100644
--- a/lfs-8.0/chapter07/usage.html
+++ b/lfs-8.0/chapter07/usage.html
@@ -3,10 +3,13 @@
+ "application/xhtml+xml; charset=UTF-8" />
7.6. System V Bootscript Usage and Configuration
+
+ 7.6. System V 引导脚本用法和配置
+
Chapter 7. System Configuration
+
+ 第七 章;系统配置
+
-
Prev
+ 上一页
General Network Configuration
+
+ 通用网络配置
+
-
Next
+ 下一页
The Bash Shell Startup Files
+
+ Bash Shell 启动文件
-
Up
+ 上一页
-
Home
+ 主页
@@ -50,11 +69,16 @@
7.6. System V
Bootscript Usage and Configuration
+ 7.6. System V
+ 引导脚本用法和配置
7.6.1. How Do the System V Bootscripts Work?
+
+ 7.6.1. System V 引导脚本是如何工作的?
+
Linux uses a special booting facility named SysVinit that is based
on a concept of run-levels.
@@ -63,6 +87,11 @@
distribution, they should work the same in LFS too. LFS has its own
way of doing things, but it respects generally accepted standards.
+
+ Linux使用基于运行级概念的名为SysVinit的特殊启动工具。
+ 它依系统的不同而不同,因为这些项目在特定的 Linux 发行版中运行,所以不能假设它们在LFS中也应该是一样的。
+ LFS有自己的处理方式,但它尊守普遍接受的标准。
+
SysVinit (which will be referred to as “init” from
@@ -74,6 +103,12 @@
it starts up. The default run-level is 3. Here are the descriptions
of the different run-levels as they are implemented:
+
+ SysVinit(从现在起被称为“init”)使用运行级方案。
+ 有七个(编号为0到6)的运行级别(实际上,有更多的运行级别,但是它们是特殊情况,通常不被使用)。
+ 有关更多详细信息,请参阅init(8)),其中每个对应计算机启动时应该执行的操作。
+ 默认运行级别为3。以下是实现不同运行级别的说明:
+
0: halt the computer
@@ -86,12 +121,22 @@
6: reboot the computer
-
+
+ 0: 关机
+ 1: 单用户模式
+ 2: 无网络的多用户模式
+ 3: 具有网络的多用户模式
+ 4: 保留用于定制,否则与3相同
+ 5: 与4相同,通常用于GUI登录(如X的xdm或KDE的kdm)
+ 6: 重新启动计算机
+
+
7.6.2. Configuring
Sysvinit
+ 7.6.2. 配置 Sysvinit
During the kernel initialization, the first program that is run is
@@ -100,6 +145,10 @@
initialization file /etc/inittab
.
Create this file with:
+
+ 在内核初始化期间,运行的第一个程序是在命令行中指定的,或者默认情况下是init。
+ 该程序读取初始化文件 /etc/inittab
。创建此文件:
+
cat > /etc/inittab << "EOF"
# Begin /etc/inittab
@@ -142,6 +191,12 @@
"filename">/etc/rc.d/rc?.d
directory where the question mark
is specified by the initdefault value.
+
+ 该初始化文件的说明在inittab的手册页中。
+ 对于LFS,运行的关键命令是rc。
+ 上述初始化文件将指示rc以/etc/rc.d/rcS.d
目录中的S开头运行所有脚本,
+ 然后是以/etc/rc.d/rc?.d
目录中的S开头的所有脚本,问号由 initdefault 值指定。
+
As a convenience, the rc script reads a library of
@@ -152,6 +207,11 @@
sections can be alternatively placed in this file allowing
consolidation of all system parameters in this one file.
+
+ 为方便起见,rc脚本读取/lib/lsb/init-functions
中的函数库。
+ 该库还读取可选的配置文件/etc/sysconfig/rc.site
。
+ 可以将后续部分中描述的任何系统配置文件参数放置在此文件中,从而允许将此文件中的所有系统参数合并。
+
As a debugging convenience, the functions script also logs all
output to /run/var/bootlog
. Since the
@@ -160,11 +220,16 @@
permanent file /var/log/boot.log
at
the end of the boot process.
+
+ 作为调试方便,函数脚本还将所有输出记录到/run/var/bootlog
。
+ 由于/run
目录是一个 tmpfs ,因此该文件在引导过程中不会持久化,但是在引导过程结束时会将其附加到更永久的文件/var/log/boot.log
中。
+
7.6.2.1. Changing Run
Levels
-
+ 7.6.2.1. 改变运行级
+
Changing run-levels is done with init
for the halt
command.
+
+ 更改运行级别使用init< runlevel>
完成,
+ 其中<runlevel>
是目标运行级别。
+ 例如,要重新启动计算机,用户可以发出init 6命令,
+ 这是reboot命令的别名。同样,init 0是halt命令的别名。
+
There are a number of directories under /etc/rc.d
that look like
another run-level, the appropriate services are either started or
stopped, depending on the runlevel chosen.
+
+ /etc/rc.d
下有许多目录,比如rc?.d
(其中?是运行级别的数目)和rcsysinit.d
,它们都包含许多符号链接。
+ 有些从K开始,其他的开始于S,所有这些都在第一个字母之后有两个数字。
+ K 意味着停止(杀死)服务,S 意味着开始服务。
+ 这些数字确定了运行脚本的顺序,从00到99,它的执行顺序逐次延后。
+ 当init切换到另一个运行级别时,根据所选的运行级别,启动或停止相应的服务。
+
The real scripts are in /etc/rc.d/init.d
. They do the actual work, and
@@ -210,6 +288,18 @@
encountered, the appropriate script is run with the start
argument.
+
+ 真正的脚本在 /etc/rc.d/init.d
中。他们做实际的工作,符号链接都指向他们。
+ K链接和S链接指向/etc/rc.d/init.d
中的相同脚本。
+ 这是因为可以使用不同的参数(如start
,
+ stop
, restart
, reload
,status
)来调用脚本。
+ 遇到K链接时,使用stop
参数运行相应的脚本。
+ 遇到S链接时,使用start
参数运行相应的脚本。
+
There is one exception to this explanation. Links that start with
an S in the
system, nothing needs to be started. The system only needs to be
stopped.
+
+ 这个解释有一个例外。在rc0.d
+ 和rc0.d
目录中以S开头的链接不会导致任何内容启动。它们将用参数stop
来停止某些事情。
+ 背后的逻辑是,当用户要重新启动或停止系统时,无需启动, 系统只需停止。
+
These are descriptions of what the arguments make the scripts do:
+
+ 这些是参数的对脚本的作用描述:
+
-
@@ -234,6 +333,9 @@
The service is started.
+
+ 启动服务
+
-
The service is stopped.
+
+ 关闭服务
+
-
The service is stopped and then started again.
+
+ 重启服务
+
-
after the configuration file of a service was modified,
when the service does not need to be restarted.
+
+ 更新服务的配置。在服务的配置文件被修改后,不需要重新启动服务时使用。
+
-
Tells if the service is running and with which PIDs.
+
+ 告知服务是否正在以哪些 PID 运行。
+
@@ -280,11 +394,15 @@
is your own LFS system). The files given here are an example of
how it can be done.
+
+ 可以随意修改启动方式(毕竟,这是您自己的LFS系统)。这里给出的文件是一个如何做到的示例。
+
7.6.3. Udev Bootscripts
+ 7.6.3 Udev 引导脚本
The /etc/rc.d/init.d/udev
initscript
@@ -297,6 +415,13 @@
udevd will listen on
a netlink socket for uevents that the kernel raises.
+
+ /etc/rc.d/init.d/udev
启动udevd,
+ 触发任何已经由内核创建的“coldplug”设备,并等待任何规则完成。
+ 该脚本还会从/sbin/hotplug
的默认值中取消 uevent 处理程序。这是因为内核不再需要调用外部二进制文件。
+ 相反,udevd会在 netlink 套接字上侦听内核引发的 uevent。
+
The /etc/rc.d/init.d/udev_retry
@@ -315,9 +440,23 @@
<device> where <device> is an absolute
path in /dev or /sys such as /dev/sr0 or /sys/class/rtc.
+
+ /etc/rc.d/init.d/udev_retry initscript处理子系统的重新触发事件,
+ 子系统的规则可能依赖于在mountfs脚本运行之前未挂载的文件系统
+ (特别是/usr
和/var
可能会导致这个)。
+ 该脚本在mountfs脚本后运行,所以这些规则(如果被重新触发)应该在第二次成功。
+ 它由/etc/sysconfig/udev_retry
文件配置;
+ 此文件中除注释之外的任何单词都将被视为在重试时触发的子系统名称。
+ 要查找设备的子系统,请使用udevadm info --attribute-walk
+ <device> 其中<device>是 /dev 或 /sys 中的绝对路径,
+ 如/dev/sr0 或 /sys/class/rtc。
+
7.6.3.1. Module Loading
+ 7.6.3.1 模块加载
Device drivers compiled as modules may have aliases built into
@@ -344,6 +483,23 @@
loading all modules whose aliases match this string after
wildcard expansion.
+
+ 编译为模块的设备驱动程序可能会在其中内置别名。
+ 别名在modinfo程序的输出中可见,通常与模块支持的设备的总线特定标识符相关。
+ 例如,snd-fm801 驱动程序支持供应商ID为0x1319,设备 ID 为 0x0801 的 PCI 设备,并具有“pci:v00001319d00000801sv*sd*bc04sc01i*” 的别名。
+ 对于大多数设备,总线驱动程序导出通过sysfs
处理设备的驱动程序的别名。
+ 例如,/sys/bus/pci/devices/0000:00:0d.0/modalias
文件可能包含字符串“pci:v00001319d00000801sv00001319sd00001319bc04sc01i00” 。 udevd 提供的默认规则将导致udevd与MODALIAS uevent 环境变量的内容
+ (它们应与sysfs中的modalias
文件的内容相同)调用/sbin/modprobe,
+ 从而通过通配符扩展加载所有别名匹配这个字符串的模块。
+
In this example, this means that, in addition to snd-fm801, the obsolete (and unwanted)
@@ -351,14 +507,23 @@
loaded if it is available. See below for ways in which the
loading of unwanted drivers can be prevented.
+
+ 在这个例子中,这意味着除了snd-fm801之外,如果过时(和不需要的)forte 驱动程序可用的话, 将被加载。
+ 请参阅下文,了解如何防止加载不需要的驱动程序。
+
The kernel itself is also able to load modules for network
protocols, filesystems and NLS support on demand.
+
+ 内核本身也可以根据需要加载网络协议,文件系统和NLS支持模块。
+
7.6.3.2. Handling Hotpluggable/Dynamic Devices
+ 7.6.3.2. 处理热拔插/动态 设备
When you plug in a device, such as a Universal Serial Bus (USB)
@@ -367,12 +532,17 @@
udevd as described
above.
+
+ 插入设备(如通用串行总线(USB)MP3播放器)时,内核会识别设备现在已连接并生成 uevent 。
+ 这个 uevent 由udevd 进行如上文所述处理。
+
7.6.4.
Configuring the System Clock
+ 7.6.4 设置系统时钟
The setclock script
@@ -386,12 +556,23 @@
hardware clock is set to UTC, so this needs to be configured
manually.
+
+ setclock 脚本从硬件时钟读取时间,也称为BIOS或互补金属氧化物半导体(CMOS)时钟。
+ 如果硬件时钟设置为UTC,则该脚本将使用/etc/localtime
文件将硬件时钟的时间转换为本地时间(它告诉 hwclock 程序用户所在的时区)。
+ 无法检测硬件时钟是否设置为UTC,因此需要手动配置。
+
The setclock is run
via udev when the kernel detects
the hardware capability upon boot. It can also be run manually with
the stop parameter to store the system time to the CMOS clock.
+
+ 当内核在启动时检测到硬件功能时,setclock 通过udev运行。
+ 也可以使用停止参数手动运行,以将系统时间存储到CMOS时钟。
+
If you cannot remember whether or not the hardware clock is set to
UTC, find out by running the
example, if you are currently in the MST timezone, which is also
known as GMT -0700, add seven hours to the local time.
+
+ 如果您不记得硬件时钟是否设置为 UTC,请通过运行 hwclock --localtime --show
+ 命令来查找。
+ 这将根据硬件时钟显示当前时间。如果这个时间与您的手表所说的一致,那么硬件时钟将设置为当地时间。
+ 如果从hwclock输出的时间不是本地时间,那么机会是UTC时间。
+ 通过向hwclock命令显示的时间添加或减去合适的小时来验证它。
+ 例如,如果您当前正在 MST 时区(也称为GMT -0700),请在当地时间内添加七个小时。
+
Change the value of the UTC
variable
below to a value of 0
(zero) if the hardware clock is not set to UTC time.
+
+ 如果硬件时钟未设置为UTC时间,则将下面的UTC变量的值更改为0。
+
Create a new file /etc/sysconfig/clock
by running the following:
+
+ 通过下列命令创建 /etc/sysconfig/clock
文件:
cat > /etc/sysconfig/clock << "EOF"
# Begin /etc/sysconfig/clock
@@ -436,6 +631,13 @@
It explains issues such as time zones, UTC, and the TZ
environment variable.
+
+ 关于如何处理 LFS 上的时间,请查阅
+ http://www.linuxfromscratch.org/hints/downloads/files/time.txt.
+ 它解释了如 UTC,时区等问题和 TZ
环境变量。
+
@@ -445,12 +647,17 @@
The CLOCKPARAMS and UTC paramaters may be alternatively set in
the /etc/sysconfig/rc.site
file.
+
+ CLOCKPARAMS 和 UTC 参数可在
+ /etc/sysconfig/rc.site
文件中设置.
+
7.6.5.
Configuring the Linux Console
+ 7.6.5 配置 Linux 控制台Console
This section discusses how to configure the
"command">console bootscript will do
nothing.
+
+ 本节讨论如何配置设置键盘映射,
+ 控制台字体和控制台内核日志级别的控制台引导脚本。
+ 如果不使用非ASCII字符(例如版权号,英镑符号和欧元符号),
+ 而键盘是美国的,则可以跳过本部分的许多内容。没有配置文件(或rc.site
中的等效设置),
+ 控制台引导脚本将不执行任何操作。
+
The console script
reads the /etc/sysconfig/console
file
@@ -479,11 +693,25 @@
"filename">setfont(8) manual pages to determine the correct
arguments for these programs.
+
+ 控制台脚本读取/etc/sysconfig/console
文件以获取配置信息。
+ 决定使用哪个键盘映射和屏幕字体。
+ 各种语言特定的 HOWTO 也可以帮助,参见http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html。
+ 如果仍然有疑问,请查看/usr/share/keymaps
和/usr/share/consolefonts
目录中的有效键映射和屏幕字体。
+ 读取loadkeys(1)
和setfont(8)
手册页,以确定这些程序的正确参数。
The /etc/sysconfig/console
file
should contain lines of the form: VARIABLE="value". The following
variables are recognized:
+
+ /etc/sysconfig/console
文件应包含以下形式的行:VARIABLE =“value”。以下变量被识别:
+
-
@@ -496,6 +724,9 @@
"command">dmesg. Valid levels are
from "1" (no messages) to "8". The default level is "7".
+
+ 此变量指定由dmesg设置的发送到控制台的内核消息的日志级别。有效等级从“1”(无消息)到“8”。默认级别为“7”。
+
-
KEYMAP
@@ -515,6 +746,14 @@
parent directory should also be specified (e.g. qwerty/es) to
ensure the proper keymap is loaded.
+
+ 该变量指定loadkeys程序的参数,通常是要加载的键位映射表的名称,
+ 例如“it”。如果未设置此变量,则引导脚本将不会运行loadkeys程序,
+ 并将使用默认的内核键盘映射。请注意,
+ 一些键盘映射有多个版本具有相同的名称(cz 及其在 qwerty/ 和qwertz/ 中的变体,olpc/ 和 qwerty/中的 es,fgGIod/ 和 qwerty/ 中的 trf)。
+ 在这些情况下,还应指定父目录(例如 qwerty/es),以确保加载正确的键盘映射。
+
-
KEYMAP_CORRECTIONS
@@ -530,6 +769,12 @@
variable to “euro2”.
+
+ 该(很少使用)变量指定第二次调用loadkeys程序的参数。如果已有键盘映射不完全令人满意,并且必须进行小的调整,这是有用的。
+ 例如,将欧元标志包含在通常不具有的键盘图中,将此变量设置为“euro2”。
+
-
FONT
@@ -553,6 +798,16 @@
of the "-m" parameter should be set to the encoding of the
composed key codes in the keymap.
+
+ 该变量指定setfont程序的参数。
+ 通常,这包括字体名称“-m” 和
+ 要加载的应用程序字符映射的名称。例如,为了将“lat1-16” 字体与“8859-1” 应用程序字符映射一起加载(在美国适用),将此变量设置为“lat1-16 -m
+ 8859-1”。在UTF-8模式下,内核使用应用程序字符映射将键盘映射中组合的8位密钥代码转换为UTF-8,因此“-m”参数的参数应设置为编译的编码键盘映射中的关键代码。
+
-
UNICODE
@@ -567,6 +822,13 @@
into UTF-8 mode. This is useful in UTF-8 based locales and
harmful otherwise.
+
+ 将此变量设置为“1”, “yes”
+ or “true”, 便将控制台置于UTF-8模式。这在基于UTF-8的语言环境中是有用的,否则是有害的。
+
-
LEGACY_CHARSET
@@ -580,12 +842,19 @@
variable is set to the encoding of the available non-UTF-8
keymap.
+
+ 对于许多键盘布局,Kbd 包中没有库存 Unicode 键盘映射。
+ 如果将此变量设置为可用的非UTF-8键盘映射的编码,则控制台引导程序将立刻把可用的键盘映射转换为UTF-8。
+
Some examples:
+
+ 一些例子:
+
-
@@ -594,6 +863,9 @@
are generally needed. E.g., for a Polish setup, one would
use:
+
+ 对于非Unicode设置,通常仅需要KEYMAP和FONT变量。例如,对于波兰语的设置,可以使用:
+
cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console
@@ -611,6 +883,9 @@
stock keymap slightly. The following example adds the Euro
symbol to the German keymap:
+
+ 如上所述,有时需要稍微调整已有密钥映射。以下示例将Euro符号添加到德语键盘映射:
+
cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console
@@ -628,6 +903,9 @@
The following is a Unicode-enabled example for Bulgarian,
where a stock UTF-8 keymap exists:
+
+ 以下是保加利亚语中支持Unicode的示例,其中存在一个已有UTF-8键盘映射:
+
cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console
@@ -650,6 +928,12 @@
possible to use a language-specific 256-glyph font, as
illustrated below:
+
+ 由于在前面的示例中使用了512字形的 LatArCyrHeb-16 字体,
+ 所以在Linux控制台上,明亮的颜色不再可用,除非使用了帧缓冲区。
+ 如果想要拥有没有帧缓冲区的明亮色彩,并且可以在没有属于他的语言的字符的情况下使用,
+ 仍然可以使用特定于语言的 256 字形字体,如下所示:
+
cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console
@@ -667,6 +951,9 @@
The following example illustrates keymap autoconversion from
ISO-8859-15 to UTF-8 and enabling dead keys in Unicode mode:
+
+ 以下示例说明了从 ISO-8859-15 到 UTF-8 的键盘映射自动转换,并以 Unicode 模式启用死键:
+
cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console
@@ -687,7 +974,7 @@
character by themselves, but put an accent on the character
produced by the next key) or define composition rules (such
as: “press
- Ctrl+. A E to get ” in the default
+ Ctrl+. A E to get Æ” in the default
keymap). Linux-4.9.9 interprets dead keys and composition
rules in the keymap correctly only when the source characters
to be composed together are not multibyte. This deficiency
@@ -701,6 +988,18 @@
avoid the use of UTF-8, or to install the X window system
that doesn't have this limitation in its input handling.
+
+ 一些键盘图具有死键(即,不自己产生字符的键,但是对下一个键产生的字符加上重音)
+ 或定义组合规则(例如:“press
+ Ctrl+. A E to get Æ”)。
+ 只有当要组合在一起的源字符不是多字节时,Linux-4.9.9才能正确地解释键盘映射中的死键和合成规则。
+ 这种缺陷不会影响欧洲语言的键盘映射,因为将重音加在非ASCII字符中,
+ 或者两个ASCII字符组合在一起。然而,在UTF-8模式下,这是一个问题,
+ 例如希腊语,有时需要在字母“alpha” 上加上口音。解决方案是避免使用 UTF-8,
+ 或者在其输入处理中安装不具有此限制的 X 窗口系统。
+
-
@@ -711,6 +1010,10 @@
ranges, and the proper input method (e.g., SCIM, it supports
a wide variety of languages).
+ 对于中文,日语,韩语和其他语言,Linux控制台不能配置为显示所需的字符。需要这种语言的用户应该安装X Window系统,
+ 覆盖所需字符范围的字体以及正确的输入法(例如SCIM,它支持各种语言)。
+
+
@@ -727,12 +1030,16 @@
console. In such situations, limitations mentioned in the last
two list items above do not apply.
+
+ /etc/sysconfig/console
文件仅控制 Linux 文本控制台本地化。它与 X Window 系统中的正确的键盘布局和终端字体,ssh 会话或串行控制台无关。在这种情况下,上述最后两个列表中提到的限制不适用。
+
7.6.6. Creating Files at Boot
+ 7.6.6 在启动时创建文件
At times, it is desired to create files at boot time. For instance,
@@ -742,11 +1049,17 @@
The format of this file is embedded in the comments of the default
configuration file.
+
+ 有时希望在启动时创建文件。例如,可能需要/tmp/.ICE-unix
目录。这可以通过在/etc/sysconfig/createfiles
配置脚本中创建一个条目来完成。
+ 此文件的格式嵌入在默认配置文件的注释中。
+
7.6.7.
Configuring the sysklogd Script
+ 7.6.7 配置 sysklogd 脚本
The sysklogd
script invokes the
@@ -760,6 +1073,13 @@
SYSKLOGD_PARMS to the desired value. For instance, to remove all
parameters, set the variable to a null value:
+
+ sysklogd
脚本作为 System V 初始化的一部分调用syslogd程序。
+ 默认情况下,-m
+ 0
选项将每隔20分钟关闭syslogd 写入日志文件的周期时间戳。
+ 如果要打开此周期性时间戳标记,请编辑/etc/sysconfig/rc.site
并将变量 SYSKLOGD_PARMS 定义为所需值。例如,要删除所有参数,请将该变量设置为空值:
+
SYSKLOGD_PARMS=
@@ -767,6 +1087,9 @@
See man syslogd
for
more options.
+
+ 查阅 man syslogd
获取更多信息。
+
@@ -784,6 +1107,12 @@
separate files and rc.site
, the
values in the script specific files have precedence.
+
+ 可选的rc.site
文件包含为每个 System V 引导脚本自动设置的配置。
+ 也可以在hostname
, console
, clock
,/etc/sysconfig/
目录中设置主机名,
+ 控制台和时钟文件中指定的值。如果相关联的变量存在于这两个单独的文件和rc.site
中,则脚本特定文件中的值优先。
+
rc.site
also contains parameters that
can customize other aspects of the boot process. Setting the
@@ -791,6 +1120,9 @@
Other options are described in the file comments. The default
version of the file is as follows:
+
+ rc.site
还包含可以自定义引导过程的其他方面的参数。设置IPROMPT变量将能够选择性地运行引导脚本。其他选项在文件注释中描述。该文件的默认版本如下所示:
+
# rc.site
# Optional parameters for boot scripts.
@@ -888,6 +1220,7 @@
7.6.8.1. Customizing the Boot and Shutdown Scripts
+ 7.6.8.1. 自定义开关机脚本
The LFS boot scripts boot and shut down a system in a fairly
@@ -897,6 +1230,11 @@
settings in the /etc/sysconfig/rc.site
file above.
+
+ LFS引导脚本以相当有效的方式引导和关闭系统,但是您可以在rc.site文件中进行一些调整,以提高速度,并根据您的喜好调整消息。
+ 为此,请调整上述 /etc/sysconfig/rc.site
文件中的设置。
+
-
@@ -910,6 +1248,13 @@
not need to wait for this command. To skip it, set the
variable OMIT_UDEV_SETTLE=y.
+
+ 在udev
的引导脚本期间,有一个调用udev
+ settle 需要一些时间来完成。
+ 根据系统中存在的设备,可能需要或可能不需要此时间。
+ 如果您只有简单的分区和单个以太网卡,引导过程可能不需要等待此命令。
+ 要跳过它,设置变量OMIT_UDEV_SETTLE = y。
+
-
@@ -924,6 +1269,13 @@
but in many installations it is not needed. Skip the
command by setting the variable OMIT_UDEV_RETRY_SETTLE=y.
+
+ 启动脚本udev_retry
也默认运行udev
+ settle。如果/var
目录单独安装,则默认情况下仅需要此命令。
+ 这是因为时钟需要文件/var/lib/hwclock/adjtime
。
+ 其他自定义也可能需要等待 udev 完成,但在许多安装中它不是必需的。通过设置变量 OMIT_UDEV_RETRY_SETTLE = y 来跳过命令。
+
-
@@ -932,6 +1284,9 @@
the fsck
output, set the variable VERBOSE_FSCK=y.
+
+ 默认情况下,文件系统检查是静默的。这可能在启动过程中看起来是一个延迟。要打开fsck 输出,设置变量VERBOSE_FSCK = y。
+
-
@@ -947,12 +1302,25 @@
-F
parameter
instead of -f
.
+
+ 重新启动时,可能需要完全跳过文件系统检查fsck。
+ 要做到这一点,可以使用命令/sbin/shutdown -f -r
+ now 来创建文件/fastboot
或重启系统。另一方面,您可以通过使用-F
参数而不是
+ -f
来创建/forcefsck
或运行shutdown来强制检查所有文件系统。
+
Setting the variable FASTBOOT=y will disable fsck during the boot
process until it is removed. This is not recommended on a
permanent basis.
+
+ 设置变量FASTBOOT = y将在启动过程中禁用fsck,直到它被删除。不建议一直这么做。
+
-
@@ -962,6 +1330,12 @@
this can cause a noticeable delay in the boot process. To
skip removing these files set the variable SKIPTMPCLEAN=y.
+
+ 通常,/tmp
目录中的所有文件在启动时都被删除。
+ 根据存在的文件或目录的数量,这可能导致启动过程中明显的延迟。
+ 要跳过删除这些文件,设置变量SKIPTMPCLEAN = y。
+
-
@@ -983,6 +1357,18 @@
"command">sendsignals script can be
skipped by setting the parameter KILLDELAY=0.
+
+ 在关闭期间,init 程序向其已经启动的每个程序(例如agetty)发送 TERM 信号,
+ 等待设定的时间(默认为3秒),
+ 并将每个进程发送一个KILL信号并等待。
+ 对于任何不被自己的脚本关闭的进程,这个进程在sendsignals 脚本中重复。
+ init 的延迟可以通过传递参数来设置。
+ 例如,要删除init中的延迟,请在关闭或重新启动时传递-t0参数(例如/sbin/shutdown -t0 -r
+ now)。
+ 通过设置参数KILLDELAY = 0可以跳过发送信号脚本的延迟。
+
@@ -994,24 +1380,34 @@
Prev
+ 上一页
General Network Configuration
+ 通用网络设置
Next
+ 下一页
The Bash Shell Startup Files
+ Bash Shell 启动文件
Up
+ 返回
Home
+ 主页
From 12973288856f5984d3163a929042550dfd5d6da3 Mon Sep 17 00:00:00 2001
From: muzikmoe
Date: Sun, 9 Apr 2017 19:47:47 +0800
Subject: [PATCH 2/3] fix typo
---
lfs-8.0/chapter07/profile.html | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/lfs-8.0/chapter07/profile.html b/lfs-8.0/chapter07/profile.html
index 3e781ab..76896e1 100644
--- a/lfs-8.0/chapter07/profile.html
+++ b/lfs-8.0/chapter07/profile.html
@@ -91,6 +91,25 @@
shell”) 使用一些启动文件来创建其运行环境。每个文件都有特别的用处,并对登录和交互环境产生不同的影响。
/etc
中的文件提供全局设置。如果家目录存在相同的文件,该文件将覆盖全局设置。
+
+ An interactive login shell is started after a successful login, using
+ /bin/login, by reading
+ the /etc/passwd
file. An interactive
+ non-login shell is started at the command-line (e.g., [prompt]$
/bin/bash). A non-interactive shell
+ is usually present when a shell script is running. It is
+ non-interactive because it is processing a script and not waiting for
+ user input between commands.
+
+
+ /bin/login通过读取/etc/passwd
文件登录成功后,即可启动交互式登录shell。
+ 在命令行启动交互式非登录shell(例如[prompt]$
/bin/bash)。
+ shell 脚本运行时通常会出现非交式shell。它是非交互式的,
+ 因为它正在处理脚本而不等待命令之间的用户输入。
+
For more information, see info
bash under the Bash
From 699c2f20f60194401450c516f81adb350499a8b3 Mon Sep 17 00:00:00 2001
From: muzikmoe
Date: Mon, 15 May 2017 23:00:14 +0800
Subject: [PATCH 3/3] systemd_part translate
---
lfs-8.0-systemd/chapter07/console.html | 97 +++++++++-
lfs-8.0-systemd/chapter07/etcshells.html | 51 +++++-
lfs-8.0-systemd/chapter07/inputrc.html | 54 +++++-
lfs-8.0-systemd/chapter07/locale.html | 142 ++++++++++++++-
lfs-8.0-systemd/chapter07/systemd-custom.html | 167 ++++++++++++++++--
5 files changed, 497 insertions(+), 14 deletions(-)
diff --git a/lfs-8.0-systemd/chapter07/console.html b/lfs-8.0-systemd/chapter07/console.html
index df30929..f3f6d02 100644
--- a/lfs-8.0-systemd/chapter07/console.html
+++ b/lfs-8.0-systemd/chapter07/console.html
@@ -3,10 +3,13 @@
+ "application/xhtml+xml; charset=utf-8" />
7.6. Configuring the Linux Console
+
+ 7.6. 配置 Linux 控制台
+
Chapter 7. System Configuration
+
+ 第七章 系统配置
+
@@ -50,6 +70,8 @@
7.6.
Configuring the Linux Console
+ 7.6.
+ 配置 Linux 控制台
This section discusses how to configure the
service, which configures the virtual console font and console
keymap.
+
+ 本节讨论如何配置设置虚拟控制台字体和字符映射的系统服务 systemd-vconsole-setup
+
The systemd-vconsole-setup service
@@ -71,11 +97,21 @@
"filename">/usr/share/consolefonts
directory for valid screen
fonts.
+
+ systemd-vconsole-setup
+ 服务读取/etc/vconsole.conf
文件以获取配置信息, 决定使用哪个键盘映射和屏幕字体。
+ 各种语言特定的 HOWTO 可以参见
+ http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html,测试localectl list-keymaps获取有效的控制台字符映射表。
+ 在/usr/share/consolefonts
目录中查看有效的屏幕字体。
+
The /etc/vconsole.conf
file should
contain lines of the form: VARIABLE="value". The following variables
are recognized:
+
+ /etc/vconsole.conf
文件中应该包含 VARIABLE="value" 这种形式的语句,以下是可识别变量:
+
-
@@ -86,6 +122,9 @@
This variable specifies the key mapping table for the keyboard.
If unset, it defaults to us
.
+
+ 该变量决定键盘映射表,缺省为 us
.
+
-
KEYMAP_TOGGLE
@@ -95,6 +134,9 @@
This variable can be used to configure a second toggle keymap
and is unset by default.
+
+ 该变量用于设置第二切换键盘映射,默认不设置。
+
-
FONT
@@ -103,6 +145,9 @@
This variable specifies the font used by the virtual console.
+
+ 该变量确定虚拟控制台字体。
+
-
FONT_MAP
@@ -111,6 +156,9 @@
This variable specifies the console map to be used.
+
+ 该变量确定控制台字体映射。
+
-
FONT_UNIMAP
@@ -119,12 +167,18 @@
This variable specifies the Unicode font map.
+
+ 该变量确定 Unicode 字体映射。
+
An example for a German keyboard and console is given below:
+
+ 下面是一个德国键盘和控制台实例:
+
cat > /etc/vconsole.conf << "EOF"
KEYMAP=de-latin1
@@ -135,6 +189,9 @@
You can change KEYMAP value at runtime by using the localectl utility:
+
+ 你可以使用localectl工具更改 KEYMAP 运行时的值:
+
localectl set-keymap MAP
@@ -148,6 +205,9 @@
"command">localectl command can be used
only on a system booted with systemd.
+
+ 注意localectl命令只能在用 systemd 启动的系统上使用。
+
You can also use
corresponding parameters to change X11 keyboard layout, model,
variant and options:
+
+ 你可以用 localectl 工具通过对应的参数改变 X11 布局,模式,变量和设置:
+
localectl set-x11-keymap LAYOUT [MODEL] [VARIANT] [OPTIONS]
@@ -165,6 +228,9 @@
"command">localectl with parameters listed
below:
+
+ 获取localectl set-x11-keymap的参数,可带以下参数运行localectl:
+
-
@@ -174,6 +240,9 @@
Show known X11 keyboard mapping models.
+
+ 显示已知 X11 键盘映射模式。
+
-
list-x11-keymap-layouts
@@ -182,6 +251,9 @@
Show known X11 keyboard mapping layouts.
+
+ 显示 X11 键盘映射布局。
+
-
list-x11-keymap-variants
@@ -190,6 +262,9 @@
Show known X11 keyboard mapping variants.
+
+ 显示 X11 键盘映射变量。
+
-
list-x11-keymap-options
@@ -198,6 +273,9 @@
Show known X11 keyboard mapping options.
+
+ 显示 X11 键盘映射设置。
+
@@ -210,6 +288,9 @@
Using any of the parameters listed above requires XKeyboard Config
package from BLFS.
+
+ 使用上述参数需要 BLFS 里的 Xkeyboard Config 包。
+
diff --git a/lfs-8.0-systemd/chapter07/etcshells.html b/lfs-8.0-systemd/chapter07/etcshells.html
index 7569ae2..821d40d 100644
--- a/lfs-8.0-systemd/chapter07/etcshells.html
+++ b/lfs-8.0-systemd/chapter07/etcshells.html
@@ -3,9 +3,10 @@
+ "application/xhtml+xml; charset=utf-8" />
7.9. Creating the /etc/shells File
+ 7.9 创建 /etc/shells 文件
@@ -21,28 +22,45 @@
Chapter 7. System Configuration
+
+ 第七章 系统配置
+
-
Prev
+ 上一页
Creating the /etc/inputrc File
+
+ 创建 /etc/inputrc 文件
+
-
Next
+ 下一页
Systemd Usage and Configuration
+
+ Systemd 配置和用法
+
-
Up
+ Up
-
Home
+ 首页
@@ -50,6 +68,7 @@
7.9. Creating
the /etc/shells File
+ 7.9. 创建 /etc/shells 文件
The shells
file contains a list of
@@ -58,12 +77,22 @@
present, consisting of the shell's path, relative to the root of the
directory structure (/).
+
+ shells
文件包含一个系统中登录 shell 的列表
+ 应用程序通过这个文件判断某个 shell 是否有效,
+ 每个 shell 都应当有一行包含 shell 绝对路径的语句。
+
For example, this file is consulted by chsh to determine whether an
unprivileged user may change the login shell for her own account. If
the command name is not listed, the user will be denied of change.
+
+ 例如,chsh访问这个文件来确定某个非管理员用户是否可能改变她账户下的登录 shell
+ 如果命令并没有列入其中,该用户的更改将被拒绝。
+
It is a requirement for applications such as GDM which does not populate the face browser if
@@ -71,6 +100,12 @@
daemons which traditionally disallow access to users with shells not
included in this file.
+
+ 它是一些应用程序的必要文件,例如GDM 在找不到
+ /etc/shells
的情况下不会弹出图形浏览器, 还有一些 FTP 守护进程将
+ 拒绝 shell 未包含在该文件中的用户访问。
+
cat > /etc/shells << "EOF"
# Begin /etc/shells
@@ -87,24 +122,38 @@
Prev
+ 上一页
Creating the /etc/inputrc File
+
+ 创建 /etc/inputrc 文件
+
Next
+ 下一页
Systemd Usage and Configuration
+
+ Systemd 用法和配置
+
Up
+ 返回
Home
+ 首页
diff --git a/lfs-8.0-systemd/chapter07/inputrc.html b/lfs-8.0-systemd/chapter07/inputrc.html
index ae7d5b8..9944b50 100644
--- a/lfs-8.0-systemd/chapter07/inputrc.html
+++ b/lfs-8.0-systemd/chapter07/inputrc.html
@@ -3,9 +3,10 @@
+ "application/xhtml+xml; charset=utf-8" />
7.8. Creating the /etc/inputrc File
+ 7.8 创建 /etc/inputrc 文件
@@ -21,28 +22,45 @@
Chapter 7. System Configuration
+
+ 第七章 系统配置
+
-
Prev
+ 上一页
Configuring the System Locale
+
+ 配置系统区域设置
+
-
Next
+ 下一页
Creating the /etc/shells File
+
+ 创建 /etc/shells 文件
+
-
Up
+ 返回
-
Home
+ 主页
@@ -50,6 +68,7 @@
7.8.
Creating the /etc/inputrc File
+ 7.8. 创建 /etc/inputrc 文件
The inputrc
file is the configuration
@@ -58,6 +77,10 @@
keyboard inputs into specific actions. Readline is used by Bash and
most other shells as well as many other applications.
+
+ inputrc
文件是 Readline 库的配置文件,它在用户从终端输入行时提供编辑功能。
+ 它通过将键盘输入转换为特定操作来起作用。 Readline 由 Bash 和大多数其他 shell 以及许多其他应用程序使用。
+
Most people do not need user-specific functionality so the command
below creates a global /etc/inputrc
@@ -66,6 +89,10 @@
.inputrc
file in the user's home
directory with the modified mappings.
+
+ 大多数人不需要用户特定的功能,因此下面的命令创建了所有登录的用户使用的全局/etc/inputrc
文件。
+ 如果您以后决定需要在每个用户的基础上覆盖默认值,可以创建一个.inputrc
文件在用户的主目录中与修改的映射。
+
For more information on how to edit the inputrc
file, see
"command">info readline is also a good source
of information.
+
+ 查找更多如何编辑inputrc
文件的信息, 查阅Readline Init File章节下的info bash。info readline 也是一个不错的信息源。
+
Below is a generic global inputrc
along
with comments to explain what the various options do. Note that
comments cannot be on the same line as commands. Create the file
using the following command:
+
+ 下面是一个全局带有各个设置选项注释的inputrc
文件。
+ 注意注释不可以和命令在同一行。使用下列命令创建该文件:
+
cat > /etc/inputrc << "EOF"
# Begin /etc/inputrc
@@ -131,24 +169,38 @@
Prev
+ 上一页
Configuring the System Locale
+
+ 配置系统区域设置
+
Next
+ 下一页
Creating the /etc/shells File
+
+ 创建 /etc/shells 文件
+
Up
+ 返回
Home
+ 首页
diff --git a/lfs-8.0-systemd/chapter07/locale.html b/lfs-8.0-systemd/chapter07/locale.html
index 06fa0f0..29890f1 100644
--- a/lfs-8.0-systemd/chapter07/locale.html
+++ b/lfs-8.0-systemd/chapter07/locale.html
@@ -3,7 +3,7 @@
+ "application/xhtml+xml; charset=utf-8" />
7.7. Configuring the System Locale
@@ -21,28 +21,45 @@
Chapter 7. System Configuration
+
+ 第七章 系统配置
+
-
Prev
+ 上一页
Configuring the Linux Console
+
+ 配置 Linux 控制台
+
-
Next
+ 下一页
Creating the /etc/inputrc File
+
+ 创建 /etc/inputrc 文件
+
-
Up
+ 返回
-
Home
+ 主页
@@ -50,18 +67,25 @@
7.7.
Configuring the System Locale
+ 7.7. 配置系统区域设置
The /etc/locale.conf
below sets some
environment variables necessary for native language support. Setting
them properly results in:
+
+ 下文中的/etc/locale.conf
设置了一些本地语言支持所需的环境变量。正确设置后的结果如下:
+
-
The output of programs translated into the native language
+
+ 程序输出被翻译成本地语言
+
-
@@ -70,21 +94,34 @@
"command">bash to properly accept
non-ASCII characters in command lines in non-English locales
+
+ 正确地把字符分类成字母,数字和其他种类。这是bash在非英语区域从命令行中正确地接收
+ 非 ACSII 字符所必需的。
+
-
The correct alphabetical sorting order for the country
+
+ 正确的国家字母排序
+
-
Appropriate default paper size
+
+ 合适的纸张大小
+
-
Correct formatting of monetary, time, and date values
+
+ 正确的货币,时间和日期值
+
@@ -100,10 +137,20 @@
modifiers such as “@euro” may also be present.
+
+ 对于需要的语言(例如,“en”
+ ), 用下列的2字母代码替换<ll>
, 用合适的国家代码替换
+ (比如,“GB”)<CC>
,应当使用所选的区域字符映射替换<charmap>
,
+ 可选的修改值例如“@euro”。
+
The list of all locales supported by Glibc can be obtained by running
the following command:
+
+ Glibc 所支持的所有区域列表可用以下命令获取:
+
locale -a
@@ -126,6 +173,17 @@
your preferred locale (“en_GB.iso88591” in our example).
+
+ 字符映射表可以有别名,比如“ISO-8859-1”
+ 也可以用“iso8859-1”和“
+ iso88591”指代。一些程序无法处理多个不同别名(比如,“UTF-8” 要写成 “UTF-8”,而不是“utf8”),所以大多数情况下最保险的方式是选择特定语言包的规范名称。
+ 要确定规范名称,请运行以下命令,其中<locale name>
是
+ 由您的首选区域设置(示例中的“
+ en_GB.iso88591”)由locale -a给出的输出。
+
LC_ALL=<locale name>
locale charmap
@@ -135,6 +193,9 @@
"quote">en_GB.iso88591” locale, the above command
will print:
+
+ 对于“en_GB.iso88591”区域设置,下列命令会打印:
+
ISO-8859-1
@@ -145,6 +206,12 @@
the locale found using the heuristic above is tested prior to it
being added to the Bash startup files:
+
+ 这将导致“en_GB.ISO-8859-1”的最终区域设置。
+ 重要的是,使用上述启发式方法找到的区域是在被添加到 Bash 启动文件之前进行测试的:
+
LC_ALL=<locale name> locale language
LC_ALL=<locale name> locale charmap
@@ -159,6 +226,11 @@
shown below, this means that your locale was either not installed in
Chapter 6 or is not supported by the default installation of Glibc.
+
+ 上述命令应在电话号码之前打印语言名称,
+ 由语言环境使用的字符编码,本地货币和前缀,以便进入该国家。 如果上述任何命令失败,并显示如下所示的消息,
+ 则这意味着您的区域设置未安装在第6章中,或者不支持默认安装 Glibc。
+
locale: Cannot set LC_* to default locale: No such file or directory
@@ -169,12 +241,20 @@
or consider choosing a different locale. Further instructions assume
that there are no such error messages from Glibc.
+
+ 如果发生这种情况,您应该使用localedef命令安装所需的语言环境,
+ 或者考虑选择不同的语言环境。 进一步说明假设 Glibc 没有这样的错误消息。
+
Some packages beyond LFS may also lack support for your chosen
locale. One example is the X library (part of the X Window System),
which outputs the following error message if the locale does not
exactly match one of the character map names in its internal files:
+
+ LFS 之外的一些软件包也可能不支持您选择的区域设置。 一个例子是X库(X Window System 的一部分),
+ 如果区域设置与其内部文件中的一个字符映射名称不完全匹配,则会输出以下错误消息:
+
Warning: locale not supported by Xlib, locale set to C
@@ -190,6 +270,13 @@
"de_DE.ISO-8859-15@euro" to "de_DE@euro" in order to get this locale
recognized by Xlib.
+
+ 在几种情况下,Xlib 希望字符映射将以标准破折号的大写表示法列出,
+ 例如,“ISO-8859-1”而不是“iso88591”, 还可以通过删除语言环境规范的charmap部分来找到适当的规范。
+ 这可以通过在两种语言环境中运行locale charmap命令进行检查。
+ 例如,为了获得Xlib所识别的本地区域,必须将“de_DE.ISO-8859-15@euro”更改为“de_DE @ euro”。
+
Other packages can also function incorrectly (but may not necessarily
display any error messages) if the locale name does not meet their
@@ -197,10 +284,17 @@
distributions support your locale might provide some useful
information.
+
+ 如果区域名称不符合它们的要求,其他包也可能不正确地运行(但可能不会显示任何错误消息)。
+ 在这些情况下,调查其他 Linux 发行版如何支持您的区域设置可能会提供一些有用的信息。
+
Once the proper locale settings have been determined, create the
/etc/locale.conf
file:
+
+ 一旦确定了正确的区域设置,创建/etc/locale.conf
文件:
+
cat > /etc/locale.conf << "EOF"
LANG=
localectl for the
example above, run:
+
+ 请注意,您可以使用localectl实用程序修改/etc/locale.conf
。 对上述示例使用localectl,请运行:
+
localectl set-locale LANG="<ll>_<CC>.<charmap><@modifiers>
"
@@ -228,6 +327,11 @@
as en_US.UTF-8 but LC_CTYPE
is set as just
en_US is:
+
+ 您还可以指定其他语言特定的环境变量,如LANG
, LC_CTYPE
, LC_NUMERIC
或来自语言环境输出的任何其他环境变量。
+ 只需将它们用空格分开。 LANG
设置为en_US.UTF-8但LC_CTYPE
设置为en_US的示例是:
+
localectl set-locale LANG="en_US.UTF-8" LC_CTYPE="en_US"
@@ -242,6 +346,10 @@
"command">localectl command can be used
only on a system booted with systemd.
+
+ 请注意,localectl命令只能在使用 systemmd 引导的系统上使用。
+
The “
locale only if you are sure that you will never need 8-bit
characters.
+
+ “C” (默认)和“en_US”(推荐美国英语用户使用)语言环境是不同的。
+ “C”使用 US-ASCII 7位字符集,并将高位置为无效字符处理字节。
+ 这就是为什么,例如,ls 命令用这个区域设置中的问号来代替它们。
+ 另外,尝试从 Mutt 或 Pine 发送带有这些字符的邮件会导致发送不符合 RFC 的消息(传出邮件中的字符集表示为“unknown 8-bit”)。
+ 所以只有当你确定你永远不会需要8位字符时使用
+ “C”区域设置。
+
UTF-8 based locales are not supported well by many programs. Work is
in progress to document and, if possible, fix such problems, see
@@ -268,30 +388,50 @@
"http://www.linuxfromscratch.org/blfs/view/8.0/introduction/locale-issues.html">
http://www.linuxfromscratch.org/blfs/view/8.0/introduction/locale-issues.html.
+
+ 许多程序不支持基于UTF-8的语言环境。 正在进行文件的编制工作,如有可能,修复这些问题,
+ 请参见
+ http://www.linuxfromscratch.org/blfs/view/8.0/introduction/locale-issues.html。
+
diff --git a/lfs-8.0-systemd/chapter07/systemd-custom.html b/lfs-8.0-systemd/chapter07/systemd-custom.html
index 8390813..cdae608 100644
--- a/lfs-8.0-systemd/chapter07/systemd-custom.html
+++ b/lfs-8.0-systemd/chapter07/systemd-custom.html
@@ -3,9 +3,10 @@
+ "application/xhtml+xml; charset=utf-8" />
- 7.10. Systemd Usage and Configuration
+ 7.10. Systemd Usage and Configuration
+ 7.10. Systemd 用法和配置
@@ -21,28 +22,45 @@
Chapter 7. System Configuration
+
+ 第七章 系统配置
+
-
Prev
+ 上一页
Creating the /etc/shells File
+
+ 创建 /etc/shells 文件
+
-
Next
+ 下一页
Making the LFS System Bootable
+
+ 使 LFS 系统可启动
+
-
Up
+ 返回
-
Home
+ 首页
@@ -50,11 +68,16 @@
7.10. Systemd Usage and Configuration
+ 7.10 Systemd 用法和配置
7.10.1. Basic Configuration
+
+ 7.10.1. 基础配置
+
The /etc/systemd/system.conf
file
contains a set of options to control basic systemd operations. The
@@ -64,16 +87,28 @@
"filename">systemd-system.conf(5) manual page for details on
each configuration option.
+
+ /etc/systemd/system.conf
文件包含一组控制基本系统操作的选项。
+ 默认文件将所有条目注释掉,并显示默认设置。 此文件是可以更改日志级别的地方以及一些基本的日志记录设置。
+ 有关每个配置选项的详细信息,请参阅systemd-system.conf(5)
手册页。
+
7.10.2. Disabling Screen Clearing at Boot Time
+
+ 7.10.2 关闭启动清屏
+
The normal behavior for systemd is to clear the screen at the end
of the boot sequence. If desired, this behavior may be changed by
running the following command:
+
+ systemd的正常行为是在引导顺序结束时清除屏幕。 如果需要,可以通过运行以下命令来更改此行为:
+
mkdir -pv /etc/systemd/system/getty@tty1.service.d
@@ -87,16 +122,26 @@
"userinput">journalctl -b
command as the root
user.
+
+ 通过使用journalctl -b
命令作为 root 用户,始终可以恢复引导消息。
+
7.10.3. Disabling tmpfs for /tmp
+
+ 7.10.3 为 /tmp 关闭 tmpfs
+
By default, /tmp
is created as a
tmpfs. If this is not desired, it can be overridden by the
following:
+
+ 默认情况下,/tmp
创建为 tmpfs。 如果不希望这样做,可以通过以下方式来覆盖:
+
ln -sfv /dev/null /etc/systemd/system/tmp.mount
@@ -105,15 +150,25 @@
/tmp
specified in /etc/fstab
.
+
+ 如果/etc/fstab
中指定的/tmp
有一个单独的分区,则不需要这样做。
+
7.10.4. Configuring Automatic File Creation and Deletion
+
+ 7.10.4 配置自动文件创建和删除
+
There are several services that create or delete files or
directories:
+
+ 有这几种创建或删除文件或目录的服务:
+
-
@@ -143,16 +198,31 @@
tmpfiles.d(5)
manual page for file
format details.
+
+ 配置文件的系统位置为/usr/lib/tmpfiles.d/*.conf
。 本地配置文件位于 /etc/tmpfiles.d
中。
+ /etc/tmpfiles.d
中的文件在/usr/lib/tmpfiles.d
中覆盖相同名称的文件。
+ 有关文件格式的详细信息,请参阅tmpfiles.d(5)
手册页。
+
7.10.5. Overriding Default Services Behavior
+
+
+
The parameter of a unit can be overriden by creating a directory
and a configuration file in /etc/systemd/system
. For example:
+
+ 可以通过在/etc/systemd/system
中创建目录和配置文件来覆盖单元的参数。 例如:
+
mkdir -pv /etc/systemd/system/foobar.service.d
@@ -170,11 +240,20 @@
"userinput">systemctl restart foobar
to
activate the changes to a service.
+
+ 有关详细信息,请参阅systemd.unit(5)
手册页。
+ 创建配置文件后,运行systemctl
+ daemon-reload
和 systemctl restart foobar
来激活对服务的更改。
+
7.10.6. Debugging the Boot Sequence
+
+ 7.10.6 调试引导顺序
+
Rather than plain shell scripts used in SysVinit or BSD style init
systems, systemd uses a unified format for different types of
@@ -183,6 +262,11 @@
disable, controll state, and obtain status of unit files. Here are
some examples of frequently used commands:
+
+ systemd对于不同类型的启动文件(或单元)使用统一的格式,而不是在SysVinit或BSD style init系统中使用的简单shell脚本。
+ 命令systemctl用于启用,禁用,控制状态和获取单元文件的状态。 以下是常用命令的一些示例:
+
-
@@ -190,7 +274,7 @@
systemctl list-units -t
<service>
[--all]: lists loaded unit files of type
- service.
+ service. 列出类型服务的加载单元文件。
-
@@ -198,7 +282,7 @@
systemctl list-units -t
<target>
[--all]: lists loaded unit files of type
- target.
+ target. 列出目标类型的加载单元文件。
-
@@ -208,7 +292,7 @@
"replaceable"><multi-user.target>
:
shows all units that depend on the multi-user target. Targets
are special unit files that are anogalous to runlevels under
- SysVinit.
+ SysVinit. 显示依赖于多用户目标的所有单位。 目标是在SysVinit下运行级别的特殊单位文件。
-
@@ -219,7 +303,8 @@
extension can be omitted if there are no other unit files
with the same name, such as .socket files (which create a
listening socket that provides similar functionality to
- inetd/xinetd).
+ inetd/xinetd). 显示服务名称服务的状态。 如果没有其他具有相同名称的单元文件,例如.socket文件
+ (创建一个提供与inetd/xinetd类似的功能的侦听套接字),则可以省略.service扩展名。
@@ -229,6 +314,8 @@
7.10.7. Working with the Systemd Journal
+
+ 7.10.7 使用 Systemd 日志
Logging on a system booted with systemd is handled with
systemd-journald (by default), rather than a typical unix syslog
@@ -239,20 +326,26 @@
"command">journalctl is provided. Here are
some examples of frequently used commands:
+
+ 使用systemd启动的系统登录是使用systemd-journald(默认情况下)处理的,而不是典型的unix syslog守护程序。
+ 您还可以添加一个正常的syslog守护程序,如果需要,可以并行工作。 systemd-journald程序以二进制格式而不是纯文本日志文件存储日记帐分录。
+ 为了协助解析文件,提供了命令journalctl。以下是常用命令的一些示例:
+
-
journalctl -r:
shows all contents of the journal in reverse chronological
- order.
+ order. 以相反的时间顺序显示日志的所有内容。
-
journalctl -u UNIT
: shows
- the journal entries associated with the specified UNIT file.
+ the journal entries associated with the specified UNIT file. 显示与指定的UNIT文件相关联的日志分录。
-
@@ -260,13 +353,13 @@
journalctl -b[=ID]
-r: shows the journal entries since last
successfull boot (or for boot ID) in reverse chronological
- order.
+ order. 显示自上次成功启动(或引导ID)的日志条目,按时间顺序排列。
-
journalctl -f:
- povides functionality similar to tail -f (follow).
+ povides functionality similar to tail -f (follow). 提供类似于tail -f的功能(follow)。
@@ -276,6 +369,9 @@
7.10.8. Long Running Processes
+
+ 7.10.8 长进程
+
Beginning with systemd-230, all user processes are killed when a
user session is ended, even if nohup is used, or the process uses
@@ -289,6 +385,16 @@
ending your user session. There are three ways to enable lingering
processes to remain after a user session is ended.
+
+ 使用systemd-230开始,所有用户进程在用户会话结束时被终止,即使使用了 nohup,
+ 或者进程使用daemon()
或 setsid()
。
+ 这是从历史悠久的环境到更严格的环境的故意改变。
+ 如果在结束用户会话后依赖长时间运行的程序(例如,screen 或 tmux)保持活动,新行为可能会导致问题。
+ 在用户会话结束后,有三种方法可以使延迟过程保持不变。
+
-
@@ -312,6 +418,19 @@
nohup and
utilities that use deamon()
.
+
+ Enable process lingering for only
+ needed users:普通用户有权使用命令loginctl enable-linger为自己的用户启用进程延迟。
+ 系统管理员可以使用与user
参数相同的命令为用户启用。
+ 该用户可以使用systemd-run命令来启动长时间运行的进程。
+ 例如:systemd-run --scope --user
+ /usr/bin/screen。 如果您为您的用户启用延迟,即使在所有登录会话关闭后,
+ user@.service也将保留,并将在系统引导时自动启动。
+ 这具有在用户会话结束之后明确允许和不允许进程运行的优点,
+ 但是与使用deamon()
的工具
+ (如nohup )和实用程序的向后兼容性是不同的。
+
-
@@ -323,6 +442,12 @@
benefit of leaving the old method available to all users at
the expense of explicit control.
+
+ Enable system-wide process
+ lingering:您可以在 /etc/logind.conf
中设置KillUserProcesses=no
,以便为所有用户全局启用进程延迟。
+ 这有利于以牺牲显式控制为代价的同时将旧方法提供给所有用户。
+
-
@@ -335,6 +460,14 @@
systemd. This completely disables the ability of systemd to
kill user processes at session end.
+
+ Disable at build-time:
+ 通过在systemd的configure命令中添加交换机--without-kill-user-processes
+ 来构建systemd可以默认启用延迟。
+ 这完全禁用了系统在会话结束时杀死用户进程的能力。
+
@@ -345,24 +478,38 @@
Prev
+ 上一页
Creating the /etc/shells File
+
+ 创建 /etc/shells 文件
+
Next
+ 下一页
Making the LFS System Bootable
+
+ 使 LFS 系统可启动
+
Up
+ 返回
Home
+ 返回