Wie installiere ich ein einzelnes Paket von Debian Sid?

8

Nehmen wir zum Beispiel ibus-sunpinyin, das in der Squeeze-Version nicht vorhanden ist. Ich werde nicht das gesamte System auf den Sid-Zweig umstellen, daher möchte ich das einzelne Paket aus dem Sid-Repository herunterladen und wie folgt installieren:

# Add the sid repository
sudo mv /tmp/sid.list /etc/apt/sources.list.d/

# Error: can't install because version conflicts of libc6:
#     sudo apt-get install ibus-sunpinyin

# This is ok but it will upgrade a lot of mess from sid branch:
#     sudo apt-get upgrade ibus-sunpinyin

# So, instead of apt-get install/upgrade, let me download & install the single package.
# However, this errored again because of version conflicts of libc6:
#      apt-get install --download-only ibus-sunpinyin

## THEN, WHAT CAN I DO? ##

# Remove the sid repository.
sudo mv /etc/apt/sources.list.d/sid.list /tmp

# Install the single package.
sudo dpkg -i ./ibus-sunpinyin-x.x.x.deb
Xiè Jìléi
quelle
So laden Sie ein einzelnes Paket herunter: Sie können apt-get download ...(für apt-get 0.8.11+) oder aptitude download .... Allerdings bin ich auch sudo dpkg -i ibus-sunpinyin-x.x.x.debaufgrund von Sid-Abhängigkeiten gescheitert .
Xiè Jìléi

Antworten:

1

Sie können auch versuchen, die Quellpakete aus dem Sid-Repository herunterzuladen und auf Ihrem Squeeze-System zu erstellen. Möglicherweise treten Probleme auf, wenn viele Abhängigkeiten bestehen oder wenn das Paket von einer Version einer Bibliothek abhängt, die in Squeeze nicht verfügbar ist.

Wenn dies funktioniert, müssen Sie keine andere Distribution in einem separaten Ordner verwalten, wie dies beim Bootstrap-Ansatz der Fall wäre.

Neil
quelle
1
Apt-Pinning ist der richtige Weg, TBH. jaqque.sbih.org/kplug/apt-pinning.html
Rob
9

Was Sie WIRKLICH wollen, ist, etwas über Apt-Pinning zu lernen. http://jaqque.sbih.org/kplug/apt-pinning.html

rauben
quelle
Sie benötigen dies, wenn das gewünschte Paket keinen Backport hat. Ansonsten würde ich wetten, dass Backports im Allgemeinen besser funktionieren.
d -_- b
1
Ja. Backports sind eine viel sicherere Wette. Apt-Pinning funktioniert nicht immer und zieht manchmal viel mehr als Sie wollen (niemand wird helfen wollen, wenn Sie libc6 von Sid ziehen!)
Rob
4

Dieses Paket ist in Debian Backports verfügbar , was Ihnen das Leben erheblich erleichtern wird. Dies sind im Allgemeinen Pakete, die aus dem Test gezogen oder instabil (sid) sind und auf die aktuelle stabile Version "zurückportiert" werden.

Fügen Sie diese Zeile zu Ihrem hinzu sources.list

deb http://backports.debian.org/debian-backports squeeze-backports main

dann renne:

apt-get update && apt-get -t squeeze-backports install ibus-sunpinyin
Chad Feller
quelle
0

Eine Möglichkeit, dies zu umgehen cdebootstrap, besteht darin, ein grundlegendes Sid-System zu installieren und dann chrootdas gewünschte Programm auf dem neuen System auszuführen.

cdebootstrapInstalliert ein neues Debian-System von einer beliebigen Distribution in einem Verzeichnis. Dann chrootkönnen Sie Programme in dieser anderen Distribution ausführen, ohne neu zu starten oder irgendetwas.

Sie können mount --binddas Chroot-System auch verwenden , um auf Ihren Home-Ordner, / proc usw. zuzugreifen.

Aus dem chrooted-System heraus wird apt-get aus dem Sid-Repository installiert.

Eine ausführlichere Erklärung finden Sie unter https://wiki.ubuntu.com/DebootstrapChroot .

Neil
quelle