はじめに
ソフトウェアツールを最新の状態に保つことは、開発およびセキュリティにおいて非常に重要なプラクティスです。アップデートには、新機能、パフォーマンスの向上、重要なセキュリティパッチが含まれることがよくあります。Fluxion は、人気の高いセキュリティ監査およびソーシャルエンジニアリング研究ツールです。活発に開発されているため、ローカルコピーを公式 GitHub リポジトリの最新バージョンと同期させる方法を知っておくことが重要です。
この実験では、Git で管理されているツールのアップデートの標準的な手順を学びます。git pull コマンドを使用してリモートリポジトリから最新の変更を取得し、その後インストーラーを実行してツールが使用可能であることを確認します。
ローカルの Fluxion ディレクトリに移動する
このステップでは、Fluxion リポジトリのローカルコピーが含まれるディレクトリに移動します。アプリケーションをアップデートする前に、その特定の Git 管理ディレクトリ内にいる必要があります。この実験のセットアッププロセスでは、Fluxion リポジトリが既に ~/project ディレクトリにクローンされています。
まず、ls コマンドを使用して現在のディレクトリの内容を表示します。
ls -F
fluxion/ という名前のディレクトリが表示されるはずです。次に、cd コマンドを使用して現在のディレクトリを ~/project/fluxion に変更します。
cd ~/project/fluxion
正しいディレクトリにいることを確認するには、pwd (print working directory) コマンドを実行します。
pwd
出力は、現在 fluxion ディレクトリ内にいることを示す必要があります。
/home/labex/project/fluxion
最新の変更を取得するために 'git pull' を実行する
このステップでは、git pull コマンドを使用してローカルリポジトリを更新します。このコマンドは、他の 2 つの Git コマンド、git fetch と git merge を組み合わせたものです。リモートリポジトリ(この場合は GitHub)から最新の変更を取得し、それを現在のローカルブランチに自動的にマージします。
これで fluxion ディレクトリ内にいるので、git pull コマンドを実行します。
git pull
Git はリモートリポジトリに接続し、新しいコミットがないか確認します。新しい変更がある場合、Git はそれらをダウンロードしてローカルファイルに適用します。
更新されたファイルの出力を確認する
このステップでは、git pull コマンドの出力を確認します。出力は、更新プロセスに関する貴重な情報を提供します。
ローカルリポジトリが既に最新の状態であった場合、次のようなメッセージが表示されます。
Already up to date.
この実験環境では、リポジトリの新しいコピーをクローンしたばかりなので、これは想定内です。
しかし、リポジトリをしばらく前にクローンした場合の実際のシナリオでは、出力は異なります。変更、追加(create mode)、または削除されたすべてのファイルがリストされます。以下は、表示される可能性のあるものの例です。
remote: Enumerating objects: ..., done.
remote: Counting objects: 100% (...), done.
remote: Compressing objects: 100% (...), done.
remote: Total ... (delta ...), reused ... (delta ...)
Unpacking objects: 100% (...), done.
From https://github.com/FluxionNetwork/fluxion
abcdef..123456 master -> origin/master
Updating abcdef..123456
Fast-forward
README.md | 2 +-
fluxion.sh | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
この出力は、README.md および fluxion.sh ファイルが更新されたことを示しています。この出力を理解することで、ツールで何が変更されたかを知ることができます。このステップではコマンドは必要ありません。純粋に観察のためです。
プロンプトが表示されたら 'fluxion.sh -i' インストーラーを再実行する
このステップでは、Fluxion インストーラーを実行します。特にコアスクリプトや依存関係リストが変更された後に新しい変更をプルした後、インストーラーを再度実行するのがベストプラクティスです。これにより、必要なすべての依存関係がインストールされ、ツールが正しく設定されていることが保証されます。
Fluxion スクリプトには、-i フラグで実行できる組み込みインストーラーがあります。インストーラーはシステムレベルでパッケージをインストールする必要がある場合があるため、sudo を使用する必要があります。
インストーラーを実行するには、次のコマンドを実行します。
sudo ./fluxion.sh -i
スクリプトは、必要なすべてのツールと依存関係をチェックします。不足しているものがあれば、それをインストールしようとします。
スクリプトが各依存関係をチェックする際の出力が表示されます。典型的な実行は次のようになります。
[+] Checking for aircrack-ng ...
[+] Found at: /usr/bin/aircrack-ng
[+] Checking for xterm ...
[+] Found at: /usr/bin/xterm
...
[+] All dependencies are installed.
これにより、環境に必要なものがすべて揃っていることが確認されます。
更新された Fluxion スクリプトを起動する
この最終ステップでは、新しく更新された Fluxion スクリプトを起動して、正しく実行されることを確認します。ファイルを更新し、依存関係を確認した後、これが更新が成功したことの最終確認となります。
Fluxion を実行するには、フラグなしでメインスクリプトを実行します。ツールはネットワークインターフェースにアクセスするために root 権限を必要とするため、sudo を使用することを忘れないでください。
sudo ./fluxion.sh
更新が成功した場合、Fluxion のウェルカム画面とメインメニューが表示され、言語の選択を求められます。
...
[>] Select your language
1) English
2) Español
...
#?
これにより、アプリケーションが正しく動作していることが確認されます。Fluxion を最新バージョンに正常に更新しました。
Fluxion スクリプトを終了するには、キーボードで Ctrl+C を押します。
まとめ
この実験では、GitHub リポジトリから直接 Git 管理されているアプリケーションを更新する基本的なプロセスを学びました。これは、オープンソースソフトウェアを扱う上で不可欠なスキルです。
以下の手順を実際に練習しました。
- ローカル Git リポジトリへの移動。
git pullコマンドを使用して、リモートリポジトリから最新の変更を取得してマージする。- 出力を観察して、どのファイルが更新されたかを理解する。
- アプリケーションのインストーラーを再実行して、すべての依存関係が満たされていることを確認する。
- 更新されたアプリケーションを起動して、正しく動作していることを確認する。
これらの手順を習得することで、ツールを常に最新の機能とセキュリティ修正で最新の状態に保つことができます。
