有没有办法在基于 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”要困难(略微)。