Linux
 Computer >> コンピューター >  >> システム >> Linux

AlienコマンドでLinuxパッケージを変換する方法|DEB・RPM・TAR.GZの相互変換ガイド

Linuxパッケージを別の形式に変換したいと思ったことはありませんか?欲しいパッケージが自分の使っているディストリビューション向けに提供されていないけれど、どうしても使いたい——そんな経験は誰にでもあるはずです。また、開発者の方なら、パッケージをビルドし直すことなく、プログラムを素早く他の形式へ再パッケージ化して時間を節約したいと考えることもあるでしょう。

幸い、Linuxにはまさにそのためのツールが用意されています。Alienを使えば、コマンドラインから既存のLinuxパッケージを簡単に別の形式へ変換できます。まずはシステムへのインストール方法から見ていきましょう。

LinuxにAlienをインストールする方法

AlienはUbuntuのuniverseリポジトリで提供されています。インストールするには、まずuniverseリポジトリを有効化し、パッケージリストを更新した上で、通常通りAPTを使ってalienパッケージをインストールします。

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

Debianユーザーの場合は、APTで直接インストールできます。

sudo apt install alien

Arch Linuxでは、公式リポジトリにまだAlienは収録されていません。ただし、AURヘルパーを使えばAURからインストール可能です。このガイドではyayを使用します。

yay -S alien

Fedora、CentOSなどRPMベースのディストリビューションでは、DNFを使って次のようにインストールできます。

sudo dnf install alien

インストールが完了したら、ターミナルでalien --versionと入力して確認しましょう。バージョン情報が表示されればインストール成功です。表示されない場合は、手順をもう一度見直してみてください。

Alienで変換できるパッケージ形式

Alienを使うと、複数のLinuxパッケージ形式を相互に変換できます。主な対応形式は以下の通りです。

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

Alienの主なオプション一覧

Alienでは以下のオプションが利用できます。

  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パッケージを作成する

Alienの基本的な使い方

コマンドの基本構文は次のとおりです。

sudo alien オプション ファイル名

「オプション」には変換先の形式を指定するフラグを、「ファイル名」には変換したいパッケージへの絶対パスまたは相対パスを指定します。

RPMパッケージをDEB形式に変換する例:

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

ここからは、DEBファイルを各種形式に変換する方法を紹介します。

DEB → RPM:

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

DEB → TAR.GZ:

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

DEB → LSB:

sudo alien --to-lsb file.deb
sudo alien -l file.deb

DEB → PKG:

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

DEB → SLP:

sudo alien --to-slp file.deb

なお、任意の形式から別の形式への変換も可能です。たとえば「RPM→LSB」「SLP→PKG」「PKG→DEB」といった組み合わせにも対応しています。

1つのコマンドで複数形式に同時変換する

1回のコマンド実行で複数の形式に変換することもできます。変換したい形式のフラグを並べて指定するだけです。

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つ増やします。たとえば、バージョン1.17.1のパッケージを変換すると、生成されるパッケージのバージョンは1.17.2になります。

この挙動を変更したい場合は、-kまたは--keep-versionフラグを使用します。

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

まとめ:AlienでLinuxパッケージ変換をマスターしよう

開発者にとって、異なるLinuxディストリビューション向けにパッケージを個別にビルドし直すのは大変な作業です。そんなとき、Alienを使えばパッケージを簡単に他の形式へ変換でき、作業時間を大幅に短縮できます。

ただし、Alienは便利なツールである一方、各ディストリビューションのネイティブパッケージを本格的に開発する用途には推奨されません。また、パッケージを公開する際は、プログラムが必要とする依存関係を必ず明記するようにしましょう。

  1. Linuxでパッケージがインストールされているか確認する方法|コマンドとGUIの使い分け

    Linuxにおける「パッケージ」とは、ソフトウェアの集合体のことです。そのインストール方法はディストリビューションごとに異なりますが、「特定のパッケージが現在インストールされているかどうか」を素早く確認する方法はいくつか存在します。ターミナル操作に慣れている方でも、視覚的なGUI操作を好む方でも、自分に合った方法で簡単にチェックできます。この記事では、Linuxでパッケージのインストール状況を確認するさまざまな手法を紹介します。 パッケージマネージャーを使って確認する どのLinuxディストリビューションにも、必ずパッケージマネージャーが搭載されています。名前の通り、ソフトウェアパッケージの

  2. Windows 10のPCで単位を変換する方法|電卓アプリの隠れた便利機能

    単位の変換が必要になったとき、わざわざインターネットで検索し直す必要はありません。Windows 10の「電卓」アプリを開けば、内蔵されたクイック変換機能をすぐに利用できます。 Windows 10において、Microsoftは「電卓」を単純な計算ツール以上の存在へと進化させました。左上にあるハンバーガーアイコン(三本線)をクリックするだけで、電卓の各モードを自由に切り替えられます。 充実の単位カテゴリ 用意されているオプションは非常に網羅的です。長さ、重さ、温度はもちろん、通貨の換算にも対応しており、あらゆるニーズに応えてくれます。さらに、時間、電力、データサイズといった単位の変換機能まで