rpm案例分析
1.rm -rf /usr/bin/tree,用两种方法恢复之
分析:
知识点:
rpm
-i --instal 安装
--test 检测
--nodeps 忽略依赖性关系直接安装
-v 显示详细信息
-vv 显示更详细信息
-h 显示进度
-ivh rpm包名
--test: 测试安装,但不真正执行安装,即dry run模式
--nodeps:忽略依赖关系
--replacepkgs 已安装过的包重装。
--replacefiles 其他已安装的RPM包的文件,与即将装的RPM中的文件冲突时,则覆盖文件并安装。
--force 强制安装。--replacepkgs --replacefiles --oldpackage
rpm2cpio 包文件|cpio –itv 预览包内文件
rpm2cpio 包文件|cpio –id “*.conf” 释放包内文件。
答:
方法一:
rpm -ivh tree-1.5.3-3.el6.x86_64.rpm –force
方法二:
rpm2cpio tree-1.5.3-3.el6.x86_64.rpm |cpio
-idv “./usr/bin/tree”
cp ./usr/bin/tree /usr/bin/
2. 破坏本机mbr并恢复(有备份和无备份两种情况)
分析:
知识点:
1.dd 命令:convert and copy a file
用法:
dd if=/PATH/FROM/SRC of=/PATH/TO/DEST
bs=# :block size, 复制单元大小
count=# :复制多少个bs
备份MBR:
dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
破坏MBR 中的bootloader:
dd if=/dev/zero of=/dev/sda bs=64 count=1
seek=446
恢复:
dd if=/path/to/image of=/dev/sdx将备份文件恢复到指定盘
2.救援模式
进入救援模式方法:
挂载光盘,开机按ESC键 ,进入救援模式(linux rescue )
比较简单,操作一遍就可以掌握
使用场景:
当系统连单用户模式都无法进入时或出现GRUB命令行也不能解决的引导问题。
案例:双系统启动修复. 系统配置文件丢失修复(在这里不做具体分析,有兴趣可以下面研究)
3.技巧
echo ‘ - - - ’ > /sys/class/scsi_host/host2/scan
在虚拟机中快速识别新添加的硬盘
答:
1.有备份
hexdump -C -n 512 -v /dev/sda 查看
dd if=/dev/sda of=/root/mbr bs=1 count=512 备份到/root下的mbr里
dd if=/dev/zero of=/dev/sda bs=1 count=512 破坏MBR里512字节
dd if=/root/mbr of=/dev/sdc
利用备份恢复
当无意中关机了,此时机器就不能正常开启了,就需要进入救援模式。
2.无备份
注:一般在生产中服务器的硬盘分区划分都是相同的,只要将这块硬盘插在别的机器上就
可以利用这台机器的mbr来恢复毁坏的硬盘。
步骤:
1.将此台机器的硬盘拔下来,插到别的机器上。
2.dd if=/dev/sda of=/root/mbr bs=1 count=512 备份到/root下的mbr里
3.dd if=/root/mbr of=/dev/sdc 恢复
4.在重新按回上一台机器上。
拓展:
破坏分区表:
dd if=/dev/zero of=/dev/sda bs=1 count=64 skip=446 seek=446
3.励志名言 (加油)
生活赋予我们一种巨大的和无限高贵的礼品,这就是青春:充满着力量,充满着期待志愿,
充满着求知和斗争的志向,充满着希望信心和青春。
人生的磨难是很多的,所以我们不可对于每一件轻微的伤害都过于敏感。
在生活磨难面前,精神上的坚强和无动于衷是我们抵抗罪恶和人生意外的最好武器。
加油,致每一个为自己梦想奋斗的人。