只是出于好奇,有时在apt-get install software_name
通过终端安装软件时会提示我确认“输入是或否”,但并非总是如此。
我不是指 sudo 密码提示,而是消息“将下载并配置 XXX Kb,继续?” (或类似的东西)
为什么?
只是出于好奇,有时在apt-get install software_name
通过终端安装软件时会提示我确认“输入是或否”,但并非总是如此。
我不是指 sudo 密码提示,而是消息“将下载并配置 XXX Kb,继续?” (或类似的东西)
为什么?
它通常会询问您是否有建议或推荐的软件包取决于您尝试安装的软件,它还可能取决于程序的大小或您从中下载的存储库的安全性。
apt-get install new-package
仅当它还安装给定包的依赖项时才会要求确认。如果只安装您指定的单个软件包而没有任何额外的东西,它会保持安静,因为您已经“确认”您想要通过键入它来拥有它。
但是如果有一些依赖包,你可能会改变主意并想停止安装(例如,因为其中一个之前造成了麻烦),所以它会提示你输入y/n。
现在,如果您想看看它会做什么,您可以对安装命令进行试运行/模拟。您可以通过向参数添加一个来设置此开关
-s
。示例:单个包的安装sudoku
这向您显示会发生什么,但不会像确认提示那样显示下载量有多大。
因此,可以使用另一个开关
--print-uris
。同样的例子:该
--print-uris
开关不仅会阻止实际安装,还会显示下载和安装的大小以及有关软件包的其他信息(网址和 MD5Sum)。注意:不要
--print-uris
和-s
一起使用。它只会看起来像-s
。另请注意,
-y
如果您想处理输出,您应该添加开关(= 假设每个问题都是肯定的),因为这将提示您按照与没有开关的正常安装相同的规则进行确认。现在,如果您只想过滤掉下载和安装的文件大小信息而无需阅读所有其他内容,您可以使用以下命令来实现这一点(感谢@terdon 的协助)。再次以示例为例
sudoku
:您会看到输出的第一行是下载大小,第二行描述了安装所需的空间。
因为这个命令不容易输入,而且更难记住,所以将以下内容复制到一个脚本文件中,例如
apt-get-install-checker.sh
:chmod +x apt-install-checker.sh
在执行之前不要忘记!示例输出:
脚本仍在开发中!计划的功能:它应该询问您是否要执行安装,然后继续并运行它。也许明天我会想到其他一些不错的小玩意...
据我了解,apt-get 仅在需要安装其他依赖项时才要求确认。默认情况下,无法对所有包强制确认。
但是,可以在使用 aptitude 时强制确认任何安装命令。