Configuration
將預設答案傳遞給 apt-get 軟體包安裝問題?
我正在嘗試為新伺服器編寫配置腳本,第一步是安裝一系列必需的軟體包,例如 MySQL、phpMyAdmin 等。
apt-get install
但是,當 dpkg 嘗試配置它們時,它會要求您提供幾個選項,例如 MySQL root 密碼、phpMyAdmin 密碼、使用什麼伺服器等。由於我可能會將這個腳本傳遞給不太可能閱讀提示的同事,並且我希望簡單地啟動它並離開,**我想知道如何傳遞一系列“預設”答案/它使用的值。**這可能包括在命令行上傳遞的使用者名/密碼/其他動態值。
–
我意識到在腳本中包含密碼是一個安全問題,但我願意忽略它,特別是在安裝包的更一般意義上,這意味著答案。
使用 debconf 的配置預置。
進行測試安裝以獲取所需的值:
root@test1:~# apt-get install mysql-server
..並在安裝過程中出現提示時設置root密碼。
然後你可以檢查你剛剛安裝的 debconf 設置是什麼樣的(你可能需要安裝
debconf-utils
):root@test1:~# debconf-get-selections | grep mysql-server mysql-server-5.5 mysql-server/root_password_again password mysql-server-5.5 mysql-server/root_password password mysql-server-5.5 mysql-server/error_setting_password error mysql-server-5.5 mysql-server-5.5/postrm_remove_databases boolean false mysql-server-5.5 mysql-server-5.5/start_on_boot boolean true mysql-server-5.5 mysql-server-5.5/nis_warning note mysql-server-5.5 mysql-server-5.5/really_downgrade boolean false mysql-server-5.5 mysql-server/password_mismatch error mysql-server-5.5 mysql-server/no_upgrade_when_using_ndb error
那裡有一些噪音,但重要的部分是密碼設置。
然後,對於全新安裝,您可以通過預先設置密碼來完全避免提示:
root@test2:~# echo "mysql-server-5.5 mysql-server/root_password_again password Som3Passw0rd" | debconf-set-selections root@test2:~# echo "mysql-server-5.5 mysql-server/root_password password Som3Passw0rd" | debconf-set-selections root@test2:~# apt-get install mysql-server
在安裝過程中根本沒有提示。