domingo, 12 de mayo de 2013

Cosas que hacer después de instalar Debian 7 Wheezy

Espero que nadie se me enfade pero he hecho algo que va en contra de lo que aquí llevo pregonando desde que este blog inició su andadura: he abandonado Ubuntu por Debian. La última version de Ubuntu con la que me sentí cómodo fue la 11.04, pero a partir de la 11.10 y la implementación de su deplorable entorno de escritorio Unity todo ha ido a peor. Cada actualización de versión suponía una losa en cuando a velocidad de la que he terminado harto, así que he aprovechado el reciente lanzamiento de Debian 7 Wheezy y lo he instalado en espera de la solidez y la estabilidad de que siempre ha presumido.

No olvidemos que Ubuntu es una distribución salida de Debian, así que el cambio tampoco será traumático.

No obstante, me he encontrado con un par de aspectos que merece la pena comentar por si a alguien  le apetece seguir mis pasos, para que esté sobre aviso. Vamos con ellos.

1) Que no nos fastidie el CD. A pesar de que lo he instalado desde un pendrive, al instalar, en mi caso, Virtualbox, el terminal de comandos me sorprendía con el siguiente mensaje:

Cambio de medio: Por favor, introduzca el disco etiquetado «Debian GNU/Linux 7.0.0 _Wheezy_ - Official i386 CD Binary-1 20130504-15:20» en la unidad «/media/cdrom/»


¿Qué es esto? Si ni siquiera he realizado la instalación desde un CD o un DVD. Da lo mismo, la solución reside en editar el fichero /etc/apt/sources.list con, por ejemplo, el editor de texto nano:

pacodebian@paco-pc:~$ nano /etc/apt/sources.list

El contenido del fichero es el siguiente:


# deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official i386 CD Binary-1 201305$

deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official i386 CD Binary-1 201305$

deb http://ftp.es.debian.org/debian/ wheezy main non-free contrib
deb-src http://ftp.es.debian.org/debian/ wheezy main non-free contrib

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# wheezy-updates, previously known as 'volatile'
deb http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free

Es la segunda línea la que hace una llamada a la unidad de CD, por eso hay que inutilizarla poniéndole una almohadilla delante (como está la línea anterior) o directamente borrarla. Si hacemos lo primero, quedaría así (modificación en negrita):


# deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official i386 CD Binary-1 201305$

# deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official i386 CD Binary-1 201305$

deb http://ftp.es.debian.org/debian/ wheezy main non-free contrib
deb-src http://ftp.es.debian.org/debian/ wheezy main non-free contrib

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# wheezy-updates, previously known as 'volatile'
deb http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free


Y problema solucionado.

2) La lista de sudoers. Debian, al contrario de Ubuntu, crea durante la instalación una cuenta de administrador root aparte de la del usuario habitual. Pero nos encontramos con que el sistema, al ejecutar determinados comandos como root con este usuario, nos dice que no lo encuentra en la lista de sudoers. ¿Qué significa esto? Pues simplemente que dicho usuario no aparece listado en el archivo /etc/sudoers. Este archivo solo puede editarse en modo root y se hace con el comando visudo:

root@paco-pc:/ visudo

Automáticamente invoca nano y abre el fichero sudoers que entramos a editar.

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Solo tenemos que añadir nuestro usuario (en mi caso, paco) bajo el comentario # User privilege specification, a continuación de la línea correspondiente a root (corrección en negrita):

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
paco    ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Una vez que hemos hecho esto ya lo tendríamos, pero he leído que es recomendable también añadir al usuario al grupo sudo, cosa que haremos así:

pacodebian@paco-pc:~$ sudo usermod -a -G sudo paco

De esta forma hemos añadido al usuario paco al grupo sudo, que el sistema trae por defecto, con lo que paco podrá disfrutar de sus privilegios y actuar como root anteponiendo sudo a cada comando.