Sql-server – mssql server set up fail with errror on debian linux

sql server

I was trying to install SQL server on my Debian Linux. Installation part went well but when I tried to run setup file I am getting following error message. Is there any way to fix this issues. Thanks

File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 126, in <module>
exit(mssqlconfhelper.setupSqlServer())
File "/opt/mssql/lib/mssql-conf/mssqlconfhelper.py", line 441, in   setupSqlServer
ret = checkInstall()
 OSError: [Errno 2] No such file or directory

There are few other lines too but most of them are something similar to above and related to .py files.

Best Answer

I was istalling it on a docker container based on the debian:buster image,and i had the following error:

root@25d7455d0dfc:/# /opt/mssql/bin/mssql-conf setup
Traceback (most recent call last):
  File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 361, in <module>
    main()
  File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 357, in main
    processCommands()
  File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 262, in processCommands
    COMMAND_TABLE[args.which]()
  File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 75, in handleSetup
    mssqlconfhelper.setupSqlServer(eulaAccepted, noprompt=args.noprompt)
  File "/opt/mssql/lib/mssql-conf/mssqlconfhelper.py", line 971, in setupSqlServer
    if not checkInstall():
  File "/opt/mssql/lib/mssql-conf/mssqlconfhelper.py", line 941, in checkInstall
    return runScript(checkInstallScript, True) == 0
  File "/opt/mssql/lib/mssql-conf/mssqlconfhelper.py", line 930, in runScript
    return subprocess.call([sudo, "-EH", pathToScript])
  File "/usr/lib/python2.7/subprocess.py", line 172, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

So visited the python script at line 930: vim +930 /opt/mssql/lib/mssql-conf/mssqlconfhelper.py

And I saw this if condition:

if (runAsRoot):
    if(checkSudo() == False):
        printError(_("Elevated privileges required for this action. Please run in 'sudo' mode."))
        return (errorExitCode)
    return subprocess.call([sudo, "-EH", pathToScript])
else:
    return subprocess.call([pathToScript])

Since I'm running as root and it enters the first condition 'runAsRoot' the script run the following return subprocess.call([sudo, "-EH", pathToScript])

I changed that line to: return subprocess.call([pathToScript])

After that, the setup command worked for me. /opt/mssql/bin/mssql-conf setup