Поврежденный файл /var/lib/dpkg/arch, невозможно использовать apt или boot
Ubuntu 18.04 LTS, 64-битная.
Я загрузился в Ubuntu только сейчас, и внезапно, по-видимому, без повода, он завис на загрузочном экране Plymouth, на "Hold, пока процесс загрузки не завершится". Процесс загрузки никогда не заканчивался.
Итак, я искал решения и, после загрузки в корневой режим в режиме восстановления, попробовал одно. Решение включало переустановку / удаление plymouth
Я попытался использовать apt для этого. Но я получил ошибку локали, которую я исправил восстановлением локали.
Затем, используя apt для удаления plymouth, я получил эту ошибку:
dpkg: error: fgets gave an empty string from 'var/lib/dpkg/arch'
Оказывается, dpkg немного сломан.
Просматривая /var/lib/dpkg/
большинство файлов кажутся целыми и не поврежденными.available
, diversions
, statoverride
а также status
все читаемые, большие файлы. arch
Однако файл поврежден (только 11 байт и cat
производит MmSt
.)
Мой вопрос, как я могу восстановить это arch
файл и исправить мой компьютер?
Даже это включает в себя переустановку dpkg...
Я очень благодарен за любую помощь (пожалуйста)!
Обновление: создание нового arch
файл с amd64
так как содержимое исправляет вышеуказанную ошибку. Новая ошибка:
dpkg: error: too-long line or missing newline in '/var/lib/dpkg/triggers/File'
cat
для этого файла выдает какую-то двоичную болтовню, может, она тоже повреждена?
Обновление: решение, на котором я остановился, было свежей установкой Ubuntu. Слишком много файлов было повреждено:(
2 ответа
$ cat /var/lib/dpkg/arch
amd64
i386
(заканчивается символом новой строки) Это на бионической многоархивной установке 18.04.1. Поэтому обычно вы используете только один из них в зависимости от вашей системы.
Другой файл представляет собой список мест и пакетов, которые их создали (я полагаю)
$ cat /var/lib/dpkg/triggers/File
/etc/dbus-1/system.d dbus/noawait
/usr/share/dbus-1/system.d dbus/noawait
/usr/share/dbus-1/system-services dbus/noawait
/usr/lib/mime/packages mime-support/noawait
/usr/share/applications mime-support/noawait
/etc/rsyslog.d rsyslog/noawait
/usr/share/mime/packages shared-mime-info/noawait
/usr/share/info install-info/noawait
/usr/share/icons/hicolor hicolor-icon-theme/noawait
/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders libgdk-pixbuf2.0-0:amd64/noawait
/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders libgdk-pixbuf2.0-0:amd64/noawait
/usr/share/fonts fontconfig/noawait
/usr/share/ghostscript/fonts fontconfig/noawait
/usr/share/texmf/fonts fontconfig/noawait
/usr/share/icons/gnome gnome-icon-theme/noawait
/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules libgtk-3-0:amd64/noawait
/usr/lib/gtk-3.0/3.0.0/immodules libgtk-3-0:amd64/noawait
/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules libgtk2.0-0:amd64/noawait
/usr/lib/gtk-2.0/2.10.0/immodules libgtk2.0-0:amd64/noawait
/etc/sgml sgml-base
/usr/share/sgml sgml-base
/usr/share/xml sgml-base
/usr/share/texmf tex-common/noawait
/usr/share/texlive/texmf-dist tex-common/noawait
/var/lib/dictionaries-common/hunspell dictionaries-common
/etc/ufw/applications.d ufw/noawait
/etc/init ureadahead/noawait
/etc/init.d ureadahead/noawait
/usr/share/doc-base doc-base/noawait
/usr/share/doc/rarian-compat doc-base/noawait
/usr/share/gconf/defaults gconf2
/usr/share/gconf/mandatory gconf2
/usr/share/gconf/schemas gconf2
/usr/share/GConf/gsettings gconf2
/usr/share/menu menu/noawait
/usr/lib/menu menu/noawait
/etc/menu-methods menu/noawait
/usr/share/app-info/icons appstream/noawait
/usr/share/app-info/yaml appstream/noawait
/usr/share/app-info/xml appstream/noawait
/usr/lib/libreoffice/share/extensions libreoffice-common/noawait
/usr/lib/libreoffice libreoffice-common/noawait
/usr/share/slib guile-2.0-libs:amd64/noawait
/etc/lsb-release plymouth-theme-ubuntu-text/noawait
/usr/man man-db/noawait
/usr/share/man man-db/noawait
/usr/local/man man-db/noawait
/usr/local/share/man man-db/noawait
/usr/X11R6/man man-db/noawait
/opt/man man-db/noawait
/usr/share/zoneinfo/leap-seconds.list ntp/noawait
/usr/lib/x86_64-linux-gnu/gio/modules libglib2.0-0:amd64/noawait
/usr/lib/gio/modules libglib2.0-0:amd64/noawait
/usr/share/glib-2.0/schemas libglib2.0-0:amd64
/usr/lib/i386-linux-gnu/gio/modules libglib2.0-0:i386/noawait
/usr/lib/gio/modules libglib2.0-0:i386/noawait
/usr/share/glib-2.0/schemas libglib2.0-0:i386
/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders libgdk-pixbuf2.0-0:i386/noawait
/usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders libgdk-pixbuf2.0-0:i386/noawait
/usr/lib/i386-linux-gnu/gtk-3.0/3.0.0/immodules libgtk-3-0:i386/noawait
/usr/lib/gtk-3.0/3.0.0/immodules libgtk-3-0:i386/noawait
/lib/udev/hwdb.d udev/noawait
/usr/lib/systemd/catalog systemd/noawait
/etc/init.d systemd/noawait
/usr/share/package-data-downloads update-notifier-common
/usr/share/applications desktop-file-utils/noawait
/usr/lib/x86_64-linux-gnu/vlc/plugins libvlc-bin:amd64/noawait
/usr/share/cups/ppd-updaters cups/noawait
Я забыл опубликовать это как ответ, но моим решением была новая установка Ubuntu. Извините, что разочаровываю тех, кто ищет настоящее исправление, но в моем случае оказалось, что каким-то образом вся полоса системных файлов была необратимо повреждена, и переустановка была единственным жизнеспособным решением.