问题描述:
能登陆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
常用命令好用了,重启系统再试一下
不加临时环境变量,命令也能用了
修复完成