我正在尝试从 Debian wheezy 升级旧服务器(是的,我落后了)。你能告诉我如何克服systemd-sysv
和之间的冲突sysvinit
吗?
我在 apt 列表中替换了提及的wheezy
内容:jessie
sed -i 's/wheezy/jessie/g' sources.list sources.list.d/*
当我运行时apt -V upgrade
,我遇到一个错误:
dpkg: error processing archive /var/cache/apt/archives/systemd-sysv_241-5_amd64.deb (--unpack):
trying to overwrite '/usr/share/man/man8/halt.8.gz', which is also in package sysvinit 2.88dsf-41+deb7u1
我尝试使用 删除现有的sysvinit
包dpkg -P sysvinit
,但这是不允许的,因为这是一个必需的包:
dpkg: error processing package sysvinit (--purge):
this is an essential package; it should not be removed
(我也尝试过apt --fix-broken install
,但没有效果。)
答案1
我也遇到过类似的问题。解决了
dpkg -P --force-remove-essential sysvinit
答案2
当我从 Debian 9 Stretch 升级到 10 Buster 时,我就遇到了这种情况,其中 libpam-systemd 需要 systemd-sysv。
这对我有用:
为 Buster 添加 apt 源:
deb http://ftp.de.debian.org/debian/ buster main deb-src http://ftp.de.debian.org/debian/ buster main deb http://security.debian.org/debian-security buster/updates main deb-src http://security.debian.org/debian-security buster/updates main
进而
apt-get build-dep systemd-sysv
发生的事情之一是 libpam-systemd 被 apt 删除,因此该依赖项请求消失了。