ウェブサイト検索

エイリアンを使用してLinuxパッケージを変換する方法


別の形式にLinuxパッケージを再構築したいが、あまり時間をかけたくないですか?Linux用のオープンソースパッケージフォーマットコンバータであるAlienをチェックしてください。

Linuxパッケージを他のフォーマットに変換したいですか?もしかしたら、あなたが探しているパッケージはあなたのディストリビューション用には利用できないけれど、それでも何としても欲しいのかもしれません。または、開発者で、パッケージを再構築せずに迅速に他のフォーマットに再パッケージ化することで時間を節約したいのかもしれません。

幸運なことに、Linuxには必要なツールがあります。Alienを使えば、コマンドラインを通じて既存のLinuxパッケージを他の形式に簡単に変換できます。まずは、システムにツールをインストールするところから始めましょう。

Linuxにエイリアンをインストールする方法

AlienはUbuntuのuniverseリポジトリにあります。インストールするには、まずuniverseリポジトリを有効にし、システムのパッケージリストを更新します。その後、通常通りAPTを使用してalienパッケージをインストールします。

sudo add-apt-repository universe
sudo apt update
sudo apt install alien

DebianのユーザーはAPTを使用して単にパッケージをインストールできます:

sudo apt install alien

Alienはまだ公式のArchリポジトリにありません。しかし、AURヘルパーを使用してAURからインストールできます。このガイドでは、yayを使用します。

yay -S alien

Fedora、CentOS、その他のRPMベースのディストリビューションでは、以下のようにDNFを使用してAlienをインストールできます:

sudo dnf install alien

インストールが完了したら、ターミナルにalien --versionと入力してインストールを確認してください。このコマンドがパッケージのバージョン情報を返す場合、インストールは成功です。ただし、そうでない場合は、インストール手順を再度確認してみてください。

Alienを使用してLinuxパッケージを変換する

Alienを使用すると、多くのLinuxパッケージ間で変換できます。いくつかの例を挙げると:

  1. DEB(Debianベースのディストリビューション)
  2. TAR.GZ(パッケージアーカイブ)
  3. RPM(Fedora、CentOS、およびその他のディストリビューション)
  4. PKG(Solarisパッケージ形式)
  5. SLP
  6. LSB

エイリアンは次のオプションを解釈できます:

  1. -d または --to-dpkg: 指定されたパッケージを DEB パッケージ形式に変換します
  2. -r または --to-rpm: パッケージをRPM形式に変換します
  3. -t または --to-tgz: 指定されたパッケージからTAR.GZアーカイブファイルを生成します
  4. -l または --to-lsb: LSB (Linux Standard Base) パッケージを作成します
  5. -p または --to-pkg: 指定されたパッケージを PKG 形式に変換します
  6. --to-slp: SLPパッケージを作成する

Linuxでエイリアンを使用する方法

ユーティリティの基本的な構文は次のとおりです:

sudo alien options filename

...コマンドで使用できるさまざまなオプションと、ファイル名は変換したいパッケージへの絶対パスまたは相対パスです。

RPMパッケージをDEBに変換するには:

sudo alien --d file.rpm
sudo alien --to-deb file.rpm

パッケージを他のすべての形式に変換する方法を示すために、DEBファイルを他のLinuxパッケージに変換します。

DEBをRPMに:

sudo alien -r file.deb
sudo alien --to-rpm file.deb

DEBからTAR.GZへ:

sudo alien -t file.deb
sudo alien --to-tgz file.deb

DEBからLSBへ: sudo alien -l file.deb sudo alien --to-lsb file.deb DEBからPKGへ:

sudo alien -p file.deb
sudo alien --to-pkg file.deb

DEBからSLPへ:

sudo alien --to-slp file.deb

任意のパッケージ形式を他の形式に変換できることにも注意してください。例えば、RPMからLSB、SLPからPKG、PKGからDEBなどです。

単一のコマンドを使ってパッケージを複数のフォーマットに変換することも可能です。変換のためのフラグを次のように指定するだけです。

sudo alien --to-deb --to-rpm --to-tgz file.pkg
sudo alien -d -r -p file.tar.gz

パッケージに形式に特有のスクリプトが含まれている場合、--scripts または -c フラグを使用してそれらのスクリプトを変換できます。

sudo alien --scripts --to-deb file.rpm
sudo alien -c --to-deb file.rpm

変換後にパッケージをインストールする

パッケージの変換に加えて、Alienはパッケージをインストールすることもできます。変換後にすぐにパッケージをインストールするには、コマンドに--installまたは-iフラグを追加してください。

例えば:

sudo alien --to-rpm --install file.deb
sudo alien -r -i file.deb

変換中のバージョン情報の取り扱い

デフォルトでは、Alienはパッケージのバージョン詳細を自動的に増加させます。バージョン番号1.17.1のパッケージをAlienを使用して変換すると、生成されるパッケージのバージョン番号は1.17.2になります。

このデフォルトの動作は、-k または --keep-version フラグを使用して次のように上書きすることができます:

sudo alien --to-rpm -k file.deb
sudo alien --to-rpm --keep-version file.deb

Linuxでパッケージを変換できるようになりました

開発者として、異なるLinuxディストリビューション用にパッケージを再構築するのは大変なことがあります。この問題に対処するために、Alienを使用してパッケージを他のLinuxフォーマットに簡単に変換することができます。

エイリアンは信頼性のあるユーティリティですが、ディストリビューション向けにネイティブパッケージを正しく開発したい場合はお勧めできません。また、パッケージを公開する際には、プログラムに必要な依存関係を常にリストアップするべきです。

関連記事: