cambiahostname: Script para cambiar el nombre de un host | Algo de Linux

viernes, 2 de marzo de 2018

cambiahostname: Script para cambiar el nombre de un host

cambiahostname es un pequeño script que escribí para cambiar el nombre de las máquinas virtuales en uno de los cursos que impartí en la Escuela de Administración Pública y, al final, he terminado utilizando en los equipos Ubuntu del centro para cambiar el nombre de los equipos después de clonar y ejecutar sinc_puppet o pkgsync: 
#!/bin/bash
#
# Esteban M. Navas 
# Fecha creación: 08/07/2016
# Última modificación: 02/03/2018

# Si no hay parámetros, el script se usa de forma interactiva
if [ -z "$1" ]; then

   DIALOG="dialog"
   tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
   trap "rm -f $tempfile" 0 1 2 5 15

   $DIALOG --title "Nombre de host" --clear \
           --inputbox "Introduzca el nombre de host que desea asignar a este equipo. Este nombre debe ser una cadena de caracteres alfanuméricos en minúsculas, sin espacios:" 15 51 2> $tempfile

   retval=$?

   case $retval in
     0)
       NOMBRE=`cat $tempfile`
     ;;
     1) ;;
   esac
else
   NOMBRE=$1
fi


if [ "$NOMBRE" ] ; then

   echo "127.0.0.1       localhost
127.0.1.1       $NOMBRE

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters" > /etc/hosts

   echo "$NOMBRE" >  /etc/hostname
   hostname -F /etc/hostname

   /usr/sbin/sinc_puppet -f now
#  /usr/local/sbin/pkgsync -pcr

fi
El script funcionaba de forma interactiva preguntando el nombre del host mediante dialog. Hoy lo he modificado para que se pueda utilizar también indicando el nombre de la máquina mediante parámetro.
Publicado por primera vez en http://enavas.blogspot.com.es

No hay comentarios: