深解CentOS系统单用户模式

通过对CentOS系统长时间的学习,我们懂得了更多知识,CentOS系统处于正常状态时,服务器主机开机(或重新启动)后,由系统引导器程序自动引导 Linux 系统启动到多用户模式,并提供正常的网络服务。如果系统管理员需要进行系统维护或系统出现启动异常时,就需要进入单用户模式或修复模式对系统进行管理了。

使用单用户模式有一个前提,就是您的系统引导器(grub)能正常工作,否则要进行系统维护就要使用修复模式。特注:进入单用户模式,没有开启网络服务,不支持远程连接

CentOS系统中不同的运行级别(Run Level)代表了系统的不同运行状态,例如 Linux 服务器正常运行时处于运行级别3,是能够提供网络服务的多用户模式;而运行级别 1 只允许管理员通过服务器主机的单一控制台进行操作,即“单用户模式”。

以CentOS系统为例:

CentOS系统进入单用户模式

进入单用户模式的前提是CentOS系统引导器能正常工作。下面以 GRUB 为例说明进入方法。在 GRUB 启动菜单里有“a”、“e”和“c”三个操作按键,使用这三个按键均可进入单用户模式。

使用“a” 操作按键进入单用户模式—推荐:简单操作

这是CentOS系统进入单用户模式最快速的方法。在 GRUB 启动菜单里使用 “a” 操作按键编辑 kernel 参数,在行末输入 single ,以告诉 Linux 内核后续的启动过程需要进入单用户模式,回车即可。

进入单用户模式之后

当CentOS系统进入单用户模式时,不需要输入用户名和口令,CentOS系统启动完成后将直接获得管理员 root 的权限,控制台的提示符为“#”。

单用户模式下的控制台界面

在上面的启动信息中有一条信息很关键: Remounting root filesystem in read-write mode:[OK]表示此时单用户模式下的根文件CentOS系统处于可读可写状态。只有根文件系统是可读写的,CentOS系统管理员才能对系统进行维护。若系统的配置与脚本文件出现错误,单用户模式下的根文件系统进入“read-only file system”只读状态,此时,可以使用如下命令以读写方式重新挂装根文件系统:

以下是代码片段:
sh-3.1 # mount -o remount rw -t ext3 /
当 CentOS系统进入单用户模式后,由于已经停止了任何网络服务和网络配置(网络接口无效),不会有任何其他人(通过网络)干扰CentOS系统的运行状态,管理员可以放心的对CentOS系统进行系统级别的维护操作。在单用户模式下 CentOS系统除了不具备网络功能外,是功能完整的操作系统。在单用户模式下可以进行如下的维护和管理工作:

重新设置超级用户口令

维护CentOS系统的分区、LVM 和文件系统等

进行CentOS系统的备份和恢复

单用户模式的一个典型应用是 root 用户的“口令设置”。对于一些临时使用或实验用途的 CentOS系统,经常会更换使用者,而 root 用户的口令可能会被遗失,这时可以进入单用户模式更改 root 用户的口令。

以下是代码片段:
sh-3.1 # passwd
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

当CentOS系统进入单用户模式后,在“#”提示符下执行 passwd 命令可以更新 root 用户的口令,当CentOS系统重新启动后就可以使用已更新的口令以 root 身份登录系统了。

轻松升级CentOS 5.6到CentOS 6.0

RedHat Linux 的社区免费版本 CentOS 6.0 于7月11日正式发布。CentOS 6.0 基于上游的 RHEL 6.0 制作,同时基本包含了所有的上游软件包。CentOS 完全遵守上游供应商的再发行政策,并且以百分之百的软件兼容性为目标。

准备工作

  • cat /etc/redhat-release,查看版本
  • uname -a – 显示版本和内核信息
  • rpm -q kernel – 显示内核版本
  • yum -y update – 升级所有应用版本,更新CentOS到最新镜像版本

备份MySQL

首先备份MySQL,方法多种,下面介绍一种标准方法。

#1,导出MySQL数据库内容

mysqldump --user=root --password=passme db_1 > db_1.sql

#2,导入备份内容到新的版本

mysqldump --user=root --password=passme db_1 < db_1.sql

#3,相关命令查看运行的Mysql:

mysql -u root -p

列出所有已安装应用

yum list | grep installed > installed.txt

备份文件和相关配置

tar cvf /backup.tar /root /home /var /etc

在CentOS 6中解压文件

tar xf backup.tar

保留用户和组

备份下面这些重要文件:

  • /etc/passwd – 包含用户和主目录信息
  • /etc/shadow – 包括每个用户的密码信息
  • /etc/group – 每个用户组的信息
  • /etc/gshadow – 每个用户组密码信息