![Ubuntu:从本地软件包存档进行无人值守升级](https://linux22.com/image/512987/Ubuntu%EF%BC%9A%E4%BB%8E%E6%9C%AC%E5%9C%B0%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%AD%98%E6%A1%A3%E8%BF%9B%E8%A1%8C%E6%97%A0%E4%BA%BA%E5%80%BC%E5%AE%88%E5%8D%87%E7%BA%A7.png)
我有一个本地 apt 存档,里面有我构建的一堆软件包。Packages
和Release
文件由 生成apt-ftparchive
。 该Release
文件如下所示
Date: Thu, 06 May 2010 23:04:33 UTC
Label: PPL
Origin: PPL
Suite: ppl
MD5Sum:
ebec3527ebc8351468b2ef8796c19855 37325 Packages
d41d8cd98f00b204e9800998ecf8427e 0 Release
SHA1:
a0593b663d77fde88ee35b56ae1f3c17801cfe99 37325 Packages
da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release
SHA256:
dd73a02846aee111cac58a869c6bf650886632ba82c2172ffddd81aa4429981c 37325 Packages
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release
我正在使用无人值守升级来让实验室中的机器保持最新的安全和错误修复,但我发现它不会从我的本地存档中提取。它的配置文件如下所示
// Automaticall upgrade packages from these (origin, archive) pairs
Unattended-Upgrade::Allowed-Origins {
"Ubuntu hardy-security";
"Ubuntu hardy-updates";
"PPL ppl";
};
// List of packages to not update
Unattended-Upgrade::Package-Blacklist {
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. The package 'mailx'
// must be installed or anything that provides /usr/bin/mail.
//Unattended-Upgrade::Mail "root@localhost";
但是,当我sudo unattended-upgrade
在其中一台机器上运行时,无法安装较新的软件包版本。有人能指出我哪里错了吗?
答案1
我也遇到了类似的问题。我发现的问题是,无人值守升级脚本正在寻找源/存档对,但我使用的是 reprepro,它不会生成档案Packages 文件中的键/值对。
我仍在寻找答案。档案这是我所能想到的全部,而且它在技术领域的应用太广泛了,以至于无法在谷歌搜索中使用。如果我找到答案,我会报告,只是为了后人着想。
更新:我找到了我沮丧的根源。归根结底是一个简单的现实:没有勺子。我的意思是档案。把那个字段留空。我的起源实际上是两个词,所以我不得不用冒号分隔符。在您的场景中,我认为如果您使用“PPL”或“PPL:”而不是“PPL ppl”,它就会起作用。
答案2
我建议使用该软件包puppetmaster
, puppet
它允许从一个中央主机自动更新 puppet 机。