1. ソースリポジトリを有効にする
ソースパッケージをリビルドする前の最初のステップは、ディストリビューションのソースリポジトリを有効にすることです。ソースリポジトリを有効にすると、デフォルトの apt パッケージマネージャを使用してソースパッケージを検索・ダウンロードできるようになります。
Debian システムでは、"/etc/apt/sources.list" ファイルを編集して、ソースパッケージを追加することができます。 例えば、ソースパッケージを有効にしたDebian busterの “sources.list “の内容は、以下の通りです。deb http://deb.debian.org/debian buster main
deb-src http://deb.debian.org/debian buster main
deb http://deb.debian.org/debian-security/ buster/updates main
deb-src http://deb.debian.org/debian-security/ buster/updates main
deb http://deb.debian.org/debian buster-updates main
deb-src http://deb.debian.org/debian buster-updates main
deb-src` はソースパッケージを有効にし、パッケージマネージャに通常のバイナリファイルではなく、ソースパッケージを渡すように通知します。
有効化したら、ファイルを保存して、コマンドを使用してシステムを更新します。sudo apt-get update
2. ソースパッケージの取得
アップデート処理を実行したら、次に、システムを修正するためのソースパッケージを取得することができます。
例えば、tar パッケージを使用してみましょう。まず、ソースパッケージを格納するためのディレクトリを作成します。mkdir apt-rebuilds
cd apt-rebuilds
次に、コマンドを使用してソースパッケージをダウンロードします。
apt-get source tar
ディレクトリ内のファイルを見るには
ls -la
3. 3. ビルド依存性のチェックとインストール
次のステップでは、再構築するパッケージに必要なビルドの依存関係をチェックし、インストールします。
ソースパッケージのディレクトリの中で、以下のコマンドを入力して、満たされていないビルド依存性をチェックします。sudo dpkg-checkbuilddeps
このコマンドは、そのパッケージの満たされていない依存関係をすべて表示します。手動でインストールすることもできますが、よりシンプルな方法は apt
を使ってソースパッケージをインストールすることです。
sudo apt-get build-dep tar
上記のコマンドは依存関係を取得し、インストールを行います。
4. パッケージの修正
この段階で、パッケージに変更を加え、必要な機能を有効または無効にしたいと思うでしょう。(これを行うのは広範な側面であるため、各パッケージに対して行えるすべての変更を網羅することはできません)。
すべての変更と個人的な調整を行ったら、ソースを再コンパイルし、異なるバージョン番号で保存してください。これはコマンドを使用して行うことができます。dch --local tar
このコマンドを実行すると、使用するエディタが表示され、編集用の変更履歴が表示されます。
数行追加して、変更点を説明し、バージョンを変更することができます。5. パッケージのビルド
最後のステップは、ソースパッケージをビルドすることです。ソースパッケージのディレクトリにいることを確認し、コマンドを実行します。
dpkg-buildpackage --force-sign
このコマンドは、上記のステップで行われたすべての変更を使用して、ビルドプロセスを初期化します。
変更内容やリビルドするパッケージによって、この処理には数分から数十分かかることがあります。6. パッケージのインストール
ビルドプロセスが完了すると、親ディレクトリにバイナリパッケージが生成されます。インストールするには、dpkg
コマンドを使用するだけです。
sudo dpkg -i \*.deb
最後に
パッケージのビルドは Linux 管理者にとって必須のスキルであり、Linux の一般ユーザとし ても持っていて損はないスキルです。ソースからパッケージをビルドする方法がわかったところで、Linuxで簡単にファイル名を変更する方法と、LinuxのHostsファイルの使い方と編集方法についても学びましょう。