Ubuntu Linux – Handy stuff

Update all packaged :  $ sudo apt-get update

Upgrade all packages: $ sudo apt-get upgrade

What’s my Machine name and Linux Version

$ > hostname

$ > cat /etc/os-release

What’s my Private IP

$ > hostname -i

$ > hostname -I |'{print $1}’

$ > ip route get | awk ‘{print $7}’

What’s my Public IP

curl ifconfig.me   or ifconfig.co

dig +short myip.opendns.com @resolver1.opendns.com

What’s my Username

$ > whoami

Show my network interfaces

nmcli -p device show

nmcli device show

Fix Broken Packages: $ sudo dpkg –configure -a // Fix any broken pkgs

Install a package say iputils-ping and 

$ > apt-get update && apt-get install -y iputils-ping \

Uninstall a package: $ sudo apt remove azure-cli -y && sudo apt autoremove -y

To see Long description of each package: $ apt show package_name       E.g. apt show php-cli

sudo apt install lynx  // text based browser on linux.

USEFUL Packages:

  • For Admin: netstat, iputils-ping, webmin
  • For Dev work: nodejs, npm, azure-cli, lynx (text browser), pwsh,  pluma (text editor)

Networking and firewalls

  • Which processes are listening on 443 (ssl): $ sudo netstat -tulpn | grep :443
  • Show firewall rules: sudo ufw app list sudo ufw app info “Apache Full”

Install Azure-cli with one command: $ curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

Search for a string in multiple files:

grep -i -r “/opt/bitnami/apps/wordpress” /opt/*  // Searching for the string “/opt/bitnami/apps/wordpress” in all files/subfolders under /opt


Add SWAP File: 

sudo fallocate -l 2G /swapfile

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

sudo nano /etc/fstab

Paste this line at end of file: /swapfile swap swap defaults 0 0

Verify swap is on: sudo swapon –show

Check free swap space: sudo free -h

Configure swappiness:

cat /proc/sys/vm/swappiness

Output : 60

Temporarily change it:

sudo sysctl vm.swappiness=10

Permanently change it to survive reboots:

sudo nano /etc/sysctl.conf

Add this line into file: vm.swappiness=10


Remove swap file and virtual memory: (ONLY if needed, we generally want swap)

sudo swapoff -v /swapfile

remove the swap file entry /swapfile swap swap defaults 0 0 from the /etc/fstab file

Then remove the swap file: sudo rm /swapfile


Install Webmin:  https://localhost:10000/

sudo nano /etc/apt/sources.list

> Add this line to end of file:  deb https://download.webmin.com/download/repository sarge contrib

Press Ctrl O to save file. > Press Ctrl X to exit editor

OR simply do $ sudo su and then

$ sudo echo “deb https://download.webmin.com/download/repository sarge contrib” >>  /etc/apt/sources.list

$ wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add

$ sudo apt update && sudo dpkg –configure -a // Fix any broken pkgs

$ sudo apt install webmin // Install Webmin..

$ sudo /etc/init.d/webmin restart  // works better to restart webmin

If error see command to run – Webmin server cannot be started. It is advised to start it manually

by running “/etc/webmin/restart-by-force-kill” command

On WSL the sudo and webmin username/password is same as your windows username/password..

Find username on webmin trick (run the command below as is, it outputs the needed uid)

$ sudo /usr/share/webmin/changepass.pl /etc/webmin username password

ISSUE: Webmin Access denied multiple authentication attempts  (note the IP denied in error shown)

FIX: sudo nano /etc/webmin/miniserv.conf  (or do sudo su first if access denied)

  • Add line anywhere:  allow=    (specify the IP denied here) 
  • Ctrl O and Ctrl X (save and exits)

or sudo echo “allow=” >> /etc/webmin/miniserv.conf

sudo /etc/init.d/webmin restart

ALT Install method for Webmin:

mkdir downloads && cd downloads

wget https://prdownloads.sourceforge.net/webadmin/webmin-1.962.tar.gz

sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

tar -xzvf webmin-1.997.tar.gz

cd webmin-1.997    (or 1.962)

sudo sh setup.sh



Leave a Reply