Monthly Archives: December 2011

Aptitude

Záloha a obnova nainstalovaných balíčků

Pokud budete zálohovat Debian nebo na něm založenou distribuci, budete asi chtít zálohovat spíše seznam explicitně nainstalovaných balíčků než seznam všech nainstalovaných balíčků.

Pokud používáte nástroj Aptitude, pak víte, že tento nástroj si zapamatuje, co bylo nainstalováno jen jako závislost, a pokud pak odinstalujete původní balíček, Aptitude vám nabídne k odstranění i ty balíčky, které byly nainstalovány jako závislosti. To je velice užitečná funkce z hlediska údržby systému. Pokud byste zálohovali seznam všech balíčků, zahrnuli byste do toho i ony závislosti a po obnově systému (nebo při jeho migraci jinam) by váš Aptitude tuto svou funkci ztratil. Naštěstí není problém nechat si vypsat explicitně nainstalované balíčky:

aptitude -F %p search "?and(?installed,?not(?automatic))" > pkglist.txt

A posléze je nainstalovat do nového systému:

xargs aptitude --schedule-only install < pkglist.txt && aptitude install

Upgrade na nový release Ubuntu se provede příkazem: do-release-upgrade

Instalace klíče k novému repozitáři

V záhlaví PPA’s stránky najdete podpisový klíč “Signing key”. Bude vypadat přibližně takto:
1024R/72D340A3

Zkopírujte část následující za lomítkem, např.: 72D340A3

Nyní je třeba přidat klíč do vašeho systému, aby Ubuntu mohlo ověřit balíčky z PPA repozitáře.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 72D340A3

Nastavení automatických aktualizací pomocí anacron

apt-get install unattended-upgrades
/etc/apt/apt.conf.d/10periodic

APT::Periodic::Enable "1";
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "5";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::RandomSleep "1800";

/etc/apt/apt.conf.d/50unattended-upgrades

Ubuntu

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

Debian

Unattended-Upgrade::Origins-Pattern {
"o=Debian,a=testing";
"o=Debian,a=testing-updates";
"o=Debian,a=proposed-updates";
"origin=Debian,archive=${distro_codename},label=Debian-Security";
};

Unattended-Upgrade::Package-Blacklist {};
Unattended-Upgrade::Mail "root";
Unattended-Upgrade::MailOnlyOnError "true";

Test you configuration

unattended-upgrades --dry-run
unattended-upgrades --debug

and check the log:
cat /var/log/unattended-upgrades/unattended-upgrades.log