Skip to Content
Bash & LinuxRHEL Base Setup

RHEL Base Setup

Full server setup script for RHEL/CentOS. Uses dnf instead of apt and installs Docker from the official Docker repository.

What it does

  1. System updatednf upgrade --refresh, installs vim and cursor
  2. User creation — Creates a user with a prompted password
  3. Docker — Adds Docker CE repo, installs Docker + plugins, enables and starts the service
  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 dnf upgrade --refresh -y dnf install vim -y dnf 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 dnf install -y dnf-plugins-core dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin systemctl start docker systemctl enable docker usermod -aG docker $username # Python dnf install -y python3 python3-pip pip3 install docker-compose # Azure CLI dnf install -y libffi-devel python3-devel openssl-devel 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