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.
Run:
$ sudo visudo
It’ll open the nano
editor. Like emacs, you can go to the next line with
C-n
and the previous with C-p
.
Look for this line near the bottom:
%sudo ALL=(ALL:ALL) ALL
Change it to:
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
Save with C-x
, answer 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
Listing... Done
base-files/stable 12.4+deb12u4 amd64 [upgradable from: 12.4]
debian-archive-keyring/stable 2023.3+deb12u1 all [upgradable from: 2023.3]
...
Upgrade them:
$ sudo apt upgrade
fish
shellI 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