web-dev-qa-db-ja.com

Debian sidから単一のパッケージをインストールする方法は?

スクイーズリリースには存在しなかった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
8
Xiè Jìléi

Sidリポジトリからソースパッケージをダウンロードして、スクイーズシステムでビルドすることもできます。依存関係がたくさんある場合、またはパッケージがsqueezeで使用できないライブラリのバージョンに依存している場合は、問題が発生する可能性があります。

これが機能する場合は、ブートストラップアプローチの場合のように、別のフォルダーに別のディストリビューションを保持する必要はありません。

1
Neil

あなたが本当に望んでいるのは、apt-pinningについて学ぶことです。 http://jaqque.sbih.org/kplug/apt-pinning.html

9
Rob

このパッケージは Debian Backports で利用可能であり、これによりあなたの生活がずっと楽になります。これらは通常、テストまたは不安定(sid)からプルされ、現在の安定版リリースに「バックポート」されたパッケージです。

この行をsources.listに追加します

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

次に実行します:

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

これを回避する1つの方法は、cdebootstrapを使用して基本的なsidシステムをインストールし、次にchrootを使用して新しいシステム内で必要なプログラムを実行することです。

cdebootstrapは、ディレクトリ内の任意のディストリビューションから新しいDebianシステムをインストールします。次に、chrootを使用すると、再起動などを行わずに、他のディストリビューションでプログラムを実行できます。

mount --bindを使用して、chrootされたシステムがホームフォルダや/ procなどにアクセスできるようにすることもできます。

Chrootされたシステム内から、apt-getはsidリポジトリからインストールされます。

詳細な説明については、 https://wiki.ubuntu.com/DebootstrapChroot を参照してください。

0
Neil