This entry is part 3 of 5 in the series HOW-TO: homeserver linux

Una vez terminado con el programa de instalación de Debian procederemos, como es lógico, a reiniciar el sistema. Ingresaremos como usuario root, ya que todavía no tenemos sudo y todas las operaciones que debemos hacer son de administración.

Lo primero que deberíamos hacer es configurar el pinning de repositorios para poder elegir desde dónde queremos instalar un paquete. Configuraremos el sistema de tal forma que por defecto instalará el software de la distribución estable, y cuando se lo indiquemos lo hará de la de pruebas (testing). Durante este proceso aprovecharemos también para añadir ramas del repositorio para tener disponible todo el software de podamos necesitar. Para ello debemos editar el archivo /etc/apt/sources.list y dejarlo de la siguiente forma:

#Repositorios de software de Debian estable
deb http://ftp.nl.debian.org/debian/ stable main non-free contrib
deb-src http://ftp.nl.debian.org/debian/ stable main non-free contrib
#Actualizaciones de seguridad de Debian
deb http://security.debian.org/ stable/updates main contrib
deb-src http://security.debian.org/ stable/updates main contrib

# Repositorios de Debian testing
deb http://ftp.nl.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.nl.debian.org/debian/ testing main contrib non-free

El siguiente paso es configurar apt para que trate los paquetes de testing con una prioridad extremadamente baja. De esta forma nos aseguraremos que el sistema se comportará de forma que evitará en la medida de lo posible instalar paquetes de esa distribución. Así, cuando demos la orden de instalar un paquete (apt-get install), apt-get seleccionará todo el software de stable ignorando por completo que tiene también configurados los repositorios de testing (que en teoría deberían tener mayor prioridad dado que las versiones de software que contiene son mucho más recientes). Para conseguir esto creamos el fichero /etc/apt/preferences y añadimos el siguente contenido:


Package: *
 Pin: release n=stable
 Pin-Priority: 900

Package: *
 Pin: release n=testing
 Pin-Priority: -10

Una vez editado procedemos a la actualización:

apt-get update

El sistema realizará cambios sustancias, tales como cambiar GRUB por GRUB2 o implantar el nuevo sistema de arranque de servicios por dependencias que sustituirá al antiguo basado en números estáticos. Una vez terminada la actualización reiniciamos el equipo y comprobamos que GRUB2 se ejcuta sin problemas. Si es así, una vez iniciado el equipo y haber ingresado como root ejecutamos:

upgrade-from-grub-legacy

Actualización: con los nuevos kernels se ha corregido este problema y el workaround ya no es necesario. Como este tipo de cosas pueden resultarles útiles a alguien, lo dejaré en la entrada, pero tachado para evitar confusiones. Repito, el texto tachado está obsoleto y debe ser ignorado.

Un problema que se me ha planteado al cambiar al sistema de arranque por dependencias es montar los discos duros USB de forma manual a arrancar la máquina. Dado que no tenemos entorno gráfico que lo haga por nosotros, los discos duros USB no son montados automáticamente, sino que tenemos que hacerlo nosotros de forma manual. Lo normal es crear los puntos de montajes en /mnt e incluir en fstab las entradas correspondientes. La cuestión es que  en la máquina en la que lo estoy instalando el sistema el arraque por dependencias  intenta montar los discos antes de haber detectado los USBs, por lo que realmente no lo hace.

Esto se puede solucionar fácilmente recurriendo a /etc/rc.local. Este script es ejecutado cada vez que se termina de alcanzar un runlevel de multiusuario (2, 3, 4 o 5), por lo que poniendo aquí las instrucciones de montaje estas se ejecutarán una vez terminado el inicio del equipo. No es la solución más elegante, pero es temporal al fin y al cabo (hasta que se solucione el problema en el arranque por dependencias). Así pues, lo que haremos es añadir las entradas al fstab y añadir lo siguiente en /etc/rc.local:


mount -a

Lo siguiente sería instalar y configurar sudo para no tener que trabajar con root. La mayoría de los usuarios noveles en el sistema operativo del pingüino ignoran esto y prefieren trabajar con root. Cada uno es absolutamente libre de hacer lo que quiera, pero recomiendo encarecidamente utilizar sudo. Si hasta ahora no lo has hecho, quizá es el momento de dar el paso. Más de una vez te ahorrarás un susto y te acordarás de mi.

Cuando se instala el paquete de sudo, Debian crea un grupo de usuarios llamado “sudo” que nos realiza la configuración más básica posible: todo usuario añadido a ese grupo puede ejecutar cualquier comando como cualquier usuario. Para un homeserver realmente no sería necesario nada más, y más teniendo en cuenta que somos los únicos administradores, así que una vez instalado el paquete añadiremos a nuestro usuario al grupo “sudo”.

aptitude install sudo
usermod -A -G sudo <usuario>

Una vez instalado sudo deberíamos instalar un servidor ssh para poder trabajar con la máquina en remoto (ya sea desde nuestra propia máquina de red local o desde internet.

sudo aptitude install ssh

Esto instalará el servidor y el cliente. El cliente de ssh apenas ocupa unos Ks y nunca se sabe cuándo podemos necesitarlo, así que no está de más que nos lo instale. Yo he cambiado el puerto del servidor SSH para, de esta forma, evitar la mayoría de los ataques. para ello editaríamos /etc/ssh/sshd_config y la línea Port. También puede ser interesante cambiar el archivo /etc/issue.net para que oculte nuestra versión del sistema operativo y de paso ponga algún mensaje amenazador. Una vez terminados los cambios, reinicamos el servidor SSH para que nos aplique el cambio de puerto:

sudo /etc/init.d/ssh restart

A partir de este momento ya podemos quitar el teclado y el monitor de la máquina y acceder por SSH a la misma para continuar la instalación.

Series Navigation<< Instalación de DebianInstalación y configuración de samba >>