Skip to Content

Command line tools: Debian -stable- setup

Posted on

I created a Debian setup script - - that is ideally run immediately following the first successful boot into a minimal install of Debian’s stable (code-named stretch) release.

A choice of either a workstation or server setup is available. Server is a basic console setup, whereas the workstation choice is a more extensive configuration using the lightweight Openbox window manager and a range of desktop applications.

Alternately, in lieu of a pre-defined list of Debian packages, the user may specify their own custom list of packages to be installed.

Script tasks include:

  • Add backports repository, update package list, upgrade packages.
  • Install SSH server, create $HOME/.ssh.
  • Enable periodic TRIM on SSD drives. Create a weekly TRIM job.
  • GRUB extras: Add a bit of colour, a bit of sound, and wallpaper!
  • Modify /etc/sudoers.d/ to allow sudo group members extra privileges.
  • Configure automatic security updates.
  • Replicate list of packages from one machine to another.
  • Install console packages, including:
    • Editor: neovim
    • Multiplexer: tmux
  • Install server packages, including:
    • Security: fail2ban
    • Log analyser: logwatch
  • Install X environment and Openbox.
  • Setup the Arc theme for Openbox, GTK2+3, and QT; Papirus icons; Ubuntu fonts.
  • Install desktop packages, including:
    • Terminal: urxvt
    • Video: vlc
    • Audio: rhythmbox
    • PDF: qpdfview
    • Graphics: gimp
    • Office: libreoffice
    • Torrents: transmission
    • Network: network-manager
  • Download and install latest Firefox in $HOME/opt.

Debian stretch

NAME - Setup a machine running the Debian stable release



-h              print details
-p PKG_LIST     install packages from PKG_LIST


Run script (requires superuser privileges) …


Install the list of packages specified in my-pkg-list

./ -p my-pkg-list



Happy hacking!