Невозможно удалить пакет на 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 

Теперь посмотрите на вывод выше, чтобы определить значение инода выбранного файла, который показан в самом левом столбце... допустим, 6561977 - это значение инода для файла, который вы хотите удалить... затем, чтобы удалить этот файл, укажите, используя его инод, как указано ниже.

find . -maxdepth 1 -type f -inum    6561977 -delete

выше замените 6561977 на фактическое показанное значение inode... обратите внимание, что первый параметр findкоманды — это каталог действия... здесь мы указали точку, которая указывает на текущий каталог, что нормально, поскольку мы дали cdкоманду перейти в родительский каталог рассматриваемого файла.

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

Связанный контент