Add readme.md
This commit is contained in:
parent
24648a59be
commit
959d9639b0
109
readme.md
Normal file
109
readme.md
Normal file
@ -0,0 +1,109 @@
|
||||
### Script Shell: `/usr/local/lxc-scripts/update-hosts.sh`
|
||||
|
||||
```sh
|
||||
#!/bin/bash
|
||||
|
||||
# Ottieni l'indirizzo IP dell'interfaccia di rete del container
|
||||
SERVER_IP=$(ip route get 8.8.8.8 | awk '/src /{split($7,a,"/"); print a[1]}')
|
||||
|
||||
# Leggi il nome del server dall'elenco degli indirizzi IP locali
|
||||
SERVER_NAME=$(hostname -I | awk '{for(i=1;i<=NF;i++) if ($i ~ /127\.0\.1\.1/) print $(i+1)}')
|
||||
|
||||
# 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
|
||||
```
|
||||
|
||||
### Manuale per L'Utilizzo
|
||||
|
||||
#### 1. Creazione dello Script
|
||||
|
||||
Crea lo script `/usr/local/lxc-scripts/update-hosts-lxc.sh` con i contenuti forniti sopra.
|
||||
|
||||
```sh
|
||||
sudo nano /usr/local/lxc-scripts/update-hosts-lxc.sh
|
||||
```
|
||||
|
||||
Incolla lo script e salva il file.
|
||||
|
||||
|
||||
#### 2. Imposta le Permessi del File
|
||||
|
||||
Imposta i permessi appropriati per eseguire lo script:
|
||||
|
||||
```sh
|
||||
sudo chmod +x /usr/local/lxc-scripts/update-hosts-lxc.sh
|
||||
```
|
||||
|
||||
#### 3. Configurazione del Servizio LXC
|
||||
|
||||
Crea o modifica il file di configurazione del servizio `/etc/systemd/system/lxc-update-hosts.service` con i contenuti forniti sopra.
|
||||
|
||||
```sh
|
||||
sudo nano /etc/systemd/system/lxc-update-hosts.service
|
||||
```
|
||||
|
||||
```sh
|
||||
[Unit]
|
||||
Description=Update /etc/hosts for LXC container
|
||||
After=lxc-container-start.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/local/lxc-scripts/update-hosts-lxc.sh
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
```
|
||||
|
||||
Incolla il file di servizio e salva il file.
|
||||
|
||||
#### 4. Rinnova il Servizio e Riavvia
|
||||
|
||||
Rinnova il servizio systemd per rileggere la configurazione del nuovo servizio:
|
||||
|
||||
```sh
|
||||
sudo systemctl daemon-reload
|
||||
```
|
||||
|
||||
Riavvia il servizio per applicare le modifiche:
|
||||
|
||||
```sh
|
||||
sudo systemctl restart lxc-update-hosts.service
|
||||
```
|
||||
|
||||
#### 5. Verifica
|
||||
|
||||
Verifica che lo script stia funzionando correttamente:
|
||||
|
||||
1. Avvia o riavvia un contenitore LXC.
|
||||
2. Controlla il file `/etc/hosts` nel contenitore per verificare se il nome del server è stato aggiunto correttamente.
|
||||
|
||||
### Considerazioni Finali
|
||||
|
||||
- Assicurati che il file `/etc/hosts` originale contenga una riga con `127.0.0.1` e il nome del server desiderato.
|
||||
- Se la riga non esiste, lo script restituirà un errore.
|
||||
Loading…
Reference in New Issue
Block a user