我正在編寫一些 bash 腳本來按照我需要的方式配置各種套件。安裝 Debian“無人值守升級”時,通常需要的用戶幹預之一是運行*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 將該文件用於非互動式前端。