我正在尝试编写一个非交互式系统更新脚本。
题:
如果以下工作正常:
yes | dpkg --configure -a
Run Code Online (Sandbox Code Playgroud)
以下工作也会很好吗?:
yes | apt-get install --fix-broken
Run Code Online (Sandbox Code Playgroud)
7_R*_*R3X 10
你有-y或--yes或--assume-yes在参数apt-get。
尝试类似的东西
sudo apt-get install -y <package-name>
Run Code Online (Sandbox Code Playgroud)
细节:
apt-get的手册页(您也可以使用man apt-get命令参考手册页)提到:
-y, --yes, --assume-yes
自动是提示。假设“是”作为对所有提示的回答并以非交互方式运行。如果发生不希望的情况,例如更改保留的包或删除必要的包,则 apt-get 将中止。配置项:APT::Get::Assume-Yes。
与此参数相反,您还有
--假设-否
对所有提示自动“否”。配置项:APT::Get::Assume-No。
编辑
对于 Vlastimil 的评论,我试过了
sudo apt-get install --fix-broken --assume-yes
Run Code Online (Sandbox Code Playgroud)
它有效。的--fix-broken命令的一部分可以与被替换-f
和--assume-yes用-y或--yes为了方便。这不会特别安装任何包,但“可以省略任何包以允许 APT 推导出可能的解决方案”,如手册页所述。
| 归档时间: |
|
| 查看次数: |
32887 次 |
| 最近记录: |