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')
Dynamic IP using Cloudflare
I previously posted an article about updating your DNS with your dynamic IP using paid service noip.com. I recently found out that you can do the same for free using Cloudflare.
Registered an account with Cloudflare.
Domain configured and active in Cloudflare. If not, read my
post on how to configure one. Installed curl and jq.
Copy the content below into update.sh.
dns_id=$(curl -X GET "https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records?type=A&name=$domain" -H "X-Auth-Email: $email" -H "X-Auth-Key: $api_key" -H "$json"|jq -r .result.id)
#echo -n $dns_id
curl -X PUT "https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records/$dns_id" -H "X-Auth-Email: $email" -H "X-Auth-Key: $api_key" -H "$json" \
Create a sub domain for you to update dynamically
This is where you can get your global API key
Once clicked [View], your API key will be shown
You can get your Zone ID here
The API I used can be found here
List DNS Records
Update DNS Record
Dynamic IP using noip.com
Ubuntu/Linux machine running at home with dynamic IP.
Ubuntu/Linux machine is configured in DMZ or has port 80 forwarded to it.
Registerd a free account at noip.com.
Bash script below to automatically get your external IP and and update noip.com. After that put this script to run as a cron job.
Ubuntu install Plex media server
Go to Plex website to get the download URL
sudo dpkg -i plexmediaserver_126.96.36.19988-cc260c476_amd64.deb
systemctl status plexmediaserver
Go to http://127.0.0.1:32400/web 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
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
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
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
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.
@reboot Xvfb :99 -ac
Create a simple python script to test if your installation is successful.
from selenium import webdriver
driver = webdriver.Firefox()
Ubuntu install Nokogiri
First check if you have Ruby installed in your Ubuntu. Type the following command to check.
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
The following commands installs Deluge
sudo apt update
sudo apt install deluged deluge-web -y
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.
Type in the password for user deluge when prompted. You can leave the rest of the fields empty.
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
Login Deluge web UI
Assuming your Ubuntu IP is 10.0.0.123. Then go to http://10.0.0.123:8112 to login to Deluge web UI. The default password is “
“. You will be prompted to change the password once logged in. deluge