Nehmen wir zum Beispiel ibus-sunpinyin, das in der Squeeze-Version nicht vorhanden war. Ich werde nicht das ganze System auf den Sid-Zweig umstellen, also möchte ich das einzelne Paket aus dem Sid-Repository herunterladen und es 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
Antwort1
Sie können auch versuchen, die Quellpakete aus dem Sid-Repository herunterzuladen und sie auf Ihrem Squeeze-System zu erstellen. Sie könnten jedoch auf Probleme stoßen, 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 weitere Distribution in einem separaten Ordner verwalten, wie dies beim Bootstrap-Ansatz der Fall wäre.
Antwort2
Was Sie WIRKLICH wollen, ist, etwas über Apt-Pinning zu lernen.http://jaqque.sbih.org/kplug/apt-pinning.html
Antwort3
Eine einfache Möglichkeit hierzu besteht darin, Voreinstellungen so festzulegen, dass das System für die meisten Pakete verwendet , bei fehlenden Paketen jedoch auf oder stable
zurückgreift .testing
unstable
Hier sind die Schritte:
Fügen Sie dies hinzu zu
/etc/apt/sources.list
:deb http://deb.debian.org/debian buster main deb http://deb.debian.org/debian testing main non-free contrib deb http://deb.debian.org/debian unstable main non-free contrib
Schreiben Sie dies in
/etc/apt/preferences
(oder erstellen Sie die Datei)Package: * Pin: release a=stable Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 650 Package: * Pin: release a=unstable Pin-Priority: 600
Laufen
apt-get update
Installieren Sie das gewünschte Paket (zB
apt-get install ibus-sunpinyin
)
PS: Sie können die Installation einesinstabilPaket mitapt-get install <package>/unstable
Antwort4
Sie können dies umgehen, indem Sie cdebootstrap
mit ein einfaches Sid-System installieren und anschließend chroot
mit das benötigte Programm im neuen System ausführen.
cdebootstrap
installiert ein neues Debian-System aus der von Ihnen gewünschten Distribution in einem Verzeichnis. Anschließend chroot
können Sie Programme in dieser anderen Distribution ausführen, ohne einen Neustart oder ähnliches durchführen zu müssen.
Sie können mount --bind
dem Chroot-System auch Zugriff auf Ihren Home-Ordner, /proc usw. gewähren.
Innerhalb des Chroot-Systems führt apt-get die Installation aus dem Sid-Repository durch.
Eine ausführlichere Erklärung finden Sie unterhttps://wiki.ubuntu.com/DebootstrapChroot.