Hace bien poquito que he estado realizando un seminario sobre Troubleshooting y administración avanzada de RHEL.
Aquí os dejo el documento oficial, para que podáis acceder a la misma información.
Hace bien poquito que he estado realizando un seminario sobre Troubleshooting y administración avanzada de RHEL.
Aquí os dejo el documento oficial, para que podáis acceder a la misma información.
Continuando con la entrada anterior, ahora surge la necesidad de de acceder a dispositivos LVM en un fichero .img
Primero y antes de nada necesitamos tener instalada la aplicación ‘kpartx’ para ello:
[root@server ~]# yum install kpartx Loaded plugins: rhnplugin Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package kpartx.x86_64 0:0.4.9-46.el6 set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Updating: kpartx x86_64 0.4.9-46.el6 rhel-x86_64-server-6 46 k Transaction Summary ================================================================================ Install 0 Package(s) Upgrade 1 Package(s) Total download size: 46 k Is this ok [y/N]: y Downloading Packages: kpartx-0.4.9-46.el6.x86_64.rpm | 46 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Updating : kpartx-0.4.9-46.el6.x86_64 1/2 Cleanup : kpartx-0.4.9-31.el6.x86_64 2/2 rpm -ql kpart Updated: kpartx.x86_64 0:0.4.9-46.el6 Complete!
Tras esto podemos analizar los grupos de volúmenes que hay en el fichero .img, en mi caso produjo la siguiente salida:
[root@server ~]# kpartx -av /targets/client2.img add map loop0p1 (253:3): 0 204800 linear /dev/loop0 2048 add map loop0p2 (253:4): 0 307200 linear /dev/loop0 206848 add map loop0p3 (253:5): 0 100352 linear /dev/loop0 514048
Ahora escaneamos los grupos de volumenes de nuestro sistema:
[root@server ~]# vgscan Reading all physical volumes. This may take a while... Found volume group "vg_prueba" using metadata type lvm2 Found volume group "vg_iscsi" using metadata type lvm2 Found volume group "vg_server" using metadata type lvm2
Una vez identificado activamos el grupo de volumenes;
[root@server ~]# vgchange -ay vg_prueba 1 logical volume(s) in volume group "vg_prueba" now active
Como ya lo tenemos activo ahora buscaremos el volumen lógico a montar:
[root@server ~]# lvscan ACTIVE '/dev/vg_prueba/lv_prueba' [72,00 MiB] inherit ACTIVE '/dev/vg_iscsi/lv_iscsi' [3,00 GiB] inherit ACTIVE '/dev/vg_server/lv_root' [13,18 GiB] inherit ACTIVE '/dev/vg_server/lv_swap' [1,46 GiB] inherit
Y por último sólo nos queda montarlo:
[root@server /]# mount /dev/vg_prueba/lv_prueba /mnt/ [root@server /]# ls /mnt/ 10-autohint.conf 10-sub-pixel-bgr.conf lost+found 10-no-sub-pixel.conf 10-sub-pixel-rgb.conf
Listo, ya hemos accedido a LVM en un fichero .img
He estado montando 3 VM con RHEL6 para realizar diversas pruebas con ellas. Un ejemplo es el montar un PORTAL de TARGETS ISCSI con los dispositivos en ficheros img en vez de particiones físicas o volúmenes lógicos.
Hace poco un alumno me preguntó acerca de los datos en los dispositivos ISCSI, que si sería posible verlos dentro del servidor, a lo que respondí que sí pero que buscaría información al respecto.
Bueno pues ahí va:
[root@server ~]# fdisk -cul /targets/client1.img Debe establecer cilindros. Puede efectuar esta operación desde el menú de funciones adicionales.
Disco /targets/client1.img: 0 MB, 0 bytes 7 heads, 4 sectors/track, 0 cylinders, 0 sectores en total Units = sectores of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x57dbb67b
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/targets/client1.img1 2048 409599 203776 83 Linux
Con esto lo que hacemos es identificar la tabla de particiones del fichero de imagen para continuar seleccionando la partición que deseemos, que en mi caso sólo hay una.
Cogemos el sector de comienzo de la partición para realizar el montaje, pero como el comando mount va a esperar los datos en bytes, tendremos que multiplicar los sectores por los bytes que lo conforman. En mi caso estos datos son “Sector de comienzo: 2048” “Bytes por sector: 512”
[root@server ~]# mount -o loop,offset=$((2048*512)) /targets/client1.img /mnt/
[root@server ~]# ls -l /mnt/ total 16 drwx------. 2 root root 12288 dic 10 10:02 lost+found -rw-r--r--. 1 root root 5 dic 10 10:03 try -rw-r--r--. 1 root root 5 dic 10 10:07 try1
Y listo, aí podemos acceder a los datos de un TARGET ISCSI ofrecido por nuestro , PORTAL a un cliente quien ha particionado, formateado, montado y ha guardado datos en el dispostivo .img que le hemos ofrecido.
¿Has intentado alguna vez visualizar un archivo binario o examinar el contenido de un jpg?
Cuando realizas alguna tarea similar a la anterior, la terminal se quedará con otro juego de caracteres y sueles cerrarla y volver a abrir para que se restaure.
Si te ha pasado esto varias veces, habrás descubierto el comando reset.
Pues por aquí tienes un truquito, si presionas ctrl+v ctrl+o obtendrás el mismo resultado.
Pero ¿y si a tu variable de prompt PS1 le integras la secuencia de comandos?
Es decir PS1=”[\u@\h \W]\\$ ^O”
De este modo jamás se te volverá a quedar la terminal “rota”.
Como usuario Linux, sabrás que para crear una línea de comentarios en un script debes comenzar con #
Pero, ¿sabías que también lo puedes hacer en la línea de comandos, y que además queda almacenado en el histórico de comandos?
¡Anda, mola! Y esto, ¿a mí de que me sirve?
Con la combinación ctrl-r iniciamos una búsqueda recursiva en el histórico de comandos; pues si en la línea de comandos al final añadimos #etiqueta, podremos buscar nuestro comando simplemente escribiendo en la búsqueda recursiva la etiqueta.
$ dd if=/dev/zero of=/tmp/fichero bs=1k count=1M #relleno
(reverse-i-search)`relleno’: dd if=/dev/zero of=/tmp/fichero bs=1k count=1M #relleno
De estas veces que estás empecinado escribiendo una línea de código enorme y sólo al pulsar la tecla intro te das cuenta que hay algo mal escrito, entonces pulsas flecha arriba para retomar el último comando del historial y despues te vas moviendo caracter a caracter hasta cambiar el código. Pero, ¿y si son varias palabras( vease el nombre de un archivo/directorio)? Pues aquí va el truquillo:
# cp /home/user/tips/ficero.txt /var/ftp/pub
> Error: no se encuentra ficero.txt
# ^ficero^fichero
Con el comando en negrita cambiamos en la ejecución del comando anterior la cadena ficero por la cadena fichero
# cp /home/user/tips/ficero1 /home/user/tips/ficero2 /home/user/tips/ficero3 /home/user/tips/ficero4 /home/user/tips/ficero5 /var/ftp/pub
En este caso el truco anterior sólo cambiaría ficero1 por fichero1, mientras que el resto permanecerían como ficeroX. Para ello debemos emplear otra técnica:
# !!:gs/ficero/fichero
Con esto conseguimos en el último comando ejecutado, sustituir todas las concordancias de la cadena ficero por la cadena fichero.
Nota Importante: Sustituye cadenas enteras, pueden tener espacios o caracteres especiales, pero no acepta expresiones regulares.
http://www.es.redhat.com/training/course/guide/EX200 – Página de Red Hat acerca del examen RHCSA
http://www.es.redhat.com/training/course/guide/EX300 – Página de Red Hat acerca del examen RHCE
Fuente: ruiz-tapiador.comPodemos utilizar Zenity, que es el gestor de mensajes en GNOME, para crear listas de selección.
Seleccionar un elemento y guardarlo en una variable
VARIABLE=$(zenity –list –radiolist –height=325 –width=325 –title=”¿Qué opción eliges?” –column=”Selecciona uno” –column=”Valores” FALSE “Valor1” FALSE “Valor2” FALSE “Valor3” etc… )
#!/bin/bash
until [ “$VARIABLE” == “Valor1″ ]
do
VARIABLE=$(zenity –list –radiolist –height=325 –width=325 –title=”¿Qué opción eliges?” –column=”Selecciona uno” –column=”Valores” FALSE “Valor1” FALSE “Valor2” FALSE “Valor3”)
done
Red Hat Enterprise Linux, también conocido por sus siglas RHEL es una distribución comercial de Linux desarrollada por Red Hat. Es la versión comercial basada en Fedora.
En este sitio encontrará información relacionada con RHEL, pero también información de Linux en general, así como diversos trucos y consejos.