|
1 | | -curl https://packages.microsoft.com/keys/microsoft.asc \ |
2 | | - | gpg --dearmor \ |
3 | | - | sudo tee /usr/share/keyrings/microsoft-prod.gpg >/dev/null |
| 1 | +package_installed() { |
| 2 | + dpkg-query -W -f='${db:Status-Abbrev}' "$1" 2>/dev/null | grep -q '^ii ' |
| 3 | +} |
4 | 4 |
|
5 | | -#Download appropriate package for the OS version |
6 | | -#Choose only ONE of the following, corresponding to your OS version |
| 5 | +if ! package_installed msodbcsql18; then |
| 6 | + curl https://packages.microsoft.com/keys/microsoft.asc \ |
| 7 | + | gpg --dearmor \ |
| 8 | + | sudo tee /usr/share/keyrings/microsoft-prod.gpg >/dev/null |
7 | 9 |
|
8 | | -#Debian 12 |
9 | | -curl https://packages.microsoft.com/config/debian/12/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list |
| 10 | + # Download appropriate package for the OS version. |
| 11 | + # Choose only ONE of the following, corresponding to your OS version. |
| 12 | + |
| 13 | + # Debian 12 |
| 14 | + curl https://packages.microsoft.com/config/debian/12/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list |
| 15 | + |
| 16 | + sudo apt-get update |
| 17 | + sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18 |
| 18 | +fi |
10 | 19 |
|
11 | | -sudo apt-get update |
12 | | -sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18 |
13 | 20 | # optional: for bcp and sqlcmd |
14 | | -sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18 |
15 | | -echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc |
| 21 | +if ! package_installed mssql-tools18; then |
| 22 | + sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18 |
| 23 | +fi |
| 24 | + |
| 25 | +if ! grep -qF '/opt/mssql-tools18/bin' "$HOME/.bashrc"; then |
| 26 | + echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc |
| 27 | +fi |
16 | 28 | source ~/.bashrc |
| 29 | + |
17 | 30 | # optional: for unixODBC development headers |
18 | | -sudo apt-get install -y unixodbc-dev |
| 31 | +if ! package_installed unixodbc-dev; then |
| 32 | + sudo apt-get install -y unixodbc-dev |
| 33 | +fi |
| 34 | + |
19 | 35 | # optional: kerberos library for debian-slim distributions |
20 | | -sudo apt-get install -y libgssapi-krb5-2 |
| 36 | +if ! package_installed libgssapi-krb5-2; then |
| 37 | + sudo apt-get install -y libgssapi-krb5-2 |
| 38 | +fi |
0 commit comments