たとえば、squeeze リリースには存在しない ibus-sunpinyin を例に挙げます。システム全体を sid ブランチに切り替えるつもりはないので、sid リポジトリから単一のパッケージをダウンロードして、次のようにインストールします。
# 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
答え1
sid リポジトリからソース パッケージをダウンロードし、squeeze システムでビルドすることもできます。依存関係が多数ある場合や、パッケージが squeeze で利用できないライブラリのバージョンに依存している場合は、問題が発生する可能性があります。
これが機能する場合は、ブートストラップ方式の場合のように、別のフォルダーに別のディストリビューションを管理する必要はありません。
答え2
本当に必要なのは、apt-pinning について学ぶことです。http://jaqque.sbih.org/kplug/apt-pinning.html
答え3
これを行う簡単な方法の 1 つは、システムがほとんどのパッケージに対して を使用し、不足しているパッケージに対してまたは にstable
フォールバックするように設定することです。testing
unstable
手順は次のとおりです。
これを追加
/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
これを書き込む
/etc/apt/preferences
(またはファイルを作成する)Package: * Pin: release a=stable Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 650 Package: * Pin: release a=unstable Pin-Priority: 600
走る
apt-get update
必要なパッケージをインストールします(例
apt-get install ibus-sunpinyin
:)
PS: インストールを強制することもできます不安定パッケージ付きapt-get install <package>/unstable
答え4
この問題を回避する 1 つの方法は、 を使用しcdebootstrap
て基本的な sid システムをインストールし、 を使用してchroot
新しいシステム内で必要なプログラムを実行することです。
cdebootstrap
任意のディストリビューションから新しい Debian システムをディレクトリにインストールします。その後、chroot
再起動などを行わずに、他のディストリビューションのプログラムを実行できます。
mount --bind
また、chroot されたシステムがホーム フォルダーや /proc などにアクセスできるようにするためにも使用できます。
chroot されたシステム内から、apt-get は sid リポジトリからインストールします。
より詳しい説明については、https://wiki.ubuntu.com/DebootstrapChroot。