zoukankan      html  css  js  c++  java
  • 救援和修复

    救援环境

    	在根文件系统无法使用时需要进入救援环境,如/bin/mount 被删除等情况下。
    	对系统没有特殊要求
    	从光盘引导(boot.iso 或者安装光盘#1)
    	从USB 盘(由boot.iso 制作)引导
    	文件系统重组
    		Anaconda 将会询问是否应该挂载文件系统
    		/mnt/sysimage/*
    		/mnt/stage2
    		$PATH 包括硬盘的目录
    	文件系统节点
    		提供系统特定的设备文件
    		mknod 了解major/minor
    

    系统配置文件丢失修复

    	系统在引导期间,很重要的一个过程就是init 进程读取其配置文件/etc/inittab,启动系统基本服务程序及默认运行级别的服务程序完成系统引导。
    	如果/etc/inittab 误删除或修改错误,Linux将无法正常启动。此时,只有通过救援模式才可以解决此类问题。
    	修复方法:
    		有备份文件的修复方法
    		没有备份文件的修复办法
    
    	有备份文件的恢复办法:
    		进入救援模式,执行chroot命令后,如果有此文件的备份(强烈建议系统中的重要数据目录,如/etc 、/boot 等要进行备份),直接将备份文件拷贝回去,退出重启即可。如果是配置文件修改错误,如比较典型的/boot/grub/grub.conf 及/etc/passwd 的文件修改错误,也可以直接修正恢复。
    		假设有备份文件/etc/inittab.bak ,则在救援模式下执行:
    			sh-3.1# chroot /mnt/sysimage
    			sh-3.1# cp /etc/inittab.bak /etc/inittab
    			
    	没有备份文件的恢复办法
    		如果一些配置文件丢失或软件误删除,且无备份,可以通过重新安装软件包来恢复,首先查找到/etc/inittab 属于哪一个RPM包。
    			chroot /mnt/sysimage
    			rpm -qf /etc/inittab
    			initscripts-9.03.49-1.el6.centos.x86_64
    			exit 退出chroot 模式
    		挂载存放RPM包的安装光盘(在救援模式下,光盘通常挂载在/mnt/source 目录下 )
    			mount /dev/sr0 /mnt/source
    			
    		CentOS6 系统的RPM 包存放在光盘Package目录下,要修复的硬盘系统的根目录在/mnt/sysimage 下,需要使用--root 选项指定其位置。
    		覆盖安装/etc/inittab 文件所在的RPM 包:
    			rpm -ivh --replacepkgs | force /mnt/source/Packages/initscripts-9.03.49-1.el6.centos.x86_64.rpm
    			其中的rpm 命令选项“--replacepkgs”表示覆盖安装,执行完成后,即已经恢复了此文件
    			
    		如果想只提取RPM 包中的/etc/inittab文件进行恢复,可以在进入救援模式后,执行命令 :
    			rpm2cpio /mnt/source/Packages/initscripts-9.03.49-1.el6.centos.x86_64.rpm| cpio -idv ./etc/inittab
    			cp etc/inittab /mnt/sysimage/etc
    			注意此命令执行时不能将文件直接恢复至/etc目录,只能提取到当前目录下,且恢复的文件名称所在路径要写完整 的路径 。
    			提取文件成功后,将其复制到根分区所在的/mnt/sysimage 目录下相应位置即可
    
  • 相关阅读:
    C#基础系列——一场风花雪月的邂逅:接口和抽象类
    C#进阶系列——动态Lamada(二:优化)
    C#进阶系列——动态Lamada
    JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)
    JS组件系列——Bootstrap Table 表格行拖拽
    C#进阶系列——DDD领域驱动设计初探(七):Web层的搭建
    C#进阶系列——MEF实现设计上的“松耦合”(四):构造函数注入
    C#进阶系列——DDD领域驱动设计初探(六):领域服务
    C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用
    C#进阶系列——DDD领域驱动设计初探(四):WCF搭建
  • 原文地址:https://www.cnblogs.com/shenxm/p/8447758.html
Copyright © 2011-2022 走看看