禁用/删除 Apt(-get)

禁用/删除 Apt(-get)

有没有办法在基于 Debian 的服务器上禁用/删除 apt-get。我更喜欢使用 aptitude,并且不希望其他用户使用 apt-get 安装软件包,以避免软件包/数据库问题。

答案1

同时使用这两种工具的人不会遇到任何问题。我经常使用命令行中的 apt-get 或 aptitude 安装东西,或者使用 curses 界面进行安全更新。apt-get 和 aptitude 都是 libapt-pkg 的前端,libapt-pkg 负责解决依赖关系和获取软件包。libapt-pkg 反过来使用 dpkg 进行实际的软件包安装。dpkg 和 libapt-pkg 都在正确的位置进行锁定,这样如果有人正在运行 aptitude,其他人就无法通过 apt-get 安装软件包,直到 aptitude 关闭。

由于 apt-get 自动依赖支持,因此没有一个工具比另一个工具有优势[0]

[0] 除了 aptitude 不具备超级牛的力量。

答案2

你可以这样做:

chmod 0 /usr/bin/apt-get

答案3

Ubuntu 官方建议在很多地方使用 apt-getrgrep apt-get /usr/lib/python2.6/dist-packages/DistUpgrade来查看它。删除 apt-get 或更改其权限可能会给 Debian 实用程序带来问题,因为 Debian 实用程序可能会相对安全地假设它在那里。

答案4

有很多方法可以做到这一点,但用户能够安装软件包这一事实意味着他们具有根级访问权限。

如果他们有 root 权限,您必须记住,root 可以执行的任何操作,root 都可以撤消(无论如何在这种情况下)。

话虽如此,我认为“最安全”的方法是删除(但保留一份副本)/etc/apt 中的 sources.list 文件。

这样,apt-get 的所有变体(比如 aptitude 以及谁知道还有什么)都将无法工作。对于用户来说,重建它比撤消特定命令的“chmod 0”要困难(略微)。

相关内容