nik*_*k90 49 updates automation
我在这里阅读了如何为 Google Chrome 启用静默自动更新。但是,我还有其他存储库,如 Spotify、Docky 和其他我想启用静默更新的存储库。
我正在尝试在我的 Ubuntu 10.04 系统中执行此操作。但是这个问题适用于所有 Ubuntu 版本。我安装了无人值守升级包。
我怎样才能做到这一点?
Bru*_*ira 75
首先,安装gksu:
sudo apt-get install gksu
Run Code Online (Sandbox Code Playgroud)
使您的系统无人值守更新的最简单的方法是编辑文件50unattended-upgrades里面/etc/apt/apt.conf.d/有你喜欢的文本编辑器,例如:
gksu gedit /etc/apt/apt.conf.d/50unattended-upgrades
Run Code Online (Sandbox Code Playgroud)
在其中您需要注释掉Allowed Origins块的注释部分。
改变:
Unattended-Upgrade::Allowed-Origins {
"${distro_id} ${distro_codename}-security";
// "${distro_id} ${distro_codename}-updates";
// "${distro_id} ${distro_codename}-proposed";
// "${distro_id} ${distro_codename}-backports";
};
Run Code Online (Sandbox Code Playgroud)
到:
Unattended-Upgrade::Allowed-Origins {
"${distro_id} ${distro_codename}-security";
"${distro_id} ${distro_codename}-updates";
// "${distro_id} ${distro_codename}-proposed";
// "${distro_id} ${distro_codename}-backports";
};
Run Code Online (Sandbox Code Playgroud)
对于您想要更新的不在 Ubuntu 存储库上的软件,您需要向文件添加源和存档。要查找 PPA 的内容,请打开文件夹/var/lib/apt/lists/,这是每个包资源状态信息的存储区域。您要查找的是名称中以Release结尾的文件。
用你的文本编辑器打开一个,例如谷歌浏览器:
gedit /var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_Release
Run Code Online (Sandbox Code Playgroud)
在里面你会看到如下内容:
Origin: Google, Inc.
Label: Google
Suite: stable
Codename: stable
Version: 1.0
Date: Thu, 17 Nov 2011 19:09:01 +0000
Architectures: i386 amd64
Components: main
Description: Google chrome-linux repository.
Run Code Online (Sandbox Code Playgroud)
来源很明显 ( Origin: Google, Inc.) 并且存档将是线Suite( Suite: stable)下的任何内容。
如果Origin或Suite缺失,则它们将是空字符串。但请注意,如果两者都缺失,则可能无法在无人值守升级的情况下使用该源,而不包括具有相同问题的其他源。
记下这两行后,您需要编辑50unattended-upgrades文件并使用此格式添加行"<origin>:<archive>";,以便为本示例使用"Google\, Inc.:stable";。
谷歌浏览器的起源有点棘手,因为它有一个空格、一个端点和一个逗号,但大多数Release文件都很容易阅读。
再举一个例子,Node JS 源指定了一个来源 ( Node Source) 而不是一个存档;所以你可以将它与"Node Source:";.
Allowed Origins使用 shell 风格的通配符匹配(更具体地说,使用 Python 的fnmatch())。如果您足够小心,不包含冲突的来源,则可以编写类似"Node *:*";.
50unattended-upgrades在编辑文件之前不要忘记备份文件。这样做:
sudo cp /etc/apt/apt.conf.d/50unattended-upgrades /etc/apt/apt.conf.d/50unattended-upgrades.bak
Run Code Online (Sandbox Code Playgroud)
要测试对文件所做的更改,您可以使用sudo unattended-upgrades参数--dry-run和--debug。
--dry-run 将运行无人值守的升级周期,除非它不会真正安装升级,只检查并验证一切正常。
--debug 将启用详细模式。
您可以随时查询日志unattended-upgrades的/var/log/unattended-upgrades/unattended-upgrades.log。
您可以通过编辑文件来更改无人值守升级的配置/etc/apt/apt.conf.d/10periodic。配置选项位于/etc/cron.daily/apt脚本标题中。阅读它们以配置无人值守升级的频率。
Abh*_*tia 14
@Bruno Pereira 回答的自动化方法:( 如果您觉得答案有用,请考虑在 github 存储库中加注星标。)
代码链接:https : //github.com/abhigenie92/unattended_upgrades_repos
检查要添加的存储库:
$ python automatic_upgrade.py
Add repos:
"Ubuntu:xenial";
"LP-PPA-kubuntu-ppa-backports:xenial";
"LP-PPA-tuxonice:xenial";
"LP-PPA-webupd8team-sublime-text-3:xenial";
Skipping files due to not present origin or suite. Or origin being a url.:
packagecloud.io_slacktechnologies_slack_debian_dists_jessie_InRelease
tiliado.eu_nuvolaplayer_repository_deb_dists_xenial_InRelease
Run Code Online (Sandbox Code Playgroud)现在编辑/etc/apt/apt.conf.d/50unattended-upgrades以包含它们:
// Automatically upgrade packages from these (origin:archive) pairs
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
"${distro_id}:${distro_codename}-updates";
"${distro_id}:${distro_codename}-proposed";
"${distro_id}:${distro_codename}-backports";
"Ubuntu:xenial";
"LP-PPA-kubuntu-ppa-backports:xenial";
"LP-PPA-tuxonice:xenial";
"LP-PPA-webupd8team-sublime-text-3:xenial";
};
....
....
Run Code Online (Sandbox Code Playgroud)检查它们是否包括在内:
$ sudo unattended-upgrade --dry-run --debug
Initial blacklisted packages:
Initial whitelisted packages:
Starting unattended upgrades script
Allowed origins are: ['o=Ubuntu,a=xenial-security', 'o=Ubuntu,a=xenial-updates', 'o=Ubuntu,a=xenial-proposed', 'o=Ubuntu,a=xenial-backports', 'o=Ubuntu,a=xenial', 'o=LP-PPA-kubuntu-ppa-backports,a=xenial', 'o=LP-PPA-tuxonice,a=xenial', 'o=LP-PPA-webupd8team-sublime-text-3,a=xenial']
pkgs that look like they should be upgraded:
Fetched 0 B in 0s (0 B/s)
fetch.run() result: 0
blacklist: []
whitelist: []
No packages found that can be upgraded unattended and no pending auto-removals
Run Code Online (Sandbox Code Playgroud)小智 9
编辑/etc/apt/apt.conf.d/50unattended-upgrades,添加以下内容:
Unattended-Upgrade::Origins-Pattern {
"origin=*";
};
Run Code Online (Sandbox Code Playgroud)
这将允许对所有软件包进行无人值守升级。
| 归档时间: |
|
| 查看次数: |
28106 次 |
| 最近记录: |