ソースDEBパッケージを利用してソフトウェアインストールをカスタマイズする方法

もしあなたがUbuntuやFedoraのような主要なLinuxディストリビューションを使用しているなら、システムにバイナリパッケージ(DEBまたはRPM)を簡単にインストールできるパッケージマネージャが付属しているでしょう。しかし、追加機能を加えるなど、インストールするソフトウェアをカスタマイズする予定がある場合は、ソースパッケージを使用して自分でコンパイルすることを検討するかもしれません。

あなたがこれを自分で試してみたくなる理由はいくつかあります:

  • ローカルで何かをコンパイルすると、ハードウェアによりカスタマイズされたソフトウェアのバージョンが得られ、パフォーマンスの向上が期待できる場合があります(対照的に、事前にコンパイルされたバイナリは「最小公倍数」をターゲットにすることが多く、より高性能なマシンを活用できないことがあります)。
  • ソースからコンパイルすることで、ソフトウェアの特定の機能を有効または無効にする能力も得られます。場合によってはコードを変更する必要がありますが、場合によってはビルドコマンドからフラグを追加または削除するだけで済みます。
  • 最後に、フリーソフトウェアコミュニティのメンバーとして、これらの素晴らしいアプリケーションがどのように作られているかを探求することは決して悪いことではありません。元のソースコードのアーカイブからコンパイルすることは通常のユーザーが行うことを超えているかもしれませんが、ソースパッケージを使用することで、私たち一般ユーザーにとって開発およびコンパイルプロセスを垣間見ることができます。

DEBソースパッケージの構造

リポジトリからDEBソースパッケージをダウンロードしようとすると、パッケージマネージャは主に3つのファイルを扱います(以下のUbuntuリポジトリに示されています):

  • [package name]_[version number].orig.tar.gz: このファイルには、上流のソースコード、つまり元のプログラムの開発者からのソースコードが含まれています。
  • [package name]_[version number]build1.debian.tar.gz: このアーカイブには、上記のコードが含まれており、DEBベースのシステムと互換性を持たせるために必要な修正が加えられています。
  • [package name]_[version number]build1.dsc: パッケージ内のファイルの説明で、署名が含まれる場合もあります。

deb-src-repo-pandoc

DEBソースパッケージのインストール

DEBシステムとその関連ツールは、APTリポジトリからソフトウェアのバージョンをダウンロードしてコンパイルするのを非常に簡単にします。以下の手順でプロセスを説明します:

まず、他のソフトウェアをコンパイルするためのソフトウェアをインストールする必要があります。ターミナルから以下のコマンドを発行してください:

sudo apt-get install build-essential

また、ソースリポジトリが有効になっていることを確認する必要があります。

パッケージマネージャの「ソフトウェアソース」を確認して、「ソースコード」オプションがチェックされていることを確認してください。

muon-sources-sourcecode

または、「/etc/apt/sources.list」ファイルを確認し、以下の行が「#」マークなしで表示されていることを確認してください(表示されている場合は、単に削除してファイルを保存してください):

deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe  
deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse

apt-srcツールは、ソースパッケージで動作する「apt-get」のバージョンです。以下のコマンドでインストールします:

sudo apt-get install apt-src

注意: このパッケージを最初にインストールすると、build-essentialsパッケージも自動的にインストールされます

次に、必要なライブラリや他のソフトウェアを取得する必要があるかもしれません(これは依存関係ですが、バイナリパッケージをインストールする際に遭遇する依存関係とは異なります)。

sudo apt-get build-dep [package name]

これでパッケージをダウンロードできます。以下のコマンドは、パッケージを取得し、コンパイルして自動的にインストールします:

sudo apt-src --build install [package]

ソースパッケージをダウンロードして中を覗いたり、変更を加えたりしたい場合は、以下のコマンドでダウンロードしてローカルシステムにインストールできます:

sudo apt-src install [package name]

(これにより、上記のソースファイルがダウンロードされます)

sudo apt-src build [package name]

(これにより、ダウンロードしたファイルからパッケージがビルドされます)

sudo dpkg -i [package file name(s)].deb

Debianソースパッケージとその関連ツールは、フリーソフトウェアがどのように作られているかを学ぶための素晴らしい方法です。コミュニティのメンバーとして、あなたはそれを試してみるべきであり、開発者が注いだすべての努力に感謝することを学ぶべきです。