#!/bin/bash # Script per La modifica del file hosts su container LXC # Autore: Mattia Tadini # Nome File: update-hosts-lxc.sh # Percorso: /usr/local/lxc-scripts/ # Revisione: 1.0 # Ottieni l'indirizzo IP dell'interfaccia di rete del container SERVER_IP=$(ip route get 8.8.8.8 | awk '{print $7}') # Leggi il file /etc/hosts originale per trovare il nome del server SERVER_NAME=$(awk '/^127\.0\.1\.1\s+/{print $2}' /etc/hosts) # Controlla se SERVER_NAME รจ stato correttamente impostato if [ -z "$SERVER_NAME" ]; then echo "Errore: Nome del server non trovato nel file /etc/hosts." exit 1 fi # Aggiorna il file /etc/hosts aggiungendo la linea specificata echo "$SERVER_IP $SERVER_NAME" > /tmp/new_hosts # Leggi il contenuto originale di /etc/hosts while IFS= read -r line; do # Ignora le righe che contengono SERVER_IP ma non SERVER_NAME if [[ ! "$line" == *"$SERVER_IP"* ]] || [[ "$line" == *"127.0.1.1 $SERVER_NAME"* ]]; then echo "$line" >> /tmp/new_hosts fi done < /etc/hosts # Sostituisci il file /etc/hosts con la versione aggiornata mv /tmp/new_hosts /etc/hosts # Verifica che l'aggiunta sia stata effettuata correttamente if grep -q "^$SERVER_IP $SERVER_NAME" /etc/hosts; then echo "Hostname aggiunto correttamente." else echo "Errore nell'aggiunta del hostname." fi