Debian is my operating system of choice for server-side development.
It’s used by the Wikimedia foundation and has strong principles (yet is pragmatic) and has a large and helpful community.
Here’s my guide for how I set up a debian machine for development right after my first login.
Either I’m using a virtual machine or I set a strong password and disable password login over ssh, so I let myself
sudo without typing a password.
To do this you edit the
/etc/sudoers file, but you do this with
visudo so that if you mess that file up you don’t brick your computer.
$ sudo visudo
It’ll open the
nano editor. Like emacs, you can go to the next line with
C-n and the previous with
Look for this line near the bottom:
%sudo ALL=(ALL:ALL) ALL
Change it to:
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
y to the prompt, and hit
enter to confirm the filename.
Since you’ll be installing from some
.iso or virtual machine image,
and packages update constantly, you’ll want to upgrade all built-in packages to the latest.
Update your package index:
$ sudo apt update
Take a look at the upgradable packages (optional):
$ apt list --upgradable
base-files/stable 12.4+deb12u4 amd64 [upgradable from: 12.4]
debian-archive-keyring/stable 2023.3+deb12u1 all [upgradable from: 2023.3]
$ sudo apt upgrade
I use the fish shell as my default interactive shell.
Install it and set it to your default shell:
$ apt install -y fish
$ sudo chsh -s `which fish` `whoami`
Exec fish to use it in your current session:
$ exec fish