Installing MS-SQL on CentOS 7

Posted Leave a comment

This setup is using an instance within Google Cloud Platform’s Compute Engine, but it should work about anywhere running CentOS 7+. I added this here because I needed to try mssql on Centos, an unsupported distro. Other howto’s online I found did not work, or did not completely set it up in a usable form. This worked great for me. Let me know if you have issues.

Installing mssql server in linux

gcloud compute ssh instancename

obtain root

sudo su -
cd /etc/yum.repos.d/

grab the repo file(s) with wget, and store it/them in /etc/yum.repos.d/


you might want to grab the cli client for linux as well. You can grab the repo here:


now we’ll install mssql-server-2017 and the cli-client

sudo yum install mssql-server-agent mssql-server

and install the command line client:

sudo yum install mssql-cli

At this point, ms-sql is installed. We need to set up the new server.

cd /opt/mssql/bin/
./mssql-conf setup

you should be greeting with the following screen to pick your license.

[root@ms-sql bin]# ./mssql-conf setup
Choose an edition of SQL Server:  
  1) Evaluation (free, no production use rights, 180-day limit)
  2) Developer (free, no production use rights)
  3) Express (free)
  4) Web (PAID)
  5) Standard (PAID)
  6) Enterprise (PAID)
  7) Enterprise Core (PAID)
  8) I bought a license through a retail sales channel and have a product key to enter.

Details about editions can be found at

Use of PAID editions of this software requires separate licensing through a  
Microsoft Volume Licensing program.  
By choosing a PAID edition, you are verifying that you have the appropriate  
number of licenses in place to install and run this software.

Enter your edition(1-8): 3  
The license terms for this product can be found in  
/usr/share/doc/mssql-server or downloaded from:

The privacy statement can be viewed at:

Enter the SQL Server system administrator password:  
Confirm the SQL Server system administrator password:  
Configuring SQL Server...

The licensing PID was successfully processed. The new edition is [Express Edition].  
ForceFlush is enabled for this instance.  
ForceFlush feature is enabled for log durability.  
Created symlink from /etc/systemd/system/ to /usr/lib/systemd/system/mssql-server.service.  
Setup has completed successfully. SQL Server is now starting.  

The wizard will walk you though picking your licenses, and sa password. Once the password is set, SQL server will start, licensed

[root@ms-sql bin]# mssql-cli 
Username (press enter for sa):
Version: 0.13.0

Installing X2go Centos 7

Posted Leave a comment

For this we need to ad EPEL repo, add it as follows:

sudo yum install epel-release

Installing x2go

yum install -y x2goserver-xsession

Installing Xfce:

yum groupinstall -y "Xfce"

once the machine is restarted

Note: As much as I prefer the gnome-desktop or cinnamon-desktop environments, I could not make it work. If you find a way to make it work please feel free to leave a comment. Xfce is fine for basic remote desktop access.

If you need to open SSH

firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --reload


To install x2go client on fedora

sudo yum install epel-release x2go-client

Installing Xvfb in Centos 6-7

Posted Leave a comment

Xvfb, or X virtual frame buffer is needed by selenium and chromedriver or gekodriver, so it can srun via cron with your PC locked, or without your script taking focus from the user section

The Xvfb, or “X virtual frame buffer” will allow scripts and apps to run, within their own virtual x windows session. It allows you to write chromedriver scripts to do cool things on the web, and run them without them stealing focus in your local session.

# yum install -f chromedriver chromium xorg-x11-server-Xvfb
Example Python utilizing a virtual framebuffer:
from selenium import webdriver  
from pyvirtualdisplay import Display  
display = Display(visible=0, size=(800, 800))  
outputdir = "/tmp"  
options = webdriver.ChromeOptions()  
options.binary_location = '/bin/google-chrome'  
service_log_path = "{}/chromedriver.download_tax_rates.log".format(outputdir)  
service_args = ['--verbose']  
driver = webdriver.Chrome('/bin/chromedriver',  

#open connection
# driver = webdriver.Chrome()
#open chrome to first page