當我嘗試刪除linux-raspi-headers-5.4.0-1032
以升級它時,dpkg
出現一個關於檔案名稱太長的奇怪錯誤:
(Reading database ... 237046 files and directories currently installed.)
Removing linux-raspi-headers-5.4.0-1032 (5.4.0-1032.35) ...
dpkg: error processing package linux-raspi-headers-5.4.0-1032 (--purge):
unable to securely remove '/usr/src/linux-raspi-headers-5.4.0-1032/arch/arm/include/asm/mach/p��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������': File name too long
Errors were encountered while processing:
linux-raspi-headers-5.4.0-1032
我該如何克服這個問題?
答案1
這裡的大圖是先顯示我們想要刪除的檔案的 inode,然後在執行刪除指令時指定該 inode
sudo -i # become root to remove root owned file
# get into dir of file we wish to delete
cd /usr/src/linux-raspi-headers-5.4.0-1032/arch/arm/include/asm/mach/
ls -la -i # parm -i says to show inode values
現在查看上面的輸出來識別所選文件的inode 值,該值顯示在最左邊的列中...假設6561977 是您要刪除的文件的inode 值...然後要刪除該文件,請根據指定使用其inode
find . -maxdepth 1 -type f -inum 6561977 -delete
在上面用顯示的實際 inode 值替換 6561977 ...注意find
命令的第一個參數是操作的目錄...這裡我們給它一個句點,表示當前目錄,這是可以的,因為我們發出cd
命令進入文件的父目錄問題
ls -la -i # list directory again to confirm file has been zapped