记录一次对Linux Read-only系统的修复

背景:RHEL6与7存在巨大的差异,不仅体现在整体差异上,具体到软件到的命令也存在差异。lsblk就是一例。lsblk输入util-linux包中的软件。为了获取hdd的层次结构,我用到了lsblk,这个软件在7.2下能够清晰的显示出存储设备的层级,但是在6系列下不行,查看了相应的版本信息,7.2的属于util-linux-2.23, 6系列的属于util-linux-2.20,tar解压后,make install安装,执行lsblk后,报错,/lib64/libmount.so.1: version `MOUNT_2.23' not found,版本库对不上,因为后来没再处理这个事,就把他忘了,然后就关机重启了。

以上是背景,重启后发现无法进行文件操作,读写都是Read-only file system.百度后说是需要重新mount,执行mount -rw -o remount /,报错mount: /lib64/libmount.so.1: version MOUNT_2.23' not found (required by mount)**,当时就意识到应该是更换了util-linux的问题。幸运的是,我的机器上有2.20的压缩包,但是整个系统都已经是Read-only,根本不能解压,不能执行任何脚本,不能更改任何文件。,当时就意识到应该是更换了util-linux的问题。幸运的是,我的机器上有2.20的压缩包,但是整个系统都已经是Read-only,根本不能解压,不能执行任何脚本,不能更改任何文件。
cat /proc/self/mountinfo查看系统mount信息,出了/都显示是rw,但是其余并不能进行读写操作(这点要吐槽)。
后来群友让我执行df后,让我解压到/dev/shm去(/dev/shm 是内存文件系统,系统自动使用api挂载(没有使用mount命令),默认是可写的),果然可以,然后就是tar,./configure,make。当然,依然不能make install,因为不能进行文件操作么。
进入mount目录下,执行./mount -rw -o remount /,然后make install覆盖util-linux工具,到此搞定。

群友提到可以使用livecd挂载硬盘,然后操作。我之前用ubuntu做livecd时,挂载硬盘后,可以查看文件,但是并不能修改,但是他们强调可以。这个方法,暂做记录,留待后面检验。
还有就是,对于linux的理解还是不够,文件系统的了解也不够,若不是告诉我,我就不知道/dev/shm的作用,还需要不断学习。

你可能感兴趣的:(记录一次对Linux Read-only系统的修复)