web-dev-qa-db-fra.com

Comment installer MS SQL pour Ubuntu 18.04 LTS?

J'ai regardé sur Internet, mais toutes ces étapes d'installation concernaient la version 16.04. Est-il disponible pour le 18.04? Si oui comment?

6

Microsoft ne fournit pas encore le serveur officiel mssql pour le 18.04 (05-12-2018). Pour tester uniquement, vous pouvez essayer this solution de contournement (de ma part).

Solution de contournement pour l'installation de Microsoft SQL Server (mssql) sur Ubuntu

AVERTISSEMENT: POUR TESTER UNIQUEMENT

  1. Téléchargez le dernier package mssql-server_14.0.3025.34-3_AMD64.deb à partir de https://packages.Microsoft.com/ubuntu/16.04/mssql-server-2017/pool/main/m/mssql-server/

  2. Changer de répertoire

    cd ${HOME} && mkdir -p tmp/mssql/newpkg/DEBIAN/ && cd tmp/mssql
    wget https://packages.Microsoft.com/ubuntu/16.04/mssql-server-2017/pool/main/m/mssql-server/mssql-server_14.0.3025.34-3_AMD64.deb
    
  3. Déballer

    dpkg-deb -x mssql-server_14.0.3025.34-3_AMD64.deb newpkg/
    dpkg-deb -e mssql-server_14.0.3025.34-3_AMD64.deb newpkg/DEBIAN/
    
  4. Modifier

    sed -i -e 's#openssl (<= 1.1.0)#openssl (<= 1.1.1)#g' newpkg/DEBIAN/control
    cat newpkg/DEBIAN/control | grep openssl
    
  5. Reconditionner

    dpkg-deb -b newpkg/ 18.04-mssql-server_14.0.3025.34-3_AMD64_.deb
    
  6. Premier essai, cela échouera pour les dépendances

    Sudo dpkg -i 18.04-mssql-server_14.0.3025.34-3_AMD64_.deb
    
  7. Installer des dépendances

    Sudo apt install -f
    
  8. Deuxième essai, cela devrait être fait

    Sudo dpkg -i 18.04-mssql-server_14.0.3025.34-3_AMD64_.deb
    
  9. Suivez les messages du paquet pour installer le serveur mssql

Dépannage

Le répertoire de base de données /var/opt/mssql ne doit pas être placé sur un ensemble de données zfs. Si vous utilisez zfs, créez un fichier zvol et mettez-le au format ext4/xfs.

Erreur: "Le vidage du thread de collecte [4404] a frappé l'exception [6]. Sortie."
Correction: Sudo usermod -a -G disk mssql
Raison: l'utilisateur mssql ne peut pas accéder à zvol.

Références:

9
David Mortals

Microsoft a mis à jour SQL Server 2017 pour Linux et il peut maintenant être installé dans Ubuntu 18.04 mais ne recommande que le développement.

Pour plus d'informations, consultez l'article suivant sur le blog Microsoft: Installation de SQL Server 2017 pour Linux sur Ubuntu 18.04 LTS

4
Jesse

Ainsi, les versions de ca-certificates et openssl fournies par Ubuntu 18.04 fonctionnent réellement pour mssql-server. Vraisemblablement, il rejette openssh car la version de 18.04 de 1.1.0g-2ubuntu4 est techniquement 'supérieure' à celle de mssql-server demandée <=1.1.0 (et je penserais qu'ils auraient dû utiliser <1.1.1, car il vous verrouille toujours à une variante 1.1.0 tout en permettant des versions de paquetage spécifiques à la distribution qui sont quelque chose que vous devriez absolument vous attendre à rencontrer mais ce n'est ni ici ni là.)

Le correctif

  1. Installer des dépendances
    Sudo apt-get install libunwind8 libnuma1 libc6 adduser libjemalloc1 libc ++ 1 gdb debconf libcurl3 nomhôte openssl python libgssapi-krb5-2 libsss-nss-idmap0 gawk sed
    (Je suis pleinement conscient du fait que la plupart d’entre elles sont déjà installées, il ne s’agit que de toutes les dépendances revendiquées.)
  2. Télécharger le package
    apt-get télécharger le serveur mssql
  3. Forcer l'installation
    Sudo dpkg --force-depend -i mssql-server_14.0.3025.34-3.deb
  4. Supprimer le fichier .deb téléchargé
    rm mssql-server_14.0.3025.34-3_AMD64.deb
    À ce stade, l’exécution d’une commande apt entraînera (de manière inoffensive) le reproche que mssql-server a des dépendances non satisfaites et vous demandera d’exécuter: Sudo apt --fix-broken install
    NE FAITES PAS CELA. Vous allez perdre tout ce que vous venez de faire.

    Si vous voulez vraiment que cette erreur disparaisse, passez à l’étape 5, sinon ignorez-la et vous avez terminé.

  5. Convaincre dpkg que tout va bien
    1. Sudo nano /var/lib/dpkg/status
      Votre éditeur préféré est bien aussi
    2. Trouvez l'entrée pour mssql-server (pour nano c'est Ctrl-W, pas Ctrl-F)
    3. Changer la ligne de dépend de

      ...hostname, openssl (>= 1.0.1), openssl (<= 1.1.0), python (<= 2.7.0)...

      à

      ...hostname, openssl (>= 1.0.1), openssl (< 1.1.1), python (<= 2.7.0)...

Si vous avez installé de force les anciennes versions de ca-certificates et openssl pour que mssql-server soit installé, vous pouvez forcer leur mise à niveau avec apt-get install ca-certificates openssl. Cela supprimera mssql-server (mais votre configuration et vos bases de données doivent être laissées seules). Ensuite, vous pouvez suivre mes instructions.

Cela devrait vous éviter d’avoir à vous soucier de reconditionner des objets. Vous négociez pour jouer des tours à dpkg, mais le faire de cette façon facilitera probablement (j’admets que cela n’est basé sur aucune recherche) la mise à niveau lorsqu’un paquet officiel 18.04 sortira. étant donné que vous évitiez de créer et d'utiliser un package non officiel et de mettre à niveau un package officiel, les modifications apportées seraient automatiquement effacées.

4
Elijah Woodward

Site Web SQL de Micrsoft a été mis à jour pour la dernière fois en avril 2018 et indique Ubuntu 16.04 comme la version la plus actuellement prise en charge. J'attendrais le 26 juillet 2018, date de la sortie d'Ubuntu 18.04.1 LTS, pour pouvoir compter sur le soutien de Microsoft.

Au lieu de payer pour le SQL de Microsoft, vous pouvez essayer le version gratuite de MySQL qui supporte déjà Ubuntu 18.04.

2

Si vous utilisez Ubuntu 18.10, vous devrez modifier légèrement la réponse de David Mortals en ajoutant ce qui suit à l'étape 4:

sed -i -e 's#libjemalloc1#libjemalloc2#g' newpkg/DEBIAN/control

Cela suppose que libjemalloc2 est rétro-compatible avec libjemalloc1 et qu’à ce jour, sur mon ordinateur de développeur, il semble fonctionner correctement.

0
Dylan Smith