apt-cache show
パッケージのさまざまなバージョンを表示します
# apt-cache show libc6:i386
Package: libc6
Version: 2.17-97
Architecture: i386
...
Package: libc6
Status: install ok installed
Version: 2.17-7
Architecture: i386
Multi-Arch: same
...
Package: libc6
Version: 2.13-38
Architecture: i386
...
# apt-get show libc6:amd64
Package: libc6
Version: 2.17-97
Architecture: amd64
...
Package: libc6
Version: 2.13-38
Architecture: amd64
...
しかし、パッケージ バージョンを stable/testing/unstable などのリリース コード名にマッピングするにはどうすればよいでしょうか?
[XY 問題メモ] - 何を試み、何が起こるか:
i386 Debian をブートストラップして amd64 バイナリも実行できるようにしようとしています (i386 をプライマリ アーキテクチャとして維持)。
- 新しいamd64の世界を試すための第一歩として、プログラムを実行してみました。
- libssl.so.1.0.0が見つかりませんでした。
- libssl1.0.0:amd64をインストールしようとしましたが、
- libgcc1の非互換性により停止しました。
- libgcc1:amd64をインストールしようとしましたが、互換性がないというエラーが発生しました。
- システムをより新しいパッケージ(
apt-get upgrade
ゼロを表示するなど)にアップグレードしました。 - 明示的にバージョンを指定してインストールすることにより、i386 libgcc 関連パッケージを強制的にアップグレードしました (
apt-get install libstdc++6=4.8.2-1 gcc-4.8-base=4.8.2-1 libgcc1=1:4.8.2-1 libgfortran3=4.8.2-1 libquadmath0=4.8.2-1 libgcc-4.8-dev=4.8.2-1 libgomp1=4.8.2-1 libitm1=4.8.2-1 libatomic1=4.8.2-1 libasan0=4.8.2-1 libstdc++-4.8-dev=4.8.2-1
) - libgcc1:amd64 をインストールしてみましたが、以前に比べてエラーは減りましたが、libc6:amd64 がないためまだ停止しました。
- libc6:amd64をインストールしようとしましたが、互換性の問題で停止しました。
- によると、
apt-cache info
「私の」i386 バージョンの libc6 に対応する amd64 バージョンは現在存在しないことがわかりました。 - さまざまなバージョンに混乱しています。どれがまだ「squeeze」のバージョン (古すぎる) で、どれが「sid」のバージョン (手動インストールでのみ使用可能、アップグレードでは使用不可) です。完全にアップグレードしたばかりなのに、ライブラリの「my」バージョンがないのはなぜですか?
[/XY問題メモ]
アップデート試したことapt-cache policy
:
# apt-cache policy libc6:i386
libc6:
Installed: 2.17-7
Candidate: 2.17-7
Version table:
2.17-97 0
10 http://ftp.de.debian.org/debian/ sid/main i386 Packages
10 http://ftp.mgts.by/debian/ testing/main i386 Packages
*** 2.17-7 0
100 /var/lib/dpkg/status
2.13-38 0
900 http://ftp.mgts.by/debian/ wheezy/main i386 Packages
私の libc6 はその中間のようです。
答え1
パッケージ バージョンのコード名 (「wheezy」または「sid」) を取得するにはどうすればよいですか?
sid
Debian はローリングリリースなので、パッケージにはや がどこにも添付されていないためwheezy
、パッケージをどこからインストールしたかを知る唯一の方法は を使用することですapt-cache policy package
。
libc6の問題について:
32 ビットから 64 ビットに「アップグレード」したい場合は、それは不可能であり、むしろシステムが壊れる可能性が高いです。
パッケージlibc6
はすべての依存関係の母体です。最終的にシステムが64ビットか32ビットかを判断するものであり、変更は簡単ではありません。古い移行ガイドMultiarch と呼ばれる美しいものが存在するため、もう動作しません。別のガイドがありますしかしそれは危険すぎる実稼働環境(つまり自宅の PC)で試すと、おそらく起動できないシステムになり(それが唯一のシステムなら泣きそうになります)、再インストールするしか解決策はありません。つまり、コアまで 64 ビットのシステムが必要で、32 ビットがすでにインストールされているということですか? 解決策:
- VMを使用する
- LXCを使用する
- 再インストール
- 越えてみて
- 泣いて再インストール
それらが唯一の解決策です。
答え2
apt-cache madison を試しましたか?
eclipxe@localhost:~# apt-cache madison iceweasel
iceweasel | 25.0-1 | http://ftp.debian.org/debian/ experimental/main amd64 Packages
iceweasel | 24.1.0esr-1 | http://ftp.debian.org/debian/ unstable/main amd64 Packages
iceweasel | 17.0.9esr-1~deb7u1 | http://ftp.debian.org/debian/ testing/main amd64 Packages
eclipxe@localhost:~# apt-cache madison iceweasel | awk '{print $1,$6}'
iceweasel experimental/main
iceweasel unstable/main
iceweasel testing/main
(私は不安定版 [ピン: 200] と実験版 [ピン: 1] で Debian テストを実行しています)
また、上位バージョンのパッケージをインストールする場合は、--target-release を使用するようにしてください。
apt-get install -t unstable iceweasel