[ 上一节 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 下一节 ]
安装 libpaper1
软件包,它会询问您系统范围的默认纸张尺寸。此设置将保存在文件 /etc/papersize 中。
用户可以使用 PAPERSIZE 环境变量覆盖纸张尺寸设置。有关详细信息,请参阅手册页 papersize(5)
。
/dev 目录中的许多设备文件都属于一些预定义的组。例如,/dev/fd0 属于 floppy 组,而 /dev/dsp 属于 audio 组。
如果您希望某个用户有权访问其中一个设备,只需将该用户添加到设备所属的组即可,即执行
adduser user group
这样您就不必更改设备上的文件权限。
如果您从用户的 shell 或 GUI 环境中执行此操作,您必须注销并重新登录才能成为该组的有效成员。要检查您属于哪些组,请运行 groups。
请注意,自从引入 udev 以来,如果您更改了硬件外围设备的权限,那么当系统启动时,某些设备的权限可能会被调整。如果这发生在您感兴趣的硬件外围设备上,您将必须在 /etc/udev 中调整规则。
kbd
和 console-tools
软件包支持此功能,请编辑 /etc/kbd/config 或 /etc/console-tools/config 文件。
Debian 的 X 程序会将其应用程序资源数据安装在 /etc/X11/app-defaults/ 目录中。如果您想全局自定义 X 应用程序,请将您的自定义项放在这些文件中。它们被标记为配置文件,因此它们的内容将在升级期间保留。
与所有 Unix 系统一样,Debian 通过执行程序 init 启动。 init 的配置文件(即 /etc/inittab)指定要执行的第一个脚本应为 /etc/init.d/rcS。此脚本通过 sourcing 或 forking 子进程(取决于其文件扩展名)来运行 /etc/rcS.d/ 中的所有脚本,以执行初始化,例如检查和挂载文件系统、加载模块、启动网络服务、设置时钟以及执行其他初始化。然后,为了兼容性,它也会运行 /etc/rc.boot/ 中的文件(文件名中带有 `.` 的文件除外)。后一个目录中的任何脚本通常保留供系统管理员使用,并且不建议在软件包中使用它们。
完成启动过程后,init 会执行默认运行级别指定的目录中的所有启动脚本(此运行级别由 /etc/inittab 中 id 的条目给出)。与大多数 System V 兼容的 Unix 系统一样,Linux 有 7 个运行级别
0(停止系统),
1(单用户模式),
2 到 5(各种多用户模式),以及
6(重启系统)。
Debian 系统附带 id=2,这表明默认运行级别将在进入多用户状态时为“2”,并且将运行 /etc/rc2.d/ 中的脚本。
实际上,任何目录 /etc/rcN.d/ 中的脚本都只是指向 /etc/init.d/ 中脚本的符号链接。但是,每个 /etc/rcN.d/ 目录中文件的名称被选择来指示 /etc/init.d/ 中的脚本将以何种方式运行。具体来说,在进入任何运行级别之前,所有以“K”开头的脚本都会运行;这些脚本会终止服务。然后,所有以“S”开头的脚本都会运行;这些脚本会启动服务。“K”或“S”后面的两位数字表示脚本的运行顺序。编号较小的脚本先执行。
这种方法之所以有效,是因为 /etc/init.d/ 中的脚本都接受一个参数,该参数可以是 `start`、`stop`、`reload`、`restart` 或 `force-reload`,然后将执行参数指示的任务。即使系统已启动,也可以使用这些脚本来控制各种进程。
例如,使用参数 `reload`,命令
/etc/init.d/sendmail reload
向 sendmail 守护程序发送信号以重新读取其配置文件。(顺便说一句,Debian 提供 invoke-rc.d
作为调用 /etc/init.d/ 中脚本的包装器。)
假设系统需要在启动时或进入特定(System V)运行级别时执行脚本 foo。那么系统管理员应该
将脚本 foo 输入到目录 /etc/init.d/ 中。
使用适当的参数运行 Debian 命令 update-rc.d,以指定哪些运行级别应启动服务,以及哪些运行级别应停止服务。
考虑重启系统以检查服务是否正确启动(假设您已要求在默认运行级别中启动它)。否则,通过运行 `/etc/init.d/foo start` 手动启动它。
例如,可以通过将脚本 foo 放入 /etc/init.d/ 并运行 update-rc.d foo defaults 19,使脚本 foo 在启动时执行。参数 `defaults` 指的是默认运行级别,这意味着(至少在没有任何 LSB 注释块相反的情况下)在运行级别 2 到 5 中启动服务,并在运行级别 0、1 和 6 中停止服务。(当使用 sysv-rc 版本的 update-rc.d 时,foo 中的任何 LSB Default-Start 和 Default-Stop 指令都优先,但当前的 (v0.8.10) file-rc 版本的 update-rc.d 会忽略它们。)参数 `19` 确保 foo 在所有编号小于 19 的脚本完成之后以及所有编号为 20 或更大的脚本之前被调用。
一些用户希望通过安装一组 Debian 软件包和一个本地生成的包含配置文件的软件包来创建新的服务器。这通常不是一个好主意,因为如果这些配置文件在不同的软件包中,dpkg
将不知道这些配置文件,并且当初始“组”软件包之一升级时,可能会写入冲突的配置。
相反,创建一个本地软件包,该软件包修改感兴趣的“组” Debian 软件包的配置文件。然后 dpkg
和软件包管理系统的其余部分将看到文件已被本地“系统管理员”修改,并且在这些软件包升级时不会尝试覆盖它们。
假设系统管理员或本地用户希望使用程序“login-local”而不是 Debian login
软件包提供的程序“login”。
不要
用 login-local 覆盖 /bin/login。
软件包管理系统将不知道此更改,并且每当安装或更新 login(或任何提供 /bin/login 的软件包)时,都会简单地覆盖您的自定义 /bin/login。
相反,请执行
执行
dpkg-divert --divert /bin/login.debian /bin/login
为了使将来所有 Debian login
软件包的安装都将文件 /bin/login 写入 /bin/login.debian。
然后执行
cp login-local /bin/login
将您自己本地构建的程序移动到位。
运行 dpkg-divert --list 以查看当前系统上处于活动状态的转移。
详细信息请参见手册页 dpkg-divert(8)
。
执行命令
dpkg-scanpackages BIN_DIR OVERRIDE_FILE [PATHPREFIX] > my_Packages
其中
BIN-DIR 是 Debian 归档文件(通常扩展名为“.deb”)存储的目录。
OVERRIDE_FILE 是由发行版维护者编辑的文件,通常存储在 Debian FTP 归档文件中的 indices/override.main.gz 中,用于“main”发行版中的 Debian 软件包。您可以忽略本地软件包的此文件。
PATHPREFIX 是一个可选字符串,可以添加到正在生成的 my_Packages 文件的前面。
构建文件 my_Packages 后,通过使用命令告诉软件包管理系统
dpkg --merge-avail my_Packages
如果您正在使用 APT,您也可以将本地存储库添加到您的 sources.list(5)
文件中。
在某些情况下,两个软件包提供程序的两个不同版本,两者都提供相同的核心功能。用户可能出于习惯或因为一个软件包的用户界面在某种程度上比另一个软件包的界面更令人愉悦而更喜欢一个软件包。同一系统上的其他用户可能会做出不同的选择。
Debian 使用“虚拟”软件包系统,以允许系统管理员在有两个或多个软件包提供相同基本功能时选择(或让用户选择)他们喜欢的工具,并且满足软件包依赖性要求,而无需指定特定的软件包。
例如,系统上可能存在两个不同版本的新闻阅读器。新闻服务器软件包可能会“推荐”系统上存在某些新闻阅读器,但 tin 或 trn 的选择留给各个用户。这可以通过让 tin
和 trn
软件包都提供虚拟软件包 news-reader
来满足。哪个程序被调用由从带有虚拟软件包名称的文件 /etc/alternatives/news-reader 指向所选文件(例如 /usr/bin/trn)的链接确定。
单个链接不足以支持备用程序的完整使用;通常,也必须选择手册页,以及可能的其他支持文件。Perl 脚本 update-alternatives 提供了一种确保将与指定软件包关联的所有文件都选为系统默认值的方法。
例如,要检查哪些可执行文件提供“x-window-manager”,请运行
update-alternatives --display x-window-manager
如果您想更改它,请运行
update-alternatives --config x-window-manager
并按照屏幕上的说明进行操作(基本上,按您更喜欢的条目旁边的数字)。
如果某个软件包由于某种原因没有将自己注册为窗口管理器(如果出现错误,请提交错误报告),或者如果您使用来自 /usr/local 目录的窗口管理器,则屏幕上的选择将不包含您首选的条目。您可以通过命令行选项更新链接,如下所示
update-alternatives --install /usr/bin/x-window-manager \ x-window-manager /usr/local/bin/wmaker-cvs 50
`--install` 选项的第一个参数是指向 /etc/alternatives/NAME 的符号链接,其中 NAME 是第二个参数。第三个参数是 /etc/alternatives/NAME 应指向的程序,第四个参数是优先级(值越大意味着该备选项将更可能被自动选择)。
要删除您添加的备选项,只需运行
update-alternatives --remove x-window-manager /usr/local/bin/wmaker-cvs
[ 上一节 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ 下一节 ]
Debian GNU/Linux FAQ
版本 5.0,2011 年 8 月 27 日