Если вы понимаете, что происходит под капотом, вам будет легче отлаживать и выяснять, почему это не работает.
Когда вы устанавливаете пакет debian часто, вы получаете вопросы о лицензиях и паролях., местоположения и т. д. Все эти значения хранятся в debconf.Если вы хотите выполнить автоматическую установку, вы можете предварительно загрузить эти ответы в debconf, чтобы у вас не было ответов на эти вопросы, поскольку на них уже есть ответы.
Проблема возникает, когда вы понимаете, как правильно ответить на эти вопросы.Для этого вам сначала нужно установить debconf-utils
apt install debconf-utils
, затем вам необходимо установить пакет вручную.
В моем случае я устанавливаю пакет percona-xtradb-cluster-57.
wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb
sudo dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb
sudo apt-get update -y
sudo apt-get install -y percona-xtradb-cluster-57
После того, как это будет установлено, вы можете получить выборки, которые были установлены с помощью deb-get-selections
tool.
debconf-get-selections | grep percona
В ответе вы увидите выбранные варианты.В этом случае
percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/root-pass password
percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/re-root-pass password
percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/remove-data-dir boolean false
percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/root-pass-mismatch error
percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/data-dir note
Теперь вы можете скопировать значения, которые вы хотите установить.В моем случае я хочу автоматически установить пароль root.
В вашем скрипте автоматической установки теперь вы можете использовать инструмент debconf-set-selections
, чтобы автоматизировать установку значений для вопроса о корневом пароле и вопросе о подтверждении пароля.
echo "percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/root-pass password my_temp_password" | debconf-set-selections
echo "percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/re-root-pass password my_temp_password" | debconf-set-selections
Happy Automating!