I upgrade my system quite often and when I do, I have a handy checklist that I use to get me setup and running in less than one hour.
I prefer a clean install as opposed to an upgrade; I find that it keeps my system fresh and I like it working as new. Here are my steps to go from installation to production.
A quick note on Firefox: I do not use the Firefox that comes with Linux Mint or any other OS for that matter. I run my own copy from a local folder (which is backed up) to ensure I can keep my profiles, etc. See this post.
1. Restore Backups
Regular backups are a big must. My backups comprise of only the files that I
have created and so do not include any system files. For example, I will backup
Photos, as well as some of my personal
configuration files like
.thunderbird, et cetera.
Once my install has completed, I start restoring my backups to their original place.
2. Make password for root
It is beyond me why Ubuntu / Linux Mint do not insist upon root account password setting during install. Debian does, so not quite sure what the issue is with these two chaps. A huge security gap but never mind, it is easily fixed.
Open a terminal and run this command to set a good, strong root password:
sudo passwd root
3. Enable UFW
Turn on the firewall. This can be easily achieved via the
gufw application or
the command line:
sudo ufw enable
4. Install preferred applications
Here are mine:
sudo apt install conky gedit audacity geany filezilla darktable ffmpeg \ potrace kid3 simplescreenrecorder sct audacious flac pass gimp mpv \ pavucontrol telegram-desktop inkscape imagemagick virtualbox goldendict \ chromium geany-plugin-spellcheck
5. Remove the applications I don’t need
Apparently, new Linux users have recommended to them that they should not remove any of the applications shipped with their distribution in case something breaks. I have never heard a more ridiculous recommendation!
sudo apt purge rhythmbox celluloid firefox hexchat xed timeshift thingy \ mintbackup warpinator mintwelcome mintreport webapp-manager redshift \ firefox-locale-en baobab
Let me explain my rationale.
- Firefox: replaced by my own version that I update locally.
- Timeshift: a backup application that I don’t use as I have my own backup routine.
- mintbackup: another backup tool? We need two, right?
- mintwelcome: a nice screen that says ‘Hi’. Delete.
- mintreport: a troubleshooting tool to analyse crash reports and browse through important information.
- webapp-manager: an application to run websites as if they were apps.
- redshift: nice, really nice but I prefer to use an application called xsct.
- xed: Linux Mint’s text editor. I prefer gedit.
- rhythmbox, celluloid, hexchat, warpinator, baobab, thingy: I don’t need or use.
6. Update and clean
First, let’s upgrade everything:
sudo apt update -qq && sudo apt upgrade
Once my system is updated, give it a clean:
sudo apt autoremove
7. Reduce swap
Add to bottom of /etc/sysctl.conf:
sudo gedit /etc/sysctl.conf
Second, add to bottom of file:
vm.dirty_background_ratio = 5 vm.dirty_ratio = 10 vm.swappiness = 10
Third, save and close, then run this command to load the new settings:
sudo sysctl -p
8. Tame systemd
Reduce journal size:
sudo gedit /etc/systemd/journald.conf
SystemMaxUse then set to:
Add more if you need to. Save and close.
Reduce wait at shutdown:
sudo gedit /etc/systemd/system.conf
DefaultTimeoutStopSec then set to:
Save and close.
Run this command to load the new settings:
Finished. Linux Mint is production ready. Note: this may also work with Ubuntu and Debian, obviously with some slight variations.