Operating systems

How to install Debian 12 Bookworm netinst in text mode for servers

This guide walks through a minimal Debian 12 “Bookworm” installation in text mode using the netinst image. The goal is a clean server base with no desktop environment, working networking, current APT repositories, and a system ready for console or SSH administration.

The original Universo Digital article was published on April 13, 2023, before Debian 12 became stable on June 10, 2023. The screenshots therefore come from the Bookworm installer during its pre-release period, although the overall installation flow remained essentially the same throughout Debian 12.

A minimal Debian 12 Bookworm installation intended for servers and terminal administration.

For background on the operating system itself, see our GNU/Linux introduction.

Debian 12 support status in 2026

Debian 12.0 was released on June 10, 2023. The final point release in the branch is Debian 12.15, published on July 11, 2026.

Regular Debian security support ended in July 2026 and responsibility moved to the Debian LTS team. Bookworm is scheduled to receive LTS security support until June 30, 2028 for amd64, i386, arm64, armhf, and ppc64el.

Debian 12 therefore remains a valid platform for existing servers that need to stay on Bookworm, but a new deployment without a specific dependency will generally be better served by Debian 13 “Trixie.” This article remains specifically about Debian 12.

Download Debian 12.15 netinst

The old 2023 link must not point at Debian’s current directory anymore because that directory now contains Debian 13. To reproduce a Bookworm installation, use Debian’s official archive.

Official amd64 image:
debian-12.15.0-amd64-netinst.iso

SHA-256:

cd4462c06aa8892e692c0c4b9c17802f38c8ab8690e85cbfb5ccaa5956e9af17

Verify the checksum after downloading. On physical hardware, write the ISO to a USB drive using a proper image-writing tool. Our bootable USB tools guide compares several options, and we also maintain a dedicated balenaEtcher guide.

Hardware requirements

The Debian 12 amd64 installer can operate with very modest hardware. Debian’s Bookworm documentation states that a normal installation needs roughly 780 MB of RAM and 1.16 GB of disk space, while its recommended-minimum table for a no-desktop system lists 256 MB RAM minimum, 512 MB recommended, and 4 GB of disk.

Those figures are installation minimums, not realistic server sizing guidance. CPU, memory, storage, IOPS, and network capacity must be chosen for the actual workload.

For a small server, a more practical baseline might be one or two vCPUs, 1–2 GB RAM, and 20 GB or more of storage. Databases, mail systems, containers, and larger web services may require substantially more.

Netinst means networking matters

The netinst image contains enough software to install a base Debian system but is designed to retrieve additional packages from network repositories.

The original tutorial recommended disconnecting the network temporarily. That is not good general advice for a normal netinst installation. Keep networking available when possible, especially if you want to use a Debian mirror during installation, install OpenSSH through tasksel, and obtain current packages.

The original screenshots show a case where automatic configuration failed and IPv4 was configured manually. That remains useful for servers with static addressing.

1. Start the text-mode installer

Select Install for the text-mode Debian Installer.

Graphical install uses the same installer with a graphical front end. For a server, the text installer is lightweight and makes it clear that no desktop environment is being installed.

2. Choose language, location, and keyboard

Choose the language used during installation.
Location influences locale, time zone, and initial mirror choices.
Select the keyboard mapping that matches the physical keyboard.
Debian Installer loads the components required for the next stages.

3. Configure networking

Debian normally attempts automatic IPv4 configuration through DHCP and also supports IPv6 through SLAAC/NDP and DHCPv6.

Automatic network configuration failed in this particular lab.
The installer can retry DHCP or switch to manual configuration.
For a server with a fixed address, manual configuration is appropriate.

Use an address valid for your own network rather than copying the values shown in screenshots. A static configuration needs an address/prefix, gateway, and reachable DNS resolver.

IPv4 prefix or network mask.
The default gateway provides connectivity outside the local subnet.
DNS resolvers used by the installer and later by the server.

Public resolvers are not always the right choice. Servers integrated with Active Directory, LDAP, internal service discovery, or private DNS zones may require organizational DNS servers.

4. Hostname and domain

Choose a hostname and domain that fit your DNS design.

For servers, define a stable hostname from the beginning and ensure forward and reverse DNS are coherent when required by the services you plan to run.

5. Root account and administrative user

The installer can enable root by assigning a password.
Root password confirmation in the original flow.

Debian supports two models. If you set a root password, the root account remains enabled. If you leave the root password blank, Debian disables direct root login, installs sudo, and allows the first normal user to perform administrative tasks with sudo.

For many modern server deployments, the second model is preferable because day-to-day work happens under a named account and privileges are elevated only when needed.

Create the first non-root user.
Choose the short login name.
Set the user’s password.
Confirm the user’s password.

6. Time zone

The initial time zone is based on the location selected earlier.

Accurate time is essential on servers because it affects logs, TLS, Kerberos, scheduled jobs, and incident correlation.

7. Partition the disk

The original lab used guided partitioning across the entire disk.

Guided partitioning is reasonable for a VM or simple server. Production systems may instead require LVM, encryption, RAID, separate application data, or dedicated filesystems for logs and databases.

Verify the disk model and capacity before choosing it.
Keeping all files in one partition is simple, though not always ideal for larger servers.
Review the final layout before committing it.
This confirmation writes destructive changes to the selected disk.

8. Additional media and network mirror

A single netinst image normally requires no additional installation media.

The original walkthrough then continued without a network mirror. That results in a very small installation and requires APT repository setup afterward.

Historical no-mirror path. For a normal netinst deployment, using a Debian mirror is recommended.

When network connectivity is available, select a Debian mirror. This lets tasksel retrieve services such as OpenSSH and install up-to-date packages during the installation process.

9. Popularity contest and software selection

Participation in Debian’s anonymous package-usage survey is optional.
For a minimal server, avoid graphical desktop tasks and keep standard system utilities.

With a mirror configured, you can also select SSH server. Debian’s task installs openssh-server for remote administration.

10. Install GRUB and reboot

Installing the boot loader.
BIOS installations may ask which disk should receive GRUB.
The example uses /dev/sda; NVMe and other systems use different device names.

UEFI systems can follow a different path because GRUB is installed into the EFI System Partition.

Installation is complete and the system is ready to reboot.
First console login on the newly installed system.

11. Verify the installed release

cat /etc/os-release
Distribution information reported by the installed system.

12. Test IP connectivity and DNS

ping -c 4 1.1.1.1
An IP-level connectivity test after installation.

Then test DNS separately:

getent hosts debian.org

Being able to ping an IP address does not prove that name resolution works.

13. Configure Bookworm APT repositories

The original guide edited /etc/apt/sources.list manually.

On Debian 12, the traditional one-line sources.list format remains supported. If the installer already created correct repository entries, review them rather than deleting the file blindly.

A simple configuration using Debian’s CDN is:

deb https://deb.debian.org/debian bookworm main non-free-firmware
deb https://deb.debian.org/debian bookworm-updates main non-free-firmware
deb https://security.debian.org/debian-security bookworm-security main non-free-firmware

Add contrib or non-free only when you actually require software from those components.

Historical repository screenshot. The text above now uses the recommended Debian CDN and security endpoints.
sudo apt update
APT downloads repository metadata.

14. Fully update the server

This is particularly important in 2026 because an installation image can contain packages older than the current Bookworm LTS updates.

sudo apt update
sudo apt full-upgrade

Reboot when a kernel update requires it and verify the active kernel with uname -r.

15. Install OpenSSH and basic administration tools

sudo apt install openssh-server mc byobu wget curl htop btop iotop nload
Installing common troubleshooting and administration utilities.
sudo systemctl enable --now ssh
sudo systemctl status ssh

For real servers, prefer SSH keys and a normal administrative user over routine direct root logins. Do not expose SSH publicly without an appropriate firewall, VPN, access-control policy, and patching strategy.

16. Monitor resources with htop

htop provides a convenient interactive view of processes, CPU, and memory use.

For deeper server troubleshooting, also become familiar with free, vmstat, iostat, ss, and journalctl.

17. Basic server hardening after installation

A reasonable baseline is to fully patch the system, install only necessary services, use individual administrative accounts, configure SSH keys, review SSH settings, apply an appropriate firewall policy, maintain accurate time, configure backups, monitor disk usage and logs, and document the server’s addressing and services.

Debian starts from a comparatively clean base; hardening should then reflect the server’s actual role rather than a generic checklist copied to every host.

Debian 12 LTS in 2026

Bookworm is no longer in its regular support phase. The Debian LTS team took over security maintenance in July 2026 and plans to continue through June 2028 for the supported architectures.

That does not require an immediate reinstall of every working Bookworm server. A stable, fully updated system with certified dependencies can remain on Debian 12 during LTS, but planning the migration to Debian 13 is wise before software vendors and third-party repositories stop supporting Bookworm.

Upgrading to Debian 13 is different from installing Debian 13

This page will remain a Debian 12 guide. An in-place upgrade to Debian 13 should follow Debian’s official release notes: back up the system, remove obsolete packages, ensure sufficient free space, review third-party repositories, and follow the supported repository transition.

Do not simply replace bookworm with trixie everywhere and run an upgrade without reading the migration documentation first.

Related guides

Official sources

Eidy EV

Computer Science Engineer with over 10 years of experience in information technology. Has held roles as a Software Architect, Analyst, Senior Software Full stack developer, Network and Systems Administrator (Sysadmin), and Information Security Specialist (Pentester).

Entradas recientes

PHP in 2026: The Complete PHP 8.5 Guide to Modern Web Development

Learn PHP 8.5 from scratch: syntax, databases, Composer, PSR, Laravel, Symfony, modern runtimes, APIs, security,…

1 week hace

How to Install VirtualBox Guest Additions 7.2.20 on Linux

Step-by-step guide to installing VirtualBox Guest Additions 7.2.20 on Linux: kernel headers, modules, Secure Boot,…

1 week hace

Kali Linux 2026: What It Is, What It Is Used For, and How to Learn

An introduction to Kali Linux 2026.2: authorized security testing, rolling updates, APT changes, virtual machines,…

1 week hace

Software Test Automation Tools: How to Choose the Right Framework

A practical guide to software test automation: unit, integration, API, contracts, Selenium, Playwright, Cypress, Appium,…

1 week hace

Computer networking from scratch: roadmap for future sysadmins

A complete networking roadmap for future sysadmins: Ethernet, IPv4/IPv6, subnetting, VLANs, routing, DNS, DHCP, Linux,…

2 years hace

The United Airlines reservation system designed by Evelyn Berezin

History and architecture of Evelyn Berezin’s United Airlines reservation system, distinguishing it from the earlier…

2 years hace