APT でできる多くの便利なことの 1 つは、メタパッケージの作成です。これは、他のパッケージのリストを依存関係として宣言する、実質的に空のパッケージです。 Kali Linux には、パスワード クラッキング、ソフトウェア無線、ワイヤレス、Web アプリケーションなどのメタパッケージが含まれていますが、(ほとんどの人のように) 特定のニーズがある場合は、独自のメタパッケージをすばやく簡単に定義できます。これについては、この投稿で説明します。
始める前に、devscripts をインストールする必要があります このパッケージには、パッケージ管理用の多数のツールとユーティリティが含まれています。
[email protected]:~# apt install devscripts
Kali では、すべてのメタパッケージは適切な名前の kali-meta で定義されます 必要に応じて複製および変更できるようにします。
[email protected]:~# git clone git://gitlab.com/kalilinux/packages/kali-meta
Cloning into 'kali-meta'...
remote: Counting objects: 998, done.
remote: Compressing objects: 100% (809/809), done.
remote: Total 998 (delta 365), reused 0 (delta 0)
Receiving objects: 100% (998/998), 179.90 KiB | 570.00 KiB/s, done.
Resolving deltas: 100% (365/365), done.
warning: remote HEAD refers to nonexistent ref, unable to checkout.
上記の「チェックアウトできません」というメッセージは気になるように見えますが、最初にデフォルト ブランチ (kali/master) をチェックアウトする必要があることを意味するだけです。これは次のように実行できます。
[email protected]:~# cd kali-meta/
[email protected]:~/kali-meta# git checkout kali/master
Branch 'kali/master' set up to track remote branch 'kali/master' from 'origin'.
Switched to a new branch 'kali/master'
[email protected]:~/kali-meta#
新しいメタパッケージを作成する (または既存のものを更新する) には、debian/control を編集する必要があります パッケージ情報を含むファイル。各メタパッケージは、kali-linux-gpu のような、パッケージの依存関係のカンマ区切りのリストです。 以下に示します。
Package: kali-linux-gpu
Architecture: any
Depends: ${misc:Depends},
kali-linux,
oclhashcat [amd64 i386],
pyrit,
oclgausscrack [amd64 i386],
truecrack,
新しいメタパッケージは「kali-linux-mytools」と呼ばれ、Vagrant、VirtualBox、LibreOffice、および Chromium をインストールします。 debian/control のこのメタパッケージのエントリ 次のようになります:
[email protected]:~/kali-meta# tail -n 14 debian/control
Package: kali-linux-mytools
Architecture: any
Depends: ${misc:Depends},
kali-linux,
virtualbox,
vagrant,
libreoffice,
chromium,
Description: My required Kali tools
This is Kali Linux, the most advanced penetration testing and security
auditing distribution.
.
This metapackage depends on the tools I install most often.
新しいメタパッケージを定義したら、パッケージをビルドする前にバージョン番号を「dch」で増やす必要があります。これにより、debian/changelog に変更の詳細を入力するためのエディタが起動します .
[email protected]:~/kali-meta# dch --local dookie
[email protected]:~/kali-meta# head -n 5 debian/changelog
kali-meta (2018.3.2dookie1) UNRELEASED; urgency=medium
* Added kali-linux-mytools
-- dookie <[email protected]> Tue, 11 Sep 2018 09:40:10 -0600
最後に、「dpkg-buildpackage」コマンドを使用して新しいパッケージのビルドに進むことができます。メタパッケージは依存関係の単なるリストであるため、ビルド プロセスは非常に迅速です。
[email protected]:~/kali-meta# dpkg-buildpackage -us -uc -b
dpkg-buildpackage: info: source package kali-meta
dpkg-buildpackage: info: source version 2018.3.2dookie1
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by dookie <[email protected]>
dpkg-buildpackage: info: host architecture amd64
...
dpkg-deb: building package 'kali-linux-pwtools' in '../kali-linux-pwtools_2018.3.2dookie1_amd64.deb'.
dpkg-deb: building package 'kali-linux-top10' in '../kali-linux-top10_2018.3.2dookie1_amd64.deb'.
dpkg-deb: building package 'kali-linux-mytools' in '../kali-linux-mytools_2018.3.2dookie1_amd64.deb'.
dpkg-genbuildinfo --build=binary
dpkg-genchanges --build=binary >../kali-meta_2018.3.2dookie1_amd64.changes
dpkg-genchanges: info: binary-only upload (no source code included)
dpkg-source --after-build kali-meta
dpkg-buildpackage: info: binary-only upload (no source included)
ビルドが完了すると、新しいメタパッケージを他のパッケージと同様に「apt」でインストールできます。
[email protected]:~/kali-meta# apt install ../kali-linux-mytools_2018.3.2dookie1_amd64.deb
...
[email protected]:~/kali-meta# apt-cache policy vagrant virtualbox libreoffice chromium
vagrant:
Installed: 2.1.2+dfsg-1
Candidate: 2.1.2+dfsg-1
Version table:
*** 2.1.2+dfsg-1 500
500 http://192.168.86.4/kali kali-rolling/main amd64 Packages
100 /var/lib/dpkg/status
virtualbox:
Installed: 5.2.18-dfsg-2
Candidate: 5.2.18-dfsg-2
Version table:
*** 5.2.18-dfsg-2 500
500 http://192.168.86.4/kali kali-rolling/contrib amd64 Packages
100 /var/lib/dpkg/status
libreoffice:
Installed: 1:6.1.1~rc1-2
Candidate: 1:6.1.1~rc1-2
Version table:
*** 1:6.1.1~rc1-2 500
500 http://192.168.86.4/kali kali-rolling/main amd64 Packages
100 /var/lib/dpkg/status
chromium:
Installed: 68.0.3440.75-2
Candidate: 68.0.3440.75-2
Version table:
*** 68.0.3440.75-2 500
500 http://192.168.86.4/kali kali-rolling/main amd64 Packages
100 /var/lib/dpkg/status
そのように、ネットワーク共有または他の場所に保存できる独自のメタパッケージがあり、新しい Kali Linux インストールをすばやくセットアップおよび構成できます。