/var/lib/dpkg/arch 文件损坏,无法使用 apt 或 boot

/var/lib/dpkg/arch 文件损坏,无法使用 apt 或 boot

Ubuntu 18.04 LTS,64 位。

我刚刚启动了 Ubuntu,突然,似乎没有任何原因,它卡在了 Plymouth 启动屏幕上,显示“按住直到启动过程完成”。启动过程从未完成。

因此,我四处寻找解决方案,在恢复模式下启动到 root bash 后,我尝试了一个。解决方案涉及重新安装/删除plymouth,因此我尝试使用 apt 来执行此操作。但我得到了一个语言环境错误,我通过重新生成语言环境来修复它。

然后,当使用 apt 尝试删除 plymouth 时,我收到此错误:

dpkg: error: fgets gave an empty string from 'var/lib/dpkg/arch'

事实证明 dpkg 有点坏了。

浏览/var/lib/dpkg/,大多数文件似乎完好无损。 availablediversionsstatoverride都是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。太多文件损坏 :(

答案1

$ cat /var/lib/dpkg/arch
amd64
i386

(每个都以换行符结尾)这是 18.04.1 bionic 多架构设置。因此通常您只使用其中一种,具体取决于您的系统。

另一个文件是位置和创建它们的包的列表(我想)

$ 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

答案2

我忘了把这个作为答案发布,但我的解决方案是全新安装 Ubuntu。很抱歉让在这里寻求真正解决方案的任何人失望,但就我的情况而言,结果发现不知何故,一大堆系统文件已经不可逆转地损坏,重新安装是唯一可行的解​​决方案。

相关内容