sonickun.log

備忘録

64bit-Linuxで32bitバイナリ実行環境を構築

 とある32bitのELFファイルを64bit環境で実行しようとしたら

 No such file or directory

 と出てしまいました。


 いろいろ調べたところ、apt-getで「ia32-libs」をインストールすれば良いとありましたが、実際にapt-getを実行したら、パッケージが無い、あるいは古くなっていると言われ、インストール出来ませんでした。

 その際、Ubuntuがご丁寧にも「代わりにこんなパッケージがあるよ♪」と紹介してくれました。

 それがこちら↓

  • lib32z1
  • lib32ncurses5
  • lib32bz2-1.0

 ということで、「lib32z1」を以下のコマンドでインストール

$ sudo apt-get install lib32z1


 これで無事、32bitのアプリケーションを実行できました。
 64bitのUbuntu, Kaliで動作確認済みです。



 もしこれでも「パッケージがない」と言われたら、apt-get updateを実行してみてください。
 
 それでもダメだったら、リポジトリが登録されてないことが考えられます。
 レポジトリを追加するには、/etc/apt/sources.listに以下の行を追加して、最後にapt-get updateを実行してください。

Ubuntuの場合

deb http://us.archive.ubuntu.com/ubuntu/ saucy universe
deb-src http://us.archive.ubuntu.com/ubuntu/ saucy universe
deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe


Kaliの場合

deb http://http.kali.org/kali kali main non-free contrib
deb http://security.kali.org/kali-security kali/updates main contrib non-free
deb-src http://http.kali.org/kali kali main non-free contrib
deb-src http://security.kali.org/kali-security kali/updates main contrib non-free
deb http://repo.kali.org/kali kali-bleeding-edge main