第十五讲 启动管理 15. 1 CentOS 6.x 启动管理 //此处指6.3 15.1.1 系统运行级别 1.运行级别 运行级别 含 义 0 关机 1 单用户模式,可以想象为windows的安全模式,主要用于系统修复 //linux 有另外的安全模式 2 不完全的命令行模式,不含NFS服务 //NFS,linux之间文件共享 3 完全的命令行模式,就是标准字符界面 //就是我们当前使用的 4 系统保留 5 图形模式 6 重启动 2、运行级别命令 [[email protected] ~]# runlevel #查看运行级别命令 //N 3, 代表开机直接进入3. 两个数据代表之前和当前的级别 [[email protected] ~]# init 运行级别 #改变运行级别命令 3、系统默认运行级别 [[email protected] ~]# vim /etc/inittab id:3:initdefault: #系统开机后直接进入哪个运行级别 //init 进程所做的事 15.1.2 系统启动过程 启动流程图 //图中箭头画错了,太容易造成困惑了,就是很简单直接的图。 initramfs内存文件系统 ?CentOS 6.x中使用initramfs内存文件系统取代了CentOS 5.x中的initrd RAM Disk。他们的作用类似,可以通过启动引导程序加载到内存中,然后加载启动过程中所需要的内核模块,比如USB、SATA、SCSI硬盘的驱动和LVM、RAID文件系统的驱动 mkdir /tmp/initramfs #建立测试目录 cp /boot/initramfs-2.6.32-279.el6.i686.img /tmp/initramfs/ #复制initramfs文件 cd /tmp/initramfs/ file initramfs-2.6.32-279.el6.i686.img mv initramfs-2.6.32-279.el6.i686.img initramfs-2.6.32-279.el6.i686.img.gz #修改文件的后缀名为.gz gunzip initramfs-2.6.32-279.el6.i686.img.gz #解压缩 file initramfs-2.6.32-279.el6.i686.img cpio -ivcdu < initramfs-2.6.32-279.el6.i686.img #解压缩 调用/etc/init/rcS.conf配置文件 ?主要功能是两个: ?先调用/etc/rc.d/rc.sysinit,然后由/etc/rc.d/rc.sysinit配置文件进行Linux系统初始化。 ?然后再调用/etc/inittab,然后由/etc/inittab配置文件确定系统的默认运行级别。 由/etc/rc.d/rc.sysinit初始化 1、获得网络环境 2、挂载设备 3、开机启动画面Plymouth(取替了过往的 RHGB) 4、判断是否启用SELinux 5、显示于开机过程中的欢迎画面 6、初始化硬件 7、用户自定义模块的加载 8、配置内核的参数 9、设置主机名 10、同步存储器 11、设备映射器及相关的初始化 12、初始化软件磁盘阵列(RAID) 13、初始化 LVM 的文件系统功能 14、检验磁盘文件系统(fsck) 15、设置磁盘配额(quota) 16、重新以可读写模式挂载系统磁盘 17、更新quota(非必要) 18、启动系统虚拟随机数生成器 19、配置机器(非必要) 20、清除开机过程当中的临时文件 21、创建ICE目录 22、启动交换分区(swap) 23、将开机信息写入/var/log/dmesg文件中 调用/etc/rc.d/rc文件 ?运行级别参数传入/etc/rc.d/rc这个脚本之后,由这个脚本文件按照不同的运行级别启动/etc/rc[0-6].d/目录中的相应的程序 ?/etc/rc3.d/k??开头的文件(??是数字),会按照数字顺序依次关闭 ?/etc/rc3.d/S??开头的文件(??是数字),会按照数字顺序依次启动 15. 2 启动引导程序-Grub 15.2.1 Grub配置文件 1、grub中分区表示 硬盘 分区 Linux中设备文件名 Grub中设备文件名 第一块SCSI硬盘 第一个主分区 /dev/sda1 hd(0,0) 第二个主分区 /dev/sda2 hd(0,1) 扩展分区 /dev/sda3 hd(0,2) 第一个逻辑分区 /dev/sda5 hd(0,4) 第二块SCSI硬盘 第一个主分区 /dev/sdb1 hd(1,0) 第二个主分区 /dev/sdb2 hd(1,1) 扩展分区 /dev/sdb3 hd(1,2) 第一个逻辑 /dev/sdb5 hd(1,4) 2、grub配置文件 vi /boot/grub/grub.conf ?default=0 默认启动第一个系统 ?timeout=5 等待时间,默认是5秒 ?splashimage=(hd0,0)/grub/splash.xpm.gz 这里是指定grub启动时的背景图像文件的保存位置的 ?hiddenmenu 隐藏菜单 ?title CentOS (2.6.32-279.el6.i686) title就是标题的意思 ?root (hd0,0) 是指启动程序的保存分区 ?kernel /vmlinuz-2.6.32-279.el6.i686 ro root=UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet 定义内核加载时的选项 ?initrd /initramfs-2.6.32-279.el6.i686.img 指定了initramfs内存文件系统镜像文件的所在位置 15.2.2 Grub加密与字符界面分辨率调整 1、grub加密 [[email protected] ~]# grub-md5-crypt #生成加密密码串 [[email protected] ~]# vi /boot/grub/grub.conf default=0 timeout=5 password --md5 $1$Y84LB1$8tMY2PibScmuOCc8z8U35/ #password选项放在整体设置处。 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu …省略部分内容… 2、纯字符界面分辨率调整 grep "CONFIG_FRAMEBUFFER_CONSOLE" /boot/config-2.6.32-279.el6.i686 #查询内核是否支持分辨率修改 色深 640×480 800×600 1024×768 1280×1024 8位 769 771 773 775 15位 784 787 790 793 16位 785 788 791 794 32位 786 789 792 795 vi /boot/grub/grub.conf kernel /vmlinuz-2.6.32-279.el6.i686 ro root=UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet vga=791 15. 3系统修复模式 //2 没认真看,以后用到的时候再看 1、单用户模式 单用户模式常见的错误修复 ?遗忘root密码 ?修改系统默认运行级别 2、光盘修复模式 重要系统文件丢失,导致系统无法启动 bash-4.1# chroot /mnt/sysimage #改变主目录 sh-4.1# cd /root sh-4.1# rpm -qf /etc/inittab #查询下/etc/inittab文件属于哪个包。 sh-4.1# mkdir /mnt/cdrom #建立挂载点 sh-4.1# mount /dev/sr0 /mnt/cdrom #挂载光盘 sh-4.1# rpm2cpio \ /mnt/cdrom/Packages/initscripts-8.45.3-1.i386.rpm \ | cpio -idv ./etc/inittab #提取inittab文件到当前目录 sh-4.1# cp etc/inittab /etc/inittab #复制inittab文件到指定位置 3、Linux的安全性 第十六讲 备份与恢复 16.1 备份概述 1、Linux系统需要备份的数据 ?/root/目录: ?/home/目录: //比如文件服务器 会需要备份此目标 ?/var/spool/mail/目录: ?/etc/目录: ?其他目录: 如 /var/log/ 安装服务的数据 ?apache需要备份的数据 ?配置文件 ?网页主目录 ?日志文件 ?mysql需要备份的数据 ?源码包安装的mysql:/usr/local/mysql/data/ ?RPM包安装的mysql:/var/lib/mysql/ 2、备份策略 ?完全备份:完全备份就是指把所有需要备份的数据全部备份,当然完全备份可以备份整块硬盘,整个分区或某个具体的目录 增量备份 差异备份 16.2 dump和restore命令 //不想听了,需要时再看 1、dump命令 [[email protected] ~]# dump [选项] 备份之后的文件名 原文件或目录 选项: -level: 就是我们说的0-9十个备份级别 -f 文件名: 指定备份之后的文件名 -u: 备份成功之后,把备份时间记录在/etc/dumpdates文件 -v: 显示备份过程中更多的输出信息 -j: 调用bzlib库压缩备份文件,其实就是把备份文件压缩 为.bz2格式,默认压缩等级是2 -W: 显示允许被dump的分区的备份等级及备份时间 备份分区 dump -0uj -f /root/boot.bak.bz2 /boot/ #备份命令。先执行一次完全备份,并压缩和更新备份时间 cat /etc/dumpdates #查看备份时间文件 cp install.log /boot/ #复制日志文件到/boot分区 dump -1uj -f /root/boot.bak1.bz2 /boot/ #增量备份/boot分区,并压缩 dump –W #查询分区的备份时间及备份级别的 备份文件或目录 dump -0j -f /root/etc.dump.bz2 /etc/ #完全备份/etc/目录,只能使用0级别进行完全备份,而不再支持增量备份 2、restore命令 [[email protected] ~]# restore [模式选项] [选项] 模式选项:restore命令常用的模式有以下四种,这四个模式不能混用。 -C:比较备份数据和实际数据的变化 -i: 进入交互模式,手工选择需要恢复的文件。 -t: 查看模式,用于查看备份文件中拥有哪些数据。 -r: 还原模式,用于数据还原。 选项: -f: 指定备份文件的文件名 比较备份数据和实际数据的变化 mv /boot/vmlinuz-2.6.32-279.el6.i686 /boot/vmlinuz-2.6.32-279.el6.i686.bak //一定要记得住改回来,否则下次不能正常启动 #把/boot目录中内核镜像文件改个名字 restore -C -f /root/boot.bak.bz2 #restore发现内核镜像文件丢失 查看模式 restore -t -f boot.bak.bz2 还原模式 #还原boot.bak.bz2分区备份 #先还原完全备份的数据 mkdir boot.test cd boot.test/ restore -r -f /root/boot.bak.bz2 #解压缩 restore -r -f /root/boot.bak1.bz2 #恢复增量备份数据 #还原/etc/目录的备份etc.dump.bz2 restore -r -f etc.dump.bz2 #还原etc.dump.bz2备份
时间: 2024-10-15 20:09:34