コミュニティ メンバーが新しいアイデアや興味深いビルドを思いついたとき、私たちはそれが大好きで、これが私たちの注目を集めました。 Jacek Kowalczyk が twitter で非常に興味深い話をしてくれました。 Kali を彼のニーズに合わせて微調整するという彼のアプローチは、まさにこの機能が私たちにとって非常に重要であり、彼の話をもっと広く共有したかった理由です.
Jacek の live-build レシピは、いくつかの優れたデスクトップ構成を含む、彼のお気に入りのデスクトップ環境を使用した軽量バージョンの Kali 用でした。 Jacek が彼自身の言葉で、彼のプロセスを段階的に共有するのが最善だと考えました:
ヤセクの物語
私は自分のニーズに最も適した Linux ディストリビューションを探すのに多くの時間を費やしました。私は非常に軽量なシステムが欲しかったので、大量のバリアント (Manjaro、Debian、Ubuntu、Sparky、MX Linux、Antix、Arch、Anarchy、Antergos、Archlabs、Bunsen Labs など) をテストしました。また、さまざまなデスクトップ環境をテストして、自分に合ったものを見つけようとしました (Xfce、LXDE、Mate、LXqt、i3、openbox、fluxbox、jwm、および IceWM)。この徹底的なテストにもかかわらず、私はまだ満足していません.
私のニーズには、軽量であるだけでなく、企業またはコミュニティからの優れたサポートを備えたローリング リリース Linux が必要であることが明らかになり始めました。お気に入りの Linux ディストリビューションの長いリストを作成しましたが、まだ決定できませんでした。
私はずっと、オープンソース プロジェクトに参加して、ちょっとした開発をしたいと思っていました。私の解決策は、単純に独自のセットアップを作成することであると思いました。Linux ディストリビューションを使用して、ベース OS をインストールし、それをカスタマイズすることができました。最初は、これは素晴らしいオプションのように思えました。しかし、再インストールが必要な場合はどうなりますか?インストールしたシステムのカスタマイズを最初からやり直す必要はありませんでした。
いつでもどこでもシステムをインストールするために使用できる ISO を作成したいと思っていました。インストール直後の私のニーズに合わせて完全にカスタマイズされます。このため、Debian、Arch、または Manjaro をカスタマイズする方法を探し始めました。これにより、Kali Linux live-build 構成スクリプトにたどり着きました。この時点で、私は解決策を見つけたことを知りました.
Kali Linux は Debian ベースのローリング ディストリビューションであり、Offensive Security チームとアクティブなコミュニティから大きなサポートを受けています。また、Kali チームが提供する i3wm 用の既存のスクリプトも見つけました。これが私の出発点でした。カスタム パッケージ リストをいじり始め、後で ISO に含まれるいくつかの chroot ファイルをいじりました。このプロセスでは、満足のいく 1 つが得られるまで、20 以上の ISO イメージを生成しました。今でも改善を続けています。
Kali linux の 2 つのバリアント (i3wm を使用するものと Openbox ウィンドウ マネージャーを使用するもの) をどのように作成したかを説明しましょう。
i3wm または Openbox を使用したカスタム Kali Linux
live-build-config の公式の Kali ドキュメントに基づいて最初のセットアップを行いました。このプロセスは:
<オール>[email protected]:~# apt install curl git live-build cdebootstrap
[email protected]:~# git clone git://gitlab.com/kalilinux/build-scripts/live-build-config.git
...
[email protected]:~# cd live-build-config/kali-config
[email protected]:~/live-build-config/kali-config# ls
common variant-e17 variant-i3wm variant-light variant-mate
variant-default variant-gnome variant-kde variant-lxde variant-xfce
i3 の場合、既存の variant-i3wm に変更を加えることから始めました。 フォルダ。 Openbox の場合、variant-i3wm をコピーしました variant-openbox へのディレクトリ それに私の修正を加えました
[email protected]:~/live-build-config/kali-config# cp -r variant-i3wm variant-openbox
それが整ったら、次のステップはファイル kali-config//package-lists/kali.list.chroot を編集することでした 必要なパッケージを追加します。 i3wm のパッケージのリストはここにあり、Openbox はここにあります。 livecd のすべての構成ファイルは、kali-config/common/includes.chroot/root/ にコピーする必要があります。 .このディレクトリは、livecd 環境が root ユーザーとして実行されているときに使用されます。
インストールされたファイル システムのすべての構成ファイルは、kali-config/common/includes.chroot/etc/skel/ にコピーする必要があります。 . /etc/skel directory は一般に、ユーザーのホーム ディレクトリを作成するためのテンプレートとして使用されるため、すべての新しいユーザーはデフォルトでこのディレクトリにあるファイルを持ちます。
窒素は、壁紙を設定するために使用されるアプリケーションです。ファイル .config/Nitrogen/bg-saved.cfg セットの壁紙を定義します。 2 番目のファイル .config/Nitrogen/Nitrogen.cfg 窒素のメイン構成ファイルで、壁紙画像が配置されているディレクトリを定義します。私は自分の好みに合うようにこれらのそれぞれを微調整しました.それが整ったら、.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml を構成して、パワー マネージャー アプレットも微調整しました。 .
さらに、システムをもう少しパーソナライズするために、さまざまなカスタマイズを行いました。あまり詳しく説明しませんが、それらは次のとおりです。
-
i3wm の場合
-
kali-config/common/includes.chroot/root/.i3wm_conkyrc - conky ツールの設定。この conkyrc ファイルは、Sparky Linux の conky 構成に基づいています
-
kali-config/common/includes.chroot/root/.config/i3/config - i3wm セッションへの最初のログイン時に i3wm の構成ファイルが生成され、窒素、クリップピット、ボリューム コントロールなどの他のツールを自動起動するためのいくつかの変更を追加し、ツールとアクションのキー バインド (poweroff と再起動します)
-
-
Openbox の場合
-
kali-config/common/includes.chroot/root/.openbox_conkyrc - conky の設定。 openbox の conkyrc は i3wm のものとは異なります。これは CrunchBang++ の conkyrc ファイルに基づいています。
-
kali-config/common/includes.chroot/root/.config/openbox/autostart - Openbox 自動起動ファイルは、openbox セッションで自動的に起動するツールとアプリケーションを定義します:(窒素、clipit、ボリューム vontrol、パワー マネージャー、conky)。これも CrunchBang++ のファイルに基づいています。
-
kali-config/common/includes.chroot/root/.config/openbox/menu.xml - これは、デスクトップを右クリックしたときの動作を制御する Openbox メニュー構成です。 Openbox は、このファイルが完全にユーザー制御であり、スクリプトを実行して、アプリケーションの起動や、動的パイプ メニューでメディア プレーヤー アプリケーションのステータスを表示するなどの他のことを実行できるという点で、非常にユニークです。 Openbox は非常に強力です。
-
kali-config/common/includes.chroot/root/.config/openbox/rc.xml - Openbox ウィンドウ マネージャーのテーマとキーバインド。これはかなりストックされていますが、電源オフや再起動などのお気に入りのツールとアクションのキーバインドをそこに追加しました.
-
kali-config/common/includes.chroot/root/.config/tint2/tint2rc - Tint2 パネル設定とランチャー。ここでは、最も一般的に使用するツール (ターミナル、エディター、Web ブラウザー) を追加しました。このファイルを編集するには、tint2conf GUI アプリケーションを使用しました。このアプリケーションを使用すると、tint2 パネルのテーマを簡単に定義し、ランチャーやその他のパネル項目を追加できます。
-
i3wm のすべての変更点はここにあり、Openbox はここにあります。
また、インストール パッケージをダウンロードして kali-config/common/includes.chroot/opt/firefox/ に解凍することで、Firefox 開発者版ブラウザーを追加しました。 次に、toxic tox クライアントを kali-config/common/includes.chroot/opt/toxic に追加しました . Firefox を起動するために、シェル スクリプト kali-config/common/includes.chroot/usr/bin/firefox.sh も追加しました。 .
#!/bin/bash
echo "Starting firefox developer edition"
/opt/firefox/firefox
<オール> 設定がすべて終わったところで、ISO の構築という楽しい部分に取り掛かりました!
[email protected]:~/live-build-config/kali-config# ./build.sh --distribution kali-rolling --variant i3wm --verbose
[email protected]:~/live-build-config/kali-config# ./build.sh --distribution kali-rolling --variant openbox --verbose
それらが実行されているので、ジョブが完了するのを待つ必要がありました。私の場合、約3時間かかりました。生成された ISO ファイルは images に保存されました
最終版
構成の最終バージョンでは、i3wm インストールを Openbox ビルドに移植することにしました。このようにして、Openbox 構成をビルドするときに、Openbox と i3 の両方のウィンドウ マネージャーを取得します。ログイン画面で、必要なセッションを選択できます。明らかに、インストール時に 2 つのうちどちらかを決定するよりも、1 つの「完全な」ISO を用意する方がはるかに簡単です。
まとめ
私たちは、彼のニーズを特定し、ただ飛び込んで変更を加えることを恐れないという Jacek のアプローチが気に入りました。 Linux の多くのことと同様に、カスタム インストールを実行することは、非常に複雑なプロセスのように見え、威圧的です。しかし、いったんプロセスに入って開始すると、それは非常に簡単で、節約できる作業量は驚くべきものです。
Jacek の多大な努力と、それをコミュニティと喜んで共有してくれたことに感謝します。 GitLab ページの彼のページで、Jacek が他に何をしているのかを確認できます。