最新の64ビットディストリビューションのコンテナで既存の32ビットLinuxソフトウェアを実行する方法

最新の64ビットディストリビューションのコンテナで既存の32ビットLinuxソフトウェアを実行する方法

古い32ビットシステムでUbuntu 8.04を実行するために使用されていた古い独自のソフトウェアを実行するには、コンテナを作成する必要があります。私は必要なライブラリを最新バージョンに接続して、連続OSのアップグレードでソフトウェアを調整してきましたが、今はそれができなくなった点に達しました(少なくとも簡単ではありません)。

しかし、Playonlinuxを使用すると、特別なライブラリを含むコンテナを作成することができ、以前のWindowsプログラムはWindows 3.11にあると信じており、2018ビットシステムのLinux 64であるエイリアンの世界にいることを知らずに動作します。 ..可能であれば、誰かが私のLinux 32ビットソフトウェアを調整する方法を知っていれば、より簡単になります。

「Fakeroot」のような言葉が浮かび上がるのにどこから始めるべきかわかりません。

完全な答えが不可能であっても、手がかりを歓迎します。

PS。私はDebian 9を使用しています

ベストアンサー1

に基づいてUbuntu Wikiのこのページ1つの方法は、Ubuntu 8.04 chrootでプログラムを実行することです。このガイドラインでは、Ubuntuまたは他のDebian派生物(またはDebian自体)を想定しています。

  1. インストールdebootstrapschroot

    sudo apt install debootstrap schroot
    
  2. 32ビットUbuntu 8.04(Hardy Heronとも呼ばれる)用の設定ファイルを作成し、名前を付けて、/etc/schroot/chroot.d/hardy_i386.conf次のコンテンツを含めます。

    [hardy_i386]
    description=Ubuntu 8.04 Hardy for i386
    location=/srv/chroot/hardy_i386
    personality=linux32
    root-users=mephisto
    run-setup-scripts=true
    run-exec-scripts=true
    type=directory
    users=mephisto
    

    mephisto適切なユーザー名に置き換えてください。カンマを使用して複数のユーザーを指定できます)。

  3. Ubuntu 8.04をインストールします。

    sudo mkdir -p /srv/chroot/hardy_i386
    sudo debootstrap --variant=buildd --arch=i386 hardy /srv/chroot/hardy_i386 http://old-releases.ubuntu.com/ubuntu/
    
  4. chrootを使い始める:

    schroot -c hardy_i386 -u root
    

    (これを行うと、chrootにあるかのようにログインしますがroot、これはもちろん適切でもそうでないかもしれません)。

デフォルトでは、chrootはホームディレクトリをバインドマウントするので危険です。必要に応じ/homeて、行をコメントアウトしてこの機能を無効にできます/etc/schroot/mount-defaults

おすすめ記事