Archivo etiqueta Linux

LVM en Fedora / Red Hat

Enlace al video: http://blip.tv/lgallardo/lvm-en-fedora-red-hat-5908538

En este video podemos ver el proceso de instalación usando LVM en  Fedora (vale también para Red Hat). Como nota aclaratoria, el directorio que debe estar fuera del LVM es /boot, aun y cuando en el video se crea la raíz, la cual incluye a /boot.

Si no entiendes algunos de los términos de LVM, puedes revisar el artículo anterior donde se habló sobre los conceptos básicos de LVM  y algunas oŕdenes para crear un LVM a mano.

,

No hay Comentarios

Ganando espacio en discos externos con tune2fs

Weestern Digital 1.5 TB

Me compré un disco USB exteno de 1.5 TB (1.3 TB), de los cuales decidí dejar 1 TB como partición ext4. La partición la creé con GParted y este no da opciones “avanzadas”, así que simplemente acepté los valores por omisión. Pero luego recordé que las particiones ext2, ext3 y ext4 dejan un 5% del disco como reserva para evitar que se llene completamente, de forma que ciertos proceso privilegiados siempre tengan espacio para escribir (como por ejemplo, syslogd), que en otro caso comprometería la operatividad del servicio e incluso del sistema.

Ganando un poco de espacio

Como es una partición externa de 1 TB para respaldos, tener %5 de reserva equivaldría a unos 50 GB. Veamos el espacio disponible en disco:

root@moody:~# df -h

Filesystem Size Used Avail Use% Mounted on
/dev/sdb2 1.1T 430G 557G 44% /media/1TB

La salida fue editada para mostrar solo la partición que nos interesa. Ahora vamos a quitar el porcentaje de reserva:

root@moody:~# umount /media/1TB
root@moody:~# tune2fs -m 0 /dev/sdb2

tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 0% (0 blocks)

Es importante que corran tune2fs en sistemas de archivos desmontados. Veamos nuevamente el espacio disponible en la partición:

root@moody:~# mount /media/1TB
root@moody:~# df -h

Filesystem Size Used Avail Use% Mounted on
/dev/sdb2 1.1T 430G 610G 42% /media/1TB

Es decir, 610 GB – 557 GB = 53 GB que ahora tendré disponible…malos? Malos no son!

Referencia: man tune2fs

2 Comentarios

Configuración de ViewSonic G800 en Debian 6.0

ViewSonic G800

En el trabajo decidieron instalar Debian en un servidor con un monitor Viewsonic G800 y una tarjeta ATI Technologies Inc Rage XL, pero la mejor resolución que pudieron obtener fue 800×600. Luego de revisar los drivers del servidor X, los cuales estaban correctamente instalados para la tarjeta ATI, y probar con las variantes de los drivers (r128, radeon, etc), pregunté a la persona que instaló el sistema sobre los parámetros del monitor pero me indicó que los desconocía, así como el paradero de los manuales. Al hacer una búsqueda en la página del fabricante di con el manual, en particular con la tabla de las tasas de refrescamiento que era lo que me interesaba:

G800 1024x768

Con esta información pasé a crear el archivo de configuración del servidorX, es decir, el archivo /etc/X11/xorg.conf:

Section "Device"
 Identifier "Configured Video Device"
 Driver "ati"
EndSection

Section "Monitor"
 Identifier "Configured Monitor"
 HorizSync 60.02
 VertRefresh 75
EndSection

Section "Screen"
 Identifier "Default Screen"
 Monitor "Configured Monitor"
 Device "Configured Video Device"
EndSection

El manual del monitor se consigue en la página del fabricante, pero debes tener el código del monitor. Si no lo tienes aquí consigues el manual en PDF.

Referencias:

2 Comentarios

Error al instalar Gnome-Shell en Debian (Failed to load session “gnome”)

Un par de amigos me insistieron en que instalara Gnome-Shell, y como no me quería sentir excluido y quería ver qué tan bueno es, decidí probarlo. Tuve que pasar mi Debian de stable a testing y hacer el respectivo:

aptitude install gdm3 gnome-shell

Luego de actualizar, reiniciar e intentar entrar a la sesión de Gnome, me apareció el error Failed to load session “gnome” como se muestra en la imagen de arriba. Luego de comentarle a uno de estos  amigos, este me dijo que podía ser un problema con la tarjeta de video, y efectivamente lo era. Yo  tengo esta tarjeta de video:

root@buckbeak:~# lspci | grep -i vga
01:00.0 VGA compatible controller: nVidia Corporation G86 [GeForce 8400M GS] (rev a1)

Investigando un poco en Internet llegué a la página del paquete en Debian para la tarjeta, y para suerte mía estaba listada. Entonces tocó hacer:

aptitude install nvidia-glx nvidia-xconfig

Pero el servidor X no queda configurado para cargar el driver de nVidia por omisión, por lo que hay que correr la orden:

nvidia-xconfig

Esto creará el archivo /etc/X11/xorg.conf (recordar que en las nuevas distros este archivo no existe por omisión) con lo necesario para correr el driver de nVdia, en particular:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Luego de esto, reinicié la computadora y pude ingresar a la sesión de Gnome:

Referencias

 

 

,

6 Comentarios

Logical Volume Manager (LVM)

En el esquema de particionamiento tradicional de discos el administrador del sistema planifican con antelación el uso que se le dará cada partición. Por ejemplo, para una laptop con disco duro de 120 GB y RAM de 1 GB se puede tener el siguiente esquema de particiones:

  • 1 GB para swap (/dev/sda1),
  • 12 GB para la raíz (/dev/sda2),
  • 107 GB para /home (/dev/sda3), es decir,  el resto del disco.

Hasta aquí todo bien, pero qué pasa si el día de mañana el tamaño de la RAM aumenta a 2 GB? Para invernar habrá que aumentar la swap, y como ya se particionó todo el disco y no se dejó espacio lo que queda es reparticionar el disco, bien sea redimensionando con utilidades que lo permitan, siempre y cuando el sistema de archivo también lo permita (por ejemplo, los sistemas ext[2|3|4] permite redimensionamiento).

¿No existe algo más flexible? Si, se llama LVM (Logical Volume Manager) , y en esencia permite redimensionar en caliente las particiones, para por ejemplo, quitar 1GB de /home (/dev/sda3) y dárselo a la swap (/dev/sda1).

LVM (Logical Volume Manager)

Para poder usar LVM primero se debe asignar volúmenes físicos, luego asignar volúmenes de grupo y por último volúmenes lógicos. Todo esto parece confuso a la primera, pero vamos a explicar cada uno de estos términos y cómo se relacionan:

  • Volúmenes físicos: Es el soporte final donde se guardaran los datos, y pueden ser varios discos o incluso particiones de un disco. No guarda relación directa con los puntos de montajes. Ejemplos de volúmenes físicos: /dev/sda , /dev/sdb1, etc.
  • Volúmenes de grupo: Es la agrupación de los volúmenes físicos en un volumen que permite ver todos los discos y particiones como uno solo dispositivo. Ejemplo de volumen de grupo: /dev/vg00
  • Volúmenes lógicos: Son los volúmenes donde irán nuestros sistemas de archivos (ext2, ext3,xfs,vfat, por ejemplo) y por ende los puntos de montaje (/, /home, swap, /usr, /var, etc). En este nivel es donde se hace el formateo del sistema de archivos a usar, y es donde los datos se distribuirán a nivel lógico, similar a las particiones que acostumbramos a usar. Ejemplo de volúmenes lógicos: /dev/vg00/lv_rootfs, /dev/vg00/lv_swap, /dev/vg00/lv_home.

Instalación de LVM

En Debian puede usarse LVM instalando el siguiente paquete:

aptitude install lvm2

En otras distribuciones como Fedora, Red Hat o el mismo Ubuntu deben buscar el nombre adecuado del paquete para su instalación.

Órdenes de LVM

Para crear un LVM con sus volúmenes físicos, de grupo y lógicos veamos algunas de las instrucciones que tenemos disponible:

Volúmenes físicos

Orden Descripción
pvcreate Crea volúmenes físicos para ser usado por LVM
pvs Muestra información acerca los volúmenes lógicos
pvdisplay Muestra varios atributos de los volúmenes físicos
pvresize Redimensiona volúmenes físicos
pvmove Mueve datos de un volumen físico a otro.

Volúmenes de grupo

Orden Descripción
vgcreate Crea volúmnes de grupo para ser usado por LVM
vgs Muestra información acerca de los volúmenes de grupo
vgdisplay Muestra varios atributos de los volúmenes de grupo
vgextend Agrega volúmenes físicos a un volumen de grupo
vfreduce Quita volúmenes físicos del volumen de grupo
vgremove Elimina volúmenes de grupo

Volúmenes lógicos

Orden Descripción
lvcreate  Crea volúmnes lógicos para ser usado por LVM
lvs Muestra información acerca de los volúmenes lógicos
lvdisplay Muestra varios atributos de los volúmenes lógicos
lvresize | lvreduce | lvextend Redimensiona volúmenes lógicos
lvmove Elimina volúmenes lógicos del sistema

Ejemplo de creación de un LVM

Supongamos que se tiene el disco /dev/sdb  libre con 8 GB,  con dos particiones de 4GB cada una (/dev/sdb1 y /dev/sdb2), y sobre estas particiones se quiere crear un LVM que alojará los puntos de montajes: La raíz (/) de 1 GB, la swap de 1 GB (swap) y el resto de los 6 GB al directorio de los usuarios (/home). Para hacer el LVM podemos escribir las siguientes órdenes:

root@buckbeak:~# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created

root@buckbeak:~#pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created

root@buckbeak:~# pvs

PV         VG         Fmt  Attr PSize  PFree
/dev/sdb1                         lvm2 a-    4.00g 4.00g
/dev/sdb2                         lvm2 a-    3.99g 3.99g

root@buckbeak:~# vgcreate vg_group01 /dev/sdb1 /dev/sdb2

Volume group "vg_group01" successfully created

root@buckbeak:~# vgs

VG         #PV #LV #SN Attr   VSize  VFree
vg_group01   2   0   0 wz--n-  7.99g 7.99g

root@buckbeak:~# lvcreate -n lv_rootfs vg_group01 -L 1G
Logical volume "lv_rootfs" created

root@buckbeak:~# lvcreate -n lv_swap vg_group01 -L 1G
Logical volume "lv_swap" created

root@buckbeak:~# lvcreate -n lv_home vg_group01 -L 6G
Volume group "vg_group01" has insufficient free space (1534 extents): 1536 required

root@buckbeak:~# lvcreate -n lv_home vg_group01 -l 1534
Logical volume "lv_home" created

root@buckbeak:~# lvs
LV        VG         Attr   LSize  Origin Snap%  Move Log Copy%  Convert
lv_home   vg_group01 -wi-a-  5.99g
lv_rootfs vg_group01 -wi-a-  1.00g
lv_swap   vg_group01 -wi-a-  1.00g

Ahora se puede dar el sistema de archivo para cada uno de los volúmenes lógicos:

root@buckbeak:~# mkfs.ext4 /dev/vg_group01/lv_rootfs
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

root@buckbeak:~# mkfs.ext4 /dev/vg_group01/lv_home
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
393216 inodes, 1570816 blocks
78540 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1610612736
48 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

root@buckbeak:~# mkswap /dev/vg_group01/lv_swap
mkswap: /dev/vg_group01/lv_swap: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=e743b4f3-1c80-4503-be88-6934d575cd55

root@buckbeak:~# swapon /dev/vg_group01/lv_swap

root@buckbeak:~# swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-1                               partition    2064376    8    -1
/dev/dm-5                               partition    1048568    0    -2

Si se quieren usar estos volúmenes lógicos, bien puenden montarse con la orden mount o especificarlos en el archivo /etc/fstab para que sea montados al iniciar el sistema.

Referencias

,

5 Comentarios

Instalación de SubDownloader en Debian

En mi artículo anterior expliqué cómo ver películas en Android desde un servidor multimedia como MediaTomb, y una de las cosas que comenté fue la posibilidad de usar subtítulos con el reproductor de videos. Pero cómo podemos obtener los subtítulos? Existen páginas especializadas que ofrecen varias versiones de subtítulos para un mismo video, con lo cual debemos buscar por el nombre exacto de la película, descargar e ir probando a ver si se ajusta a lo que vemos.

Ahora bien, esto no se puede hacer automatizado? Si, la respuesta es SubDownloader, y es lo que explicaré como instalar en Debian.

Instalación

  1. Editar el archivo /etc/apt/sources.list para incluir los repos de sid:
    deb http://ftp.debian.org/debian/ sid main contrib non-free
  2. Actualizar el listado de paquetes:
    aptitude update
  3. Instalar SubDonwloader:
    aptitude -t sid install subdownloader
  4. Editar nuevamente el /etc/apt/sources.list para quitar los repos de sid (basta con comentar la línea con #):
    #deb http://ftp.debian.org/debian/ sid main contrib non-free
  5. Hacer la actualización del listado de paquetes:
    aptitude update

Ahora puede correrse el programa desde Aplicaciones > Multimedia > SubDownloader

Referencia: Página de SubDownloader

,

No hay Comentarios

Ver películas en Android desde un servidor UPnP

No soy de los que escribe sobre aplicaciones X o Y en Linux, Android o cualquier plataforma porque considero que hay sitios especializados para ello. Pero en esta oportunidad vale la pena mencionar cómo hice para ver películas en mi tableta (sirve también en teléfonos) desde mi servidor multimedia UPnP. ¿Ventajas? No necesitas estar copiando las películas en la tableta o teléfono sino que son enviadas por streaming desde el servidor.

Requisitos

  • Tener instalado algún servidor UPnP. En Linux puedes usar MediaTomb (y de hecho es el que uso en el artículo).
  • Tener algún dispositivo con Android (vale un teléfono o una tableta).

Procedimiento

  1. En el dispositivo Android, descargar desde el Market las aplicaciones SoftMedia Player y MX Video Player (puede ser cualquier otro reproductor de video tu preferencia)
  2. En la PC, compartir las películas en el servidor UPnP. En MediaTomb esto se hace desde la interfaz web (ejemplo: http://localhost:41952).
  3. Ahora en el dispositivo Android se debe abrir la aplicación SoftMedia Player y seleccionar Choose a Media Source.  Deberá aparecer nuestro servidor UPnP listado.
  4. En la opción Browse and play media escoger la película a ver.
  5. Disfrutar :)

Subtítulos

En el caso de MX Video Player se tiene la opción de incluir subtítulos a los videos en los formatos más conocidos: SubRip(.srt), Sub Station Alpha(.ssa/.ass),  MicroDVD(.sub/.txt),  SubViewer2.0(.sub), SAMI(.smi/.sami), MPL2(.mpl/.txt), PowerDivX(.psb/.txt), TMPlayer(.txt), Matroska (.mkv) y Subtitle Track. (para texto, solo ass/ssa). El detalle es que como el reproductor se ejecuta local, entonces el archivo de sutítulos debe estar  en el dispositivo Android.

Capturas

Algunas capturas de la aplicación pueden verse aquí:

,

7 Comentarios

Graduación ISEIT 2011

Fotos cortesía de Rómulo Rodríguez.

El día 24 de Septiembre de 2011 tuve el grato placer de compartir algunos momentos con ex-alumnos (muy breves la verdad, porque estaba dando clases), ahora buenos amigos, en la graduación del ISEIT 2011. En esta ocasión fue Yureinmy , Javier y Rómulo, aunque faltaron Viviana y Ronald que no pudieron asistir (entre otros). Es una satisfacción ver que sus metas se han cumplido, y poder haber ayudado un poco en el proceso.

Felicitaciones y éxito!

,

2 Comentarios

Instalación de los Guests Additions de VirtualBox en Fedora

Si por alguna razón requieren instalar Fedora en una máquina virtual en VirtualBox y quiere aprovechar las características adicionales de los Guest Additions (drivers de red y gráficos, para por ejemplo tener pantalla completa e integración de teclado) pueden seguir estos pasos para instalarlos:

  • En la máquina virtual con Fedora instalar los paquetes necesarios para compilar los Guest Additions:
yum install kernel-headers kernel-devel
yum groupinstall "Development Tools"

Esto tardará algo ya que se bajará muchos paquetes.

  • Desde el menú de VirtualBox seleccionar Instalar Guest Additions.

En la máquina virtual se creará un enlace en el escritorio para montar la unidad de CD. Al darle al botón derecho seleccione Montar. Una vez montado ir al direcotrio:

cd /media/VBOXADDITIONS_4.1.2_73507

Desde allí ejecutar el binario para Linux para la instalación:

./VBoxLinuxAdditions.run

Una vez finalizado ya se tendrá instalado los Guest Additions de VirtualBox en Fedora!

Instalación en Red Hat

Los pasos explicados previamente también son válidos para Red Hat, solo se debe tener configurado un repositorio desde donde se instalaran los paquetes o grupos de paquetes.

4 Comentarios

Subir las radios del HTC Magic a 6.35x en Linux

Radios 6.35x HTC Magic

Si necesitas subir las radios del HTC Magic, para por ejemplo configurar la rom de fábrica de Movilnet Venezuela (o la de tu proveedor en tu país) puedes seguir los siguientes pasos que describen cómo instalar las radios 6.35x en Linux.

Requisito:

Antes de empezar

  • Haz un respaldo de tu rom actual con nandroid desde el OpenRecovery. Esto permitirá volver a tu rom en caso de que algo no vaya bien.
  • Realiza el procedimiento con la batería cargada a más de 75%.
  • Ten lista una rom a instalar apta para esta radio. Por ejemplo la rom stock de Movilnet.
  • Recuerda que solo tú eres responsable de lo que haces con tu teléfono. Aunque este método lo seguí y lo comparto, no me hago responsable por bricks en tu teléfono.

Modo fastboot en Linux

Para que el sistema operativo reconozca el teléfono en modo fastboot, root debe crear el archivo /etc/udev/rules.d/51-android.rules, con la siguiente regla udev:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0fff", MODE="0777"

Luego se debe reiniciar el servicio:

/etc/init.d/udev restart

Instalación

    1. Descargar los archivos spl.zip fastboot para x86, hbootnew, Radionew.img. y recoverynew.img
    2. Copiar el archivo spl.zip en la raíz de la SD.
    3. Entrar al OpenRecovery y flashar el archivo spl.zip como si fuera una rom. Al finalizar debes reiniciar el teléfono con la combinación de botones HTC Magic Home buton + HTC Magic End call button al mismo tiempo.
    4. Apagar el teléfono desde el menú OpenRecovery.
    5. Entrar al modo fastboot presionando los botones HTC Magic Back buton + HTC Magic End call button al mismo tiempo. Verás una imagen como la mostrada arriba, salvo que dirá RADIO-3.22.20.17 (aun no hemos copiado las radios 6.35x)
    6. En el PC, copiar el archivo fastboot en el directorio tools del SDK de Android y darle permiso de ejecución:
cd ~/Android/android-sdk-linux_86/tools$
chmod +x fastboot
  1. Desde el directorio tools del SDK de Android ejecutar lo siguiente:
./fastboot flash hboot hbootold.img
./fastboot flash radio Radioold.img
./fastboot flash recovery recoveryold.img

Para cada uno de estas órdenes el teléfono reportará que la imagen se envío y luego se escribe. Puedes apagar el teléfono y encenderlo nuevamente en el modo fastboot para verificar que se tenga instalada las radios de la serie 6.35x, todo listo para instalar cualquier rom compatible.

Error remote:not allow

Es importante que el binario fastboot se ejecute desde el directorio tools del SDK de Android, sino al intentar pasar cualquier archivo se reportará el mensaje “remote:not allow”

Referencias

cd ~/Android/android-sdk-linux_86/tools$

chmod +x fastboot

,

No hay Comentarios