linux重命名系统文件夹libexec后无法使用

问题描述:

能登陆ssh,但xftp无法使用,把/usr目录下的libexec重命名成了l,常用命令都不能用但能用cd

 

解决方法:

由于各种命令都用不了,只能另寻它法,考虑用光盘启动,挂载后将文件夹名改回来

为了便于维护,直接用gparted

Gparted下载地址:https://downloads.sourceforge.net/gparted/gparted-live-0.32.0-1-amd64.iso

需要用到root权限的命令用sudo即可

挂载命令

mkdir -p /mnt/hd0
mount /dev/sda /mnt/hd0

一般情况可以挂载成功

但是报错了

mount: /dev/sda already mounted or mount point busy

清除磁盘挂载信息,停用磁盘阵列

dmsetup remove_all
dmsetup status

清除完之后仍然报错

an error occurred while mounting /dev/sda

查看磁盘信息

fdisk -l

发现实际要挂载的是/dev/sda2

mount /dev/sda2 /mnt/hd0

结果报错

mount: unknown filesystem type 'LVM2_member'

尝试安装lvm2

apt-get install lvm2 

发现已经是安装过的

重新挂载仍然报错

参考https://blog.csdn.net/pengyouchuan/article/details/17578189

查看逻辑卷

lvdisplay

列表中有3个卷

swap home和root

root卷的路径(VG Path) /dev/centos/root

把路径前一部分即/dev/centos复制过来

执行

vgchange -ay /dev/centos

 

之后挂载root卷

mount /dev/centos/root /mnt/hd0

挂载之后切换到usr目录

执行改名命令

mv l libexec

重启电脑

 

但是启动之后发现 xftp能用了,但是很多命令还是用不了

看命令的文件都在/usr/bin里,并且/usr/bin目录也有这些文件

怀疑环境变量的问题

输入命令

echo $PATH$

正常返回应该如下

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin$

对比正常环境环境变量的3个文件

~/.bashrc

/etc/profile

/etc/environment

/etc/profile末尾的内容如下

export NODE_HOME=/root/node-v10.13.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
export PATH=@PATH:/usr/local/mysql/bin

最后一行的@PATH不是正常的写法 改成$PATH

source /etc/profile

发现没有生效

用命令临时加个环境变量

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$PATH

常用命令好用了,重启系统再试一下

不加临时环境变量,命令也能用了

修复完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值