ubuntu のバイナリを openSUSE で動かすことは可能でしょうか
Linux向けとして、Ubuntu 向けのバイナリしかないソフトがあります。 それをopenSUSE で動かす、と言うことは可能なのでしょうか。 ribbon
鎌田@翻訳人です。 そのバイナリの素性次第だと思います。 CPUから見て対応可能なアーキテクチャのバイナリであり、 かつスタティックリンクであれば、動かすことは可能です。 (ディレクトリ構造等の環境差異で動作しない場合を除く) スタティックリンクかどうかはfileコマンドで確認できます。 $ file /somewhere/dir/binary -> "statically linked" が表示されればOKです。 ダイナミックリンクの場合は、そのバイナリが求めるライブラリ類が それぞれ必要です。lddコマンドで確認できます。 (例) $ ldd /usr/bin/ls linux-vdso.so.1 (0x00007ffcaf556000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fe2a9011000) libcap.so.2 => /usr/lib64/libcap.so.2 (0x00007fe2a8e07000) libc.so.6 => /lib64/libc.so.6 (0x00007fe2a8a12000) libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007fe2a8789000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fe2a8585000) /lib64/ld-linux-x86-64.so.2 (0x00007fe2a945d000) 無理矢理でよければ、どこかのディレクトリ以下にUbuntuの一式を展開して、 chroot経由で動かす方法もあります。 以上です。 On Wed, 30 Nov 2022 13:59:39 +0900 ribbon <opensuse@ribbon.or.jp> wrote:
Linux向けとして、Ubuntu 向けのバイナリしかないソフトがあります。 それをopenSUSE で動かす、と言うことは可能なのでしょうか。
ribbon
-- Yasuhiko Kamata <belphegor@belbel.or.jp>
正木です。 「可能か」というのが質問の本当の主旨であるならば、 答えは「はい」です。 「どうすれば動かせるか」というのが真意があるならば、 その方法は都度違うので答えるのは難しいです。 Linuxカーネルは互換性が維持されているため、 そのアーキテクチャで動くバイナリで、なおかつ純粋にバイナリでのみ提供されているのであれば 大抵の場合はそのまま動きます。ファイル配置の問題があったりするかもしれないので、 インストール作業は手作業になるかもしれませんが、大したことではないでしょう。 どうしてもUbuntuでしか動かないものであれば (かつ、現在のカーネルパラメータで動作するものであれば) 汎用性のある方法はUbuntu環境を借用することです。 まず、debootstrapを導入します。 これは、Debian、あるいはUbuntuでなくても利用可能なものです。 そして、例えば次のようにします。 # debootstrap --include=systemd-container --components=main,universe jammy ubuntu-container http://archive.ubuntu.com/ubuntu/ このようにして作ったコンテナは # systemd-snapwn -D ubuntu-container のようにして起動可能ですが、この作業はアップデート時などに必要となるだけです。 コンテナ経由でバイナリを動かす方法もありますが、ほとんどの場合そのようにせずとも $ export LD_LIBRARY_PATH=/var/lib/machines/ubuntu-container/lib:/var/lib/machines/ubuntu-container/usr/lib:$LD_LIBRARY_PATH $ PATH=$PATH:/var/lib/machines/ubuntu-container/bin:/var/lib/machines/ubuntu-container/usr/bin $ ./foo-binary のようにすれば動作するでしょう。 On Wed, 30 Nov 2022 13:59:39 +0900 ribbon <opensuse@ribbon.or.jp> wrote:
Linux向けとして、Ubuntu 向けのバイナリしかないソフトがあります。 それをopenSUSE で動かす、と言うことは可能なのでしょうか。
ribbon
On Wed, Nov 30, 2022 at 07:49:03PM +0900, MASAKI Haruka wrote:
正木です。
大抵の場合はそのまま動きます。ファイル配置の問題があったりするかもしれないので、 インストール作業は手作業になるかもしれませんが、大したことではないでしょう。
やってみました。ターゲットなプログラムは dpkg になっていたので、 それを Ubuntu上でインストール。出てきたディレクトリをまるごと openSUSE に持ってきたらちゃんと動きました。 全部は確認していませんが、主要なところは動いている感じです。 ありがとうございました。 ribbon
participants (3)
-
MASAKI Haruka
-
ribbon
-
Yasuhiko Kamata