내 목표

내 목표

나는 사용하고있다안시푸르공급마이크로소프트 SQL 서버 2017센트OS 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

위의 내용을 재생하면 현재 설치된 모든 패키지가 업데이트되고 설치됩니다.마이크로소프트 SQL 서버 2017다 좋은데 설치하려고 하면 멈춥니다mssql 도구패키지는 사용자가 라이센스에 동의하기를 기다리고 있기 때문에 가정합니다.

내 질문

내 플레이북이 사용자가 라이센스를 수락할 때까지 기다리지 않는 경우 이 설치를 어떻게 "활성화"합니까?

sudo /opt/mssql/bin/mssql-conf setup보너스 포인트를 얻으려면 화면에 나타나는 메시지를 실행하고 따라야 하는 단계가 있었는데 , 이로 인해 구성이 다시 방해를 받았습니다. 한 번 확인하고 출력 파일을 찾고 새 상자를 재구성할 때 복사할 수 없는지 확인하고 있습니다. 아니면 내가 읽고 있는 중이야예상되는.

답변1

- 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'

SQL Server 설치 및 구성(및 Pacemaker 관리 가용성 그룹 생성)에 대한 샘플 매뉴얼은 다음 위치에서 확인할 수 있습니다.https://github.com/Microsoft/sql-server-samples/tree/master/samples/features/high%20availability/Linux/Ansible%20Playbook

답변2

이는 도구의 EULA에 적용되어야 합니다.

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

무인 설치의 경우 설치 프로세스 중에 대부분의 항목에 대해 환경 변수나 명령줄 옵션을 지정할 수 있습니다. 보세요예: Red Hat Enterprise Linux용 무인 SQL Server 설치 스크립트.

노트:링크의 저장소가 여전히 이전 RTM 이전 저장소를 가리키는 것으로 나타났습니다. 사용 해주세요이번 환매계약우리가 그것들을 정정할 때.

답변3

rpm -ivh를 사용하고 설치 프로그램을 비대화식으로 실행하려는 경우. 언급된 단계를 따르십시오.

Ubuntu 및 redat/ubi8-init에서 테스트됨

  • ACCEPT_EULA='y' 내보내기
  • rpm -ivh <패키지 이름>

Dockerfile에서 동일한 목표를 달성하려는 경우 다음 명령을 사용하십시오.

실행 내보내기 ACCEPT_EULA='y' && rpm -ivh msodbcsql****.rpm

노트: 내보내기 및 rpm 명령이 단일 실행에만 적용되는지 확인하세요.

관련 정보