Debian

Debian 無人值守升級不會升級所有軟體包

  • November 26, 2014

我已經安裝了 Debian 無人值守升級包。它升級了大多數包,但不是所有包。如果我apt-get upgrade在它執行後執行,將會安裝更多的包。

這是我的/etc/apt/sources.list

deb http://ftp.de.debian.org/debian/ squeeze main non-free
deb-src http://ftp.de.debian.org/debian/ squeeze main non-free

deb http://security.debian.org/ squeeze/updates main non-free
deb-src http://security.debian.org/ squeeze/updates main non-free

# squeeze-updates, previously known as 'volatile'
deb http://ftp.de.debian.org/debian/ squeeze-updates main non-free
deb-src http://ftp.de.debian.org/debian/ squeeze-updates main non-free

# squeeze backports
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

# LTS
deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free

這是我的/etc/apt/apt.conf.d/50unattended-upgrades文件。我的猜測是問題可能出在應該與我的 sources.list 條目匹配的前幾行:

// Automatically upgrade packages from these (origin, archive) pairs
Unattended-Upgrade::Allowed-Origins {
   "${distro_id} stable";
   "${distro_id} ${distro_codename}-security";
   "${distro_id} ${distro_codename}/updates";
   "${distro_id} ${distro_codename}-updates";
   "${distro_id} ${distro_codename}-backports";
   "${distro_id} ${distro_codename}-lts";
};

// List of packages to not update
Unattended-Upgrade::Package-Blacklist {
//      "vim";
//      "libc6";
//      "libc6-dev";
//      "libc6-i686";
};

這是日誌文件的摘錄:

2014-11-19 22:37:15,159 INFO Initial blacklisted packages:
2014-11-19 22:37:15,160 INFO Starting unattended upgrades script
2014-11-19 22:37:15,160 INFO Allowed origins are: ["('Debian', 'stable')", "('Debian', 'squeeze-security')", "('Debian', 'squeeze/updates')", "('Debian', 'squeeze-updates')", "('Debian', 'squeeze-backports')", "('Debian', 'squeeze-lts')"]
2014-11-19 22:37:54,146 INFO Packages that are upgraded: apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common apt apt-utils bash bind9-host dnsutils file gnupg gpgv host libbind9-60 libc-bin libc6 libdns69 libgnutls26 libgssapi-krb5-2 libisc62 libisccc60 libisccfg62 libk5crypto3 libkrb5-3 libkrb5support0 liblwres60 libmagic1 libmysqlclient16 libpq5 libssl0.9.8 libtasn1-3 libxml2 linux-base linux-image-2.6.32-5-amd64 locales mysql-client mysql-client-5.1 mysql-common openssl postgresql postgresql-8.4 postgresql-client postgresql-client-8.4 procmail python2.6 python2.6-minimal rsyslog tzdata wget
2014-11-19 22:37:54,147 INFO Writing dpkg log to '/var/log/unattended-upgrades/unattended-upgrades-dpkg_2014-11-19_22:37:54.147207.log'
2014-11-19 22:39:33,921 INFO All upgrades installed

最後,這裡是未安裝的軟體包。此行在無人值守升級包執行後立即執行。

# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
 python-reportbug
The following packages will be upgraded:
 base-files dpkg exim4 exim4-base exim4-config exim4-daemon-light libdbi-perl libxfont1 openssh-client openssh-server ssh
11 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/6,839 kB of archives.
After this operation, 45.1 kB disk space will be freed.
Do you want to continue [Y/n]?

請告知如何修復配置文件,以便這些軟體包也得到更新。

在閱讀了原始碼後,我想通了。Debian Squeeze 現在被命名為“oldstable”。這是 Debian Squeeze 的相關部分:

// Automatically upgrade packages from these (origin, archive) pairs
Unattended-Upgrade::Allowed-Origins {
   "${distro_id} oldstable";
   "${distro_id} ${distro_codename}-security";
   "${distro_id} ${distro_codename}-lts";
   "${distro_id} ${distro_codename}-updates";
   "${distro_id} ${distro_codename}-backports";
};

當我在這裡時,這裡是 Debian Wheezy 的配置文件:

// Automatically upgrade packages from these origin patterns
Unattended-Upgrade::Origins-Pattern {
   // Archive or Suite based matching:
   // Note that this will silently match a different release after
   // migration to the specified archive (e.g. testing becomes the
   // new stable).
   "o=Debian,a=stable";
   "o=Debian,a=stable-updates";
   "o=Debian,a=stable-backports";
//  "origin=Debian,archive=stable,label=Debian-Security";
//  "origin=Debian,archive=oldstable,label=Debian-Security";
};

引用自:https://serverfault.com/questions/645634