8.2. 重新创建已保存的控制台设置

root 身份从串行控制台登录,并将控制台发送到单用户模式。在此操作过程中,调制解调器可能会挂断,您可能需要重新连接。

如果没有/etc/ioctl.save包含已保存的终端设置,init 假设直接连接的终端以 9600bps 运行,具有 8 个数据位、无奇偶校验、1 个停止位和无流量控制。使用这些设置配置您的终端。

remote.example.edu.au ttyS0 login: root
Password: 
sh# rm -f /etc/ioctl.save
bash# telinit 1Telling INIT to go to single user mode.
INIT: Going single user
INIT: Sending processes the TERM signal
sh# stty sane -parenb cs8 crtscts brkint -istrip -ixoff -ixon

当您使用 stty 来更改 Linux 的终端设置时,请记住也要更改连接终端的设置。

从单用户模式退出回到默认运行级别,会将串行控制台终端配置保存到/etc/ioctl.save.

sh# exitbash# ls -l /etc/ioctl.save
-rw------- 1 root root 60 Jan 1 00:00 /etc/ioctl.save

保存在以下位置的终端设置/etc/ioctl.save如果机器启动进入单用户模式(出于任何原因),将被使用。

如果您的连接终端或调制解调器无法将速度更改为 9600bps,则无法遵循上述步骤。ioctlsave 是为此特殊情况编写的。它将当前终端设置保存到与以下格式相同的文件中,如ioctl.save。该过程如图 图 8-1 所示。

图 8-1. 使用 ioctlsave 创建/etc/ioctl.save而无需进入单用户模式

remote.example.edu.au ttyS0 login: root
Password: 
bash# rm -f /etc/ioctl.save
bash# ioctlsave -t /dev/ttyS0 /etc/ioctl.save