lesson - 2 笔记 yum /single /rescue

一、 yum 

作用:

                    yum 命令是在Fedora 和RedHat 以及SUSE 中基于rpm 的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理RPM软件包, 能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系, 并且一次安装所有依赖的软件包, 无需繁琐地一次次下载安装。yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简单又好记。

语法:

 yum (选项)(参数)

选项:

          -c    指定配置文件

                    -C    完全从缓存中运行,而不去下载或者更新任何头文件

                    -d    设置调试级别(0-10)

                    -e    设置错误等级 (0-10)

                    -h    显示帮助信息

                    -q    安静模式

                    -R    设置yum 处理的一个命令的最大等待时间

                    -v     详细模式

                    -y     对所有提问回答‘yes‘

参数:

install: 安装rpm 软件包

update:更新rpm软件包

check-update:检查是否有可用的更新rpm软件包

remove:删除指定的rpm软件包

list: 显示软件包的信息

search: 检查软件包的信息

info: 显示指定的rpm阮家宝的描述信息和概要信息

clean:清理yum过期的缓存

shell:进入yum 的shell提示符

resolvedep: 显示rpm软件包的依赖关系

localinstall : 安装本地的rpm软件包

localupdate:显示本地rpm软件包进行更新

deplist: 显示rpm软件包的所有依赖关系

 

二、单用户模式

作用:

Linux环境下忘记root 密码以及磁盘自动挂载后,丢失磁盘等情况下,无法正常进入Linux系统。为了解决这一情况, Linux系统提供的单用户模式进入修改密码

操作:

root 密码忘记

1.重启电脑: reboot / init 6 / shutdown -r now

2.在倒计时5秒内键入

3.选中内核 - 键入e编辑 grub 菜单选项- root/kernel  选中kernel 键入e编辑 -  ......rhgb quite - 1/S/single  回车 -   b  boot启动  - 进入单用户模式 - runlevel  查看运行级别 - 修改密码 passwd  - 键入新密码 -reboot .

4.使用新密码登陆  (删除进度条:/boot/grub/grub.conf  删除rhgb )

 

磁盘扇区错乱:

1.系统启动时磁盘可能有坏道或者扇区错乱(数据损坏)的情况, 多由于异常断电,不正常关机导致。   

2. 系统启动时,屏幕显示 Press root passwoed or ctrl+D :

3.输入root密码系统自动进入单用户模式,输入“fsck -y /dev/hda6” 系统检测修复发生错误的磁盘分区

4.reboot 重启

 

GRUB选项设置错误:Error 15: file not found

1.grub 选项设置错误:键入任意键修改grub 配置文件 - 回车保存 - b boot 启动 - 进入系统修改grub.conf 配置文件相同错误。

2.grub引导故障排除:Linux启动后直接进入GRUB命令行界面(只有”grub>“提示符), 一般而言常见原因有两个:一是GRUB配置文件中选项设置错误;二是GRUB配置文件丢失(少数原因,如内核文件或镜像文件损坏、丢失,/boot 目录误删除等), 如果是第一种,可以首先通过GRUB命令引导系统后修复。 二种,则要使用Linux救援模式修复。

 

样例: ”title Fedora Core(2.6.18-1.2798.fc6)“ 段被误删除

1.查找/boot/grub/grub.conf 文件所在分区 ,GRUB> find /boot/grub/grub.conf  (hd0,0)

2.查看grub.conf 文件错误,GRUB> cat (hd0,0) /boot/grub/grub.conf

3.先通过命令行方式完成GRUB引导,进入系统后再行修复grub.conf 文件错误,

指定/boot分区: root (hd0,0)

指定内核加载: kernel /boot/vmlinuz-...../rhcb quite 

指定镜像文件所在位置: initrd /boot/initrd-....img

4.从/boot分区启动, 命令行模式可以在GRUB菜单模式中通过键入”c“ 调用,也可以用于测试新编译的内核(设置kernel,initrd引导新内核以及镜像文件)。增加对GRUb引导以及linux系统引导的了解。

 

注意事项:

Linux引导进入根shell ,网络被禁用,只有少数进程运行。 单用户模式可以用来修改文件系统损坏,还原配置文件。移动用户数据等。

 

三、救援模式

作用:

当系统连单用户模式都无法进入或出现GRUB命令行也不能解决的引导问题的时候,我们就需要使用Linux救援模式来进行故障排除。

操作:

1.将Linux安装盘放入光驱,设置BIOS为光盘引导, 在”Boot“ 提示符后输入”linux rescue“ 回车进入救援模式

2.系统会检测硬件, 引导光盘上的Linux环境,一次提示选择救援模式下的使用语言,键盘设置以及网络设置等。

3.接下来系统将试图查找根分区。

默认在救援模式下,硬盘的根分区将挂在到光盘Linux 环境的/mnt/sysimage目录下, 默认选项continue 表示挂在权限为读写; Read-only 为只读,如果出现检测失败可以选择skip 跳过, 因为要对系统进行修复,一般选择continue进入下一步,系统提示执行”chroot /mnt/sysimage“ 命令,,可以将根目录挂在到我们硬盘系统的根目录中。

样例:

双系统启动修复:当我们安装双系统环境,先安装Linux再安装Windows ,或者已经安装好双系统环境的Windows损坏,在重新安装Windows后, 保存GRUB的MBR会被Windows系统的自举程序NTLDR 所覆盖,造成Linux系统无法引导。

1.恢复双系统引导,先进入救援模式,执行chroot 命令:  chroot /mnt/sysimage

2.将根目录切换到硬盘系统的根目录中,执行grub-install 命令重新安装GRUB:grub install /dev/hda   具体硬盘名称需调整

3.一次执行exit命令, 退出chroot模式以及救援模式。 执行两次exit命令

4.系统重启。

 

系统配置文件丢失修复:系统引导期间,很重要的一个过程就是init进程读取其配置文件/etc/inittab,启动系统基本服务程序以及默认运行级别的服务程序完成系统引导,如果inittab 误删除或者修改错误,Linux将无法正常启动。 此时只有救援模式可以解决。

1.有备份文件的恢复办法: 进入救援模式,执行chroot命令后, 直接拷贝备份文件,退出重启即可。如果是配置文件修改错误,可以直接修改恢复。  chroot /mnt/sysimage    ;cp /etc/inittab.bak /etc/inittab

2.没有备份文件的恢复办法: 重新安装软件包来恢复丢失文件。 chroot /mnt/sysimage ; rpm -qf /etc/inittab ;退出chroot模式 exit;  覆盖安装inittab 文件所在的RPM包, rpm -ivh --replacepkgs --root /mnt/sysimage /mnt/source/Fodora/RPMS/initscripts-8.45.3-1.i386.rpm。

如果只是提取inittab文件的话,进入救援模式后执行:rpm2cpio /mnt/source/Fedora/RPMS/initscripts-8.45.3-1.i386.rpm | cpio -idv ./etc/inittab; cp etc/inittab /mnt/sysimage/etc。此命令执行时不能讲文件直接恢复至/etc目录, 只能提取到当前目录下, 且恢复的文件所在路径要是绝对路径, 提取成功后, 将文件复制到/mnt/sysimage 目录下的对应目录即可。

 

参考:

无法挂载根分区                         救援模式
无法使用的内核                         救援模式,引导光盘
无法使用的引导装载程序                  救援模式,引导光盘
错误指定的根分区(内核挂载)             grub编辑(指定正确的分区)
rc.sysinit使用的设置错误的配置文件       gurb附加  emergency (或者init=/bin/sh)
错误指定的根分区(rc.sysinit重新挂载)   gurb附加  emergency (或者init=/bin/sh)
服务脚本设置错误的配置文件               grub附加(1 或者 s)
错误配置的认证(或者根口令丢失)          grub附加(1 或者 s)

虚拟机中:

1.关机 - 右键电源 - 启动时进入BIOS - Boot - +/- 号移动CD-ROM Driver 至首位 - F10 保存启动 - Rescue installed system - 选择语言 English - network start  yes -  continue  读写 -  /mnt/sysimage  -  shell start shell -   bash-4.1# -  chroot /mnt/sysimage - sh-4.1# -  修复操作  -  exit chroot - reboot 

 

 

 

 

 

 

 

 

时间: 2024-11-19 21:15:31

lesson - 2 笔记 yum /single /rescue的相关文章

笔记 yum init 单用户 救援模式 cd ls

2.1 运行级别 yum runlevel 看级别 cat /etc/inittab 看各种级别都是啥 init 6 == reboot == shutdown -r now 重启最6 init 0 == shutdown -h now 关机归0 图形界面安装 yum grouplist 看支持安装啥(需要联网) LANG=en 改成英文看 yum groupinstall -y "Desktop"  (别装很慢) yum groupinstall -y "X Window

LeetCode 笔记26 Single Number II

Given an array of integers, every element appears three times except for one. Find that single one. Note:Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory? 没辙,智商碾压题.楼主没遇到之前就只会这种做法. public int si

Linux学习笔记 -- yum 使用

yum是什么 yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 她基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装. yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记.使用yum需要保持机器可以访问Internet. yum 语法 yum [options] [comman

linux学习笔记 yum 在线管理软件包

-y  如果yum在工作过程中需要使用者响应.这个参数可以直接回答yes #yum list 列出资源库中所有可安装或者可更新的rpm包 #yum perl 列出为perl的包 #yum perl* 列出为perl开头的包 #yum install perl 安装perl包 #yum remove perl*删除perl-*所有的包 #yum check-update 检查可以更新的rpm包 #yum update 更新所有rpm包 #yum update kernel kernel_sourc

linux学习笔记——yum安装软件、搭建仓库、rpm命令

#############如何安装软件####################yum    #全称Yellow dog Updater Moddified,能够从指定的服务器自动下载RPM包并安装 yum     list    all        ##列出所有安装包yum     list    installed    ##列出已经安装的yum    list    available    ##列出没有安装的yum     remove    package        ##卸载软件(

leetcode笔记:Single Number II

一.题目描述 二.解题思路 这道题与Single Number(数组中其他数出现两次,仅有一个出现一次的)有所不同,本题变为序列中有一个数出现一次,其他元素出现了三次,同样要求时间复杂度为线性,空间复杂度为常数.事实上,该算法仍可以借助位运算来实现. 首先需要确定int类型数据的长度:intWidth = sizeof(int) * 8,可以用intWidth大小的变量来存储数组中每个元素的各个二进制位上1 出现的次数,最后 在进行 模3 操作,如果为1,那说明这一位是要找元素二进制表示中为 1

lesson - 1 笔记

---笔记 1. 查看电脑ip 地址: ifconfig -a 2. 自动获取ip 地址: dhclient   默认BOOTPROTO=dhcp 3. 手动配置ip 地址: vi  /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:46:7E:1C TYPE=Ethernet UUID=aa0645ef-a21d-4075-bf27-ea559ee1dc3c ONBOOT=yes NM_CONTROLLE

leetcode笔记:Single Number

一.题目描述 二.解题思路 题目提到,一个数组中除了一个数只出现一次之外,其他数都出现了两次,找出这个特别的数. 这道题对时间和空间有要求,面对这种情况,一般是暗示有十分轻巧而简便的方法进行求解.在一些场景下,使用基本的逻辑运算是个不错的选择.自己简单写了一下,再参照网上部分解法,基本都是使用了异或运算(XOR),任何数与自己进行按位异或都等于0,而任何数与0进行按位异或都等于本身. 在C/C++中,按位异或运算符为:"^" 基于以上规则,我们可以将整个数组的元素都按位进行异或,最终返

leetcode笔记:Single Number 异或的使用

一.题目描述 二.解题思路 题目提到,一个数组中除了一个数只出现一次之外,其他数都出现了两次,找出这个特别的数. 这道题对时间和空间有要求,面对这种情况,一般是暗示有十分轻巧而简便的方法进行求解.在一些场景下,使用基本的逻辑运算是个不错的选择.自己简单写了一下,再参照网上部分解法,基本都是使用了异或运算(XOR),任何数与自己进行按位异或都等于0,而任何数与0进行按位异或都等于本身. 在C/C++中,按位异或运算符为:“^” 基于以上规则,我们可以将整个数组的元素都按位进行异或,最终返回那个只出