エイリアンを使用して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 alienDebianのユーザーはAPTを使用して単にパッケージをインストールできます:
sudo apt install alien
Alienはまだ公式のArchリポジトリにありません。しかし、AURヘルパーを使用してAURからインストールできます。このガイドでは、yayを使用します。
yay -S alienFedora、CentOS、その他のRPMベースのディストリビューションでは、以下のようにDNFを使用してAlienをインストールできます:
sudo dnf install alienインストールが完了したら、ターミナルにalien --versionと入力してインストールを確認してください。このコマンドがパッケージのバージョン情報を返す場合、インストールは成功です。ただし、そうでない場合は、インストール手順を再度確認してみてください。
Alienを使用してLinuxパッケージを変換する
Alienを使用すると、多くのLinuxパッケージ間で変換できます。いくつかの例を挙げると:
- DEB(Debianベースのディストリビューション)
- TAR.GZ(パッケージアーカイブ)
- RPM(Fedora、CentOS、およびその他のディストリビューション)
- PKG(Solarisパッケージ形式)
- SLP
- LSB
エイリアンは次のオプションを解釈できます:
- -d または --to-dpkg: 指定されたパッケージを DEB パッケージ形式に変換します
- -r または --to-rpm: パッケージをRPM形式に変換します
- -t または --to-tgz: 指定されたパッケージからTAR.GZアーカイブファイルを生成します
- -l または --to-lsb: LSB (Linux Standard Base) パッケージを作成します
- -p または --to-pkg: 指定されたパッケージを PKG 形式に変換します
- --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.debDEBからLSBへ: sudo alien -l file.deb sudo alien --to-lsb file.deb DEBからPKGへ:
sudo alien -p file.deb
sudo alien --to-pkg file.debDEBから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.debLinuxでパッケージを変換できるようになりました
開発者として、異なるLinuxディストリビューション用にパッケージを再構築するのは大変なことがあります。この問題に対処するために、Alienを使用してパッケージを他のLinuxフォーマットに簡単に変換することができます。
エイリアンは信頼性のあるユーティリティですが、ディストリビューション向けにネイティブパッケージを正しく開発したい場合はお勧めできません。また、パッケージを公開する際には、プログラムに必要な依存関係を常にリストアップするべきです。
