Debian 13, codenamed Trixie, continues the tradition of rock-solid stability that Debian is known for. Whether you are setting up a server, a development workstation, or a minimal system for containers, the installation process is straightforward once you know what each step does. This guide walks through a complete Debian 13 (Trixie) installation from downloading the ISO to post-install configuration, describing each installer screen in detail so you can follow along without screenshots.
Prerequisites
- A machine (physical or virtual) with at least 2 GB RAM and 20 GB disk space for a minimal install, or 4 GB RAM and 40 GB disk for a desktop install
- A USB flash drive (4 GB or larger) for creating bootable media, or a virtual machine CD-ROM if installing in a VM
- An internet connection for downloading the ISO and packages during installation
- Access to BIOS/UEFI settings to configure boot order
Step 1 – Download the Debian 13 ISO
Download the Debian 13 installation image from the official Debian website. For most users, the netinst (network install) ISO is the best choice. It is a small image (around 600 MB) that downloads packages from the internet during installation, ensuring you get the latest versions.
Navigate to https://www.debian.org/download and download the amd64 netinst ISO. If you need an image with non-free firmware included (common for WiFi drivers and certain GPU drivers), look for the firmware-included variant under the non-free section.
Verify the ISO checksum after downloading to make sure the file is not corrupted:
sha256sum debian-13.0.0-amd64-netinst.iso
Compare the output against the checksum published on the Debian download page. If they match, the ISO is good.
Step 2 – Create a Bootable USB Drive
On Linux, use the dd command to write the ISO to a USB drive. Identify your USB device first – it is typically /dev/sdb or /dev/sdc, but check carefully with lsblk to avoid overwriting the wrong disk.
sudo dd if=debian-13.0.0-amd64-netinst.iso of=/dev/sdb bs=4M status=progress conv=fsync
On Windows, use a tool like Rufus or balenaEtcher. Select the ISO, choose the USB drive, and write. On macOS, you can use dd or balenaEtcher.
Once the USB drive is ready, insert it into the target machine and boot from it. You may need to press F2, F12, Del, or Esc during POST to access the boot menu or BIOS settings to change the boot order.
Step 3 – Boot the Installer
When the machine boots from the USB drive, you will see the Debian installer boot menu. It offers several options:
- Graphical install – A mouse-driven installer with a graphical interface. Recommended for desktop installations.
- Install – A text-based installer that works the same way but uses keyboard navigation only. Preferred for servers or systems where graphical output is unreliable.
- Advanced options – Includes expert install, automated install, and rescue mode.
Select either “Graphical install” or “Install” depending on your preference. The steps are identical in both modes. This guide follows the standard install path.
Step 4 – Language, Location, and Keyboard
The first three screens configure locale settings:
Language selection – Choose the language for the installation process and the installed system. This sets the default locale. Select your language and press Enter.
Location selection – Choose your country or territory. This sets the timezone and determines which Debian mirror to use. If your country is not in the initial list, select “other” to browse by continent.
Keyboard configuration – Select the keyboard layout that matches your physical keyboard. For US keyboards, choose “American English”. If you are unsure, the installer shows a test area where you can type to confirm the layout is correct.
Step 5 – Network Configuration
The installer detects available network interfaces. If an Ethernet cable is connected and DHCP is available on the network, it will configure itself automatically. If multiple interfaces are detected, you will be asked which one to use as the primary network interface.
Hostname – Enter a hostname for the system. For a server, use something descriptive like “webserver01” or “db-prod-01”. Keep it lowercase with no spaces.
Domain name – Enter your network domain if applicable, for example “example.com”. If you do not have a domain, you can leave this blank.
If you need a static IP address, the installer does not offer that directly. Configure networking automatically during installation and set the static IP post-install by editing /etc/network/interfaces or using NetworkManager.
Step 6 – Root Password and User Setup
Root password – The installer asks you to set a root password. If you enter a password here, the root account is enabled and the first regular user will not have sudo access by default. If you leave the root password blank, the root account is disabled and the first user is automatically added to the sudo group. For servers, leaving root password blank and using sudo is the recommended approach as it provides better audit trails.
Full name – Enter your full name. This is used for the GECOS field and has no impact on login.
Username – Enter the login username. Use lowercase letters and numbers only. This will be your primary user account.
Password – Set a strong password for the user account. The installer asks you to enter it twice for confirmation.
Step 7 – Disk Partitioning
This is the most important step. The installer presents several partitioning options:
Option A – Guided Partitioning with LVM (Recommended)
Select “Guided – use entire disk and set up LVM”. This creates an LVM-based layout that makes it easy to resize partitions later.
The installer then asks you to select the target disk. If you have multiple disks, choose the one intended for the OS. The next screen asks how to partition the disk:
- All files in one partition – Simplest layout. The entire system goes on a single root partition. Good for servers where you want maximum flexibility in space allocation.
- Separate /home partition – Keeps user data on a separate partition. Useful for workstations where you might reinstall the OS but want to keep user files.
- Separate /home, /var, and /tmp partitions – Traditional server layout that limits the impact of a full /var or /tmp on the root filesystem.
After selecting the layout, the installer shows the proposed partition table. For a UEFI system, you will see:
- A 512 MB EFI System Partition (ESP) formatted as FAT32
- A 1 GB /boot partition formatted as ext2
- An LVM physical volume taking the remaining space, containing the root logical volume and swap
The installer asks you to confirm the amount of space to use for the volume group. The default is the full disk, which is usually what you want. Review the proposed changes and select “Yes” to write the partition table.
Option B – Manual Partitioning
Select “Manual” if you want full control over the partition layout. This is necessary if you are setting up a dual-boot system, want specific partition sizes, or need to use a RAID configuration.
In manual mode, you select each disk, create partitions, and assign mount points. For a typical UEFI server install, create:
- A 512 MB partition with type “EFI System Partition”
- A 1 GB partition mounted as /boot, formatted as ext4
- A partition using the remaining space, set as “physical volume for LVM”
Then configure LVM through the “Configure the Logical Volume Manager” option in the partitioner. Create a volume group, then create logical volumes for root (at least 20 GB), swap (1-2x RAM for servers with less than 8 GB, or a fixed 4-8 GB for larger systems), and optionally a separate /home volume.
After defining all partitions, review the summary and confirm to write changes to disk.
Step 8 – Base System and Package Selection
The installer now installs the base system from the ISO. Once that completes, it configures the APT package manager.
Mirror selection – Choose a country near you and select a mirror. The default mirror (deb.debian.org) works well in most cases. If you use an HTTP proxy, enter the proxy URL when prompted. Otherwise, leave the proxy field blank.
Popularity contest – The installer asks if you want to participate in the package usage survey. This is optional and sends anonymous usage statistics to Debian. Choose based on your preference.
Software selection – The tasksel screen lets you choose what software to install. You will see checkboxes for:
- Debian desktop environment (with sub-options for GNOME, KDE Plasma, Xfce, LXDE, etc.)
- Web server
- SSH server
- Standard system utilities
For a server, deselect the desktop environment and select “SSH server” and “standard system utilities”. For a desktop workstation, keep the desktop environment selected and choose your preferred desktop. Use the spacebar to toggle selections and Tab to move to the “Continue” button.
The installer downloads and installs the selected packages. This may take several minutes depending on your internet speed and selections.
Step 9 – GRUB Bootloader Installation
The installer asks whether to install the GRUB bootloader to the primary drive. Select “Yes”. On UEFI systems, GRUB is installed to the EFI System Partition. On legacy BIOS systems, it is installed to the MBR of the selected disk.
Select the disk where GRUB should be installed – typically /dev/sda or the disk you installed the system on. Do not select a partition – select the whole disk device.
The installer writes the GRUB configuration and completes. You are prompted to remove the installation media and reboot.
Step 10 – First Boot and Verification
After rebooting, you should see the GRUB menu followed by the Debian login prompt (or a graphical login screen if you installed a desktop environment). Log in with the username and password you created during installation.
Verify the installation by checking the OS release information:
cat /etc/os-release
You should see output confirming Debian 13 (Trixie).
Step 11 – Post-Install Tasks
Configure sudo Access
If you set a root password during installation, your regular user will not have sudo privileges. Fix this by logging in as root and adding your user to the sudo group:
su -
apt install sudo
usermod -aG sudo yourusername
Log out and log back in for the group change to take effect. Verify sudo works:
sudo whoami
The output should be root.
Enable and Configure SSH
If you selected “SSH server” during installation, OpenSSH is already installed and running. Verify:
sudo systemctl status ssh
If SSH was not installed, add it now:
sudo apt install openssh-server
sudo systemctl enable --now ssh
For security, disable root login over SSH. Edit /etc/ssh/sshd_config and set:
PermitRootLogin no
Restart the SSH service:
sudo systemctl restart ssh
Verify you can SSH in from another machine before closing your console session.
Update the System
Even though the installer downloaded packages from the network, there may already be updates available. Run a full system update:
sudo apt update
sudo apt upgrade -y
If a kernel update was installed, reboot to load the new kernel:
sudo reboot
Set a Static IP (Optional)
For servers, a static IP is usually necessary. Edit /etc/network/interfaces and replace the DHCP configuration for your interface:
auto ens18
iface ens18 inet static
address 192.168.1.50
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 1.1.1.1 8.8.8.8
Restart networking or reboot to apply:
sudo systemctl restart networking
Verify the new IP address:
ip addr show ens18
Configure the Firewall
Debian does not enable a firewall by default. Install and configure UFW for a basic setup:
sudo apt install ufw
sudo ufw allow ssh
sudo ufw enable
Verify the firewall status:
sudo ufw status verbose
Summary
You now have a working Debian 13 (Trixie) installation. The installer handles most of the work – language settings, disk partitioning, package selection, and bootloader configuration. After the first boot, focus on setting up sudo access if needed, securing SSH, applying updates, and configuring a static IP and firewall for server deployments. From here you can install additional software, configure services, and put the system to work.






























































