我正在尝试编写一个非交互式系统更新脚本。
问题:
如果以下方法运行良好:
yes | dpkg --configure -a
下面的工作也会很好吗?:
yes | apt-get install --fix-broken
答案1
您在 中有-y
or--yes
或--assume-yes
参数apt-get
。
尝试类似的东西
sudo apt-get install -y <package-name>
细节:
这apt-get 的手册页(您也可以使用命令参考手册页man apt-get
)提到:
-y,--是,--假设-是
自动提示“是”。假设所有提示的答案都是“是”并以非交互方式运行。如果发生不良情况,例如更改保留的软件包或删除重要的软件包,则 apt-get 将中止。配置项:APT::Get::Assume-Yes。
与此参数相反,您还可以
--假设-否
对所有提示自动说“否”。配置项:APT::Get::Assume-No。
编辑
对于 Vlastimil 的评论,我尝试过
sudo apt-get install --fix-broken --assume-yes
它有效。为了方便起见,--fix-broken
命令的部分可以用and-f
替换。这不会安装任何特定的软件包,但“可以省略任何软件包以允许 APT 推断出可能的解决方案”,如手册页中所述。--assume-yes
-y
--yes