我很高兴看到18.04的发行。
我的构建需要通过PHP连接到运行在Ubuntu18.04上的MSSQL服务器的能力。
在这个版本的Ubuntu上发布了mssql-server回购吗?
发布于 2018-05-09 09:35:44
到目前为止,https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-2017只提到16.04。
回购版的mssql-server包在Ubuntus中运行良好,最高可达17.10,但在18.04之后,由于过时的依赖关系,它不再安装。
但是我们仍然可以安装和运行它:-)首先我们添加回购:
$ 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然后安装依赖项:
$ sudo apt install openssl1.0 libcurl4 libjemalloc2 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 libjemalloc2 libc++1 libsss-nss-idmap0 libc++abi1然后,我们修复.deb中的依赖项列表,以指定openssl1.0而不是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:
controlopenssl1.0而不是openssl (注意:在同一行中提到了两个位置),libjemalloc2代替libjemalloc1,Save,然后单击Save左边的X,Save,然后,我们用一个新的名称重新打包归档,并安装它:
$ # 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现在继续从https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-2017的第4步(C30)开始,您应该能够测试您与sqsh或tsql的连接。
编辑:我已经有了在Ubuntu19.10上执行此操作的当前脚本:https://gist.github.com/unhammer/6bff7adabb98e581508c042dc1fb9914
https://askubuntu.com/questions/1029504
复制相似问题