Eenvoudige backup en restore van geïnstalleerde paketten in Ubuntu.

Donderdag, 23 April 2009

Als je net als ik vaak pakketten installeert of verwijdert op je ubuntu-machine hou je dat meestal niet bij. Dat bijhouden is ook een probleem als je met meerdere mensen een server beheert, bijvoorbeeld.

Met een paar hele simpele commando's kun je een backup maken van de lijst met geïnstalleerde software en deze op een andere machine opnieuw installeren.

dpkg --get-selections > packagelist.txt

Dit maakt een complete lijst van alle geïnstalleerde software en zet deze in het tekstfiletje debianlist.txt.

Deze tekstfile is later te gebruiken om alles te installeren:

dpkg --set-selections < packagelist.txt

Merk op dat de instellingen van de betreffende software niet opgeslagen of geïnstalleerd word. Hiervoor moet je een volledige backup maken van de /etc/ map.

Ook worden handmatig geïnstalleerde of gecompileerde softwarepaketten ook niet mee-geïnstalleerd. Maar volgens mij ben je sowiezo verkeerd bezig als je buiten de pakketinstaller van ubuntu (of welke Linux dan ook) om gaat installeren. Dat is een garantie voor zooi.

Om de paketten nu daadwerkelijk te installeren:

apt-get -u dselect-upgrade

Het is verstandig om een wekelijkse (of dagelijkse of maandelijkse, afhankelijk van de mate waarin je paketten (de)installeert.

Voeg daarom een regel aan je crontab to. Dit soort systeemtaken voeg ik liefst aan de crontab van de root-gebruiker toe:

sudo crontab -e

Daar voer je een nieuwe regel in:

0 0 1 * * dpkg --get-selections > /var/archives/packagelist.`hostname`.`date +%F`.txt

Deze maakt iedere eerste dag van de maand een bestandje aan in de vorm "packagelist.naam-van-je-systeem.2009-05-01 (datum vandaag in sorteerbare volorde).txt"

(Vrij vertaald van een artikel door hanckmann)


Tags: administratie, apt, backup, backup-manager, Debian, dpkg, opensource, ubuntu,

"Maar volgens mij ben je

"Maar volgens mij ben je sowiezo verkeerd bezig als je buiten de pakketinstaller van ubuntu (of welke Linux dan ook) om gaat installeren."

Hmm. Klein beetje kort door de bocht. Er zijn erg veel goede pakketten die niet in de repositories van ubuntu staan, maar wel degelijk bonafide zijn. Kijk bijvoorbeeld eens bij Zimbra of Zarafa; twee bekende mailservers, draaien beide prima op Ubuntu (o.a.), en worden ook ondersteund onder Ubuntu. Maar het staat niet in de repo.

Je hebt wel gelijk als je het bedoelt als waarschuwing.

kort door de bocht, maar

kort door de bocht, maar M.I. wel meer dan slechts een waarschuwing.

Ik heb in het verleden bijna een half jaar lang een kernel niet kunnen upgraden, want als ik dat deed ging een niet-officiëel pakket: virtualbox stuk.

Virtualbox werkte prima op ubuntu, maar omdat het buiten de repositories om werkte waren ze niet altijd (nooit) op tijd met upgrades.

Is slechts één voorbeeld.

Andere voorbeelden, zoals jezelf een dependency-hell inwerken zijn er ook.

Kortom: je wil dit eigenlijk nooit!

When I try the first

When I try the first command, an empty (0k) packagelist.txt is created. Did I miss something?
-
Wanneer ik probeer de eerste opdracht, een lege (0k) packagelist.txt wordt gecreëerd. Heb ik iets gemist?

Nieuw commentaar posten

De inhoud van dit veld is privé en zal niet publiekelijk getoond worden.
  • Lijnen en paragrafen worden automatisch opgesplitst.

Meer informatie over formaatmogelijkheden