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

Cómo instalar el firmware 3.40 en la PS3

Update PS3 firmware

Si tienes una PS3 con el firmware inferior a 3.40 y quieres o necesitas actualizar a este firmware, aquí dejo las instrucciones para que puedes actualizar la PS3 al firmware 3.40:

  1. Descargar el firmware 3.40.
  2. Copiar el archivo 340.DUP en la carpeta /PS3/UPDATE de un pendrive. Si las carpetas no existe, se debe crear.
  3. Renombrar el archivo 340.PUP a PS3UPDAT.PUP.
  4. Desconectar apropiadamente del PC el pendrive, y conectarlo en la PS3.
  5. Ir al apartado Actualización del Sistema y escoger Actualizar vía Medio de Almacenamiento
  6. Aceptar el acuerdo de licencia y seguir las instrucciones de instalación.

Referencia: [Recopilación] Firmwares Oficiales PS3

No hay Comentarios

PlayStation Vita (PSVita)

Sony lanzó en Japón la nueva consola portátil PS Vita (prefirió no llamarla PSP 2) y en USA el lanzamiento será el 15 de febrero para quienes compren el First Edition Bundle especial o el 22 de febrero para quienes elijan otro pack. La PS Vita se ve muy atractiva y superior a cualquier consola portátil del mercado (si me refiero a los NDS/N3DS).Veamos las especificaciones técnicas para hacernos una idea:

Leer el resto de la entrada »

4 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

Reparar tablas de MySQL

MySQL fix

Si por alguna razón se llegan a encontrar con un mensaje como el siguiente al consultar una tabla:

mysql> select * from data_values_queued;
ERROR 1194 (HY000): Table 'data_values_queued' is marked as crashed and should be repaired

La forma de ver y reparar el problema es la siguiente.

CHECK TABLE

Primero se procede a verificar la tabla, para determinar el problema:

mysql> check table data_values_queued;
+----------------------------+-------+----------+----------------------------------------------------------+
| Table                      | Op    | Msg_type | Msg_text                                                 |
+----------------------------+-------+----------+----------------------------------------------------------+
| datbas1.data_values_queued | check | warning  | 4 clients are using or haven't closed the table properly |
| datbas1.data_values_queued | check | error    | Size of datafile is: 4200         Should be: 4220        |
| datbas1.data_values_queued | check | error    | Corrupt                                                  |
+----------------------------+-------+----------+----------------------------------------------------------+
3 rows in set (0.05 sec)

Aquí vemos que la tabla no fue cerrada adecuadamente, por ejemplo producto de un apagón. En mi caso descarto el primer mensaje porque el motor que uso es InnoDB, el cual permite concurrencia en las tablas.

REPAIR TABLE

Ahora para reparar la tabla se puede usar la siguiente sentencia:

mysql> repair table data_values_queued ;
+----------------------------+--------+----------+----------------------------------------+
| Table                      | Op     | Msg_type | Msg_text                               |
+----------------------------+--------+----------+----------------------------------------+
| datbas1.data_values_queued | repair | warning  | Number of rows changed from 144 to 143 |
| datbas1.data_values_queued | repair | status   | OK                                     |
+----------------------------+--------+----------+----------------------------------------+
2 rows in set (0.00 sec)

 

Ya con esto habremos reparado la tabla. Veamos si es así:

mysql> select * from data_values_queued;
+---------+--------+----------+---------------------+
| id      | iodbId | value    | timestamp           |
+---------+--------+----------+---------------------+
| 1476194 |    170 | 297      | 2012-01-11 08:40:45 |
| 1476193 |    170 | 296      | 2012-01-11 08:40:17 |
| 1476176 |     71 | 11692    | 2012-01-11 05:06:46 |
| 1476177 |     72 | 12061    | 2012-01-11 05:06:46 |
| 1476178 |     73 | 11820    | 2012-01-11 05:06:46 |
| 1476179 |    107 | 11703    | 2012-01-11 05:06:46 |
...
| 1476258 |    170 | 282      | 2012-01-11 11:07:43 |
+---------+--------+----------+---------------------+
143 rows in set (0.00 sec)

Referencias

,

No hay Comentarios

Cómo liberar la PSP (todos los modelos)

PSP

 Existen varios modelos de PSP y para cada uno de estos aplica un método que puede no ser compatible con otro modelo.  Para evitar problemas con la actualización decidí resumir esta información en este artículo:

Modelo   Firmware 5.00 Firmware 6.20 Firmware 6.35 Firmware 6.60
PSP 1000 (FAT)PSP 2000 (Slim liberables)
PSP 2000 (Slim NO liberables) -
PSP 3000
PSP Go
PSP E100

NOTA:  Se debe tener en cuenta que en los modelos de PSP 3000, PSP Go y PSP E1000 no hay custom firmware permanentemente para versiones superiores a la 6.20, por lo que se debe repteir el procedimiento cada vez que se apaga la consola..

Bajar versión (downgrade)

Si necesitas bajar de versión existen tres métodos, que dependen del modelo de PSP que se tenga:

Modelo Firmware < 6.20  Firmware 6.20 Firmware 6.35 Firmware 6.60
PSP 1000 (FAT)PSP 2000 (Slim liberables)
PSP 2000 (Slim NO liberables) -
PSP 3000
PSP Go
PSP E1000

NOTA:  Se debe tener en cuenta que los modelos de PSP 3000, PSP Go y PSP E1000 no se le pueden bajar la versión.

PSP 2000 vs. 2001 vs. 2010

Si tienes dudas respecto a los modelos de PSP por región, no dejes de consultar el artículo que habla sobre las versiones de PSP.

Referencias

10 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

Cómo rootear el Samsung Galaxy Ace

Samsung Galaxy Ace S5830 / S5830L Samsung Galaxy Ace Root completed root Samsung Galaxy Ace S5830L

Muchas aplicaciones necesitan que el teléfono este “rooteado”, es decir, que tenga privilegios de root o el administrador del sistema en Linux (hay que recordar que Android es Linux).  Aunque suene complicado, realmente no lo es, es simplemente instalar una aplicación en el teléfono que permite conceder mayor privilegio a otras aplicaciones para, por ejemplo, poder acceder a la cámara. Dicho esto, ahora dejo los pasos para hacerlo en el Samsung Galaxy Ace S5830 / S5830L

Advertencias

  • 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.
  • Realiza el procedimiento con la batería cargada a más de 75%.
  • Válido solo para Gingerbread  2.3.3 / 2.3.4 / 2.3.5  (revisa la versión en  Configuración > Acerca del teléfono > Versión de Android)

Instalación

  1. Descarga y copia en la raíz de la tarjeta SD del teléfono los archivos udp_1.zip y AceGingerRoot.zip
  2. Apaga el teléfono y enciéndelo en modo recovery (presionando la tecla del centro y el botón de encendido al mismo tiempo por algunos segundos)
  3. En el recovery, selecciona la opción Update from SD Card.
  4. Si la versión de Android es la 2.3.3 selecciona el archivo upd_1.zip. Si es la versión 2.3.4. escoge el archivo AceGingerRoo.zip.
  5. Una vez que haya terminado el proceso e indique “Install from sdcard complete”(ver segunda arriba), reinicia el teléfono con la opción Reboot in normal mode.

¿Cómo funciona?

Ahora tienes el teléfono rooteado. Es decir, si una aplicación requiere permisos de root, verás una imagen como la tercera mostrada arriba que te indicará si deseas aceptar o no. De igual forma puedes acceder a la aplicación de superusuario para que veas los programas a los cuales les has concedido permisos , y si lo deseas revocarlos.

Referencia: [How to] Root Samsung Galaxy Ace on Android 2.3.4 XXKPH Gingerbread Firmware

24 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