2012/10/07

Debian wheezy で Skype を使う (Multiarch)

最近、amd64 な Debian sid (wheezy/testing) で Skype が使えなくなったー。
と思っていたのですが、どうも Debian が Multiarch に対応したようですね。
ARM 周りのサポートおかげでしょうか?
そのおかげで、ia32-libs などがなくなって、Skype の 64bit 版が使えなくなりました。
しかしながら、Multiarch を使えば、引き続き使えるようなのでそれをご紹介。

Multiarch とは、例えば i386 のバイナリを amd64 な kernel, マシンの上で動かせるようになるものです。
メインターゲットは x86 ではなく、ARM も複数の arch が最近出てきて (armel, armhf) その周りの対応のおかげのような気がしないでもありません。
このあたりに詳しいことが書いて有ります。

とりあえず、Multiarch で x86-64 なマシンの上で、i386 バイナリが動くように設定してみましょう。
やりかたは、Debian Wiki を参考にしました。

Architecture の追加

まずは dpkg に、multiarch で使う新しい architecture を追加します。
$ sudo dpkg --add-architecture i386
以下のように、foreign-architecture が追加できたことが確認できます。
$ sudo dpkg --print-architecture   
amd64
$ sudo dpkg --print-foreign-architectures
i386

apt の設定

/etc/apt/sources.list を以下のように編集します。
deb 行の [arch=amd64,i386] の部分を追加してください。
deb [arch=amd64,i386] http://ftp.jp.debian.org/debian/ wheezy main non-free contrib
deb [arch=amd64,i386] http://security.debian.org/ wheezy/updates main contrib non-free
それができたら、apt-get update します。

やらなくて良いみたいです。、

Skype のインストール

まずは、依存関係からチェック。
Multiarch で他の arch のバイナリをインストールする場合、パッケージ名に :i386 のような postfix をつけます。
$ sudo dpkg -I skype-debian_4.0.0.8-1_i386.deb
 Depends: libasound2 (>> 1.0.18), libc6 (>= 2.3.6-6~), libc6 (>= 2.7), libgcc1 (>= 1:4.1.1), 
libqt4-dbus (>= 4:4.5.3), libqt4-network (>= 4:4.5.3), libqt4-xml (>= 4:4.5.3), libqtcore4 (>= 4:4.6.1), 
libqtgui4 (>= 4:4.6.1), libstdc++6 (>= 4.4.0), libx11-6, libxext6, libxss1, libxv1

$ sudo aptitude install libasound2:i386 libc6:i386 libc6:i386 libgcc1:i386 libqt4-dbus:i386 
libqt4-network:i386 libqt4-xml:i386 libqtcore4:i386 libqtgui4:i386 libstdc++6:i386 libx11-6:i386 
libxext6:i386 libxss1:i386 libxv1:i386
Skype のサイトから 32bit (i386) 版をダウンロードしてインストールします。
$ sudo dpkg -i skype-debian_4.0.0.8-1_i386.deb
これでおわり。
他にも Multiarch が使えるようになると、色々できるようになるので、使ってみてください。

追記:
Debian Wiki にもやり方が掲載されてました。こちらもご覧ください。
http://wiki.debian.org/skype

0 件のコメント: