无法删除 Raspberry Pi 上的软件包 - 文件名太长

无法删除 Raspberry Pi 上的软件包 - 文件名太长

当我尝试删除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

在上面将 6561977 替换为显示的实际 inode 值...注意find命令的第一个参数是操作的目录...这里我们给它一个句点,表示当前目录,这是可以的,因为我们发出cd命令进入相关文件的父目录

ls -la -i #  list directory again to confirm file has been zapped

相关内容