web-dev-qa-db-fra.com

Ubuntu 18.04 MSSQL Repos

Je suis impatient de voir la sortie du 18.04.

Ma construction nécessite la possibilité de se connecter à un serveur MSSQL sous Ubuntu 18.04 via PHP.

Un repo a-t-il été publié pour mssql-server sur cette version d'Ubuntu?

2
Dennis W. Watson

https://docs.Microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-2017 à ce jour, ne mentionne que 16.04.

Le paquetage mssql-server du référentiel fonctionne très bien sous Ubuntus jusqu’à 17.10, mais à partir du 18.04, il n’installe plus - se plaint de versions trop élevées de openssl et dépend d’une version de libcurl en conflit avec celle utilisée par regular .

Mais on peut toujours l’installer :-) On ajoute d’abord le repo:

$ wget -qO- https://packages.Microsoft.com/keys/Microsoft.asc | Sudo apt-key add -
$ echo 'deb [Arch=AMD64] https://packages.Microsoft.com/ubuntu/16.04/mssql-server-2017 xenial main' | Sudo tee -a /etc/apt/sources.list.d/mssql-server.list

Ensuite, nous installons les dépendances:

$ Sudo apt install openssl1.0 libcurl4 libjemalloc1 libc++1 libsss-nss-idmap0 libc++abi1
$ # Mark them as dependencies so they're autoremoved if you remove mssql-server:
$ Sudo apt-mark auto openssl1.0 libcurl4 libjemalloc1 libc++1 libsss-nss-idmap0 libc++abi1

Ensuite, nous corrigeons la liste de dépendance dans le fichier .deb pour spécifier openssl1.0 au lieu de openssl:

$ mkdir tmp && cd tmp
$ Sudo apt download mssql-server
$ ar x mssql-server_14.0.3025.34-3_AMD64.deb
$ emacs -Q control.tar.gz

À Emacs:

  1. cliquez sur le fichier control dans la liste des fichiers
  2. éditez la ligne commençant par "Depends" pour dire openssl1.0 au lieu de openssl (note: il est mentionné deux endroits dans la même ligne),
  3. éditez la ligne commençant par "dépend" pour dire libcurl4 au lieu de libcurl3,
  4. puis cliquez sur Save puis sur le X situé à gauche de Save,
  5. puis également cliquez Save dans la liste de fichiers,
  6. puis quittez (Fichier → Quitter).

Ensuite, nous remballons l'archive sous un nouveau nom et l'installons:

$ # Note: order of arguments matters here:
$ ar rcs mssql-server_14.0.3025.34-3fixed_AMD64.deb debian-binary control.tar.gz data.tar.xz
$ Sudo dpkg -i mssql-server_14.0.3025.34-3fixed_AMD64.deb

Continuez maintenant à partir de l'étape 4 (mssql-conf setup) de https://docs.Microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server- linux-2017 et vous devriez pouvoir tester votre connexion avec par exemple sqsh ou tsql.

3
unhammer