Ubuntu install golang

As usual, before installing anything in Ubuntu, run

sudo apt update
sudo apt upgrade

Once done, you can start installing golang. The easiest method to install using the below command.

sudo apt install golang-go

Next is to test if you had successfully install golang. Create a hello.go file, paste the contents below into the hello.go file and save it.

package main

import "fmt"

func main() {
    fmt.Println("hello world")

To execute the file, run the command below.

go run hello.go

Ubuntu install sysstat

Ubuntu install sysstat

sudo apt install sysstat

Once installation completed, enable sysstat by setting the value to true.

sudo vim /etc/default/sysstat


After that restart the sysstat service

sudo service sysstat restart

By default sysstat sample the CPU usage every 10 minutes at 5, 15, 25, 35, 45 and 55 minutes of the hour. To modify it,

sudo vim /etc/cron.d/sysstat


Viewing the stats

To view latest stats


To view yesterday’s stats

sar -f /var/log/sysstat/sa$(date +%d -d 'yesterday')

To view specific date stats

sar -f /var/log/sysstat/sa$(date +%d -d '2019-04-27')


Ubuntu install Plex media server

Ubuntu install Plex media server

Go to Plex website to get the download URL


cd /tmp
wget https://downloads.plex.tv/plex-media-server/
sudo dpkg -i plexmediaserver_1.14.1.5488-cc260c476_amd64.deb
systemctl status plexmediaserver


Go to and start configuring your Plex

Assuming that the videos are in your external hard disk connected to your Ubuntu desktop. You’ll need to run these commands to give user plex to access your drive.

sudo usermod -a -G $MYGROUP plex
sudo chown $USER:$MYGROUP /media/$USER
sudo chmod 750 /media/$USER
sudo setfacl -m g:$MYGROUP:rwx /media/$USER
sudo service plexmediaserver restart

to check your group or the group user plex is in

groups plex


Ubuntu disable sleep on lid close

Ubuntu disable sleep on lid close

I prefer to install Ubuntu Desktop version instead of Ubuntu Server version because it takes care of all the drivers for my laptop. After the installation I’ll disable the GUI.

The screen will stay on at the login prompt and since it is a laptop, there isn’t a power off for the monitor only. Closing the lid will cause the laptop to sleep.

To prevent it from going to sleep. Do these.


Uncomment the 2 lines below and set it to ignore.


Lastly restart the service.

sudo service systemd-logind restart


Ubuntu 18.04 install MySQL Server

Ubuntu 18.04 install MySQL Server

Installation for MySQL is slightly different in 18.04 as compared to 16.04.

sudo apt update
sudo apt install mysql-server -y
sudo mysql -uroot

Now in MySQL console, type the following to check the users.

select user,host,plugin from mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEWPASSWORD';
update mysql.user set host='%' where user='root';

Comment the line bind-address if you like to listen on all addresses.

sudo service mysql restart


Ubuntu install Selenium

Ubuntu install Selenium

Most sites can be crawled with simple wget in Bash but some are loaded at runtime using Javascripts. These sites cannot be crawled using simple wget in Bash. You’ll need something like Selenium.

To install Selenium, Firefox and xvfb. Run these commands.

sudo apt update
sudo apt install python-pip firefox xvfb -y
echo export DISPLAY=:99|sudo tee -a /etc/environment
pip install selenium

Download geckodriver. Extract it and move to /usr/bin/

wget https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz
tar -xzvf geckodriver-v0.24.0-linux64.tar.gz
sudo mv geckodriver /usr/bin/

Login as root, and set to run xvfb at reboot.

sudo su
crontab -e
@reboot Xvfb :99 -ac
reboot now

Create a simple python script to test if your installation is successful.

vim test.py
from selenium import webdriver
driver = webdriver.Firefox()
  print driver.title
python test.py

Ubuntu install Nokogiri

Ubuntu install Nokogiri

First check if you have Ruby installed in your Ubuntu. Type the following command to check.

ruby -v

If you do not have Ruby installed. Read my Ruby on Rails setup post, and read the install rbenv and then later install Ruby.

If it is showing you your Ruby version then Ruby is already installed in your environment. Next to install Nokogiri, type the command below.

gem install nokogiri

Clean Ubuntu 18.04 quick install Nokogiri

Assuming you are installing Nokogiri using a brand new clean Ubuntu 18.04. To quickly install Nokogiri. Use these following commands.

sudo apt update
sudo apt upgrade -y
sudo apt install ruby ruby-dev libz-dev build-essential -y
sudo gem install nokogiri


Ubuntu install Deluge

Ubuntu install Deluge

The following commands installs Deluge

sudo apt update
sudo apt install deluged deluge-web -y

Add user

The following commands add user deluge or any other username of your choice. You can use user ubuntu or ec2-user to run deluge but it is best to create a new user to run deluge.

sudo su
adduser deluge

Type in the password for user deluge when prompted. You can leave the rest of the fields empty.

Running Deluge

I prefer to run a separate screen session and I named it deluge. Within the screen session I switch to user deluge created earlier. Then run deluge. To detach from the screen session, press Ctrl+A, Ctrl+D.

screen -S deluge
sudo su - deluge
deluge-web &

Login Deluge web UI

Assuming your Ubuntu IP is Then go to to login to Deluge web UI. The default password is “deluge“. You will be prompted to change the password once logged in.



Ubuntu change timezone

Ubuntu Desktop in Singapore

I had chosen Singapore timezone during the installation of Ubuntu 18.04 but it still turns out to be Indonesia timezone with Bahasa Indonesia as default language.

To avoid that, I’ve been installing Ubuntu Desktop 18.04 with the default New York timezone. That way I am sure that I’ll be getting English as default language and later just reconfigure my timezone.

Ubuntu change timezone

To change the timezone, use the command below.

sudo dpkg-reconfigure tzdata





Ubuntu setup React Native

Ubuntu setup React Native

In this post, I am setting up React Native in Ubuntu 18.04. Before we begin, we need to check if we have all the prerequisites. Once all prerequisites are installed, we will proceed with setting up a React Native project. Finally running the app in Expo app in iOS and Android.

Java Development Kit (JDK)

Check your JDK version to see if you currently have JDK installed. In my screenshot, I do not have JDK installed.

# Check if you have JDK installed
javac -version

# Run the below command to install JDK
sudo apt install openjdk-8-jdk-headless

ubuntu setup react native
JDK not found in my Ubuntu 18.04.


Check your python version to see if you had python installed.

# Check your python version
python -v

# Run the below command to install python
sudo apt install python

ubuntu setup react native
Python not found in my Ubuntu 18.04.

Node.js and npm

Check your Node.js and npm version to see if you had it installed.

# Check Node.js version
node -v

# Check npm version
npm -v

# Install Node.js
sudo apt install nodejs

# Install npm
sudo apt install npm

ubuntu setup react native
Node.js and npm not found in my Ubuntu 18.04.

Create React Native project

# This is for generating React Native project files
sudo npm install -g create-react-native-app

# Create a new project MyReactNativeApp
sudo create-react-native-app MyReactNativeApp

ubuntu setup react native
Successfully created MyReactNativeApp project.

Setting Permissions

Earlier we created the React Native project with sudo because it needs to write some files into /usr/local/ directory. Now we need to change the project files owner back to myself.

# Changeing the owner from root to myself
cd ~
sudo chown -R kevinfoo:kevinfoo .expo/
sudo chown -R kevinfoo:kevinfoo MyReactNativeApp/

Running the app

cd MyReactNativeApp
expo start

ubuntu setup react native
Successfully starting the app.

ubuntu setup react native
Install the Expo client in iOS or Android and scan the QR code to run it.

Expo client

Expo client is available for download at their official site.