我有一个即将升级的系统,但我遇到了冲突:apt-get -f install
apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
login sysvinit-utils util-linux
Suggested packages:
kbd util-linux-locales
The following packages will be upgraded:
login sysvinit-utils util-linux
3 upgraded, 0 newly installed, 0 to remove and 106 not upgraded.
13 not fully installed or removed.
Need to get 0 B/1775 kB of archives.
After this operation, 1886 kB of additional disk space will be used.
Do you want to continue? [Y/n]
E: Sub-process false returned an error code (1)
E: Prior errors apply to /var/cache/apt/archives/sysvinit-utils_2.96-7_arm64.deb
E: Prior errors apply to /var/cache/apt/archives/util-linux_2.36.1-8_arm64.deb
E: Prior errors apply to /var/cache/apt/archives/login_1%3a4.8.1-1_arm64.deb
debconf: apt-extracttemplates failed: No such file or directory
(Reading database ... 9765 files and directories currently installed.)
Preparing to unpack .../sysvinit-utils_2.96-7_arm64.deb ...
Unpacking sysvinit-utils (2.96-7) over (2.88dsf-59) ...
dpkg: error processing archive /var/cache/apt/archives/sysvinit-utils_2.96-7_arm64.deb (--unpack):
trying to overwrite '/lib/init/vars.sh', which is also in package initscripts 2.88dsf-59
Errors were encountered while processing:
/var/cache/apt/archives/sysvinit-utils_2.96-7_arm64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
我不明白为什么在我确认安装软件包后它说。谁能帮我解决这个问题?E: Sub-process false returned an error code (1)
initscripts 是一个纯粹的虚拟包,因此授予 dpkg 覆盖它的权限是安全的。打开终端并键入:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/sysvinit-utils_2.96-7_arm64.deb
如果你没有直接使用 dpkg 并使用 apt 前端(如 apt 或 apt-get),则以下命令定义了与上一个命令相同的自定义 dpkg 选项。
sudo apt-get -o Dpkg::Options::="--force-overwrite" install sysvinit-utils
我如何确定哪些包是“虚拟的”并且可以轻松覆盖,我现在在
init-system-helpers_1.60_all
上遇到了类似的问题.deb但不知道应用与上面相同的方法是否安全我运行以下命令来显示有关 initscripts 包的信息:
apt show sysvinit-utils
我这样做了,但它没有说明它是虚拟的,也没有表明它会像
sysvinit-utils
那样包含多个包。所以我想我将不得不寻找一种解决此冲突的替代方法,有什么建议吗?@stdcerr 我在 Debian 软件包搜索中检查了 sysv-rc 2.88dsf-59,这是一个用于 Debian 8 (jerssie) 的软件包,它似乎不是一个纯粹的虚拟软件包。因为它是一个真正的软件包,终端会警告您安装 init-system-helpers_1.60_all.deb破坏了 Debian 8.0 中的软件包管理。init-system-helpers_1.60_all.deb 只与 Debian 11 兼容(bullseye),所以你必须卸载这个软件包并安装 init-system-helpers_1.22_all.deb而不是从 http://ftp.debian.org/ 安装(这是 jessie 的那个)。
我还建议您通过运行 rmadison -u debian init-system-helpers 来自己确认这一点,以在 jessie 中找到
init-system-helpers
的软件包版本,即 1.22 版。Jessie 目前被 Debian 称为 oldoldoldstable。Jessie 目前支持非官方商业扩展 LTS,对 Jessie 的 ELTS 支持将于 2022 年 6 月 30 日结束。ELTS 不是一个 Debian 项目。