![如何阻止 Katoolin 导致 Ubuntu 崩溃?](https://linux22.com/image/999029/%E5%A6%82%E4%BD%95%E9%98%BB%E6%AD%A2%20Katoolin%20%E5%AF%BC%E8%87%B4%20Ubuntu%20%E5%B4%A9%E6%BA%83%EF%BC%9F.png)
我从 14.04 更新到 16.04,并katoolin
添加了一些 Kali 工具。重启后,Linux 启动时运行代码,但在某个点停止,永远无法加载登录。所以我重新安装了 16.04,运行更新并重试。这一次,启动菜单更改为 Kali 以及操作系统名称(我使用 Windows 7 双启动和 Ubuntu);登录以 Ubuntu 风格开始,没有用户名,必须输入名称……然后它进入徽标屏幕,永远无法登录。
我该如何使用katoolin
而不影响启动菜单界面?当用户选择“添加 Kali 存储库和更新”选项时会发生这种情况吗?Kali 存储库是必需的吗?我宁愿只安装工具,而不是弄乱 Ubuntu 界面。
答案1
安装 Kali Linux 工具后出现更新警告
这LionSec Katoolin GitHub网页明确警告Katoolin用户在更新软件时要小心。
在更新系统之前,请删除所有 Kali-linux 存储库以避免出现任何问题。
如果不这样做,就会出现各种各样的问题。
其他参考:如何在 Ubuntu 15.10 中安装 Kali Linux 工具
kali 存储库是必需的吗?
Katoolin 是一个脚本,可以快速轻松地同时安装 Kali Linux 工具,但是添加 Kali 存储库并非总是必要的.例如阅读这个答案关于如何仅安装两个 Kali Linux 工具的问题,无需添加 Kali 存储库也可以轻松安装。
仅手动添加您需要的 Kali Linux 工具是一种很好的培训,它可以教您如何使用默认 Ubuntu 存储库提供的其他包管理工具,这些工具比 Katoolin 更安全,因为它们不会向您的软件源添加一长串额外的存储库。
如果您需要安装大量 Kali Linux 工具,您还应该考虑安装 Kali Linux 本身,无论是双启动还是在虚拟机中。如果您使用 Katoolin 对您的系统造成了看似无法修复的损坏,我建议您从软件源中删除您添加的所有 Kali Linux 存储库,并在终端命令的帮助下history
删除您使用 Katoolin 安装的所有软件包,然后重新开始使用 vanilla Ubuntu。
答案2
TL;DR:
导致 Ubuntu 崩溃的不是 Katoolin。而是来自 Kali 存储库的软件包,它们取代了 Ubuntu 的软件包。因此,不要更新和升级您的 Ubuntu 安装正在使用 Kali 的存储库。
可能出现哪些问题?
Katoolin 的 Python 脚本基本上添加了 Kali 的存储库信息,如下所示:
# Kali linux repositories | Added by Katoolin
deb http://http.kali.org/kali kali-rolling main contrib non-free
由于现在 Kali 的存储库信息也在使用中,APT 可能会认为新版本的软件包可用。APT 会尝试“更新”这些软件包,并用 Kali 的软件包替换 Ubuntu 软件包。这可能会造成严重的依赖问题,甚至无法解决。如果你足够勇敢并尝试解决这个问题,你可能会面临dpkg 错误:“尝试覆盖文件,该文件也在……”这类问题。如果你强制覆盖最终,你的系统可能会崩溃,甚至无法连接互联网,因为配置可能会受到严重影响。最糟糕的是,之后你将使用 Kali,而不是 Ubuntu。
如何删除 Kali 的存储库信息?
根据这个答案关于警告LionSec Katoolin GitHub状态,因此无需保留这些存储库信息来源列表除非你想更新这些工具。Ubuntu 每天会自动检查一次更新,因此即使sudo apt update
命令没有手动运行,它也会自动运行。
该脚本确实提供了删除“添加 Kali 存储库并更新“选项。这些是从脚本中启发的代码行,用于删除 Kali 的存储库信息。
#!/usr/bin/python3
import os
infile = "/etc/apt/sources.list"
outfile = "/etc/apt/sources.list"
delete_list = ["# Kali linux repositories | Added by Katoolin\n", "deb http://http.kali.org/kali kali-rolling main contrib non-free\n"]
fin = open(infile)
os.remove("/etc/apt/sources.list")
fout = open(outfile, "w+")
for line in fin:
for word in delete_list:
line = line.replace(word, "")
fout.write(line)
fin.close()
fout.close()
要下载并运行上述 Python 3 代码,请运行:
git clone https://github.com/kulfy1/Katoolin_removal/blob/master/script.py
sudo chmod +x script.py
sudo ./script.py
或者注释掉相当于删除信息的行,使用sed
:
sudo sed -e '/kali/ s/^/#/' -i /etc/apt/sources.list
然后最后运行:
sudo apt update
那么有没有更安全的方法来安装这些工具呢?
据我所知,没有更安全、更方便的方法。如果你想要方便,那么除非你小心谨慎,否则它不会安全。如果你粗心大意,那就选择更安全的方法。更安全的方法只是包括确定所需软件包的依赖项,从 Kali 档案库下载 deb 软件包,最后使用命令使用 DPKG 安装
sudo dpkg -i file.deb
因为这个方法不会改变 sources.list,所以不用担心。但是另一方面,它需要手动确定依赖项,然后再进行安装,所以可能会很麻烦。
我不知道这些危害,并且我更新了我的 Ubuntu 安装而没有删除 Kali 的存储库。我现在该怎么办?
运行时upgrade
,它显示将升级数千个软件包。这时您可以再次考虑是否缺少某些东西或多了一些东西。但如果升级已经完成,它可能会失败,影响数百个软件包。然后会出现依赖性问题。如果你满足它们强行,你最终会得到一个损坏的安装。如果lsb_release -a
显示 Kali,则破坏性的事情已经发生。
如果您尝试再次将其设置为“Ubuntu”,那么它将过于宽泛、充满麻烦且几乎不可能。重新安装将花费更少的时间并且更方便。因此,唯一的解决方案是备份数据并从头开始安装 Ubuntu。并且将来要注意 Kali 存储库。