想象一下,我安装了全新的 Ubuntu 18.04。但有一些默认软件包或服务未经我的同意就连接到互联网。如何彻底摆脱它们或以有效的方式使它们离线?
据我目前所知,它们是:
popularity-contest
- 这Ubuntu 人气竞赛(或简称 popcon)收集统计数据以确定哪些软件包最受 Ubuntu 用户欢迎。
unattended-upgrades
- 自动使用最新的安全更新升级计算机。
apt-daily
- 每天自动更新 apt 索引。
snapd
- 自动更新 snap 包。
update-manager
- 检查发布更新。
我可能遗漏了一些东西。如果你知道的话请发帖...
目的:我希望完全控制互联网,因为就我而言,互联网是有限的。因此,我希望手动更新或升级,而不是自动更新或升级。
答案1
人气竞赛默认是禁用的。你可以使用以下命令检查并禁用它:
dpkg-reconfigure popularity-contest
你可以做 ...
apt remove popularity-contest
将其删除。
禁用apt-daily.service
:
systemctl stop apt-daily.timer
systemctl disable apt-daily.timer
systemctl disable apt-daily.service
systemctl stop apt-daily-upgrade.timer
systemctl disable apt-daily-upgrade.timer
systemctl disable apt-daily-upgrade.service
来自@muru <3 的一句话:
systemctl disable --now apt-daily{,-upgrade}.{timer,service}
禁用无人值守升级:
dpkg-reconfigure -plow unattended-upgrades
更新管理器只能通过删除来停止:
apt purge update-manager-core
您无法禁用快照的自动更新。您可以设置时期当它更新时,snap set core refresh.schedule=<spec>
但如果更新快照花费的时间太长(并且将在 24 小时内完成),系统将忽略此操作。这将删除与快照相关的所有内容:
apt purge snapd ubuntu-core-launcher squashfs-tools
一种侵入性较小的方法是通过在防火墙规则(或路由器)中添加 DENY 来阻止连接到服务器。要禁用 systemd 服务,请执行以下操作...
systemctl disable snapd.refresh.service
但这似乎也忽略了24小时期限。
达成一致的要实施的语义如下:
- 刷新可以安排在一个月内的任意一个工作日和时间(例如,第二个星期二下午 1 点到 2 点之间)。
- 刷新最多可以推迟一个月,这样错过的窗口和重新安排就可以发生,而不会产生奇怪的副作用。例如,如果刷新被安排在第一天,然后在刷新发生之前被安排在月底,那么实际上可能会有两个月的窗口没有刷新。
- 如果两个月后系统仍然过期,系统将开始尝试刷新该窗口。
- 每次刷新系统时都会重置该最大窗口,因此可以在方便的维护窗口执行带外更新。
因此,如果您不重新启动,则可能存在 2 个月的窗口期。
不过,我确实不同意你的想法。除了竞赛(而且那个竞赛没有进行)之外,所有这些都是为了修复错误和提供更好的内容。禁用这些选项会使你的系统更不安全。