Debian install notes
I’m moving lots of my machines back to Debian in the yearning for rock solid stability and a complete distribution that just works. Debian was the first GNU/Linux I ever used as a teenager back in late 90s and I’ve fond memories of it.
Starting with the official amd64 install guide.
Preparation⌗
Make USB key⌗
I quickly discovered I want the image that includes proprietary firmware, so I can get my (nasty) wifi card working as quickly as possible.
Conveniently Debian images can now be written directly to the USB device:
# cp debian.iso /dev/sdX
# sync
This is a neat technique that replaces the virtual device /dev/sdX
with the iso file. The magic here is sync
, which forces changed blocks on the virtual device to be synchronised with the physical device.
Installation⌗
The installer is a well oiled machine. Unlike Arch (which I adore) building Debian boxes feels just trivial.
Things I like to do:
For a desktop⌗
- Go one single LVM-less giant partition.
- Only install the base X windows workload (i.e., none of the GNOME, KDE, LXDE bloat)
- This gives my custom
dwm
build a better chances of compiling and installing
For a server⌗
- Use LVM and LUKS for my partitions; as this gives me flexibility down the road to shuffle physical and logical volumes around.
Post boot⌗
Networking⌗
Wi-Fi⌗
vi /etc/network/interfaces
Add the following (amend for your specific interface):
allow-hotplug wlp3s0
iface wlp3s0 inet dhcp
wpa-ssid norm
wpa-psk PUT_PASSWORD_HERE
Bring up the interface with ifup wlp3s0
Wired Ethernet⌗
I recommend using network-manager
(nmcli
is the frontend) to manage networks. Install it from the install media (luckily its packed on DVD 1):
# apt install network-manager
Ensure that any existing entries for your ethernet device (e.g., enp0s31f6
) are commented out in /etc/network/interfaces
, as this will prevent network-manager
from managing the device.
A sure sign of this, you’ll get the following error when you try to bring the connection up with nmcli
:
Error: Connection activation failed: No suitable device found for this connection (device lo not available because device is strictly unmanaged).
Edit /etc/apt/sources.list
and comment out the cdrom
sourced entries.
Install some essentials, to persist network configuration:
apt update
apt install network-manager
apt install git
sudo⌗
Add users to sudo
group, and register the group in sudoers
:
usermod -aG sudo ben
visudo
Install packages⌗
I’ve created a list of essential Debian packages I use for desktop and server workloads.
To get it clone dots
as bare repo (i.e., without .git
):
git clone --bare git@github.com:bm4cs/dots-home.git $HOME/.dots
alias dots='/usr/bin/git --git-dir=$HOME/.dots/ --work-tree=$HOME'
dots checkout
dots config --local status.showUntrackedFiles no
Hack up ~/scripts/debian/software.txt
as needed.
Then run ./scripts/debian/install-software.sh