我正在使用 Kali Linux 进行渗透测试练习。我经常发现我需要从存储库安装一个小实用程序。由于 Kali 是滚动版本,并且我不会定期更新操作系统,因此这可能意味着在安装次要工具时对操作系统的每个组件进行重大更新。
为了在其他发行版中解决这个问题,我使用了 DVD 版本来保持我的操作系统能够从单一来源安装和更新。
我正在用 Kali 尝试这个,但我陷入了循环......
apt-cdrom add
一切顺利,正在更新
apt update
E: The repository 'cdrom://[Debian GNU/Linux 2019.2 _Kali-rolling_ - Official Snapshot amd64 LIVE/INSTALL Binary 20190508-10:56] kali-last-snapshot Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
vi /etc/apt/sources.list
deb [trusted=yes] ...
然后再次更新
apt update
E: Failed to fetch cdrom://[Debian GNU/Linux 2019.2 _Kali-rolling_ - Official Snapshot amd64 LIVE/INSTALL Binary 20190508-10:56]/dists/kali-last-snapshot/contrib/binary-i386/Packages Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs
Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs
从 /etc/apt.d/sources.list 中删除 CD 行并重试会让我走上同样的道路。
有谁知道为什么它会接受 CDROM 作为适当的源或如何进一步解决这个问题?
(当然,这不适用于生产系统或现实世界的练习。)
答案1
我发现了问题,但它只会导致另一个问题,也许还有答案。
“无法获取”错误表明它试图访问 i386 存储库,这是错误的,因为发行版是 amd64。
将 [arch=amd64] 添加到存储库的 resources.list 条目修复了错误。
然而...
Kali ISO 上几乎没有 deb...该发行版被打包为 Live CD,其中有一个指向滚动版本的sources.list。任何地方似乎都没有任何构建时间的存储库快照。即使 liveCD 也包含具有完整操作系统的cramfs 文件系统,但即使它没有债务。
我没有意识到 Kali“滚动发布”的深度。几年前他们这样做时,我把它当作一个小问题来掩盖:
https://www.kali.org/news/kali-linux-rolling-edition-2016-1/
You might want to choose a point-release distribution if you fit these
statements:
...
- You prioritize stability above new look/feel/functionality
- You want a minimum of distraction/disturbance from update installation
这意味着当我安装新软件包时,我要么:
- 定期更新整个发行版
- 自 2019 年 5 月起,在系统上安装针对 2019 年 12 月进行过测试的软件包的风险
我想我只会保留备份、快照并在 apt 上使用大量的 --dry-run 。