Here we go again!
Linux like OpenGL is old, and though finding information how to use it isn’t hard, finding the right information can be. Things have changed and evolved over time, and a “best practice” from years ago might not be best anymore (i.e. every article that still uses
Sooo, like every other time I do one of these note-posts, I’m trying to make sure I’m doing each step the most current/ideal/recommended way. Here we go!
Create your VPS server.
- Pick the type (1 GB), then the data center in the drop down.
- Click the Linode, then click the settings tab.
- Change “Linode Label” and “Display Group” and click Save.
- If you want a private IP address (i.e. LAN), click Remote Access tab and find the private IP section.
- Click the Rebuild tab.
- Select Ubuntu 18.04 and set a root password
- Click the tiny “Deploy using Stackscripts” and choose the appropriate setup script
- Click the Dashboard tab.
- If you want to add an external volume, you can do so here.
- Click *BOOT.
Connect and setup the server
Under Linode you can use Lish to connect directly to the machine without a need for SSH. Either way, see your hosts SSH instructions.
Set the Hostname
hostnamectl set-hostname MyComputerName
(was formerly edit the
Update the Hosts file
127.0.0.1 localhost # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Above is what the stock Ubuntu 18.04 on Linode hosts file looks like. This is actually totally fine, but you might want to make some tweaks.
For example, the first line could be adjusted like so:
127.0.0.1 MyComputerName localhost
This will let you resolve
MyComputerName as the loopback address, same as you typically do with
You could also include your public IP with domain name, and save yourself a DNS lookup.
127.0.0.1 MyComputerName localhost 22.214.171.124 mydomain.com
Add a user
It’s safer to do administrative work with a user other than root (because it requires confirmation before you do something).
adduser myuser adduser myuser sudo
The 2nd line is a simpler way of adding a user to the group. In the above case, to the sudo’ers group.
# check information about the current user id # uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),27(sudo) # check what groups I'm in groups # myuser sudo
Adding a service user
To add a service user (i.e. one that doesn’t need a home folder), add them like so:
adduser --system --no-create-home --group serviceuser
--system- Creates a system user (i.e. no
/etc/shadow, system user UID range, no home folder)
--no-create-home- Doesn’t create a home folder (might not be necessary)
--group- By default users get put in
nogroup. Using this with
--systemcreates a group of the same name as the user.
Curious reference that contradicts: https://linux.die.net/man/8/adduser
Uninstall SSH (Linode only)
sudo apt remove openssh-server --purge
All server maintenence must now be done via Lish.
If you’re not on Linode, you’re going to need SSH to maintain the server.
When doing a
df, you get a lot of
/dev/loop devices. This can be annoying. A fix is to do the following:
alias df='df -x squashfs'
If you add this to your
.bashrc, you can permanently make it go away (unless you explicitly invoke