Actualización menor de las versiones de Scientific Linux 5.x y 6.x

Introducción

Los procedimientos descritos a continuación permiten realizar la actualización de versiones menores en los sistemas operativos basados en Scientific Linux en sus versiones 5.x y 6.x, es decir, pasar de la 5.1 a la 5.3 por ejemplo mas no para pasar de la versión 5 a la 6.

Recuerde tener suficiente espacio en /var/cache para realizar este procedimiento así como contar con copias de seguridad en caso de que algo salga mal.  Realice los siguientes pasos bajo su propia responsabilidad.

Serie 5.x

# yum remove perl.i386 gaim.i386 gaim-devel.i386
# yum clean all
# rpm -Uvh ftp://ftp.scientificlinux.org/linux/scientific/5x/i386/misc/RPMS/yum-conf-latest.SL.noarch.rpm
# yum update yum
# yum update
# yum clean all
# /sbin/reboot
  • El paso #1 solamente se debe realizar bajo la arquitectura de 64 bits para remover versiones instaladas de 32 bits de estos paquetes.

Serie 6.x

# yum clean all
# yum update
# yum --releasever=6x update
# yum-conf-sl-other
# yum update
# yum clean all
# /sbin/reboot
  • En el paso #3 reemplazar el valor 6x por la versión a la cual desea realizarse la instalación (6.2 por ejemplo).
  • El paso #4 sólo es estrictamente necesario cuando la versión original del sistema operativo que se está actualizando es la 6.0.

Enlaces

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

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.

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

Instalar VirtualBox en Scientific Linux 5.5

Introducción.

El procedimiento se basa en el estándar para instalarlo en Red Hat Enterprise Linux o en sus derivados (como CentOS), sin embargo fue necesario realizar una pequeña modificación al archivo de configuración del repositorio ya que la versión que reporta SL ($releasever) es la 5.5 mientras que el repositorio está esperando un 5 (sin decimales) para que coincida con un directorio donde se encuentran los paquetes.

Instalación.

Descargar la especificación del repositorio.

# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

Actualizar la especificación del repositorio para que la versión reportada del sistema operativo coincida con el directorio de los paquetes.

# vi virtualbox.repo

(modificar la línea del baseurl como se muestra a continuación)

[virtualbox]
name=RHEL/CentOS-$releasever / $basearch – VirtualBox
## baseurl=http://download.virtualbox.org/virtualbox/rpm/rhel/$releasever/$basearch
baseurl=http://download.virtualbox.org/virtualbox/rpm/rhel/5/$basearch
enabled=1
gpgcheck=1
gpgkey=http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc

Mover la especificación del repositorio en su ubicación real.

# mv virtualbox.repo /etc/yum.repos.d/

Instalar VirtualBox.

# yum install VirtualBox

Reconfigurar el módulo del kernel.

# /etc/init.d/vboxdrv setup

Solución de problemas.

NMI watchdog activo.

Si durante la reconfiguración del módulo del kernel surgen problemas que sugieren revisar los mensajes del sistema de la siguiente manera.

# dmesg

Y en ellos aparecen mensajes como el siguiente, es necesario desactivar la función de NMI watchdog del kernel.

vboxdrv: NMI watchdog either active or at least initialized.  Please disable the NMI

Esto se realiza de la siguiente manera.

# vi /boot/grub/menu.lst

(agregar al final de la línea que empieza por kernel)

kernel … nmi_watchdog=0

Reiniciar el sistema operativo para que el cambio realizados surtan efecto.

# reboot

Enlaces.