Debian mit aktuelleren Paketen - stable und testing

Der folgende Artikel richtet sich an Linuxeinsteiger und Anwender, die sich unter Debain fragen, wie sie an aktuellere Pakete herankommen und trotzdem bei der stabilen Version des Grundsystems bleiben.
Debian GNU/Linux gilt als extrem stabil und sicher, da nur wirklich ausgiebig getestete Pakete in den Standardrepositories (Repository: Debian-(Spiegel-)server mit den Softwarepaketen) enthalten sind. Als Standard gilt stable. Für stable kann synonym auch der Name der aktuellen Stable-Version, also derzeit lenny verwendet werden. Der Preis für die hohe Stabilität und Sicherheit ist allerdings das Alter der Pakete. Im jeweils aktuellen Stable-Release gibt es nur Updates, um Sicherheitslücken zu schließen und dabei werden kaum neue Versionen verteilt. Die Zwischenreleases (bei Lenny aktuell Version 5.0.4) beinhalten im Normalfall nur kleinere Aktualisierungen. Die relativ stabilen Pakete, welche größtenteils auch den Weg in die nächste stable-Version finden werden, liegen im Zweig testing und die ganz frischen und für den Servereinsatz meist nicht empfehlenswerten Pakete liegen in den Zweigen unstable und experimental.

Um nun einen Debian-Rechner so zu konfigurieren, dass man auch aktuellere Pakete installieren kann, müssen die Paketquellen und deren Priorität angepasst werden. Als erstes ergänzt man die Datei /etc/apt/sources.list um einen Testing-Eintrag. Bei einem bei Hetzner gehosteten Server kann das z.B. so aussehen:

deb     ftp://mirror.hetzner.de/debian/packages  lenny          main
 contrib non-free
deb     ftp://mirror.hetzner.de/debian/security  lenny/updates  main
 contrib non-free

deb     http://ftp.uni-bayreuth.de/linux/Debian/debian/  lenny  main
 contrib non-free
deb-src http://ftp.uni-bayreuth.de/linux/Debian/debian/  lenny  main
 contrib non-free

deb      http://ftp.de.debian.org/debian/         testing       main
 contrib non-free

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

Bei Hetzner-Servern wird der Traffik innerhalb des Hetzner-Netzes nicht für den Inklusivtraffik berechnet, weshalb meist die Spiegel von Hetzner eingetragen werden. Zusätzlich ist in der Beispieldatei noch ein Uni-Spiegel gewählt. Die Security-Updates zieht man immer von security.debian.org und von dort hole ich persönlich auch immer die testing-Pakete.

Das alleine würde aber bei einem Update dafür sorgen, dass - soweit möglich - alle installierten Pakete auf testing aktualisiert werden und das will man im Normalfall nicht. Deshalb muss noch die Datei /etc/apt/preferences erstellt werden:

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release a=testing
Pin-Priority: 400

Auf die Prioritäten möchte ich an dieser Stelle nicht weiter eingehen, wer mehr wissen will, sollte einfach in der Suchmaschine seiner Wahl nach apt preferences oder apt pinning suchen. Wer keine weiteren komplexen Abhängigkeiten definieren möchte, für den reicht die obige Angabe.

Als nächstes muss die lokale Paketliste aktualisiert werden und bevor man irgendwelche Updates durchführt, sollte man sich die Prioritäten sicherheitshalber noch mal ausgeben lassen:

# apt-get update
# apt-cache policy

Letzterer Befehl sorgt bei den obigen Einstellungen für folgende Ausgabe:

Paketdateien:
 100 /var/lib/dpkg/status
     release a=now
 900 http://security.debian.org lenny/updates/non-free Packages
     release v=5.0,o=Debian,a=stable,l=Debian-Security,c=non-free
     origin security.debian.org
 900 http://security.debian.org lenny/updates/contrib Packages
     release v=5.0,o=Debian,a=stable,l=Debian-Security,c=contrib
     origin security.debian.org
 900 http://security.debian.org lenny/updates/main Packages
     release v=5.0,o=Debian,a=stable,l=Debian-Security,c=main
     origin security.debian.org
 400 http://ftp.de.debian.org testing/non-free Packages
     release o=Debian,a=testing,l=Debian,c=non-free
     origin ftp.de.debian.org
 400 http://ftp.de.debian.org testing/contrib Packages
     release o=Debian,a=testing,l=Debian,c=contrib
     origin ftp.de.debian.org
 500 http://ftp.de.debian.org testing/main Translation-de
 400 http://ftp.de.debian.org testing/main Packages
     release o=Debian,a=testing,l=Debian,c=main
     origin ftp.de.debian.org
 900 http://ftp.uni-bayreuth.de lenny/non-free Packages
     release v=5.0.4,o=Debian,a=stable,l=Debian,c=non-free
     origin ftp.uni-bayreuth.de
 900 http://ftp.uni-bayreuth.de lenny/contrib Packages
     release v=5.0.4,o=Debian,a=stable,l=Debian,c=contrib
     origin ftp.uni-bayreuth.de
 500 http://ftp.uni-bayreuth.de lenny/main Translation-de
 900 http://ftp.uni-bayreuth.de lenny/main Packages
     release v=5.0.4,o=Debian,a=stable,l=Debian,c=main
     origin ftp.uni-bayreuth.de
 900 ftp://mirror.hetzner.de lenny/updates/non-free Packages
     release v=5.0,o=Debian,a=stable,l=Debian-Security,c=non-free
     origin mirror.hetzner.de
 900 ftp://mirror.hetzner.de lenny/updates/contrib Packages
     release v=5.0,o=Debian,a=stable,l=Debian-Security,c=contrib
     origin mirror.hetzner.de
 900 ftp://mirror.hetzner.de lenny/updates/main Packages
     release v=5.0,o=Debian,a=stable,l=Debian-Security,c=main
     origin mirror.hetzner.de
 900 ftp://mirror.hetzner.de lenny/non-free Packages
     release v=5.0.4,o=Debian,a=stable,l=Debian,c=non-free
     origin mirror.hetzner.de
 900 ftp://mirror.hetzner.de lenny/contrib Packages
     release v=5.0.4,o=Debian,a=stable,l=Debian,c=contrib
     origin mirror.hetzner.de
 900 ftp://mirror.hetzner.de lenny/main Packages
     release v=5.0.4,o=Debian,a=stable,l=Debian,c=main
     origin mirror.hetzner.de
Per Pinning verwaltete Pakete:

Um jetzt endlich auch in den Genuß ausgewählter frischer Pakete zu kommen, muss man für diese bei der Installation via apt-get nur das Zielrelease testing als Parameter übergeben und schon werden falls notwendig automatisch auch alle entsprechenden Abhängkeiten aus dem testing-Zweig gezogen. Hier ein Beispiel:

# apt-get install -t testing FrischesWunschPaket

Eine Reaktion zu “Debian mit aktuelleren Paketen - stable und testing”

  1. Woodman

    Hallo da draussen,

    funktioniert ganz prima! Habe die Anleitung gleich mal benutzt, um auf meinem Hetzner Server die Standard BOINC Installation (6.2.14) auf die aktuelle Version (6.10.17) zu bringen. Als “nur Linux Anwender” ist das ja nicht ohne.

    Danke und Gruss

    Woody

Einen Kommentar schreiben