Instalar un kernel sin soporte para Xen en Scientific Linux 5.x

Introducción

Dos de los servidores del cluster estaban presentando problemas con procesos muertos relacionados con tareas en el cron que intentaban acceder a /sys/hypervisor/uuid.  Al parecer el bug 225203 impide que se acceda a este recurso si el servicio de XenStored no se está ejecutando.

awk -v progname=/etc/cron.hourly/mcelog.cron progname {?????   print
> progname “:n”?????   progname=””;????       }????
/bin/bash /usr/bin/run-parts /etc/cron.hourly
cat /sys/hypervisor/uuid

Como el soporte de Xen no era requerido en estos servidores decidí removerlo.  Para hacer esto reemplacé el kernel de cada uno de estos equipos con el correspondiente kernel convencional.  Este procedimiento fue realizado utilizando Scientific Linux 5.4, sin embargo debe ser compatible con otros descendientes de RedHat como CentOS.

Procedimiento

Descargar e instalar los paquetes del nuevo kernel sin soporte para Xen.

# yum install kernel kernel-devel kernel-headers

Remover el kernel actual que cuenta con soporte para Xen.

# yum remove xen kernel-xen kernel-xen-devel

Reiniciar el servidor para que sea tomado en cuenta el nuevo kernel.

# reboot

Instalar manualmente Firefox 6.0 en GNU/Linux CentOS (y otros)

Introducción.

About Mozilla Firefox 6.0

Tenía deseos de instalar la versión mas reciente de Firefox (6.0) ya que esta promete por primera vez, manejar mucho mejor la memoria y así no consumirse todos los recursos del equipo unas horas después de trabajar con este navegador.

En uno de mis equipos utilizo GNU/Linux CentOS 6 el cual está enfocado principalmente a servidores y sus actualizaciones provienen directamente de la línea de RedHat.  Por este motivo las versiones del software tardan bastante en actualizarse.  Desafortunadamente la versión de Firefox que incluye la versión actual de CentOS es la 3.6.9 así que se puede suponer que tardarán bastante en llegar a la 6.0.

En el presente artículo se explican los pasos necesarios para instalar Firefox 6.0 manualmente en CentOS 6, sin embargo estos pasos pueden ejecutarse de manera genérica en la mayoría de las principales distribuciones de Linux.

Obtener Firefox.

Descargar el paquete de distribución mas reciente de Firefox para Linux en el idioma que se desee desde la siguiente ubicación.

https://www.mozilla.com/en-US/firefox/all.html

En mi caso obtuve el archivo firefox-6.0.tar.bz2 después de la descarga.

Instalar Firefox.

Se instalará la versión de Firefox recién descargada bajo el directorio /opt.

# tar xjvf firefox-6.0.tar.bz2

# mkdir -p /opt/firefox/

# mv firefox/ /opt/firefox/6.0/

Se remueve el ejecutable desplegado por la versión previa de Firefox.

# mv /usr/bin/firefox /usr/bin/firefox_3.6.9

Establecer las alternativas de versiones.

Se utiliza alternatives para diferenciar las versiones de Firefox instaladas y elegir una de ellas como activa según se desee.  Para hacer esto se crean las dos alternativas.

# alternatives –install /usr/bin/firefox firefox /usr/lib/firefox-3.6/firefox 1

# alternatives –install /usr/bin/firefox firefox /opt/firefox/6.0/firefox 2

Finalente se configura la versión 6.0 como alternativa activa.

# alternatives –config firefox

There are 2 programs which provide ‘firefox’.

  Selection    Command
———————————————–
   1           /usr/lib/firefox-3.6/firefox
   2           /opt/firefox/6.0/firefox

Enter to keep the current selection[+], or type selection number: 2

Clonar la unidad LiveUSB de Scientific Linux y CentOS 6.x

Introducción.

Una vez creada la LiveUSB de CentOS o SL puede ser ejecutada directamente en cualquier computador que pueda iniciar (boot) el sistema operativo desde dicha unidad USB.

Al estar ejecutándose en vivo (live), las modificaciones realizadas sobre los sitemas de archivos raíz y /home serán persistentes yt sus tamaños corresponderán a los especificados durante la creación de la unidad.

Después de personalizado su contenido se procede al proceso de clonación descrito a continuación.

Clonar la unidad LiveUSB.

Crear la imagen de la LiveUSB.

El procedimiento es muy simple.  El primer paso consiste en utilizar el comando dd para crear una imagen bit a bit de la unidad LiveUSB.  En este caso se supone que la unidad corresponde con el dispositivo /dev/sdb, reemplace este valor de acuerdo a su propio contexto.

La ejecución del siguiente comando crea el archivo centos6-livesusb.img el cual corresponderá con el contenido de la unidad representada por el dispositivo /dev/sdb.

# dd if=/dev/sdb of=centos6-livesusb.img bs=4M

7888896+0 records in
7888896+0 records out
4039114752 bytes (4.0 GB) copied, 2180.88 s, 1.9 MB/s

Verifique los valores mostrados en los parámetros in y out correspondan, de lo contrario la imagen no habrá sido exitosamente creada.

# ls -l centos6-livesusb.img

-rwxrwxrwx. 1 root root 4039114752 Aug 21 18:16 centos6-livesusb.img

# file centos6-livesusb.img 

centos6-livesusb.img: x86 boot sector; partition 1: ID=0x83, active, starthead 32, startsector 2048, 7884801 sectors, code offset 0xb8

Restaurar la imagen de la LiveUSB.

Después de creada la imagen de la unidad LiveUSB esta puede replicarse cuantas veces se desee en otras unidades USB.  Para hacer esto se realiza el procedimiento contrario utilizando también dd.

# dd if=centos6-livesusb.img of=/dev/sdb bs=4M

Crear una LiveUSB con persistencia utilizando Scientific Linux y CentOS 6.x

Introducción.

En el presente artículo se expondrá el procedimiento necesario para crear una LiveUSB con CentOS 6 mediante el uso de la herramienta livecd-iso-to-disk.

A diferencia de otros procedimientos para la creación de LiveUSB que he explorado hasta ahora, este permite establecer un espacio para la persistencia de los datos (overlay), tanto para la partición raíz donde se almacenará el sistema operativo como para la partición /home donde se almacenarán los archivos del usuario.  Para esto se crean dos archivos: LiveOS/squashfs.img (Squashfs) para el directorio raíz y LiveOS/home.img (ext4) para el sistema de archivos de los usuarios.

Este procedimiento se realizó utilizando una máquina que ejecutaba también GNU/Linux CentOS 6.

Obtener la distribución Livede GNU/Linux Scientific Linux o CentOS.

Descargar la versión deseada del LiveCD o LiveDVD de Scientific Linux desde la siguiente ubicación.

http://ftp.scientificlinux.org/linux/scientific/

Si se desea utilizar CentOS, descargar la imagen ISO correspondiente desde la siguiente ubicación.

http://mirror.centos.org/centos/6/isos/

En este caso se utilizará la versión LiveCD de CentOS 6 con 32 bits.

# wget  http://mirror.nuvio.com/pub/centos/6.0/isos/i386/CentOS-6.0-i386-LiveCD.iso

Obtener las herramientas necesarias.

Descargar la versión mas reciente de livecd-iso-to-disk.

# wget “http://git.fedorahosted.org/git/?p=livecd;a=blob_plain;f=tools/livecd-iso-to-disk.sh;hb=HEAD” -O livecd-iso-to-disk.sh

# chmod +x livecd-iso-to-disk.sh

Limpiar el MBR de la unidad USB.

Insertar la unidad USB y determinar el dispositivo al cual fue conectada.  Es muy importante que este dispositivo se determine muy bien ya que un error a partir de este paso puede significar la pérdida del acceso al sistema operativo o aún peor, la pérdida de información.  Realice estos pasos con mucho cuidado y bajo su propia responsabilidad.

En este caso se supondrá que la unidad USB intervenida corresponde con el dispositivo /dev/sdb.  Modifique este valor apropiadamente según su contexto.

# dd if=/dev/zero of=/dev/sdb bs=512 count=1

Acerca de los tamaños para la persistencia.

Los tamaños elegidos para las particiones que soportarán la persistencia de los datos deberán estar de acuerdo con el tamaño de la unidad USB utilizada y el tamaño de la imágen LiveCD que se integrará.

  + Size of live image:        683  MiB  
  + Overlay size:             1600  MiB
  + Home directory size:      1200  MiB
  = Total requested space:    3483  MiB  
  - Space available:          3528  MiB

En este caso la imagen base del sistema operativo utiliza 683MB, se crearán particiones con tamaños de 1600MB (raíz) y 1200MB (home), y se utilizará una memoria USB con capacidad de 3528MB.

Debido a las restricciones del sistema de archivos FAT las particiones no podrán ser mayores a 2047MB.  Para mas información acerca de las limitaciones consultar la sección Data Persistence and its Limitations.

Crear la LiveUSB con persistencia.

# ./livecd-iso-to-disk.sh –format –overlay-size-mb 1600 –home-size-mb 1200 –unencrypted-home /u/vms/ISO/CentOS-6.0-i386-LiveCD.iso /dev/sdb 

La ejecución del comando anterior se ve regida por los siguientes parámetros.

–format Formatea la unidad y crea una tabla de particiones MS-DOS.
–overlay-size-mb Establece el tamaño para la partición raíz.
–home-size-mb Establece el tamaño para la partición de /home.
–unencrypted-home Indica que no se cifre la partición de /home.
Archivo ISO Especifica la imagen ISO del LiveCD a utilizarse.
Dispositivo (/dev/sdb) Especifica el dispositivo que corresponde con la unidad USB intervenida.

El comando livecd-iso-to-disk incluye varios parámetros de línea de comando que permiten modificar el resultado final de la unidad LiveUSB generada.  Consultar el código fuente del script para mayor información.

Enlaces.

Instalar Acrobat Reader en GNU/Linux CentOS 6

Introducción.

En el presente artículo se describe el procedimiento necesario para instalar Acrobat Reader en GNU/Linux CentOS 6 desde repositorios Yum.  Este procedimiento probablemente también es compatible con la distribución Fedora.

Instalación.

Agregar el repositorio al sistema operativo.

# rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm

# rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux asdf

Listar los idiomas disponibles.

# yum list AdobeReader*

AdobeReader_enu.i486                  9.4.2-1                  adobe-linux-i386
AdobeReader_chs.i486                  8.1.7-1                  adobe-linux-i386 
AdobeReader_cht.i486                  8.1.7-1                  adobe-linux-i386 
AdobeReader_dan.i486                  8.1.7-1                  adobe-linux-i386 
AdobeReader_deu.i486                  9.4.2-1                  adobe-linux-i386 
AdobeReader_esp.i486                  8.1.7-1                  adobe-linux-i386 
AdobeReader_fra.i486                  9.4.2-1                  adobe-linux-i386 
AdobeReader_ita.i486                  8.1.7-1                  adobe-linux-i386 
AdobeReader_jpn.i486                  9.4.2-1                  adobe-linux-i386 
AdobeReader_kor.i486                  8.1.7-1                  adobe-linux-i386 
AdobeReader_nld.i486                  8.1.7-1                  adobe-linux-i386 
AdobeReader_nor.i486                  8.1.7-1                  adobe-linux-i386 
AdobeReader_ptb.i486                  8.1.7-1                  adobe-linux-i386 
AdobeReader_suo.i486                  8.1.7-1                  adobe-linux-i386 
AdobeReader_sve.i486                  8.1.7-1                  adobe-linux-i386 

 Identificar el archivo correspondiente al idioma que se desea instalar e instalarlo junto con el plugin para Mozilla.  En este caso se instalará la versión en inglés (enu), si se desea instalar la versión en español elija AdobeReader_esp.

# yum install nspluginwrapper.i686 AdobeReader_enu

Ejecución.

Para ejecutar la aplicación recién instalada simplemente invóquela en la línea de comandos o al seleccionar un ícono de archivo PDF.

# acroread

Instalar Google Chrome en GNU/Linux CentOS 6

Introducción.

El artículo presentado a continuación describe el procedimiento necesario para instalar el navegador web Google Chrome en GNU/Linux CentOS 6 utilizando repositorios Yum.  Este procedimiento probablemente aplique también para otras versiones de CentOS y Fedora.

Instalación.

Crear el nuevo repositorio de Yum.

# vi /etc/yum.repos.d/google-chrome.repo

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/i386
enabled=1
gpgcheck=1

Si se desea la versión de 64 bits utilizar la siguiente descripción del repositorio.

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1

Instalar los paquetes deseados.

# yum –nogpgcheck install google-chrome-stable

Además de la versión estable también es posible instalar la versión en desarrollo (google-chrome-beta) y la inestable (google-chrome-unstable).

Instalar LibreOffice en GNU/Linux CentOS 6

Introducción.

A continuación se describe el procedimiento necesario para instalar LibreOffice en GNU/Linux CentOS a partir de su distribución en RPM ya que, a diferencia de Fedora, esta distribución de Linux no cuenta con repositorios oficiales de este software.

Se instalarán 3 paquetes de software.

  1. La distribución de LibreOffice como tal.
  2. El paquete de ayuda (en inglés).
  3. Un paquete de soporte para idiomas (en español).

Obtener los paquetes.

Descargar la versión requerida de la siguiente ubicación.  En este caso se realizará la instalación de la versión 3.4.2.

http://www.libreoffice.org/download/

# wget http://download.documentfoundation.org/libreoffice/stable/3.4.2/rpm/x86/LibO_3.4.2_Linux_x86_install-rpm_en-US.tar.gz

# wget http://download.documentfoundation.org/libreoffice/stable/3.4.2/rpm/x86/LibO_3.4.2_Linux_x86_helppack-rpm_en-US.tar.gz

# wget http://download.documentfoundation.org/libreoffice/stable/3.4.2/rpm/x86/LibO_3.4.2_Linux_x86_langpack-rpm_es.tar.gz

Descomprimir los paquetes.

# tar zxvf LibO_3.4.2_Linux_x86_install-rpm_en-US.tar.gz

# tar zxvf LibO_3.4.2_Linux_x86_helppack-rpm_en-US.tar.gz

# tar zxvf LibO_3.4.2_Linux_x86_langpack-rpm_es.tar.gz

Instalar los RPM.

# cd LibO_3.4.2rc3_Linux_x86_install-rpm_en-US/RPMS
# rpm -i *.rpm
# rpm -i desktop-integration/libreoffice3.4-redhat-menus-3.4-203.noarch.rpm
# cd ../../LibO_3.4.2rc3_Linux_x86_helppack-rpm_en-US/RPMS/
# rpm -i libobasis3.4-en-US-help-3.4.2-203.i586.rpm
# cd ../../LibO_3.4.2rc3_Linux_x86_langpack-rpm_es/RPMS/
# rpm -i --force *.rpm

Instalar Java (de Oracle) en GNU/Linux CentOS 6

Introducción.

A continuación se describe el procedimiento necesario para instalar el ambiente de desarrollo (JDK) de Java desarrollado por Oracle en GNU/Linux CentOS 6.  Este procedimiento probablemente funcione con GNU/Linux Fedora.

Instalación.

Descargar la última versión en RPM disponible en la siguiente ubicación.

# wget -o s1 -b -c http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.rpm

# rpm -i jdk-7-linux-i586.rpm

Si se cuenta con otras versiones de Java (OpenJDK por ejemplo) deberá ajustar la versión por defecto que utilizará el sistema operativo.  Es posible que deba ajustar el índice (2 en el ejemplo) de la versión que se está instalando.

# alternatives –install /usr/bin/java java /usr/java/jdk1.7.0/bin/java 2

# alternatives –config java

Verificación.

Para verificar el funcionamiento de la versión de Java recién instalada, abra una consola y ejecute los siguientes comandos.

# java -version

java version “1.7.0”Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) Server VM (build 21.0-b17, mixed mode)

# javac -version
 
javac 1.7.0

Instalar unrar en GNU/Linux CentOS 6

Introducción.

Para instalar unrar en CentOS no fue posible utilizar el mismo procedimiento que se siguió para instalarlo en Fedora.  En este caso se utilizó el paquete de rpmforge provisto por el repositorio de Dag Wieers.

Instalación.

Determinar la última versión disponible de rpmforge (rpmforge-release-*.el6.rf.i686.rpm) en el siguiente repositorio.

http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/

En este caso era la versión 0.5.2-2.

# rpm -Uhv http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

Instalar unrar del repositorio de rpmforge.

# yum install unrar

Enlaces.

Como determinar la versión de GNU/Linux de un equipo

Introducción.

En muchas ocasiones es necesario conocer que distribución de GNU/Linux y que versión de la misma se encuentran ejecutándose en una máquina específica.  Debido a los cambios inducidos por las actualizaciones no siempre se cuenta con la versión que se instaló inicialmente.

Estos son los métodos mas comúnes para determinar esta información.

Determinar la distribución y versión de Linux.

El método genérico.

Aplica a todas las distribuciones de Linux.

$ cat /etc/issue

Linux Mint 9 Isadora n l

Para los RedHat.

Este método aplica también para las distribuciones basadas en RedHat como Fedora, CentOS y Scientific Linux.

$ cat /etc/redhat-release

Scientific Linux SL release 5.5 (Boron)

Para los Fedora.

$ cat /etc/fedora-release

Fedora release 13 (Goddard)

Para los Debian.

Este método aplica también para las distribuciones basadas en Debian como Ubuntu y Mint.

$ cat /etc/debian_version

5.0.5

Para Ubuntu.

$ lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.1 LTS
Release: 10.04
Codename: lucid