Puesta a punto de Fedora 16

Es es un pequeño resumen de utilidades y configuraciones que deberíamos hacer para tener nuestro Fedora 16 a punto para poder sacarle en mejor rendimiento a este fantástico sistema operativo.

Plugins de yum

Una de las primeras cosas que debemos hacer es mejorar el rendimiento de YUM, puesto que lo necesitamos para el resto de tareas. Dos plugins fundamentales fastetstmirror (sirve para localizar el servidor más rápido para la descarga de paquetes) y presto que descarga sólo los paquetes nuevos de un determinado programa.

$
$ yum install yum-plugin-fastestmirror
$ yum install yum-presto
$

Instalar repositorios extras

Algunos paquetes interesantes, por uno u otro motivo, no se encuentran en los repositorios oficiales de Fedora, así que mejor tener preparados los repositorios extra para cuanto se necesiten.

$
$ yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
$

Instalar flash plugin en Fedora 16

El plugin de flash, una de esas cosa que una vez instalado no te volverás a preocupar, pero que cuando no lo tienes y accedes a una web que lo usa provoca bastante frustración.

yum install flash-plugin

Instalar java y su famoso plugin

Otra de esas cosas, que a menos que uses programas en java no echas de menos hasta que llegas a una web que requiere su famoso plugin para poder acceder a alguna utilidad. Si eres fan de la Fórmula 1 y quieres seguir la tabla de tiempos a través de la web oficial necesitas el plugin (OJO: algunos navegadores necesitan configuración adicional).

yum install java-1.6.0-openjdk
yum install java-1.6.0-openjdk-plugin

Instalar codecs de audio y video

Cuando intentes usar Rhythmbox para escuchar música te darás cuenta de su necesidad.

yum install gstreamer-plugins-bad gstreamer-plugins-bad-nonfree gstreamer-plugins-ugly gstreamer-ffmpeg

Visualización y herramientas

Completado el apartado de entrañas, toca una revisión a la parte visual. Fedora 16 viene con la Shell de Gnome 3 y tenemos una herramienta estupenda para configurar sus opciones gnome-tweak-tool

yum install gnome-tweak-tool

Algunas utilidades que en algún momento vais a necesitar si usáis Fedora como sistema de escritorio: paquete ofimático, editor de gráficos, gestor de documentos (si usas Google Docs, debes activar las cuentas en línea) y el VLC.

yum install libreoffice
yum install gimp gimp-data-extras gimp-fourier-plugin gimp-lqr-plugin gimp-resynthesizer gimpfx-foundry
yum install gnome-documents
yum install vlc-extras

Y eso es todo, excuso decir que para todas estas operaciones tenéis que tener permisos de administración sobre el sistema.

Instalar Google Chrome en Linux a través de YUM

Google Chrome es ya uno de los navegadores de referencia en todas las plataformas y además cuenta con el beneplácito de los usuarios que ven en él un modo fácil y rápido de escapar a Internet Explorer, además de aportar muchas herramientas adicionales.

No es mi propósito hablar de las ventajas del navegador del buscador más popular de la red, para eso hay muchos artículos por la red, el interés de este post es hablar de cómo instalarlo en sistemas Red Hat y derivados a través del popular YUM.

Podemos optar por dos modos, el primero descargando directamente el RPM desde la página de Google y la segundo agregando el repositorio de YUM. El segundo método tiene evidentes ventajas sobre el primero, sobre todo a la hora de mantener actualizado el sistema.

Para instalarlo con el RPM en local, procedemos a descargarlo desde la web de Google, nos situamos en el directorio e instalamos con:

yum localinstall --nogpgcheck google-chrome-stable_current_x86_64.rpm

Para usar el segundo método, tendremos que crear el repositorio, para ello generamos el fichero /etc/yum.repo.d/google.repo y ponemos lo siguiente:


[google-chrome-32]
name=Google Chrome - 32-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/i386
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

[google-chrome-64]
name=Google Chrome - 64-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Podemos optar por montar uno sólo de los repositorios eligiendo el que corresponda a la arquitectura de nuestro procesador.

Después de esto sólo queda un paso para tener instalado Google Chrome:

#### Version Estable ###########
yum install google-chrome-stable
#### Version Beta ###########
yum install google-chrome-beta

Y … listo a disfrutar del navegador de Google en Linux.

Nota para desarrolladores web: Google Chrome tiene la misma base que Safari, por lo que si vuestra web está dando problemas en Mac y no tenéis uno a mano, podéis comprobar los errores con este navegador (muy útil con problemas en javascript)

Pasando de sysvinit a systemd en Fedora

En las Notas de lanzamiento de la documentación de Fedora 16 nos encontramos con lo siguiente:

3.2.4. Scripts de SysVinit portados a systemd

Fedora 15 vió la introducción de systemd, un administrador de sistema y de servicios nuevo para Linux. La integración de systemd continúa en Verne, con muchos más scripts de inicio de SysV convertidos a archivos de servicios nativo de systemd. El resultado es un proceso de arranque más rápido, eficiente y una administración de servicios más simple.

Ahora bien, si entrar a valorar si el cambio ofrece mejoras, que seguro que si y pronto lo veremos también en Red Hat Enterprise, CentOS y el resto de la familia, pero el abandono de sysvinit trae consigo la necesidad de adaptarse al nuevo sistema.

Por el momento se puede hacer uso de service y chkconfig, aunque creo que poco durarán en futuras versiones, así que toca ponerse al día para poder administrar los servicios con systemd, ahí van algunos comandos y sus correspondencias con sysvinit:

SYSVINIT SYSTEMD Función
service httpd start systemctl start httpd.service Utilizado para arrancar el servicio (no resiste reinicio)
service httpd stop systemctl stop httpd.service Utilizado para detener el servicio (no resiste a reinicio)
service httpd restart systemctl restart httpd.service Utilizado para detener y arrancar el servicio.
service httpd reload systemctl reload httpd.service Cuando se soporta, recarga el archivo de configuración sin interrumpir las operaciones pendientes.
service httpd condrestart systemctl condrestart httpd.service Rearranca el servicio sólo si ya está ejecutándose.
service httpd status systemctl status httpd.service Indica si el servicio está en ejecución o no.
ls /etc/rc.d/init.d/ ls /lib/systemd/system/*.service /etc/systemd/system/*.service Utilizado para listar los servicios que pueden ser iniciados o detenidos
ls /etc/rc.d/init.d/ systemctl list-units –all Utilizado para listar todos los servicios y otros units
chkconfig httpd on systemctl enable httpd.service Pone el servicio en «on», para que se inicie cuando se inicie la máquina u otro disparador como cambio de nivel de ejecución.
chkconfig httpd off systemctl disable httpd.service Pone el servicio en «off» para que al iniciar el sistema, no se inicie el servicio o se detenga por ejemplo al momento de cambio de nivel de ejecución.
chkconfig httpd systemctl is-enabled httpd.service Utilizado para verificar si un servicio está configurado para ser iniciado en el entorno actual.
chkconfig httpd –list ls /etc/systemd/system/*.wants/httpd.service Utilizado para listar qué niveles de ejecución el servicio está en «on» o «off».
chkconfig httpd –add systemctl daemon-reload Utilizado para cuando se desea crear un nuevo archivo de servicio o modificar su configuración.

Más info en: https://fedoraproject.org/wiki/SysVinit_to_Systemd_Cheatsheet/es

Reconocer dispositivos en un sistema Linux

En un sistema Linux es importante tener claro como se nombran los diferentes dispositivos, para ello los nombres se inician por un prefijo que indica el tipo de dispositivo del que se trata. Estos son algunos de ellos:

Prefijo Tipo
hd Particiones de discos duros IDE
sd Particiones de discos duros SCSI
sr Discos CD-ROM SCSI
fd Disquetes
st Dispositivos de cinta SCSI
ht Dispositivos de cinta IDE
tty Terminales
lp Impresoras
pty Terminales remotos
js Puertos joystick
midi Puertos MIDI
ttyS Puertos serie
cua Puertos COM
cdrom Discos CD-ROM
modem Modems
vd Discos duros virtuales en sistemas virtualizados

Estos prefijos se combinan con el identificador del dispositivo. Así en los discos duros IDE tendríamos para el primer disco la letra «a» seguida de un número para identificar la partición. Con hda1 se identificaría la primera partición del primer disco duro IDE. Con hdb2 tendríamos la segunda partición del segundo disco IDE.

Todos los dispositivos se almacenan en el directorio /dev, listado este directorio se mostrarán todos los dispositivos conectados.

HeiddiSQL 7.0

Ya está disponible la versión 7.0 de este magnífico gestor de bases de datos. Entre los cambios más notables destaca:

  • Soporte básico para Microsoft SQL Server
  • Botón para detener consultas largas
  • Gestión de usuarios: propuesta de password aleatorio y soporte SSL
  • Soporte para autenticación en MariaDB 5.2, con indicación con iconos de MariaDB y Percona Server
  • Correcciones varias en el uso con Wine
  • Recuperación el SQL original en VIEW editor

Puedes consultar el resto de cambios de la versión 7.0 aquí. Descargar HeiddiSQL 7.0

Usando repositorios de YUM

En sistemas Red Hat y derivados (Fedora, Oracle Linux, CentOS, etc) podemos usar YUM para gestionar la instalación de paquetes, una herramienta que facilita mucho la vida a cualquier administrador de sistemas.

Los repositorios se configuran bajo el directorio /etc/yum.repos.d/ y deben tener la terminación .repo. En cada uno de los ficheros pueden estar configurado más de 1 repositorio, para agregar un repositorio debemos poner los siguientes campos:

[nombre_repositorio]
name=Nombre del repositorio
baseurl=http://servidor/repositorio
enabled=1
gpgkey=http://servidor/repositorio/gpgkey
pgpcheck=1

En name indicamos el nombre, con baseurl la ruta hasta el repositorio, con enabled si se habilita (1) o no (0), con gpgkey la ruta de la llave de seguridad y con pgpcheck si se comprueba la integridad con la llave.

Una vez completado guardamos el fichero repositorio.repo por ejemplo y lanzamos el listado de repositorios que debería mostrarnos algo como lo siguiente:

# yum repolist

repo id repo name status
base CentOS-5 – Base 3558+8
extras CentOS-5 – Extras 290
updates CentOS-5 – Updates 676+40
repolist: 4524

Y ya tenemos configurado nuestro repositorio. Si estáis buscando información para configurar repositorios en este enlace tenéis EPEL (Paquetes adicionales para Linux Empresarial, incluyendo CentOS, Oracle Linux, etc).

Proteger el acceso por SSH (II)

Después de haber configurado el servicio SSH para hacerlo un poco más seguro, hoy vamos con la segunda entrega. En este caso vamos a ver como asegurar nuestro servidor SSH mediante el uso de certificados, un paso más allá que evitará que el servidor solicite autenticación si previamente no se ha enviado un certificado.

El primer paso será generar un certificado en el equipo cliente, para ello podemos optar por dos alternativas, la primera usar la ssh-keygen y la segunda utilizar la PuTTYgen. Si utilizáis indistintamente la shell y el PuTTY para acceder a servidores remotos entonces deberíais usar los dos formatos. Accedemos al equipo cliente y lanzamos el comando:

# ssh-keygen

Nos pedirá la ruta donde queremos guardar el fichero (pulsando enter se guardará en la ruta por defecto), y luego nos pedirá el passphrase. Se podría dejar en blanco y que simplemente se accediese al servidor sin ninguna contraseña, pero como hablamos de la seguridad lo primero usaremos un passphrase. También podemos omitir estos pasos indicandolos como parametros:

# ssh-keygen [-b bits] -t type [-N passphrase] [-f fichero]

Con la opción -b indicamos el número de bits, por defecto son 2048 y el valor mínimo es 768. Con -t indicamos el tipo (rsa o dsa, por defecto rsa que es el que usaremos). Con -N indicamos el passphrase y con -f el fichero de salida del certificado.

Una vez completado tendremos dos ficheros en la ruta especificada id_rsa e id_rsa.pub, que como parece obvio es el que contiene la clave pública, mientras que id_rsa contiene la clave privada.

Ahora toca trasladar al servidor la clave pública, para ello podemos echar mano del comando ssh-copy-id del siguiente modo:

# ssh-copy-id [-i fichero_clave] usuario@servidor

Con la opción -i indicaremos el fichero que contiene la clave pública generada en el paso anterior. Solicitará el passphrase y se instalará en .ssh/autorized_keys

Una vez completado este paso ya podemos acceder al servidor mediante el uso de los certificados y en lugar de pedir el password nos pedirá el passphrase. Ahora nos queda hacer que el servidor no responda ninguna petición si no viene acompañada de certificado, para ello editamos el fichero /etc/ssh/sshd_config, cambiamos la directiva PasswordAuthentication a no y reiniciamos el servicio sshd.

Ya sólo nos queda una cosa más. Si accedéis por SSH usando PuTTY entonces necesitareis convertir vuestro certificado. Para ello echaremos mano de PuTTYgen, en el menú Conversiones >> Importar clave y buscaremos el fichero de clave privada (id_rsa). Pulsamos en Generar y luego en Guardar clave privada.

Ahora ya tenemos nuestra clave privada en formato ppk. Para usarla con PuTTY tendremos que acceder a Connection >> SSH >> Auth e insertar ahí la clave, luego loguearnos como de costumbre.