Last active
October 11, 2024 15:36
-
-
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/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