Wie installiere ich einige Pakete von "instabilem" Debian auf einem Computer, auf dem "stabiles" Debian ausgeführt wird?

13

Wenn aptitude install <package>/unstableich auf einem Computer mit "stabilem" Debian versuche, ein Paket zu installieren, das sich in der instabilen Liste auf der Debian-Website befindet , erhalte ich mit dem folgenden Befehl eine Ausgabe wie folgt :

Couldn't find any package whose name or description matched "<package>"
Couldn't find any package whose name or description matched "<package>"
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

Was kann ich tun, um "instabile" Pakete installieren zu können? (Ich dachte daran, das Repository hinzuzufügen sources.list, aber ich möchte nicht, dass alles von "instabil" installiert wird.)

Also: Wie kann ich instabile Pakete installieren (mit Verwendung /stableam Ende des Paketnamens)?

Abbafei
quelle
Eine ausführliche Antwort auf diese Frage finden Sie unter unix.stackexchange.com/q/112157/4671 .
Faheem Mitha
1
Kurzfassung: Nicht. Längere Version: Tun Sie dies nicht . Verwenden Sie Backports, wenn Sie müssen, aber mischen Sie nicht stabil / instabil.
Shadur
Ich glaube, dies wird als "FrankenDebian" bezeichnet: "Debian Stable sollte nicht mit anderen Versionen kombiniert werden. Wenn Sie versuchen, Software zu installieren, die in der aktuellen Debian Stable-Version nicht verfügbar ist, ist es keine gute Idee, Repositorys für hinzuzufügen andere Debian-Versionen. Die Probleme treten möglicherweise nicht sofort auf, aber wenn Sie das nächste Mal Updates installieren. " Von Don't Break Debian .
Malan

Antworten:

28

Sie müssen unstablein Ihrem aufgeführt sein sources.list. Andernfalls findet apt das Paket einfach nicht.

Um zu vermeiden, dass unstablePakete eingezogen werden, haben Sie zwei Möglichkeiten.

  • Der einfache Weg besteht darin, eine Default-ReleaseKlausel zu /etc/apt/apt.conf(oder zu einer Datei unter /etc/apt/apt.conf.d/z /etc/apt/apt.conf.d/my-default-release. B. ) hinzuzufügen .

    APT::Default-Release "stable";
    
  • Der schwierige Weg ist, APT-Einstellungen zu verwenden . In /etc/apt/preferences:

    Package: *
    Pin: release o=Debian,a=unstable
    Pin-Priority: 10
    

Beachten Sie, dass es für den größten Teil der Lebensdauer einer Debian-Version nicht praktikabel ist, die meisten Pakete von instabil auf einem stabilen System zu installieren, da sie viele Bibliotheken von instabil abrufen und Sie am Ende ein instabiles System haben. Wenn Sie instabil ausführen möchten, ersparen Sie sich Probleme, wenn Sie nur auf instabil (oder auf Tests) abzielen. Es ist am besten, sich an eine einzelne Version zu halten oder gelegentlich instabil zu testen, wenn Sie sich trauen. Und natürlich bleiben Sie auf einem Produktionssystem stabil.

Wenn Sie stabil arbeiten, aber eine neuere Version einer Anwendung benötigen, prüfen Sie zunächst, ob für diese ein Backport vorhanden ist . Wenn Sie andernfalls ein Paket von instabil installieren möchten, aber seine Abhängigkeiten nicht berücksichtigen müssen, versuchen Sie, die Quelle von instabil abzurufen und neu zu kompilieren.

apt-get source foo=1.42
apt-get build-dep foo  # pulls the dependencies of foo in stable but that's often good enough
dpkg-source -x foo_1.42.dsc
cd foo-1.4210126#10126
dpkg-buildpackage -rfakeroot -us -uc -b -nc
dpkg -i ../foo_1.42_$(arch).deb
Gilles 'SO - hör auf böse zu sein'
quelle
1
+1 für die Erwähnung von Backports, aber Sie sollten nachdrücklich darauf hinweisen, dass das Mischen von stabil / instabil wirklich blutig gefährlich ist. Wenn Sie nicht wissen, was Sie tun, sollten Sie dies nicht auf einem Produktionssystem tun .
Shadur