回答:
ia32-libsパッケージは、64ビットインストールに32ビットパッケージをインストールするためのハックでした。Ubuntuバージョン11.10(Oneiric)以降、Multi Archが追加されました。その目的の1つは、ia32-libs
パッケージを削除することです。代わりに、以下を使用してパッケージの32ビットライブラリをインストールする必要があります。
sudo apt-get install package-name:i386
標準リポジトリ内のwine
パッケージ(パッケージなど)については、これについて心配する必要はありません。外部ソフトウェアの場合、依存関係を手動で見つける必要があるため、少し難しくなります。その場合は、お気に入りの検索エンジンを使用して、必要なライブラリを見つけてください。
ia32-libsはまだ存在しているようですが、一般的な32ビットライブラリを含めるための単なる便利なパッケージです。このパッケージでは、Multi Archを使用して32ビットパッケージを正しくインストールするようになりました。
ldd
、引数としてバイナリへのパスを渡します。出力にのような行が含まれている場合は、libz.so.1 => not found
を見つける必要がありますlibz.so.1
。packages.ubuntu.comを使用するかapt-file search
、そのファイルを含むパッケージを見つけることができます。上記の例では、をインストールする必要がありますzlib1g:i386
。
package-name
実際の名前に置き換える必要があります。使用ldd
上の第2のコメントを参照して、把握します。
ia32-libs
パッケージは完全に置き換えられましたlib32z1 lib32ncurses5 lib32bz2-1.0
。他のパッケージに機能が残っているため、これは問題になりません。ただし、誰もがパッケージを保守し、すべてのソフトウェアがFLOSSである理想的な世界には住んでいません。そのため、一部のパッケージはまだia32-libsに依存しています。
2つの方法があります。
ia32-libs
ます。(推奨)例としてcitrixレシーバーを使用しますが、このメソッドは任意の.debパッケージに使用できます。
最初に、ウェブサイトからcitrixレシーバーの.debパッケージをダウンロードし、一時ディレクトリにハッキングを実行させます。
mkdir ica_temp
パッケージを抽出する
dpkg-deb -x icaclient_13.0.0.256735_amd64.deb ica_temp
dpkg-deb --control icaclient_13.0.0.256735_amd64.deb ica_temp/DEBIAN
gedit(またはお気に入りのエディター)でファイルを開きます
sudo -H gedit ica_temp/DEBIAN/control
で始まる行を見つけますDepends:...
。削除ia32-libs
して追加lib32z1 lib32ncurses5 lib32bz2-1.0
変更されたパッケージを再構築する
dpkg -b ica_temp icaclient-modified.deb
そしてそれをインストールする
sudo dpkg -i icaclient-modified.deb
sudo apt-get install -f
citrixレシーバーをインストールするには、ハッキングも必要です。Ubuntu wikiで完全なインストール手順を見つけることができます
これは、まだia32-libsに依存している古い.debパッケージで実行できます。
古いパッケージをインストールすることは非常に悪い習慣であることに注意してください!残念なことに、一部のバイナリインストーラーでは、他に選択肢はありません。
ia32-libsパッケージはraringリポジトリからダウンロードできます。ダウンロードして手動でインストールすると、依存関係が解決されます。
ia32-libs-multiarch
代わりにパッケージをインストールすることになっていると読みました。しかし、それは私にとってはうまくいかず、このエラーが発生します
ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.
私のために働いた解決策は、次のパッケージをインストールすることでした:
sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
この特定のユースケースは、パッケージ「lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2」に置き換えられたと思います。これは、「multi-archを使用できます」と言うよりも、より具体的かつ有用な答えでしょう。
ia32-libsを次のようにインストールしました(64ビットマシンでUbuntu 13.04 Raring Ringtailを実行しています):
独自のアーキテクチャを確認します。
$ dpkg --print-architecture
外部アーキテクチャがインストールされているかどうかを確認します。
$ dpkg --print-foreign-architectures
上記の2つのコマンドの結果によっては、次の3つのコマンドが機能する場合があります(私の場合、処理に時間がかかりました)。
$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs
Package ia32-libs is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: lib32z1 lib32ncurses5 lib32bz2-1.0