Могу ли я автоматически принимать условия лицензии MS SQL при установке пакета yum?

Я использую Ansible для предоставления MS SQL Server 2017 в поле CentOS 7.4 . Сначала я прошел через это руководство через командную строку, и он работает, но моя конечная цель – «Ansible -ize». Однако, когда я добираюсь до этапа установки инструментов командной строки, ключ -y не работает для принятия лицензии.

 [user@host ~]$ sudo yum install -y mssql-tools unixODBC-devel Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package mssql-tools.x86_64 0:14.0.6.0-1 will be installed --> Processing Dependency: msodbcsql < 13.2.0.0 for package: mssql-tools-14.0.6.0-1.x86_64 --> Processing Dependency: msodbcsql >= 13.1.0.0 for package: mssql-tools-14.0.6.0-1.x86_64 ---> Package unixODBC-devel.x86_64 0:2.3.1-11.el7 will be installed --> Running transaction check ---> Package msodbcsql.x86_64 0:13.1.9.1-1 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: mssql-tools x86_64 14.0.6.0-1 packages-microsoft-com-prod 249 k unixODBC-devel x86_64 2.3.1-11.el7 pwbank_repo 55 k Installing for dependencies: msodbcsql x86_64 13.1.9.1-1 packages-microsoft-com-prod 4.0 M Transaction Summary ================================================================================ Install 2 Packages (+1 Dependent package) Total size: 4.2 M Installed size: 4.4 M Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. The license terms for this product can be downloaded from https://aka.ms/odbc131eula and found in /usr/share/doc/msodbcsql/LICENSE.TXT . By entering 'YES', you indicate that you accept the license terms. Do you accept the license terms? (Enter YES or NO) YES Installing : msodbcsql-13.1.9.1-1.x86_64 1/3 The license terms for this product can be downloaded from http://go.microsoft.com/fwlink/?LinkId=746949 and found in /usr/share/doc/mssql-tools/LICENSE.txt . By entering 'YES', you indicate that you accept the license terms. Do you accept the license terms? (Enter YES or NO) YES Installing : mssql-tools-14.0.6.0-1.x86_64 2/3 Installing : unixODBC-devel-2.3.1-11.el7.x86_64 3/3 Verifying : msodbcsql-13.1.9.1-1.x86_64 1/3 Verifying : unixODBC-devel-2.3.1-11.el7.x86_64 2/3 Verifying : mssql-tools-14.0.6.0-1.x86_64 3/3 Installed: mssql-tools.x86_64 0:14.0.6.0-1 unixODBC-devel.x86_64 0:2.3.1-11.el7 Dependency Installed: msodbcsql.x86_64 0:13.1.9.1-1 Complete! 

Я заметил, что есть предупреждение, прежде чем мне подскажут, что RPMDB изменен вне yum. Означает ли это, что Microsoft специально модифицировала этот rpm по-своему, и из-за этого yum не знает, как с этим справиться?

Моя цель

Несмотря на то, что вышеописанное работает для «вручную», я пытаюсь выполнить «ansible-ize» выше. Моя игра работает до тех пор, пока я не дойду до этой игры:

 - name: Upgrade all installed packages, and install new ones package: name: '{{item}}' state: latest with_items: - '*' - mssql-server - mssql-tools - unixODBC-devel 

Вышеприведенная игра обновит все мои установленные пакеты и установит MS SQL Server 2017 просто отлично, но она будет зависать при попытке установить пакет mssql-tools , я предполагаю, потому что он ждет, пока пользователь примет лицензию.

Мой вопрос

Как я могу установить «ansible-ize», если моя игра зависает, ожидая, когда пользователь примет лицензию?

Для бонусных очков есть шаг, на котором я должен запустить sudo /opt/mssql/bin/mssql-conf setup и следовать подсказкам на экране, которые, опять же, мешают моей инициализации. Я нахожусь в процессе его прохождения один раз, нахожу его выходной файл и видя, не могу ли я просто скопировать его при каждом обновлении нового окна. Кроме того, я в процессе чтения на Expect .

2 Solutions collect form web for “Могу ли я автоматически принимать условия лицензии MS SQL при установке пакета yum?”

 - name: install mssql-server repo (CentOS, RedHat) get_url: url: "{{ centos_repo_url }}" dest: /etc/yum.repos.d/mssql-server.repo when: ansible_distribution in ['CentOS', 'RedHat'] - name: install mssql-server repo (Ubuntu) get_url: url: "{{ ubuntu_repo_url }}" dest: /etc/apt/sources.list.d/mssql-server.list when: ansible_distribution == 'Ubuntu' - name: refresh apt-get cache for server repo (Ubuntu) command: apt-get update when: ansible_distribution == 'Ubuntu' - name: install mssql-server package package: name: mssql-server state: latest - name: install mssql-tools package package: name: mssql-tools state: latest environment: ACCEPT_EULA: 'y' 

Это должно работать с точки зрения EULA для инструментов

sudo ACCEPT_EULA=Y apt-get install -y mssql-tools unixodbc-dev

Что касается автоматической установки, вы можете указать переменные окружения или параметры командной строки для большинства вещей во время установки. Взгляните на пример: сценарий установки без участия SQL Server для Red Hat Enterprise Linux .

ПРИМЕЧАНИЕ. Я заметил, что репо в ссылках по-прежнему указывает на более раннее репо RTM. Пожалуйста, используйте эти соглашения, когда мы их исправляем.

  • Yum: Как просматривать переменные типа $ releasever, $ basearch & $ YUM0?
  • Yum или Reposync: Как я могу медленно удалить репозиторий без непреднамеренных проблем с зависимостями?
  • Загрузочный раздел на CentOS 6
  • Обрезка дерева пакетов с помощью apt-get и yum
  • Отключить обновление репозитория в Fedora
  • Как установить mysql-сервер 5.6 на RHEL 5.8 (когда MySQL-сервер 5.0 уже установлен)
  • Yum fail: Требует установленные пакеты
  • Как создать локальные репозитории в RHEL
  • Как добавить источники программного обеспечения для dom0 в Qubes
  • Можно ли установить PHP 5.2.17 на новую систему CentOS 6.4?
  • Centos rpm -qa vs yum list установлен
  • Почему yum не устанавливает мои программы на RHEL 6?
  • Linux и Unix - лучшая ОС в мире.