C 高级 linuxrc 选项 #
linuxrc 是在装载内核之后、执行 AutoYaST 或其他阶段之前运行的一个小程序,用于为安装系统做好准备。用户可以通过此程序装载模块、启动安装的系统或救援系统,以及指导完成 YaST 的操作。
 
linuxrc 设置不相同
   某些 linuxrc 设置恰好与 AutoYaST 在其 autoyast.xml 文件中使用的设置同名。但这并不意味着它们采用相同的参数或者以相同的方式工作。例如,AutoYaST 采用 self_update 设置。如果此值设置为 1,则会读取并遵循另一个设置 self_update_url。虽然 linuxrc 也具有 self_update 设置,但 linuxrc 的设置采用值 0 或 URL。
  
   请不要将 AutoYaST 参数传递给 linuxrc,因为几乎可以肯定这不会产生所需的结果。
  
  如果在计算机上安装了 linuxrc,可以在 /usr/share/doc/packages/linuxrc/ 目录中找到其相关信息。或者,也可以在 https://en.opensuse.org/SDB:Linuxrc 上找到其联机文档。
 
linuxrc
   如果您在安装的系统上运行 linuxrc,为了不破坏您的安装,它会以略微不同的方式工作。因此,您无法以这种方式测试所有功能。
  
  为了尽可能保留最小的 linuxrc 二进制文件,其所有库和其他补充文件已直接链接到主程序二进制文件。这意味着,不需要在初始 RAM 磁盘 initrd 中保留任何共享库。
 
C1 将参数传递给 linuxrc #
   除非 linuxrc 处于手动模式,否则它会在以下位置查找 info 文件:首先在闪存盘(例如 USB 记忆棒)上的 /info 中查找,如果在该位置未找到,则在 initrd 上的 /info 中查找。然后,它会分析参数的内核命令行。可以通过设置 info 命令行参数来更改 linuxrc 读取的 info 文件。如果您不希望 linuxrc 读取内核命令行(例如,因为您还需要指定 linuxrc 可识别的某个内核参数),请使用 linuxrc=nocmdline。
  
linuxrc 始终查找并分析名为 /linuxrc.config 的文件。如果需要,请使用此文件更改默认值。一般而言,最好是改用 info 文件。请注意,即使是在手动模式下,也会先读取 /linuxrc.config,再读取任何 info 文件。
  
C2 info 文件格式 #
   以 # 开头的行是注释。有效项的格式如下:
  
key: value
   请注意,value 将扩展到行尾,因此可能包含空格。key 的匹配不区分大小写。
  
   您可以使用语法 key=value,在内核命令行上使用相同的键-值对。未采用上述格式的行将被忽略。
  
   下表列出了重要的键和示例值。有关 linuxrc 参数的完整列表,请参见 https://en.opensuse.org/SDB:Linuxrc。
  
linuxrc 关键字 #| 关键字:示例值 | 说明 | 
|---|---|
| 
 | 
        如果为 0,则永远不请求交换;如果该参数是正数  | 
| 
 | 自动安装文件的位置;激活自动安装模式。有关详细信息,请参见 AutoYaST 控制文件位置。 | 
| 
 | BOOTP 请求的超时为 10 秒。 | 
| 
 | 在网络激活与启动 bootp 之间休眠 5 秒。 | 
| 
 | 设置菜单配色方案。 | 
| 
 | 运行命令。 | 
| 
 | 
        运行  | 
| 
 | 将安装系统装载到 RAM 磁盘中。 | 
| 
 | 设置并启动网络。有关更多信息,请参见第 C3 节 “高级网络设置”。 | 
| 
 | 装载 MODULE。 | 
| 
 | 从 URL 指定的储存库安装。有关 URL 的语法,请参见 https://en.opensuse.org/SDB:Linuxrc#url_descr。 | 
| 
 | 要装载的虚拟控制台键盘映射。 | 
| 
 | 预先选择的安装语言。 | 
| 
 | 经由 UDP 端口 514 通过 syslog 启用远程日志记录 | 
| 
 | 经由 TCP 端口 514 通过 syslog 启用远程日志记录 | 
| 
 | 如果可用内存超过 50000 KB,则将安装系统装载到 RAM 磁盘中。 | 
| 
 | 如果可用内存降到 10000 KB 以下,则请求交换。 | 
| 
 | 如果可用内存低于 20000 KB,则以文本模式运行 YaST。 | 
| 
 | 如果可用内存低于 10000 KB,则在启动 YaST 之前请求交换。 | 
| 
 | 定义 HTTP 代理服务器。有关完整的参数语法,请参见https://en.opensuse.org/SDB:Linuxrc#p_proxy。 | 
| 
 | 装载救援系统;URL 变体明确指定救援映像的位置。 | 
| 
 | 救援系统映像的位置。 | 
| 
 | 安装系统映像的位置。 | 
| 
 | 以文本模式启动 YaST。 | 
| 
 | 装载 USB 模块后等待 4 秒。 | 
| 
 | 覆盖控制文件中的确认参数,并请求确认安装建议。 | 
C3 高级网络设置 #
   即使已将 hostip、nameserver 和 gateway 等参数传递给 linuxrc,也只会在需要时(例如,通过 SSH 或 VNC 安装时)才启动网络。由于 autoyast 不是一个 linuxrc 参数(此参数将被 linuxrc 忽略,只会传递给 YaST),在为 AutoYaST 配置文件指定远程位置时,将不会自动启动网络。
  
   因此,需要明确启动网络。使用 ifcfg 参数可实现此目的。ifcfg 直接控制 /etc/sysconfig/network/ifcfg-* 文件的内容。
  
- DHCP 网络配置
- 用于配置 DHCP 的一般语法是 - ifcfg=INTERFACE=DHCP*,OPTION1=VALUE1,OPTION2=VALUE2 - 其中 INTERFACE 是接口名称,例如 - eth0,- eth*表示所有接口。DHCP* 是- dhcp(IPv4 和 IPv6)、- dhcp4或- dhcp6。- 要为 - eth0设置 DHCP,请使用:- ifcfg=eth0=dhcp - 要在所有接口上设置 DHCP,请使用: - ifcfg=eth*=dhcp 
- 静态网络配置
- 用于配置静态网络的一般语法是 - ifcfg=INTERFACE=IP_LIST,GATEWAY_LIST,NAMESERVER_LIST,DOMAINSEARCH_LIST,\ OPTION1=value1,... - 其中 INTERFACE 是接口名称,例如 - eth0。如果使用- eth*,将使用第一个可用设备。其他参数需按给定的顺序替换为相应的值。示例:- ifcfg=eth0=192.168.2.100/24,192.168.5.1,192.168.1.116,example.com - 为某个参数指定多个地址时,请使用空格进行分隔,并以引号括住整个字符串。以下示例使用两个名称服务器,以及一个包含两个域的搜索列表。 - ifcfg="eth0=192.168.2.100/24,192.168.5.1,192.168.1.116 192.168.1.117,example.com example.net" 
有关详细信息,请参见https://en.opensuse.org/SDB:Linuxrc#Network_Configuration。