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 [email protected]:/usr/local/mysql/bin
最後一行的@PATH不是正常的寫法 改成$PATH
source /etc/profile
發現沒有生效
用命令臨時加個環境變數
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$PATH
常用命令好用了,重啟系統再試一下
不加臨時環境變數,命令也能用了
修復完成