我正在编写一些 bash 脚本,以便按我需要的方式配置各种软件包。安装 Debian 'unattended-upgrades' 时,通常需要的用户干预之一是运行以*user@hostname:~# dpkg-reconfigure -plow unattended-upgrades*
生成/etc/apt/apt.conf.d/20auto-upgrades文件内容。
我想用以下字符串配置无人值守升级(来自 Debian Wiki 无人值守升级页面):https://wiki.debian.org/UnattendedUpgrades
建议使用此“或者以非交互方式运行:
echo unattended-upgrades unattended-upgrades/enable_auto_updates boolean true | debconf-set-selections dpkg-reconfigure -f noninteractive unattended-upgrades
因此,当我运行包含此建议字符串的脚本时,我看到的是以下内容:
Unknown option: f
Usage: debconf-set-selections [-vcu] [file]
-v, --verbose verbose output
-c, --checkonly only check the input file format
-u, --unseen do not set the 'seen' flag when preseeding values
我假设提到的错误“f”引用了 Debian Wiki 脚本字符串建议中的“-f”选项。脚本完成时,一切似乎都按预期工作。无需用户干预即可安装“无人值守升级”。
和所有人一样,当我创建各种 bash 脚本时,我的 bash 学习也在进行中。因此,作为一名新手脚本编写者,我的问题是,有没有比 Debian wiki 页面上建议的更好的方法来编写这种无人值守升级的非交互安装脚本?这个“f”投诉应该让我担心还是应该忽略这个错误?
答案1
恐怕你误读了https://wiki.debian.org/UnattendedUpgrades指令,并将两个命令合并为一个。
或者以非交互方式运行:
echo unattended-upgrades unattended-upgrades/enable_auto_updates boolean true | debconf-set-selections dpkg-reconfigure -f noninteractive unattended-upgrades
(来源:https://wiki.debian.org/UnattendedUpgrades;为清晰起见添加了空行)
跑步
echo unattended-upgrades unattended-upgrades/enable_auto_updates boolean true | debconf-set-selections
然后运行
dpkg-reconfigure -f noninteractive unattended-upgrades
所以从我的阅读来看,第一个命令是配置你的无人升级文件,第二个命令是告诉 dpkg 将该文件用于非交互式前端。