有没有办法只更新包列表而不运行所有这些脚本?也许甚至“用手”?
我的用例:
apt
我正在尝试通过和安装软件包chroot
。- 不幸的是,我的软件包列表中的软件包版本似乎已经过时,我得到了一个
404
. - 所以我想提前跑步
apt update
。 - 不幸的
apt update
是需要永远chroot
- 至少在我的配置中。之后它会卡在运行一些脚本上,比如更新 MOTD。
答案1
您可以使用以下方法识别有问题的脚本
apt-config dump|grep Update::Post-Invoke
这些都在 ; 下的文件中定义/etc/apt
。将要禁用的文件重命名为除此之外的任何扩展名.conf
,并且它们不会被考虑在内。
没有apt
选项可以完全禁用所有此类脚本的运行。
答案2
谢谢!组合产生可行的解决方案
首先,通过找到更新后脚本
grep -ri 'Update::' /etc/apt/apt.conf.d
然后,像这样重命名生成的脚本
mv /etc/apt/apt.conf.d/99update-notifier{,.disabled}
mv /etc/apt/apt.conf.d/50command-not-found{,.disabled}
mv /etc/apt/apt.conf.d/15update-stamp{,.disabled}
运行更新并再次重命名它们
mv /etc/apt/apt.conf.d/99update-notifier{.disabled,}
mv /etc/apt/apt.conf.d/50command-not-found{.disabled,}
mv /etc/apt/apt.conf.d/15update-stamp{.disabled,}