Angenommen, Sie betreiben einen Server und möchten nicht von Stable (Lenny) auf Testing (Squeeze) aktualisieren, um nur ein oder zwei erforderliche Pakete zu installieren.
Was ist der beste Weg, um nur bestimmte Pakete von Testing zu installieren?
linux
debian
package-management
aptitude
Gareth
quelle
quelle
Antworten:
Viele Menschen scheinen Angst davor zu haben, Stable mit Testing zu vermischen, aber ehrlich gesagt ist das Testen für sich genommen ziemlich stabil, und mit den richtigen Einstellungen und der Überprüfung der Lösung können Sie die "Stabilitätsverschiebung" vermeiden, die Ihre Kernpakete auf den instabilen Pfad bringt.
"Testen ist ziemlich stabil?" , du fragst. Ja. Damit ein Paket von Unstable zu Testing migriert werden kann, muss es an 10 aufeinanderfolgenden Tagen keine offenen Fehler aufweisen. Es besteht die Möglichkeit, dass jemand, insbesondere bei den populäreren Paketen, einen Fehlerbericht für eine instabile Version einreicht, wenn etwas nicht stimmt.
Auch wenn Sie die Umgebungen nicht mischen möchten, ist es immer noch schön, die Option dort zu haben, falls Sie auf etwas stoßen, das eine neuere Version erfordert als das, was in stable enthalten ist.
Folgendes empfehle ich zum Einrichten:
Erstellen Sie zunächst die folgenden Dateien in
/etc/apt/preferences.d
:stable.pref
:testing.pref
:unstable.pref
:experimental.pref
:(Haben Sie keine Angst vor dem instabilen / experimentellen Material hier. Die Prioritäten sind niedrig genug, dass dieses Material niemals automatisch installiert wird. Sogar der Testzweig wird sich verhalten, da nur die Pakete installiert werden, die Sie sein möchten im Test.)
Erstellen Sie nun ein passendes Set für
/etc/apt/sources.list.d
:stable.list
: Kopieren Sie von Ihrem Original/etc/apt/sources.list
. Benenne die alte Datei in so etwas wie umsources.list.orig
.testing.list
: Wiestable.list
, außer mittesting
.unstable.list
: Wiestable.list
, außer mitunstable
und Sicherheitslisten entfernen.experimental.list
: Wieunstable.list
, außer mitexperimental
.Sie können auch ein
oldstable
Insources.lists.d
und hinzufügenpreferences.d
(verwenden Sie eine Priorität von 1), obwohl dieser Moniker dazu neigt, abzulaufen und vor dem nächsten stabilen Zyklus zu verschwinden. In solchen Fällen können Siehttp://archive.debian.org/debian/
die Debian-Version (Etch, Lenny usw.) verwenden und hartcodieren.Um die Testversion eines Pakets zu installieren, verwenden Sie einfach
aptitude install lib-foobar-package/testing
oder springen Sie einfach in die Benutzeroberfläche von aptitude und wählen Sie die Version in den Paketdetails aus (drücken Sie die Eingabetaste für das betreffende Paket).Wenn Sie Beschwerden über Paketkonflikte erhalten, schauen Sie sich zuerst die Lösungen an. In den meisten Fällen lautet die erste "Diese Version nicht installieren". Erfahren Sie, wie Sie die Auswahlmöglichkeiten für das Akzeptieren / Ablehnen von Resolvern pro Paket verwenden. Wenn Sie beispielsweise foobar-package / testing installieren und die erste Lösung "foobar-package / testing nicht installieren" lautet, markieren Sie diese Auswahl als abgelehnt, und die anderen Lösungen wechseln nie wieder auf diesen Pfad. In solchen Fällen müssen Sie wahrscheinlich ein paar andere Testpakete installieren.
Wenn es zu haarig wird (wie wenn versucht wird, libc oder den Kernel oder ein anderes großes Kernsystem zu aktualisieren), können Sie diese Upgrade-Pfade entweder ablehnen oder einfach das anfängliche Upgrade ganz beenden. Denken Sie daran, dass nur dann ein Upgrade auf Testing / Unstable durchgeführt wird, wenn Sie dies zulassen.
BEARBEITEN: Einige Prioritäts-Pins wurden behoben und die Liste aktualisiert.
quelle
apt-get update
nachdem Sie die Konfigurationsdateien erstellt haben?sudo apt-get update
ich einen Update-Fehler bekommen. Dann neu gestartet, was gab mirXsession error
, neu gestartet, und jetzt habe ich keine gui. das/dev/sda1/
ist jetzt voll. Toll.In
/etc/apt/apt.conf.d
den folgenden Datei99defaultrelease
:in
/etc/apt/sources.list.d
- füge Urls für testing / unstable Quellenstable.list
:testing.list
:Lauf
und dann installieren, was Sie mit brauchen
Seien Sie sehr, sehr vorsichtig, wenn Sie Dinge installieren, die viele Abhängigkeiten haben. Tun Sie dies vorzugsweise nicht in der Produktion.
Sie können Ihr Glück auch in Backports oder einem ähnlichen Repository versuchen .
quelle
apt_präferenzen
Definieren Sie in der Datei / etc / apt / preferences die Standardstufe, auf die das System sicher aktualisieren soll:
man apt_preferences
Mit apt_preferences kann man viel anfangen, aber der Einfachheit halber ...
Ich musste ein einzelnes Paket (autoMysqlBackup) installieren, das nur in Testing verfügbar war. Die Lösung bestand darin, Folgendes zu / etc / apt / preferences hinzuzufügen:
Mit mehreren zu /etc/apt/sources.list hinzugefügten Repositorys wird Aptitude jetzt nur auf die angegebene Version aktualisiert, obwohl die Repositorys der späteren Versionen aufgelistet sind (in diesem Fall "stable").
Um dieses Paket zu installieren, müssen Sie lediglich Folgendes tun:
quelle
Für das, was es wert ist, ist der allgemeine Rat, den ich immer gesehen habe: "Mischen Sie sich nicht mit irgendetwas stabil." Die meisten Tutorials zu gemischten Systemen sind für das Mischen von Tests und Instabilitäten gedacht.
Die Argumentation scheint zu sein, dass, wenn Sie Stable mit Testing mischen, sehr einfache Pakete (wie libc6) Updates benötigen (um Software von Testing zu installieren), und sobald diese Basispakete zu Testing wechseln, kann das gesamte System auf diese Weise driften.
Hier sind zwei Alternativen:
quelle
Die Debian-Dokumentation ist umfangreich in diesem Thema und ich rate nachdrücklich, sich damit zu befassen, da sie die Schönheit des Debian-Systems wirklich enthüllen wird.
Werfen Sie einen Blick auf Wie man ein gemischtes System verwaltet . Hier erfahren Sie alles, was Sie wissen müssen.
quelle
Eine andere Möglichkeit, die verhindern könnte, dass zu viele Abhängigkeiten von Testing oder Sid installiert werden, ist folgende: Sie weisen apt-get an, die Quelle des Pakets von Testing oder Sid abzurufen und ein Paket für Ihr System mit Debian-Werkzeugen zu erstellen (Sie müssen nicht manuell basteln mit Quellen).
Zitiert von hier:
https://wiki.debian.org/DebianUnstable#How_do_I_backport_a_sid_package_to_testing_or_stable.3F
quelle
Ich habe es für einen längeren Zeitraum getan, um sicher zu sein, dass es sicher genug ist und bequem gemacht werden kann. Mit dem folgenden Setup wird die stabile Version standardmäßig installiert. In Aptitude können Sie jedoch auch eine backportierte oder eine instabile Version auswählen, wenn dies gewünscht wird:
Es müssen vier Dinge bearbeitet werden, das Standard-Pinning-Release muss festgelegt werden, die Quellen müssen Backports und Unstable hinzugefügt werden, die Pinning-Priorität von Backports / Unstable-Paketen muss gesenkt werden, und die Einstellungen für die Eignungsanzeige müssen geändert werden, um das Pinning anzuzeigen.
etc/apt/preferences
Pinning-Datei bearbeiten - Wenn die Datei nicht existiert, erstelle sie.quelle
source.list
sollte es Codenamen sagenjessie
stattsqueeze
. Debians Politiktesting
ist nahezu stabil und Pakete waren fast so neu wie aus demunstable
Repository. Mir geht hier der Speicherplatz aus, schauen Sie sich also bitte Folgendes an: wiki.debian.org/DebianReleases , wiki.debian.org/StableUpdates und wiki.debian.org/StableProposedUpdates ; Die letzten beiden sind zusätzliche Repository-Quellen.Wenn Ihre Paketauswahl umfangreicher ist oder die Installation auf mehreren Computern wiederholt wird, können Sie ein privates Repository einrichten, das eine Teilmenge der offiziellen Repositorys widerspiegelt. Dies erfordert ein wenig Arbeit bei der Konfiguration des Repositorys, aber die Belohnung lässt sich mit einem Minimum an Konfiguration auf jedem Client und wiederholbaren Ergebnissen bei Dutzenden von Installationen einfach verwalten. Ich finde dies hilfreich, auch wenn nur ein oder zwei Pakete installiert werden, und verwende diese Methode zur Automatisierung und Wartung von Cloud-Installationen. Ein einzelner Server auf einem billigen VPS kann Dutzende privater Repositorys verwalten.
So konfigurieren Sie Ihren privaten Repository-Server:
Konfigurieren Sie anschließend den gewünschten Webserver für die Bereitstellung der statischen Repository-Dateien. Schützen Sie das Repository möglicherweise mit einem Sicherheitszertifikat und einer grundlegenden Authentifizierung.
Um Ihr privates Repository automatisch zu verwalten und Updates vom Upstream abzurufen, fügen Sie die obigen Informationen in ein Skript ein und führen Sie sie von einem Cron-Job aus.
So konfigurieren Sie Ihren Client-Computer auf Ihrem Client-Computer:
Gehen Sie wie folgt vor, um Ihren Clientcomputer zu warten und alle Updates für Ihr privates Repository auf Ihrem Clientcomputer abzurufen:
quelle
Eine andere Möglichkeit ist, stattdessen das Quellpaket aus dem Test herunterzuladen. APT kann das Quellpaket nach dem Herunterladen automatisch erstellen. Auf diese Weise werden Ihre Stable-Pakete durch das Testen von Updates nicht beeinträchtigt. Der einzige Nachteil ist, dass es mehr Zeit braucht, als nur das Binärpaket herunterzuladen und zu installieren.
Um APT so zu konfigurieren, dass Quellpakete aus dem Test heruntergeladen werden, fügen Sie einfach Folgendes hinzu:
Wenn Sie nur den aktuellen und nicht den zukünftigen Tests folgen möchten, ersetzen Sie "testing" durch den aktuellen Codenamen (ab diesem Zeitpunkt ist es "buster").
quelle