Skip to Content
Bash & LinuxDebian Base Setup

Debian Base Setup

Full server setup script for Debian. Nearly identical to the Ubuntu setup but uses .bashrc for aliases instead of .bash_aliases.

What it does

  1. System updateapt update, apt upgrade, apt full-upgrade, installs vim and cursor
  2. User creation — Creates a user with a prompted password
  3. Docker — Installs Docker via the convenience script, adds user to docker group, enables on startup
  4. Python — Installs python3 and pip3, installs docker-compose via pip
  5. Azure CLI — Installs Azure CLI and azcopy (auto-detects ARM64 vs x86_64)
  6. Shell aliases — Adds c, s, and ll aliases to ~/.bashrc
  7. Reboots the system

Script

#!/bin/bash # Updates apt update apt upgrade -y apt full-upgrade -y apt install vim -y apt install cursor -y # User creation username="sean" read -s -p "Enter password for user $username: " password echo useradd -m "$username" echo "$username:$password" | chpasswd # Docker curl -sSL https://get.docker.com | sh sudo usermod -aG docker $username # Python apt install python3 -y apt install python3-pip -y pip3 install docker-compose # Docker on startup systemctl enable docker # Azure CLI apt install libffi-dev python3-dev openssl curl -L https://aka.ms/InstallAzureCli | bash # azcopy (architecture-aware) ARCH=$(uname -m) if [[ "$ARCH" == "aarch64" ]]; then wget -O downloadazcopy-v10-linux-arm64 https://aka.ms/downloadazcopy-v10-linux-arm64 tar -xf downloadazcopy-v10-linux-arm64 mv azcopy_linux_arm64/azcopy /usr/local/bin/ rm -rf downloadazcopy-v10-linux-arm64 azcopy_linux_arm64 elif [[ "$ARCH" == "x86_64" ]]; then wget -O downloadazcopy-v10-linux-x64.tar.gz https://aka.ms/downloadazcopy-v10-linux tar -xf downloadazcopy-v10-linux-x64.tar.gz mv azcopy_linux_amd64_*/azcopy /usr/local/bin/ rm -rf downloadazcopy-v10-linux-x64.tar.gz azcopy_linux_amd64_* fi # Aliases echo "alias c='cursor'" >> ~/.bashrc echo "alias s='sudo'" >> ~/.bashrc echo "alias ll='ls -la'" >> ~/.bashrc # Reboot shutdown -r 0
Last updated on