如何解决 Debian10->11 升级期间“无效的 SCRIPTWHITELIST 配置选项:不存在的路径名:/bin/which”和阻止无人值守升级?

如何解决 Debian10->11 升级期间“无效的 SCRIPTWHITELIST 配置选项:不存在的路径名:/bin/which”和阻止无人值守升级?

我试图通过以下方式将 Debian 10/KDE 升级到 Debian 11 bullseye stablesudo apt upgrade --without-new-pkgs

输出是:

Preparing to unpack .../dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) over (19) ...
Setting up aide-common (0.17.3-4) ...
Replacing config file /etc/cron.daily/aide with new version
cp: cannot remove '/etc/cron.daily/aide': Operation not permitted
dpkg: error processing package aide-common (--configure):
 installed aide-common package post-installation script subprocess returned error exit status 1
Setting up dh-autoreconf (20) ...
Processing triggers for man-db (2.8.5-2) ...
Errors were encountered while processing:
 aide-common
Invalid SCRIPTWHITELIST configuration option: Non-existent pathname: /bin/which
E: Sub-process /usr/bin/dpkg returned an error code (1)
E: Problem executing scripts DPkg::Post-Invoke 'if [ -x /usr/bin/rkhunter ] && grep -qiE '^APT_AUTOGEN=.?(true|yes)' /etc/default/rkhunter; then /usr/share/rkhunter/scripts/rkhupd.sh; fi'
E: Sub-process returned an error code

然后我删除了 aide ( sudo apt-get remove aide) 并再次尝试,安装后显示如下:

Invalid SCRIPTWHITELIST configuration option: Non-existent pathname: /bin/which
E: Problem executing scripts DPkg::Post-Invoke 'if [ -x /usr/bin/rkhunter ] && grep -qiE '^APT_AUTOGEN=.?(true|yes)' /etc/default/rkhunter; then /usr/share/rkhunter/scripts/rkhupd.sh; fi'
E: Sub-process returned an error code

然后我再次尝试,但现在unattended-upgr正在运行,在进程管理器中运行“结束进程”或向其发送 KILL 信号后,等待一段时间后它不会退出(即使现在它只是一个而不是两个无人值守的升级程序)过程)。

它似乎已经基本完成了lsb_release -a返回版本:11。

这些错误是否有问题,或者我应该重新启动才能解决它?如果是这样,难道不应该出现一些需要重新启动的消息(或者更好的错误消息)吗?

答案1

您遇到了问题rkhunter,跟踪为Debian 错误 #932594

简而言之,rkhunter.conf的路径与您的系统的路径不匹配。您需要编辑它以修复以下路径which

sed -i s,SCRIPTWHITELIST=/bin/which,SCRIPTWHITELIST=/usr/bin/which, /etc/rkhunter.conf

要停止unattended-upgrade,请杀死它

killall -9 unattended-upgrade

然后查找任何杂散aptdpkg相关的进程,如果它们没有在合理的时间内退出,则也将其杀死。

答案2

你有猎头者安装并配置为每次使用 apt 进行操作时运行。编辑rkhunter.conf并查看是否SCRIPTWHITELIST设置为/bin/which。那里会有多个条目。将其更改为正确的路径which。或者,您可以在每次执行 apt 时删除 rkhunter 的运行。

答案3

egrep和的位置fgrep似乎已从/usr/bin移至/bin。让事情顺利进行的最简单的事情就是到旧位置的符号链接

sudo ln -s /bin/egrep /usr/bin/egrep
sudo ln -s /bin/fgrep /usr/bin/fgrep

然后它就能够解决这个SCRIPTWHITELIST问题。

相关内容