AlpineにUbuntuまたはDebianパッケージをインストールできますか?

AlpineにUbuntuまたはDebianパッケージをインストールできますか?

AlpineがUbuntuまたはDebianパッケージをインストールできるかどうか尋ねたいです。私はAlpineがmuslを使用し、Debianがglibcを使用していることを知っています。大きな努力がなくても可能かどうか疑問に思います。以前はUbuntuで実行されていたサーバーをAlpineに移植しようとしましたが、Nginx sub_filterはAlpineバージョンのNginxでは利用できず、そのモジュールが必要であることに気づきました。

ベストアンサー1

実際には、以下を.deb使用してAlpineに軽量パッケージをインストールできます。dpkg。ただし、.debパッケージに依存するすべてのファイルが必要なので、これは非常に単純な場合にのみ機能します。

AlpineでDebian / Ubuntuバイナリを実行する際の主な問題は、実際にはglibcとmusl libcの非互換性です。この問題には複数のレベルでアクセスできます。

  1. より軽いglibc互換性のためにインストールしてみてくださいlibc6-compat。これはいくつかのglibcインターフェイスとスタブを提供するmuslを囲む薄いラッパーです。しかし、複雑なglibcアプリケーションでは動作しません。

  2. 完全なglibc互換性のために、@FederalReserveが提案したように、Alpineコンテナにglibcをインストールできます。これは実際にシンプルで一般的なプロセスです。例をご覧ください。ドッカーファイル。 glibc は Alpine イメージに数 MB だけ追加します。これは、Alpineの基本イメージ自体が約5MBであることを考慮すると比較的大量ですが、絶対的なMB増加の観点からは確実に許容できます。

  3. Alpineでローカルにソフトウェアを構築してみてください。あなたの場合、Nginx sub_filterはモジュールを有効にしています。しかし、Nginxの場合、どのくらいの作業が必要かわかりません(NginxビルドシステムとモジュールをAlpine Linuxに移植する必要があるかどうかによって異なります)。したがって、これは単なる提案です。

おすすめ記事