Testende/instabile Quellen
Die Testing- und Unstable-Repositorys von Debian bieten eine höhere Version von Softwareanwendungen als die, die im Stable-Repository vorhanden ist. Beachten Sie, dass diese Namen eigentlich Aliase sind, so dass das stabile Repository auf die aktuelle stabile Debian-Veröffentlichung verweist und das Testing-Repository Teil der nächsten stabilen Debian-Veröffentlichung sein wird. Zum Zeitpunkt dieses Posts ist also Wheezy 7.x die stabile Version und Jessie die Testing-Quelle, die die nächste stabile Version sein wird.
Manchmal, wenn Sie eine neuere Version einer bestimmten Anwendung benötigen, ist das Testing/Unstable-Repository eine gute Option. Ich hatte die Aufgabe, Apache 2.4.x auf einem Debian-Wheezy-System zu installieren. Aber das Repo hatte nur 2.2.x und das Testing-Repo hatte die erforderliche 2.4.x-Version. Die Lösung besteht also darin, es aus dem Test-Repo zu holen.
Wenn wir nach neueren Versionen von Softwareanwendungen suchen, haben wir meistens nur mit dem "Testing"-Repository herumgespielt.
Dieser Beitrag zeigt Ihnen, wie Sie die Testing- und Unstable-Quellen auf einem Debian-System einrichten und Software von ihnen installieren, ohne Ihr bestehendes System zu beschädigen.
Stable ... Testing ... Unstable Wheezy ... Jessie ... Sid
1. Richten Sie die apt-Quellen für das Testing/Unstable-Repo ein
Der erste Schritt besteht darin, die Quellen testing/unstable zu Ihrer Datei sources.list hinzuzufügen. Die Datei /etc/apt/sources.list auf einem Debian Wheezy-System sieht standardmäßig etwa so aus.
$ cat /etc/apt/sources.list
... deb http://security.debian.org/ wheezy/updates main deb http://http.us.debian.org/debian/ wheezy main deb-src http://security.debian.org/ wheezy/updates main ...
Notieren Sie sich die URL des Repository-Servers - http://http.us.debian.org/debian/
Dieser Repository-Server ist ein Spiegel, der sich in Ihrer Nähe befindet. In Ihrer sources.list-Datei soll es anders sein. Dasselbe soll in den nächsten Schritten verwendet werden
Um die Quellen testing und unstable hinzuzufügen, müssen Sie Ihrer sources.list-Datei so etwas hinzufügen
# Testing repository - main, contrib and non-free branches deb http://http.us.debian.org/debian testing main non-free contrib deb-src http://http.us.debian.org/debian testing main non-free contrib # Testing security updates repository deb http://security.debian.org/ testing/updates main contrib non-free deb-src http://security.debian.org/ testing/updates main contrib non-free # Unstable repo main, contrib and non-free branches, no security updates here deb http://http.us.debian.org/debian unstable main non-free contrib deb-src http://http.us.debian.org/debian unstable main non-free contrib
Das Format ist
deb <respository server/mirror> <repository name> <sub branches of the repo>
Anstelle von testing/unstable können auch die entsprechenden Codenamen jessie und sid verwendet werden
deb http://http.us.debian.org/debian jessie main non-free contrib deb http://security.debian.org/ jessie/updates main contrib non-free deb http://http.us.debian.org/debian sid main non-free contrib
2. Machen Sie ein paar passende Pinnings - Wichtig !
After adding the testing and unstable repos, if you update the system then all available updates for all installed applications would be installed right away, leading the system to an unpredictable state.
Daher müssen einige Regeln eingerichtet werden, um die Paketauswahl bei regelmäßigen Updates/Upgrades einzuschränken.
Dies geschieht durch "apt-Pinning", bei dem wir dem apt-System mitteilen, wie immer nur das stabile System zu verwenden, aber wir können auswählen, ein bestimmtes Paket aus dem Testing- oder Unstable-Repository zu installieren, wenn wir dies wünschen.
Die apt-Pinning-Einstellungen können in einer der folgenden 2 Dateien konfiguriert werden.
/etc/apt/preferences OR /etc/apt/preferences.d/my_preferences
Öffnen Sie einen der 2 Speicherorte (erstellen Sie einen, wenn er nicht existiert) und füllen Sie Folgendes in die Datei ein
Package: * Pin: release a=stable Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 650 Package: * Pin: release a=unstable Pin-Priority: 600
Wie bereits erwähnt, wird stable auf Ihre aktuelle Debian-Version verweisen, Testing auf die nächste, und Unstable würde in Zukunft weiter entfernt sein. Zu beachten ist vor allem die Priorität. Der stabilen/aktuellen Version wurde die höchste Priorität eingeräumt, was bedeutet, dass apt-get für normale Aufgaben nur Pakete aus dem aktuellen stabilen Repository (in diesem Fall wheezy) installieren wird.
Paket-Cache aktualisieren
Nachdem Sie das neue Repository hinzugefügt und die Pinning-Regeln angegeben haben, aktualisieren Sie den Paket-Cache.
$ sudo apt-get update
Apt-Richtlinie bestätigen
Wir müssen sicherstellen, dass die Pinning-Konfiguration korrekt ist und dass die Prioritäten korrekt eingehalten werden. Überprüfen Sie die effektive apt-Richtlinie mit dem apt-cache-Befehl
$ apt-cache policy apache2 apache2: Installed: (none) Candidate: 2.2.22-13 Version table: 2.4.7-1 0 600 http://http.us.debian.org/debian/ unstable/main amd64 Packages 2.4.6-3 0 650 http://http.us.debian.org/debian/ testing/main amd64 Packages 2.2.22-13 0 700 http://http.us.debian.org/debian/ wheezy/main amd64 Packages
Die obige Ausgabe bestätigt, dass Version 2.2.22 (das wheezy main/stable )-Repository ausgewählt ist und die höchste Priorität hat.
3. Installieren Sie Apps aus einer Testing/instabilen Quelle
Jetzt ist es an der Zeit, ein bestimmtes Paket aus dem Testing- oder Unstable-Repo auszuwählen und zu installieren. Nehmen wir also an, wir möchten Apache2 aus der Testquelle installieren.
Es gibt zwei Möglichkeiten, dies zu tun, und jede hat einen anderen Effekt.
Methode 1
# apt-get install apache2/testing
Der obige Befehl installiert das Apache2-Paket aus der Testquelle und installiert Abhängigkeiten aus der stabilen Quelle (oder was auch immer die apt-Richtlinie enthält). Dieser Befehl schlägt in Situationen fehl, in denen die Abhängigkeiten im Vergleich zu den Anforderungen des Installationspakets (Apache2) veraltet sind.
Methode 2
# apt-get -t testing install apache2
Der obige Befehl installiert Apache2 von der Testquelle und installiert auch alle Abhängigkeiten von der Testquelle. Dies sollte besser funktionieren als der obige Befehl.
Um also eine neuere Version eines beliebigen Pakets zu installieren, gehen Sie einfach zu den Testing/Unstable-Quellen und genießen Sie es. Beachten Sie, dass die Prioritätsnummern nicht nur einfache Nummern sind, sondern besondere Bedeutungen haben. Überprüfen Sie die Manpage zu den apt-Einstellungen, um mehr darüber zu erfahren
$ man 5 apt_preferences
Zusammenfassung
Die Verwendung des Testing/Unstable-Repository mit Pinning ist ein einfacher Weg, um neuere Versionen von Paketen zu erhalten, aber es wird nicht empfohlen. Wenn es falsch gemacht wird, kann es das System durcheinanderbringen, indem es Pakete aus verschiedenen Zweigen zieht, die möglicherweise nicht kompatibel sind.
Eine empfehlenswertere Methode zum Installieren aktualisierter Pakete ist die Verwendung des Backports-Repositorys. Es bietet neuere Versionen ausgewählter Pakete aus dem Testing/Unstable-Repository, die jedoch für die aktuelle stabile Version kompiliert wurden. Unter Debian Wheezy können Sie also das Wheezy-Backports-Repository verwenden. Weitere Informationen finden Sie unter http://backports.debian.org/.
Ressourcen
https://wiki.debian.org/AptPreferences
https://wiki.debian.org/DebianTesting
https://www.debian.org/security/