Grow up

生活とプログラミング

Ubuntu 18.04 LXC SQL Server コマンドラインツールをインストールする方法

f:id:knkomko:20200614224057j:plain

はじめに

UbuntuSQLServerコマンドラインツールをインストールする機会があったので、
公式ドキュメントのコマンドを実行する中で発生した問題を解決していきます。
docs.microsoft.com

1. パブリック リポジトリの GPG キーをインポート
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

上記コマンドを実行するとcurlコマンドとgnupgが必要だとエラーになりました。
f:id:knkomko:20200614193014p:plain

必要とされたcurlコマンドをインストールすると再びエラーが発生。
f:id:knkomko:20200614203847p:plain

どうやらインストールを実行する前にパッケージリストの更新が必要のようです。
f:id:knkomko:20200614205421p:plain
Cannot install packages inside docker Ubuntu image - Stack Overflow

そこでパッケージリストの更新を行ってから
f:id:knkomko:20200614210510p:plain

再びcurlコマンドのインストールを行うと、今度は問題無く実行できました。
f:id:knkomko:20200614210810p:plain

続いてgnupgをインストールする方法を調べるとDockerfileの例を見つけたので
f:id:knkomko:20200614211605p:plain
e:gnupg、gnupg2、gnupg1はインストールされていないようですが、この操作にはそのうちの1つが必要です

必要なコマンドだけを実行すると権限が無いと拒否されて実行できませんでした。
f:id:knkomko:20200614212322p:plain

こちらは管理者権限でコマンドを実行することによりインストールに無事成功。
f:id:knkomko:20200614212837p:plain

本命のGPGキーをインポートするコマンドを実行すると問題無く実行できました。
f:id:knkomko:20200614213204p:plain

2. Microsoft Ubuntu リポジトリを登録
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

続いて上記のコマンドを実行します。
f:id:knkomko:20200614213818p:plain

3. ソース一覧を更新し、unixODBC 開発者パッケージを使用してインストール コマンドを実行
sudo apt-get update

続いて上記コマンドを実行します。
f:id:knkomko:20200614214223p:plain

sudo apt-get install mssql-tools 

続いて上記コマンドを実行して今回は最新版のツールをインストールします。
f:id:knkomko:20200614214810p:plain

4. 省略可能:bash シェルで PATH 環境変数に /opt/mssql-tools/bin/ を追加します。

・ログインセッション用

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

・対話型/非ログイン セッション用

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

sqlcmdコマンドが使用できるようにパスを通します。
f:id:knkomko:20200614215821p:plain

5. 確認
sqlcmd -?

上記コマンドを実行してsqlcmdが使用できることを確認します。
f:id:knkomko:20200614221120p:plain

SQL Server の接続とSQLの実行も問題なく行えました。
f:id:knkomko:20200614221502p:plain