Archive for Linux

Problemas con grub y kernel 2.6.32-5 en debian

Nuevos problemas …

Cuando actualizas a esta versión del kernel (supongo que a otras también), el grub no hace bien su trabajo y dice algo maravilloso:

# dpkg-reconfigure grub-pc
Installation finished. No error reported.
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).

A veces nos brinda otras lindezas del tipo:

Running update-grub.
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).

Después de leer bastantes cosas, parece que lo más sencillo es que tengas instalado la versión del kernel linux-image-2.6.32-trunk-amd64, que parece la culpable de la historia. Para ello:

  1. Se arranca el sistema con otro kernel que no sea la versión trunk
  2. Se desinstala la versión trunk: dpkg --purge linux-image-2.6.32-trunk-amd64
  3. Se ejecuta el upgrade de grub, por ejemplo: update-grub2 o bien con dpkg-reconfigure grub-pc

:-)

Leave a Comment

vmware y kernel upgrade

Cuando cambias de kernel, vmware necesita generar nuevos módulos. Para hacerlo:

Primero se instala una nueva versión de los ficheros “header” del kernel, por ejemplo:

apt-get install linux-headers-2.6.32-5-amd64

Luego, se ejecuta la actualización de los módulos de vmware:

vmware-modconfig --console --install-all

A correr.

Leave a Comment

Copiar ficheros y directorios recursivamente

¿Qué hacer cuando queremos copiar gran cantidad de ficheros y directorios recursivamente, a veces entre sistemas de ficheros diferentes, por ejemplo al mover de un disco duro a otro? En estos casos yo he utilizado muchas veces “mc“, el comandante de medianoche que está inspirado en el mítico “Comandante Norton” de las utilidades Norton de MS-DOS.

Otra opción es utilizar “tar“, una de las formas es la siguiente:

tar cf - * | ( cd /destino; tar xfp -)

Donde “destino” es el directorio destino. Pero, ¿porqué copiar con “tar” y no directamente con el comando “cp“? La razón es mantener la información del fichero, como las fechas, permisos de usuario, usuario, grupo, etc.

Leave a Comment

Historias de Qt … por la niñera

A días que uno piensa si debe tirarse al tren o a la taquillera, hoy tengo uno de ellos:

Important: Widgets in a layout are children of the widget on which the layout is installed, not of the layout itself. Widgets can only have other widgets as parent, not layouts.

Entre el cálculo de relaciones entre redes y sus subredes en el trabajo y el cálculo de widgets y sus hijos en casa … estoy de padres e hijos hasta el gorro.

… en fin … continuemos.

Leave a Comment

How 2 debug usb @ linux kernel


#!/bin/bash
mount -t debugfs none_debugs /sys/kernel/debug
modprobe usbmon
ls /sys/kernel/debug/usbmon
cat /proc/bus/usb/devices
cat /sys/kernel/debug/usbmon/1t

1t is my device :-)

Leave a Comment

Empezar a usar el repositorio

Para terminar, es momento de empezar a utilizar el repositorio.

Para ello, lo primero que haremos es crear la información del usuario. Se edita el fichero /home/usuario/.hgrc y se añade algo de configuración mínima, en mi caso:

 [ui]
 username = Rodolfo <kix@spam.es>
 verbose = true

 [defaults]
 commit = -v

Una vez creado el fichero, el comando hg conocerá nuestro nombre de usuario y podrá subir cambios.

Lo primero que podemos hacer es bajar el repositorio a un directorio local si no lo hemos hecho antes. Se hace mediante:

 hg clone ssh://usuario@host//home/hg/repo micopialocaldelrepo

Una vez descargado, en principio estará vacio si lo hemos creado nosotros anteriormente, por lo que será necesario añadir ficheros. Para ello lo mejor es editar un nuevo fichero o copiarlo desde donde estemos escribiendo código o texto en el directorio del repositorio, en este caso en micopialocaldelrepo.

Una vez que el nuevo fichero está creado, es necesario añadirlo a los ficheros del repositorio, para ello ejecutaremos dentro del directoriomicopialocaldelrepo:

 hg add

Una vez añadidos los ficheros, es momento de subir los cambios al repositorio, para ello se ejecuta:

 hg commit -m "Versión 1.0 - Creación del fichero pepe.txt
 hg push
 hg update

El resto de la información sobre la gestión de repositorios de Mercurial es su tutorial en castellano

Leave a Comment

Primer repositorio

Si queremos crear un repositorio de Mercurial, lo mejor es seguir estos pasos:

1. Crear el árbol donde irán los repositorios
  mkdir /home/hg
  El árbol puede ir en cualquier directorio, normalmente /var, sin embargo debido a mi instalación (y que no tengo usuarios) lo creo en /home. En realidad no hace falta hacerlo así, ya que cada repositorio puede estar en un árbol diferente, pero yo prefiero tenerlos todos juntos en el mismo directorio.
2. Crear el directorio del repositorio
  mkdir /home/hg/repo
3. Ahora es necesario inicializar el repositorio
  cd /home/hg/repo
 hg init

4. Ahora el repositorio está creado, pero sólo es accesible por el usuario que lo ha creado (yo he hecho todo como root). Ahora es necesario hacer que el resto de usuarios puedan acceder a él, para ello, se crea un nuevo grupo, se añaden los usuarios al grupo y se cambian los permisos del directorio. Primero creo el grupo y añado el usuario:
  addgroup hg
 adduser usuario hg

Ahora, cambio el grupo y los permisos del directorio de información del repositorio:
  chgrp -R hg /home/hg/repo/.hg
 chmod -R g+w /home/hg/repo/.hg
 chmod -R g+s /home/hg/repo/.hg

4. Ahora tenemos el repositorio terminado, sin ficheros, así que vamos a probarlo:
  hg clone ssh://usuario@host//home/hg/repo micopialocaldelrepo
Si todo ha ido bien, ahora tendremos el directorio local micopialocaldelrepo con la información del repositorio.

Leave a Comment

Instalar hg en debian

Normalmente no escribiré posts, pero hoy …

Para instalar Mercurial (hg) en debian hay que hacer lo siguiente (como root o con sudo):

apt-get install mercurial openssh-server

Con el paquete mercurial tendremos el software de gestión de respositorios. Con el paquete openssh-server podremos acceder a los respositorios de forma remota.

Leave a Comment