Archivo de la Categoría “GNU/Linux”

Todo las cosas que se me van ocuriendo hacer con GNU/Linux

Ayer vi que salió la nueva y flamante versión 2.7 de Wordpress, que promete bastante, una interfaz de administración mucho más cuidada y con muchas características nuevas, entre ellas una que me gusta que poseían otros CMS: si respondes a un comentario, este aparece anidado. Y la mejor, ¡se auto actualiza!

Pero… En cada versión nueva he visto como Wordpress se hacía cada vez más incompatible con Cherokee Web Server, hasta el punto de que en la versión 2.7 de Wordpress ya no era posible entrar a mi blog. Y en la versión que uso ahora, intentad entrar aquí si tenéis narices.

No estoy usando la última versión de Cherokee, quizás si pruebo a usar la última funcione. Tendré que ir probando, mientras tanto mi blog sigue en pie, que es lo importante.

Comments 3 Comentarios »

Pues LVM es un sistema para administrar volúmenes lógicos, esto es una capa (por llamarlo de alguna forma) que creamos por encima de las particiones que queremos usar en nuestro sistema, de modo que podemos aumentar el tamaño de los volúmenes con más particiones, o incluso quitar particiones a nuestro antojo.

No voy a explicar en profundidad qué es LVM, pues hay muchos sitios en la web que lo hacen. Pero sí como lo he puesto en marcha para un caso práctico.

Desde hace unos meses necesito algo más de espacio en disco para mi /home que lo tengo en /dev/sda4. Así que decidí comprar un disco grandote, y usar LVM2 para unir /dev/sda4 con las particiones del nuevo disco /dev/sdb y montarlo en /home.

  1. Lo primero es preparar mi nuevo disco creando particiones de tipo 8e (Linux LVM). Podemos usar cfdisk /dev/sdb por ejemplo, o el particionardor de disco que prefieras, o en su defecto, el que más coraje te de ;-). Personalmente hice 10 particiones de 50GB cada una, 3 primarias y 7 lógicas.
  2. # emerge lvm2
    No podemos olvidarnos de las herramientas que necesitamos para hacer uso de LVM2, con esto conseguiremos las herramientas para poder crear volúmenes físicos, crear grupos de volúmenes y añadir volúmenes físicos, aumentar y exterder el tamaño de los grupos de volúmenes… Todo esto me recuerda que quizás deba explicar un poco al menos a modo de glosario qué es cada cosa.
  3. # nano -w /etc/lvm/lvm.conf
    Buscamos la línea filter = [ "a/.*/" ] y la substituimos por filter = [ "a|/dev/sd[ab]|”, “r/.*/” ]. Lo que conseguimos es que al escanear en busca de particiones LVM rechace todos los dispositivos pero que acepte /dev/sda y /dev/sdb. Deberías modificar esta línea para tus propias necesidades, si fuera necesario.
  4. # vgscan
    Buscamos grupos de volúmenes, volúmenes físicos LVM y demás que ya estuvieran preparados en el sistema.
  5. # vgchange -a y
    Hacer disponible otros grupos de volúmenes que ya estuvieran configurados.
  6. # pvcreate /dev/sdb*
    Preparar las particiones para poder ser usados como volúmenes físicos.
  7. # vgcreate vg /dev/sdb1
    Crear un grupo de volúmenes llamado vg que inicialmente estará formado solo por el volumen físico /dev/sdb1.
  8. # vgextend vg /dev/sdb2
    Añadir el volumen físico /dev/sdb2 al grupo de volúmenes vg, hacer lo mismo con todos los volúmenes físicos que queramos añadir añadir.
  9. # lvcreate -L400G -nhome vg
    Crear un volumen lógico inicial de 400 GiB llamado home, esto creará un dispositivo llamado /dev/vg/home el cual usaremos en el fstab para montarlo en /home del mismo modo que lo hacía antes con /dev/sda4.
  10. # lvextend -L+5G /dev/vg/home
    Podemos incrementar el tamaño del volumen lógico /dev/vg/home pues aún tenemos espacio libre sin asignar en nuestro grupo de volúmenes físicos vg.
  11. # mkfs.ext3 /dev/vg/home
    Una vez asignado el tamaño para nuestro volumen lógico, debemos crear un sistema de ficheros en él, sí, al igual que hacemos con una partición normal. Más tarde, cuando añadamos /dev/sda4 al grupo de volúmenes, aumentaremos el tamaño del sistema de ficheros también, ya veremos como.
  12. # mkdir /root/vghome
    # mount /dev/vg/home /root/vghome
    # cd /home
    # cp -r -p lista_de_carpetas_de_cada_usuario /root/vghome/

    Copiar los datos que hay en /dev/sda4 actualmente montado en /home a /dev/vg/home, para ello primero debemos montar /dev/vg/home en algún directorio, como por ejemplo /root/vghome. Es importante asegurarnos de que no copiamos el directorio lost+found. Al usar el comando cp la opción -r hace una copia recursiva y la opción -p conserva los propietarios y permisos de cada archivo. Asegúrate de que has copiado bien todos tus datos, si quieres puedes dejar los siguientes paso para más adelante o para unos días después, hasta asegurarte de que tu Home está en perfecto estado.
  13. Debemos cerrar todas las sesiones que tengamos abiertas como usuario antes de proceder con los siguientes pasos. Ir a una consola virtual y entrar como root, o bien entrar en una sesión gráfica como root, si tu sistema lo permite.
  14. # umount /home /root/vghome
  15. # cfdisk /dev/sda
    Eliminar la partición /dev/sda4, ¡ojo! No toques las demás particiones, solo elimina esta. Vuelve a crear una de tipo 8e (Linux LVM) .
  16. # pvcreate /dev/sda4
    Marcamos /dev/sda4 como volumen físico.
  17. # vgextend vg /dev/sda4
    Y la añadimos al grupo de volúmenes vg.
  18. # lvextend -L+138G /dev/vg/home
    Como ahora disponemos de más espacio en el grupo de volúmenes vg, podemos aumentar el tamaño del volúmen lógico home.
  19. # fsck.ext3 -f /dev/vg/home
    # resize2fs /dev/vg/home

    Sin embargo el sistema de ficheros contenido en el volumen lógico no ha cambiado de tamaño, así que en la práctica no tenemos más espacio. Primero debemos hacer un chequeo forzado del sistema de ficheros y luego redimensionar el sistema de ficheros al tamaño del volumen lógico. Ni qué decir tiene que el sistema de ficheros que uso es ext3 tanto para / (Sistema Raíz) como para /home.
  20. # mount /dev/vg/home /home
  21. Editamos /etc/fstab y substituimos /dev/sda4 por /dev/vg/home para que nos monte el volúmen lógico en /home.
  22. Cerrar sesión y volver a iniciar sesión con nuestro usuario y disfrutar de nuestra «CASA» recién ampliada.

Si queremos ver cuánto espacio libre y otros datos de interés, de un grupo de volúmenes debemos usar el comando vgdisplay nombre_grupo_volumenes, en este caso sería vgdisplay vg, así sabremos cuanto añadir al volumen lógico con el comando lvextend.

Comments 1 Comentario »

Soy usuario de GNU/Linux de la vieja usanza, quiero decir, no del estilo Ubuntu. Es por eso no me gusta usar sudo ni gksudo para administrar mi sistema. Tampoco me gusta usar la misma constraseña que mi usuario para tal fin, por eso he configurado mi sistema Ubuntu para activar la cuenta de root y que siempre me pida la contraseña de root en lugar de la de mi usuario para tareas de administración, además de imposibilitar el uso de sudo.

  1. $ sudo su
  2. # passwd
  3. # nano -w /etc/sudoers
    Debemos editar el fichero para dejar de permitir el acceso de los usuarios a sudo.

    # Members of the admin group may gain root privileges
    # %admin ALL=(ALL) ALL

    Debemos dejar comentadas estas líneas.

  4. # exit
    Cerramos la sesión root.
  5. $ gconftool --set --type=bool /apps/gksu/sudo-mode false
    Configuramos Gnome para que haga uso de su en lugar de sudo.
    $ gconftool --get /apps/gksu/sudo-mode
    Nos aseguramos de que este comando devuelve el valor false.

A partir de ahora el comando sudo dejará de funcionar para nuestro usuario, y tendremos que usar exclusivamente su y la contraseña de root para administrar el sistema.

Comments 1 Comentario »

Nunca antes había instalado Qemu en Gentoo de forma satisfactoria, porque cuando quise probarlo Gentoo ya usaba GCC Versión 4 para construir los ebuilds mientras que Qemu necesita GCC Versión 3.4, y nunca se me apeteció pararme a instalarlo correctamente. Sin embargo en el portátil con Ubuntu sí que lo tengo instalado. Bueno, hoy sí me he levantado con ganas de instalarlo, mi sistema de sobremesa es mucho más potente que el portátil, por lo que conseguiré construir un sistema huésped mucho más rápidamente para un proyecto que quiero hacer.

Lo primero es instalar GCC Versión 3.4.6 ya que Qemu no compila con la versión 4, después instalaremos todo lo necesario, y pasaremos a la configuración y demás.

  1. # emerge =sys-devel/gcc-3.4.6-r2
  2. # gcc-config -l
    Lista las versiones de gcc de las que disponemos.
  3. # gcc-config x86_64-pc-linux-gnu-3.4.6
    Con esto hacemos que el sistema use el gcc-3.4.6.
  4. # source /etc/profile
    Para que tenga efecto en la sesión de consola actual.
  5. # emerge qemu qemu-softmmu qemu-user kqemu
  6. # gcc-config x86_64-pc-linux-gnu-4.1.2
    Volvemos a usar nuestro gcc versión 4 que teníamos por defecto.
  7. # source /etc/profile
  8. # gpasswd -a USUARIO qemu
    Añadimos a nuestro usuario al grupo qemu.
  9. # echo “kqemu” >> /etc/modules.autoload.d/kernel-2.6
    Para que siempre cargue el módulo kqemu al arrancar el sistema.
  10. # modprobe kqemu

Comments No Hay Comentarios »

Ayer leyendo la lista de correo-e de los desarrolladores de Pidgin leí que estaban debatiendo si incluir un plugin que implemente el chat http de Facebook o si mejor esperar a que Facebook implemente el soporte de su chat con XMPP tal y como están haciendo ahora mismo. Parece ser que tienen un servidor Jabber (XMPP) pero solo está en fase de pruebas y no es accesible para el público. El caso es que he probado el plugin y funciona bastante bien. Podéis encontrarlo aquí, solo tenéis que descargar el ejecutable si usas Windows o descargar el correspondiente .so si usas GNU/Linux, y copiarlo en tu directorio ~/.purple/plugins/ ¡Ojo! Si usas una arquitectura de 64bits, debes descargar el .so para 64bits.

Comments 1 Comentario »

Bien, he estado peleándome durante meses con Ubuntu y mi ATI,. Actualmente el driver privativo de ATI no soporta el kernel que lleva Ubuntu 8.10, pero me da igual, realmente lo que buscaba es poder usar los driver libres de Radeon o ATI, porque estos sí permiten hibernar el sistema o suspenderlo, cosa que no es posible si usas el privativo, al menos según mi experiencia. Pero, es que tampoco funcionan los drivers libres ATI ni Radeon en esta última entrega de Ubuntu… ¡Dios qué follón! :-D

Al final lo que hay que hacer para que funcionen estos drivers libres es añadir la línea AGPMode “1″ en el /etc/X11/xorg.conf en el partado Device. Es curioso que mi chipset, un intel GME855, si no recuerdo mal, soporta hasta 4x en el modo AGP y mi gráfica hasta 8x. Bueno, podría poner 4x, ¿no? Al menos eso parece en principio, pero no, hay que ponerlo a 1x si queremos que funcione, porque en otro modo el sistema se queda completamente congelado.

Creo que todo es debido a que a raíz de que ATI/AMD liberara un driver y diera especificaciones para poder desarrollar un driver alternativo libre para sus chips, se ha comenzado un desarrollo que soporta aceleración 3D en estos drivers, y tal vez esto haya hecho que surjan errores que antes no estaban presentes… Esto es solo un pensamiento mío, no lo he contrastado ni lo he visto en ninguna parte.

Aquí os dejo mi xorg.conf por si a alguien le sirve de algo.

Comments 2 Comentarios »

Sí, voy a configurar un servidor DHCP. Esto es porque el servidor DHCP del módem/router ADSL está contínuamente cambiando las direcciones IP de los equipos de mi red, llevo mucho tiempo intentando que deje de hacerlo, pero no lo consigo. Así que he pensado que la mejor forma es desactivando ese servicio del módem/router ADSL y pasarlo al servidor de mi red. Sin embargo, seguiré usando el servidio DNS del módem/router ADSL.

No voy a usar dnsmasq porque da servicio de DNS y DHCP, yo solo estoy interesado en DHCP. Así que me he decidido por dhcp (sí, un nombre muy original, jeje).

Lo primero será instalarlo en el servidor:
# emerge dhcp

¡Y ahora a configurarlo!

  1. Editar el fichero /etc/conf.d/dhcpd y poner la variable DHCPD_IFACE=”eth0″, o bien eth1 o la interfaz correspondiente, si no la definís, escuchará en todas las interfaces.
  2. Y ahora la parte más interesante, la configuración de dhcpd, en /etc/dhcp/dhcpd.conf:
  3. # dhcpd.conf
    #
    # Sample configuration file for ISC dhcpd
    #

    # option definitions common to all supported networks…
    option domain-name “juanluperez.com”;
    option domain-name-servers 192.168.0.1;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.0.255;
    option routers 192.168.0.1;

    default-lease-time 600;
    max-lease-time 7200;

    # Use this to enble / disable dynamic dns updates globally.
    ddns-update-style none;

    # If this DHCP server is the official DHCP server for the local
    # network, the authoritative directive should be uncommented.
    authoritative;

    # Use this to send dhcp log messages to a different log file (you also
    # have to hack syslog.conf to complete the redirection).
    log-facility local7;

    subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.200 192.168.0.250;
    }

    host box1 {
    hardware ethernet 00:00:00:00:00:01;
    fixed-address 192.168.0.151;
    option host-name “box1″;
    }

    host box2 {
    hardware ethernet 00:00:00:00:00:02;
    fixed-address 192.168.0.152;
    option host-name “box2″;
    }

    host box3 {
    hardware ethernet 00:00:00:00:00:03;
    fixed-address 192.168.0.153;
    option host-name “box3″;
    }

Es muy importante que las direcciones IP fijas que queramos asignar a ciertas direcciones hardware no estén dentro del rango que hemos dejado para asignar dinámicamente. En este caso no pueden estar entre 192.168.0.200 y 192.168.0.250.

Comments 2 Comentarios »

Bueno, mi primer experimento desde mi vuelta. Encender mi ordenador de sobremesa desde cualquier lugar en el que me encuentre. Esto es para no tener que preocuparme de dejar el sobre mesa encendido por si necesito algo que tengo en casa mientras estoy fuera.

  1. Instalar Wake On Lan en mi servidor (que siempre está funcionando):
    # emerge wakeonlan
  2. Configurar la Bios del PC a encender remotamente para que funcione con WoL.
  3. Lanzar comando para encender el PC deseado de la red:
    # wakeonlan 00:00:00:00:00:00

00:00:00:00:00:00 es la dirección hardware (MAC) de la interfaz de red del equipo a encender.

Comments 2 Comentarios »

Voy a necesitar usar Windows XP, pero no me gusta andar reiniciando. Y como lo voy a usar exclusivamente por un único software me he decidido a instalarlo en un una máquina virtual con Qemu. Hay muchos how-to por ahí, así que yo sólo pondré las notas de lo que yo hice para conseguir hacerlo funcionar junto con los enlaces en los que basé para conseguirlo. Lo primero es instalar Qemu, y el que viene en los repositorios de Ubuntu funciona a la perfección. Instalamos el paquete qemu, kqemu-common, kqemu-source, module-assistant y build-essential. Lo de kqemu es para dar soporte en el kernel para acceleración en la virtualización, y la verdad es que se nota. A continuación debemos configurar nuestro sistema para poder hacer uso de kqemu, es muy fácil. Construímos el módulo para el kernel de kqemu:

  1. # sudo module-assistant prepare
  2. # sudo module-assistant auto-install kqemu
  3. Creamos el fichero /etc/udev/rules.d/60-kqemu.rules con el siguiente contenido: KERNEL=="kqemu", NAME="%k", GROUP="kqemu", MODE="0660"
  4. Cambiar el contenido de /etc/modprobe.d/kqemu: options kqemu major=0
  5. Crear el grupo kqemu y agregar el usuario al grupo: # addgroup --system kqemu # adduser usuario kqemu Asegúrate de que estos cambios toman efecto, deberías cerrar sesión y volver a entrar.
  6. # /etc/init.d/udev reload
  7. # update-modules
  8. # modprobe kqemu
  9. Comprobar que los permisos están correctamente: $ ls -l /dev/kqemu crw-rw---- 1 root kqemu 10, 62 2008-02-27 15:36 /dev/kqemu
  10. Si quieres que se carge el módulo de kqemu al arrancar, añade una línea que contenga la cadena “kqemu” en /etc/modules.

Una vez aquí, creamos la imagen que contendrá el disco en el que instalaremos el Windows: $ qemu-img create winxp.img 4G En este caso es de un tamaño de 4GiB. Introducimos el CD de instalación de Windows en el lector de CD y ejecutamos: $ qemu -localtime -hda winxp.img -cdrom /dev/cdrom -m 450 -boot d Ya instalado el sistema podemos iniciarlo con este comando: $ qemu -localtime -hda winxp.img -cdrom /dev/cdrom -m 450 -boot c Fuentes | Blog de Stolz y Community Ubuntu Documentation

Comments No Hay Comentarios »

Sí, con nspluginwrapper es posible. Tan fácil como instalarlo y ya te funcionarán todos los plugins de 32Bits que estabas usando con Firefox de 32 bits (mozilla-firefox-bin en Gentoo).

En Gentoo:
# emerge nspluginwrapper

A mí por ahora me funciona perfectamente, pero aún tengo que probarlo más tiempo. Pero vamos, lo dicho, ahora mismo estoy muy contento con el resultado. Es lo más cercano a usar el navegador completo en 64Bits que podemos tener por ahora.

Por supuesto, lo ideal sería no usar flash, o usar un plugin libre, pero eso es otra historia…

Comments No Hay Comentarios »