任务只需执行一次时,图形或 ncurses 界面通常是最佳的解决方案。如果任务需要重复执行,则可能使用 YaST 命令行界面更佳简便。自定义脚本也可以使用此界面来自动执行任务。
要查看系统上所有可用模块名称的列表,请使用 yast -l 或 yast --list。 要显示某个模块的可用选项,请输入 yast module_name help。如果模块没有命令行模式,则会显示告知您此情况的消息。
要显示某个模块命令选项的帮助,请输入 yast module_name command help。要设置选项值,请输入 yast module_name command option=value。
因为已存在具有同样功能的命令行工具,所以某些模块不支持命令行模式。涉及的模块和可用命令行工具为:
sw_single 提供包管理和系统更新功能。请在脚本中使用 rug,而不是 YaST。请参考 第 9.1 节 “从命令行使用 rug 更新包”。
online_update_setup 配置系统的自动更新。它可以用 cron 进行配置。
使用 inst_suse_register 来注册您的 SUSE Linux Enterprise。关于注册的详细信息,请参见第 8.3.4 节 “注册 SUSE Linux Enterprise”。
hwinfo 提供系统的硬件信息。命令 hwinfo 也可以实现同样的功能。
这些模块控制或配置 AppArmor。AppArmor 具有自己的命令行工具。
用于用户管理的 YaST 命令与传统的命令不一样,它们考虑到了创建、修改或删除用户时系统上已配置的身份验证方法和默认用户管理设置。例如,您在添加用户期间或之后无需创建用户主目录或复制 skel 文件。输入用户名和密码后,所有其他设置将按照默认配置自动完成。命令行提供的功能与图形界面一样。
YaST users 模块用于用户管理。要显示命令行选项,请输入 yast users help。
要添加多个用户,请用要添加用户的列表来创建一个 /tmp/users.txt 文件。每行输入一个用户名并使用以下脚本:
例 8.2. 添加多个用户
#!/bin/bash # # adds new user, the password is same as username # for i in `cat /tmp/users.txt`; do yast users add username=$i password=$i done
与添加一样,您可以删除 tmp/users.txt 中定义的用户。
例 8.3. 删除多个用户
#!/bin/bash # # the home will be not deleted # to delete homes, use option delete_home # for i in `cat /tmp/users.txt`; do yast users delete username=$i done
脚本中通常需要网络和防火墙配置命令。请使用 yast lan 配置网络,使用 yast firewall 来配置防火墙。
要显示 YaST 网卡配置选项,请输入 yast lan help。要显示 YaST 防火墙卡配置选项,请输入 yast firewall help。YaST 网络和防火墙配置始终保持不变。重引导后,无需再次执行脚本。
要显示网络的配置摘要,请使用 yast lan list。例 8.4 “yast lan list 的输出样本”输出中的第 1 项是设备 ID。要获取设备配置的详细信息,请使用 ast lan show id=<number>。此示例中正确的命令为 yast lan show id=0。
YaST 防火墙配置的命令行界面是用来启用和禁用服务、端口或协议的快捷方法。要显示允许的服务、端口和协议,请使用 yast firewall services show。要获取如何启用服务或端口的示例,请使用 yast firewall services help。要启用伪装,请输入 yast firewall masquerade enable。