Для решения этого вопроса, я выполнил эти команды
sudo mv /var/lib/dpkg/info/<package name>.* /var/www
sudo apt-get install <package name>
Но когда я пытаюсь установить любые новые пакеты или обновление с помощью ниже команды, это дает ошибки для других пакетов.
Что, возможно, вызвало эту проблему и как я могу разрешить его?
$ sudo apt-get dist-upgrade
dpkg: warning: files list file for package 'libexpat1:amd64' missing;
assuming package has no files currently installed
dpkg: warning: files list file for package 'base-passwd' missing;
assuming package has no files currently installed
dpkg: warning: files list file for package 'bash' missing;
assuming package has no files currently installed
dpkg: warning: files list file for package 'debconf' missing;
assuming package has no files currently installed
dpkg: warning: files list file for package 'dash' missing;
assuming package has no files currently installed
dpkg: warning: files list file for package 'coreutils' missing;
assuming package has no files currently installed
dpkg: warning: files list file for package 'python3-software-properties' missing;
assuming package has no files currently installed
dpkg: warning: files list file for package 'software-properties-common' missing;
assuming package has no files currently installed
dpkg: unrecoverable fatal error, aborting:
files list file for package 'libcap-ng0:amd64' is missing final newline
E: Sub-process /usr/bin/dpkg returned an error code (2)
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
lxd lxd-client open-iscsi openssl tmux tzdata unattended-upgrades
7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/9806 kB of archives.
After this operation, 604 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Preconfiguring packages ...
dpkg: warning: files list file for package 'libexpat1:amd64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'base-passwd' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'bash' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'debconf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'dash' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'coreutils' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'base-files' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'diffutils' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'python3-software-properties' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'ncurses-bin' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'software-properties-common' missing; assuming package has no files currently installed
dpkg: unrecoverable fatal error, aborting:
files list file for package 'libcap-ng0:amd64' is missing final newline
E: Sub-process /usr/bin/dpkg returned an error code (2)
$ sudo apt-get install --reinstall base-passwd
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 7 not upgraded.
Need to get 0 B/47.2 kB of archives.
After this operation, 0 B of additional disk space will be used.
Preconfiguring packages ...
dpkg: warning: files list file for package 'libexpat1:amd64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'base-passwd' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'bash' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'debconf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'dash' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'coreutils' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'base-files' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'diffutils' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'python3-software-properties' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'ncurses-bin' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'software-properties-common' missing; assuming package has no files currently installed
dpkg: unrecoverable fatal error, aborting:
files list file for package 'libcap-ng0:amd64' is missing final newline
E: Sub-process /usr/bin/dpkg returned an error code (2)
$ sudo chmod -R a+r /var/lib/dpkg/info
$ cd /var/lib/dpkg/info
/var/lib/dpkg/info$ sudo mv libcap-ng0\:amd64.
libcap-ng0:amd64.list libcap-ng0:amd64.md5sums libcap-ng0:amd64.shlibs libcap-ng0:amd64.triggers
/var/lib/dpkg/info$ sudo mv libcap-ng0\:amd64.
libcap-ng0:amd64.list libcap-ng0:amd64.md5sums libcap-ng0:amd64.shlibs libcap-ng0:amd64.triggers
/var/lib/dpkg/info$ sudo mv libcap-ng0\:amd64.* /var/www/html/
/var/lib/dpkg/info$ sudo apt-get install --reinstall libcap-ng0:amd64
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 7 not upgraded.
Need to get 11.1 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://ap-south-1.ec2.archive.ubuntu.com/ubuntu bionic/main amd64 libcap-ng0 amd64 0.7.7-3.1 [11.1 kB]
Fetched 11.1 kB in 0s (39.2 kB/s)
dpkg: warning: files list file for package 'libexpat1:amd64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'base-passwd' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'bash' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'debconf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'dash' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'coreutils' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'base-files' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'diffutils' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'python3-software-properties' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libcap-ng0:amd64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'ncurses-bin' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'software-properties-common' missing; assuming package has no files currently installed
dpkg: unrecoverable fatal error, aborting:
files list file for package 'libcom-err2:amd64' is missing final newline
E: Sub-process /usr/bin/dpkg returned an error code (2)
Я удалил libcap-ng0:amd64 файлы из/var/lib/dpkg/info папки и позже попытался переустановить ее, но теперь она обеспечила ошибку для другого пакета и предупреждение для libcap-ng0.
Это произошло для пакетов отдыха тем же способом
Ну, с большой справкой от #debian в freenode я нашел решение (благодарит justin!!):
файл/var/lib/dpkg/info/smbfs.list был поврежден, это было все двоичное дерьмо. Не знайте, как это могло произойти, но это было. Таким образом, justin советовал мне удалять файл (на самом деле, я переместил его) - и, вуаля, склонный предупредил меня, что список файлов не мог быть найден для smbfs, но по крайней мере я мог
apt-get remove smbfs --purge
и установите его снова (apt-get install smbfs
) - который взял булочку!
Вот пошаговые инструкции по устранению этой проблемы, связанной с повреждением файлов .list, связанных с этими пакетами:
cat /var/lib/dpkg/info/<имя-пакета>.list
sudo rm /var/lib/dpkg/info/
sudo apt install
Если что случилось со мной, случилось с вами, каждый раз, когда вы запускаете это, он будет сталкиваться с другим поврежденным файлом .list, и вам придется пройти через многие, прежде чем ваша система будет исправлена. Если у вас их много, то третий шаг необязателен — просто запустите один sudo apt upgrade
в конце, и он переустановит все, что вам нужно.