发布于2026-08-19 阅读(0)
扫一扫,手机访问
在 Linux 上处理复杂的软件时,特别是从 GitHub 等仓库克隆的工具,你经常会遇到“缺少依赖项”的错误。当软件需要安装其他程序或库,但你的系统上不存在时,就会出现这些错误。
此次实验,你将学到一项基础的故障排除技能:如何辨别并安装脚本所需的缺失依赖项。我们以Fluxion为例,这是一款广受欢迎的安全审计工具。你需运行其安装程序,观察哪些软件包缺失,接着运用 CODE_0 包管理器手动安装这些软件包,最终成功启动应用程序。
在此步骤中,你将首先运行 Fluxion 安装脚本。大多数设计良好的脚本都包含一个安装程序或依赖项检查器,以帮助用户设置所需的运行环境。Fluxion 脚本使用 CODE_0 标志以“安装程序”模式运行,该模式专门检查所需的软件包。
首先,导航到已为你预先克隆到 CODE0 目录中的 CODE1 目录。
cd ~/project/fluxion
现在,执行安装脚本。由于它是在当前目录下的一个 shell 脚本,你需要用 CODE_0 作为前缀来运行它。
./fluxion.sh -i
你将看到检查各种工具的输出。密切关注那些指示软件包缺失的行。
预期输出(可能略有不同):
* Installer
[*] Checking for dependencies...
[!] Some packages are not installed.
[!] The following packages are required:
-> lighttpd..................................[ Not installed ]
-> hostapd...................................[ Not installed ]
-> mdk4......................................[ Not installed ]
-> aircrack-ng...............................[ OK ]
-> xterm.....................................[ OK ]
...
[!] The following packages are recommended:
-> pyrit.....................................[ Not installed ]
-> bully.....................................[ Not installed ]
[?] Do you want to install the required packages? (Y/n)
在本实验中,请不要继续自动安装。按 CODE0 然后按 CODE1 退出脚本的安装程序提示。我们将在下一步手动安装这些软件包。
在此步骤中,你的任务是仔细阅读上一个命令的输出。这是故障排除中最关键的部分:理解程序提供给你的信息。
正如你在 CODE_0 的输出中看到的,该脚本提供了其依赖项及其状态的清晰、彩色编码列表。
[!] Some packages are not installed.
[!] The following packages are required:
-> lighttpd..................................[ Not installed ]
-> hostapd...................................[ Not installed ]
-> mdk4......................................[ Not installed ]
标记为 CODE0 的行是我们需要的修复项。脚本明确告诉我们 CODE1、CODE2 和 CODE3 是必需的,但在系统中找不到。在本实验中,我们将重点安装 CODE_4 作为该过程的示例。
此步骤没有需要运行的命令。目标只是练习阅读和解释诊断消息。
既然你已经识别出缺失的软件包 CODE0,你将使用标准的 Debian/Ubuntu 包管理器 CODE1 来安装它。这是一个常用的管理软件的命令行工具。
要安装软件包,你使用 CODE0 命令。你需要 CODE1,因为安装软件会修改系统并需要管理员权限。我们还将添加 CODE_2 标志,它会自动回答任何确认提示的“是”,从而使安装过程无需交互。
在你的终端中运行以下命令来安装 CODE_0:
sudo apt-get install -y mdk4
系统现在将获取并安装 CODE_0 软件包及其自身的任何依赖项。
预期输出(已截断):
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
mdk4
0 upgraded, 1 newly installed, 0 to remove and XX not upgraded.
Need to get 63.4 kB of archives.
After this operation, 205 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 mdk4 amd64 4.2-1 [63.4 kB]
Fetched 63.4 kB in 1s (118 kB/s)
Selecting previously unselected package mdk4.
(Reading database ... 123456 files and directories currently installed.)
Preparing to unpack .../mdk4_4.2-1_amd64.deb ...
Unpacking mdk4 (4.2-1) ...
Setting up mdk4 (4.2-1) ...
Processing triggers for man-db (2.10.2-1) ...
你现在已经成功解决了一个缺失的依赖项。
接下来,重新运行安装程序脚本,以确认修复是否成功。验证更改是个好习惯。虽然我们只安装了CODE0,但再次运行Fluxion安装程序后,它将自动检测并安装其他缺失的必需软件包(CODE1 和 CODE_2)。
确保你仍在 CODE_0 目录中。再次运行安装程序命令:
./fluxion.sh -i
这次,脚本将再次检查依赖项。它会发现 CODE0 现在已安装。它仍然会提示你安装剩余的缺失软件包。这次,按 CODE1 然后按 CODE_2,允许脚本自动安装其余部分。
预期输出:
* Installer
[*] Checking for dependencies...
[!] Some packages are not installed.
[!] The following packages are required:
-> lighttpd..................................[ Not installed ]
-> hostapd...................................[ Not installed ]
-> mdk4......................................[ OK ]
...
[?] Do you want to install the required packages? (Y/n) Y
[*] Installing required packages...
... (apt-get installation output) ...
[*] All dependencies are installed.
安装完成后,脚本将确认所有依赖项都已满足。这证实了你的故障排除过程是成功的。
在所有依赖项都已正确安装后,你现在可以启动 Fluxion 主应用程序了。当你运行不带任何标志的脚本时,它将启动主程序而不是安装程序。
执行不带 CODE_0 标志的脚本:
./fluxion.sh
如果所有依赖项都已正确解决,你将不再看到任何错误消息。取而代之的是,你将看到 Fluxion 的主语言选择菜单。
预期输出:
...
╔══════════════════════════════════════════════════════════════════════════════╗
║ Choose your language. / Elige tu idioma. ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ 1. English (en) 5. Português (pt) 9. Türkçe (tr) ║
║ 2. Español (es) 6. Français (fr) 10. Ελληνικά (gr) ║
║ 3. Italiano (it) 7. Deutsch (de) 11. Polski (pl) ║
║ 4. Русский (ru) 8. Magyar (hu) 12. Nederlands(nl) ║
╚══════════════════════════════════════════════════════════════════════════════╝
> Select an option:
看到此菜单确认你已成功排查并解决了所有缺失的依赖项问题。你现在可以通过按 CODE_0 来退出脚本。
在此实验中,你练习了一项对任何 Linux 用户都至关重要且常见的技能:排查缺失的软件依赖项。
你成功地:
这个“阅读错误,识别问题,应用修复,然后验证”的过程是解决 Linux 及其他领域各种技术问题的基本工作流程。
下一篇:为强制门户页面选择语言
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9