Skip to content

Instantly share code, notes, and snippets.

@skinner12
Last active October 11, 2024 15:36
Show Gist options
  • Select an option

  • Save skinner12/510ebc2e4a01095ed0aee3f474e7aa05 to your computer and use it in GitHub Desktop.

Select an option

Save skinner12/510ebc2e4a01095ed0aee3f474e7aa05 to your computer and use it in GitHub Desktop.
Questo script automatizza l'installazione e la configurazione di un ambiente di sviluppo base su AlmaLinux. Esegue l'aggiornamento del sistema, installa diversi strumenti utili come htop, vim, iftop, make e Go, configura Docker, e aggiunge l'utente corrente al gruppo Docker per facilitare la gestione dei container.
#!/bin/bash
# Aggiorna il sistema
echo "Aggiornamento del sistema in corso..."
sudo dnf update -y
if [ $? -ne 0 ]; then
echo "Errore durante l'aggiornamento del sistema. Uscita."
exit 1
fi
# Installa i pacchetti richiesti
echo "Installazione di htop, vim, iftop, make e Go..."
sudo dnf install -y epel-release
if [ $? -ne 0 ]; then
echo "Errore durante l'installazione di epel-release. Uscita."
exit 1
fi
sudo dnf config-manager --set-enabled crb
if [ $? -ne 0 ]; then
echo "Errore durante l'abilitazione del repository CRB. Uscita."
exit 1
fi
sudo dnf install -y htop vim iftop make curl wget git
if [ $? -ne 0 ]; then
echo "Errore durante l'installazione dei pacchetti richiesti. Uscita."
exit 1
fi
# Installa Go
LATEST_GO_VERSION=$(curl -s https://go.dev/dl/?mode=json | jq -r '.[0].version')
GO_TARBALL="${LATEST_GO_VERSION}.linux-amd64.tar.gz"
# Scarica e installa Go
echo "Installazione di Go $LATEST_GO_VERSION..."
curl -LO "https://go.dev/dl/$GO_TARBALL"
if [ -f "$GO_TARBALL" ]; then
sudo tar -C /usr/local -xzf "$GO_TARBALL"
rm "$GO_TARBALL"
else
echo "Errore nel download di Go. Assicurarsi di avere una connessione internet stabile."
exit 1
fi
# Aggiunge Go al PATH
echo "Configurazione del PATH per Go..."
export PATH=$PATH:/usr/local/go/bin
if ! grep -q '/usr/local/go/bin' ~/.bashrc; then
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
fi
source ~/.bashrc
# Installazione Docker
echo "Installazione di Docker..."
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
if [ $? -ne 0 ]; then
echo "Errore durante l'aggiunta del repository Docker. Uscita."
exit 1
fi
sudo dnf install -y docker-ce docker-ce-cli containerd.io
if [ $? -ne 0 ]; then
echo "Errore durante l'installazione di Docker. Uscita."
exit 1
fi
# Avvia e abilita il servizio Docker
echo "Avvio e abilitazione del servizio Docker..."
sudo systemctl start docker
if [ $? -ne 0 ]; then
echo "Errore durante l'avvio del servizio Docker. Uscita."
exit 1
fi
sudo systemctl enable docker
if [ $? -ne 0 ]; then
echo "Errore durante l'abilitazione del servizio Docker. Uscita."
exit 1
fi
# Aggiungi l'utente corrente al gruppo docker
echo "Aggiunta dell'utente $(whoami) al gruppo docker..."
sudo usermod -aG docker $(whoami)
if [ $? -ne 0 ]; then
echo "Errore durante l'aggiunta dell'utente al gruppo Docker. Uscita."
exit 1
fi
echo "Installazione completata. Per applicare le modifiche al gruppo Docker, esegui il logout e il login, oppure esegui:"
echo " newgrp docker"
# Pulizia della cache di dnf
echo "Pulizia della cache di dnf..."
sudo dnf clean all
if [ $? -ne 0 ]; then
echo "Errore durante la pulizia della cache di dnf. Uscita."
exit 1
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment