Сервер сообщества mysql 5.7 неинтерактивная установка apt

Я пытаюсь создать вызов оболочки для неинтерактивной установки сервера сообщества mysql 5.7 на ubuntu 14.04. Согласно различным источникам, использование debconf-set-selections должно позволить такую ​​установку, но я не могу запустить неинтерактивный установщик dpkg.

Ниже приведены переменные env, которые я пытаюсь использовать для неинтерактивной установки.

vagrant@default-ubuntu-1404:/sql$ echo $DEBIAN_FRONTEND 
noninteractive
vagrant@default-ubuntu-1404:/sql$ echo mysql-apt-config mysql-apt-config/enable-repo select mysql-5.7 | sudo debconf-set-selections

Вот все настройки mysql-apt-config для системы

vagrant@default-ubuntu-1404:/sql$ sudo debconf-get-selections | grep mysql
    mysql-apt-config    mysql-apt-config/select-tools   select  workbench-6.2 workbench-6.3 connector-python-2.0 connector-python-2.1 router-2.0 mysql-utilities-1.5 mysql-tools
    mysql-apt-config    mysql-apt-config/select-preview select  
    mysql-apt-config    mysql-apt-config/repo-distro    select  ubuntu
    mysql-apt-config    mysql-apt-config/enable-repo    select  mysql-5.7
    mysql-apt-config    mysql-apt-config/repo-url   string  http://repo.mysql.com/apt/
    # Choices: MySQL Server (Currently selected: mysql-5.7), MySQL Tools & Connectors (Currently selected: Enabled), MySQL Preview Packages (Currently selected: Disabled), Ok
    mysql-apt-config    mysql-apt-config/select-product select  
    mysql-apt-config    mysql-apt-config/repo-codename  select  trusty
    mysql-apt-config    mysql-apt-config/unsupported-platform   select  abort
    # Choices: mysql-5.6, mysql-5.7, None
    mysql-apt-config    mysql-apt-config/select-server  select  

И сама установка:

wget http://dev.mysql.com/get/mysql-apt-config_0.7.2-1_all.deb
sudo dpkg -i mysql-apt-config_0.7.2-1_all.deb

запускается в интерактивном режиме.

Любые идеи?


person Armo    schedule 02.05.2016    source источник
comment
Ознакомьтесь с этим сообщением, чтобы узнать, как отладить это и увидеть, что не работает - stackoverflow.com/a/49136923/454421 - возможно, у вас не те ключи   -  person Brett Allred    schedule 06.03.2018


Ответы (4)


У меня это работает, если я работаю как root

export DEBIAN_FRONTEND=noninteractive

debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/repo-codename select trusty'
debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/repo-distro select ubuntu'
debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/repo-url string http://repo.mysql.com/apt/'
debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-preview select '
debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-product select Ok'
debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-server select mysql-5.7'
debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-tools select '
debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/unsupported-platform select abort'

wget http://dev.mysql.com/get/mysql-apt-config_0.7.2-1_all.deb
dpkg -i mysql-apt-config_0.7.2-1_all.deb
apt-get update
apt-get install -y mysql-server-5.7
person barbushin    schedule 17.05.2016
comment
У меня это не работает с mysql-apt-config_0.7.3-1_all.deb. Я все еще получаю интерактивную подсказку. Любые идеи? - person Stanley; 28.08.2016
comment
Мне удалось заставить mysql-apt-config_0.7.3-1_all.deb работать, и я хотел рассказать другим, как я это сделал. Пройдите интерактивную настройку хотя бы один раз и ответьте на вопросы. Когда закончите, запустите следующее: debconf-get-selections | grep mysql-apt-config. Это показывает необходимые настройки apt config; скопируйте их и теперь поместите в свой сценарий bash. Запустите wget, dpkg и apt-get update. Для apt-get install мне пришлось использовать mysql-server вместо mysql-server-5.7. Самый простой способ найти пакет для установки - запустить sudo apt-cache search mysql | grep mysql. Надеюсь, поможет! - person Stanley; 29.08.2016
comment
Спасибо! Это решило мою проблему ... нужна была еще одна строка, чтобы доверять источнику: sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5072E1F5 - person comjf; 11.07.2017

Принятый ответ работает. Я просто хочу разместить эти ссылки, которые дают некоторое объяснение о том, как использовать debconf-set-selections и как найти список параметров.

person youssman    schedule 11.10.2017

При запуске от имени пользователя без полномочий root экспортированная переменная (DEBIAN_FRONTEND) недоступна с sudo. У меня сработало создание переменной части команды dpkg.

sudo DEBIAN_FRONTEND=noninteractive dpkg -i mysql-apt-config_0.7.2-1_all.deb
person ranjeetcao    schedule 12.08.2020

Просто запустите это. Работает с 16.04

export DEBIAN_FRONTEND=noninteractive

debconf-set-selections <<< 'mysql-server-5.7 mysql-server/root_password password password'
debconf-set-selections <<< 'mysql-server-5.7 mysql-server/root_password_again password password'

apt-get install --assume-yes mysql-server-5.7 mysql-client

#update 'password' to whatever you want to use
mysql -u root -password -e "use mysql; UPDATE user SET authentication_string=PASSWORD('password') WHERE User='root'; flush privileges;"
person rynop    schedule 24.04.2017