使用命令行配置 SCPM使用命令行配置 SCPM

本节介绍 SCPM 的命令行配置。 了解如何启动、配置 SCPML 并使用配置文件。

启动 SCPM 并定义资源组启动 SCPM 并定义资源组

在使用前,必须激活 SCPM。使用 scpmenable 激活 SCPM。如果是第一次运行,则将初始化 SCPM,这需要花几秒钟。 可以随时用 scpm disable 取消激活 SCPM,以防止意外切换配置文件。随后的重激活只是继续初始化。

默认情况下,SCPM 处理网络和打印机设置以及 X.Org 配置。 要管理特殊的服务或配置文件,请激活相应的资源组。 要列出预定义的资源组,请使用 scpmlist_groups。 要只查看已经激活的资源组,请使用 scpmlist_groups -a 。请在命令行以 root 用户身份发出这些命令。

scpm list_groups -a

nis                 Network Information Service client
mail                Mail subsystem
ntpd                Network Time Protocol daemon
xf86                X Server settings
autofs              Automounter service
network             Basic network settings
printer             Printer settings

使用 scpm activate_group NAMEscpm deactivate_group NAME 可以激活或取消激活某个组。用相关组名替换 NAME

创建和管理配置文件创建和管理配置文件

激活 SCPM 后,名为 default 的配置文件已经存在。 可以使用 scpm list 获得所有可用配置文件的列表。这一现有的配置文件也是活动配置文件,可以使用 scpm active 进行校验。配置文件 default 是一个基本配置,其他配置文件都是从该配置派生的。 为此,应该首先创建应在所有配置文件中相同的所有设置。 然后,用 scpmreload 将这些修改储存在活动配置文件中。可以以 default 配置文件为基础,进行复制和重命名以生成新配置文件。

可以使用两种方法来添加新配置文件。 如果新配置文件(这里名为 work)应基于配置文件 default,请用 scpmcopy default work 创建此配置文件。命令 scpmswitch work 可以切换为新配置文件,然后可以对其进行修改。您可能要为特殊目的修改系统配置并将更改保存到新配置文件中。 命令 scpmadd work 将创建一个新配置文件,方法是将当前系统配置保存在配置文件 work 中并将其标记为活动配置文件。 随后运行 scpm reload 将更改保存到配置文件 work 中。

使用命令 scpm rename x yscpm delete z 重命名或删除配置文件。 例如,要将 work 重命名为 project,请输入 scpmrename work project。 要删除 project,请输入 scpm delete project。 不能删除活动配置文件。

切换配置配置文件切换配置配置文件

可以使用命令 scpm switch work 切换到另一个配置文件(在本例中是配置文件 work)。 切换到活动配置文件以将系统配置的已修改设置包括在配置文件中。 此操作对应于命令 scpmreload

切换配置文件时,SCPM 首先检查已修改了活动配置文件的哪些资源。 然后,SCPM 查询是将每个资源的修改添加到活动配置文件中,还是将它们删除。 如果需要这些资源的单独列表(如 SCPM 以前的版本中那样),请使用带有 -r 参数的 switch 命令:scpm switch -r work

scpm switch -r work

Checking for modified resources 
Checking for Resources to be started/shut down 
Checking for dependencies 
Restoring profile default 

随后,SCPM 将当前系统配置与要切换到的配置文件进行比较。 在这个阶段,SCPM 评估由于相互依赖性或为反映配置中的更改,需要停止或重启动哪些系统服务。 这类似于部分系统重引导,系统的一小部分进行重引导,而其余部分继续运行,无任何影响。 也就是在此时系统服务停止,写入所有已修改的资源(例如配置文件),然后重启动系统服务。

高级配置文件设置高级配置文件设置

您可以为通过 scpmlist 显示的每个配置文件输入说明。 对于活动配置文件,请使用 scpmset description "text" 进行设置。对于不活动的配置文件,请提供配置文件名,例如 scpm set description "text" work。 有时在切换配置文件时可能需要执行一些不是由 SCPM 提供的其他操作。 每个配置文件最多可以附加 4 个可执行文件。 将在切换进程的不同阶段调用这些文件。 这些阶段被称为:

prestop

离开配置文件时,在停止服务前运行

poststop

离开配置文件时,在停止服务之后运行

prestart

激活配置文件时,在启动服务之前运行

poststart

激活配置文件时,在启动服务之后运行

使用命令 set 插入这些操作,方法是输入 scpm set prestop filenamescpmset poststop filenamescpm set prestart filenamescpm set poststart filename。这些脚本必须可执行并且引用了正确的解释器。

[Warning]集成自定义脚本

对超级用户 (root) 来说,将由 SCPM 执行的其他脚本必须是可读的和可执行的。 必须阻止所有其他用户对这些文件的访问。 输入命令 chmod 700 filenamechown root:root filenameroot 用户授予对这些文件的独占权限。

setget 查询输入的所有其他设置。 例如,命令 scpm get poststart 返回 poststart 调用的名称,如果未附加任何对象,则不返回任何内容。使用 "" 覆盖可以重设置这些设置。 使用命令 scpm set prestop "" 可以去除附加的 prestop 程序。

可以使用与添加注释相同的方法将所有 setget 命令应用到任何一个配置文件中。 例如,scpm get prestop filename workscpmget prestop work