| Subcribe via RSS

Linux: Recuperar un archivo que tiene un nombre con caracteres extraños

Noviembre 6th, 2008 | No Comments » | Posted in linux

En alguna ocasión me ha ocurrido que se suben a algún servidor archivos en cuyo nombre hay caracteres con una codificación diferente a la que usa el servidor. Si el servidor no puede traducirlos a su codificación los dejará “tal cual” pero luego será un dolor de cabeza acceder a ese archivo.

Por ejemplo, si un usuario sube un archivo con el nombre:

sin-título.jpg

es posible (dependiendo de tu servidor) que se almacene como:

sin-t�tulo.jpg

Quizá se te ocurra renombrarlo para que tenga un nombre más adecuado haciendo:

mv sin-título.jpg sin-titulo.jpg

o:

mv sin-t�tulo.jpg sin-titulo.jpg

Lo más seguro es que no te funcione ninguno de estos métodos. Pero tranquilo, antes de abrirte la cabeza y arrancarte el cerebro con una cuchara prueba lo siguiente:

more sin-t�tulo.jpg > sin-titulo.jpg

es posible que te funcione ¡suerte!

Tags: , , ,

Convertir ficheros .img a .iso en Ubuntu

Octubre 2nd, 2008 | No Comments » | Posted in ubuntu

Existe un programa disponible en Linux que permite convertir un archivo de imagen de CD .img al formato .iso. Se trata del comando ccd2iso.

Para instalarlo:

sudo aptitude install ccd2iso

y se usa de la siguiente forma:

ccd2iso fichero.img fichero.iso
Tags: , , , ,

Instalando Ubuntu 8.04 en Dell Inspiron 1525

Agosto 28th, 2008 | No Comments » | Posted in Hardware, ubuntu

Tal y como comenté hace un par de días ya me ha llegado mi flamante Dell Inspiron 1525. Como seguramente sabréis este portátil se puede comprar con Ubuntu o con Windows Vista. Yo opté por esta segunda opción porque nunca se sabe si puedo necesitar el Vista y porque costaban prácticamente lo mismo.

Lo primero que hice fue juguetear un poco con el Vista para ver qué tal funcionaba el portátil (por cierto, con el Vista me siento totalmente perdido).

Una vez comprobado que todo funcionaba bien me puse manos a la obra y empecé con la instalación de Ubuntu 8.03. Me colé con los CD de instalación y puse el de x86 en lugar de la versión de Ubuntu de 64 bits (algún día, cuando tenga tiempo y ganas, lo cambiaré).

Comencé haciendo sitio para Ubuntu reduciendo el tamaño de la partición de Vista a la mitad (es lo máximo que me dejaba reducir).

Una vez hecho sitio para Ubuntu metí el CD y reinicié. Por cierto, está puesto para arrancar primero el disco duro así que hay que entrar en la Bios para indicarle que arranque desde el CD.

En la instalación todo fue correctamente. Si quieres conservar la partición de Vista es recomendable hacer el particionado manual.

Mi portátil tiene 320Gb, dejé 40 Gb para la carpeta raíz ‘/’, 4Gb para la partición de Swap y el resto para la partición que va a montarse como ‘/home’. Me gusta tenerlo así por si hay algún problema puedo reinstalarlo todo bastante rápido.

En cuanto terminó la instalación comencé a meterle los programas con los que trabajo habitualmente: Quanta plus, Thunderbird, Rapid SVN,GnoTime, K3B, VLC, Filezilla, Skype, rsync, Apache+MySQL+PHP, VMWare y algunos otros que ahora no recuerdo.

Lo siguiente fue copiar a la partición /home/gorka todos los datos de mi antiguo portátil y, voilá, automáticamente los programas que uso han quedado configurados a mi gusto (es una de las cosas por las que prefiero Linux a cualquier Windows).

Parece que todo funciona bien, incluso la tarjeta inalámbrica que parece que al principio daba algunos problemas (que según tengo entendido solucionaron los de Dell).

Todo ha ido como la seda, estoy contento.

Y, como siempre, un poco de publicidad para terminar:

Entrar en Dell.es

Tags: , , , ,

Instalar paquetes .deb (debian) en Ubuntu

Agosto 25th, 2008 | No Comments » | Posted in linux, ubuntu

Si alguna vez te has decargado algún paquete .deb seguramente habrás tenido problemas usando el comando apt-get install. Para este tipo de programas lo mejor es usar el gestor de paquetes GDebi. Usarlo es tan sencillo (en Ubuntu con Gnome) como ir a la carpeta donde está el archivo a instalar, pinchar sobre el fichero con el botón derecho y seleccionar “Abrir con Instalador de paquetes GDebi”.

Esta es una opción recomendada frente a “sudo dpkg -i” ya que este último a veces da problemas con las dependencias entre paquetes.

Tags: , , ,

¿Linux Bloqueado? No apagues, usa REISUB

Agosto 18th, 2008 | No Comments » | Posted in linux, ubuntu

Sí, Linux también se bloquea. Es un hecho. Desgraciado, pero es un hecho.

Sin embargo, si se te bloquea el sistema operativo, el teclado no responde y parece la única opción es apagar el ordenador “a lo bruto”… no tengas tanta prisa en darle al botón.

Hay una solución (que funciona casi siempre). Recuerda que apagar el ordenador con el botón de encendido/apagado ya que habrá ficheros que no se han cerrado correctamente y puede corromperse alguno.

La solución que hay que probar antes de apagar el ordenador es una combinación de teclas muy curiosa:

1) Mantén pulsadas las teclas: ALT y SysRq (o Impr. Pant. en algunos teclados, es la que hace capturas de pantalla).

2) Mientras mantienes estas dos teclas pulsadas teclea: REISUB.

Esta secuencia de teclas obligará al sistema operativo a reiniciarse de manera correcta.

Por si tienes curiosisdad esto es lo que significan esas letras:

  • R - El teclado para al modo RAW.
  • E - Termina todos los procesos.
  • I - Mata todos los procesos. Por si había quedado alguno coleando.
  • S - Sincroniza el disco duro.
  • U - Desmonta todos los sistemas de ficheros. Estas dos últimas acciones se aseguran de que todos los ficheros quedan correctamente cerrados.
  • B - Reinicia el ordenador.

Hay una regla nemotécnica en inglés para recordar esta secuencia que es: “Raising Elephants Is So Utterly Boring” (algo así como “criar elefantes es terriblemente aburrido”).

Tags: , ,

La consola de Linux - Controlar los procesos con ps

Agosto 15th, 2008 | No Comments » | Posted in linux, ubuntu

ps es un comando que nos permite ver los procesos que se están ejecutando en un sistema. Si tecleamos:

ps

en la línea de comando tendremos el siguiente resultado:

  PID TTY          TIME CMD
 7953 pts/1    00:00:00 bash
 7954 pts/1    00:00:00 ps

Vemos que este listado es muy escaso, tan sólo aparecen los procesos hijos de la consola que tenemos abierta. Si queremos ver todos los procesos del sistema tendremos que usar:

ps ax

que mostrará un resultado como éste:

root         1  0.0  0.0   5112  1968 ?        Ss   11:20   0:00 /sbin/init
root         2  0.0  0.0      0     0 ?        S<   11:20   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S<   11:20   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        SN   11:20   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   11:20   0:00 [watchdog/0]
root         6  0.0  0.0      0     0 ?        S<   11:20   0:00 [events/0]
 
...

Como esto no está muy claro yo le suelo añadir la opción ‘u’ para que lo muestre en un formato más claro:

ps aux

que da como resultado:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   5112  1968 ?        Ss   11:20   0:00 /sbin/init
root         2  0.0  0.0      0     0 ?        S<   11:20   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S<   11:20   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        SN   11:20   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   11:20   0:00 [watchdog/0]
root         6  0.0  0.0      0     0 ?        S<   11:20   0:00 [events/0]

Mucho más claro. Además ‘aux’ para mí es más fácil de recordar :-P.

Si queremos saber si hay algún programa en concreto que esté en marcha podemos usar algo como:

ps aux | grep firefox

(para buscar si firefox se está ejecutando)

ó también podemos usar:

ps u -C firefox

La primera forma devuelve todas las líneas que contengan el término “firefox” mientras la segunda devolverá los procesos cuyo nombre sea “firefox”.

Para cargarnos algún proceso podemos usar el comando kill:

kill -9 

donde es el número del proceso (podemos sacarlo de la columna PID).

Un comando muy relacionado con ps es top, que nos devuelve un listado con los procesos que más memoria y CPU están consumiendo.

Tags: , , ,

Borrar todas las carpetas .SVN en Linux

Abril 22nd, 2008 | 2 Comments | Posted in linux, programacion, svn, ubuntu

Es muy sencillo gracias a la consola:

find . -name .svn -print0 | xargs -0 rm -rf

También se puede estraer una copia del SVN sin los directorios .svn:

svn export repositorio directorio_detino

Si el directorio destino ya existe podemos usar la opción –force.

Gracias a: http://textsnippets.com/posts/show/104

Tags: , , ,

Backups con rsync

Enero 16th, 2008 | No Comments » | Posted in linux, privacidad-y-seguridad, ubuntu

Si queréis hacer copias de seguridad de manera sencilla una herramienta muy potente es rsync. Existen un montón de programas para hacer backups pero ninguno acaba de convencerme. Yo necesito que la copia de seguridad sea fácilmente accesible, es decir, que esté sin comprimir para poder acceder directamente a determinados archivos de manera cómoda sin tener que andar descomprimiendo archivos de varios megas (o gigas). Además, utlizo el disco externo de backup para llevar los arhivos de casa a la oficina y vice versa. Para mi caso la mejor herramienta que he encontrado hasta ahora es rsync. Uso un sencillo comando para hacer los backups:

rsync -avz --exclude-from=.rsync/exclude /home/gorka/. /media/discobackup

-avz: copia recursivamete todos los ficheros desde el directorio /home/gorka a /media/discobackup (mi disco duro externo). Además mantiene los permisos, enlaces simbólicos, propietarios, atributos, etc… La opción -z comprime los ficheros antes de transferirlos, pero, dado que uso un disco usb2 realmente no estoy seguro de que tenga utilidad (un día que me aburra mediré la diferencia entre hacer la copia de seguridad con esta opción o sin ella).

–exclude-from=.rsync/exclude: esta opción busca el fichero .rsync/exclude en el que está la información de qué ficheros no se deben copiar. En mi caso uso el siguiente:

*.iso
*.avi
*.mp3

para que no me copie ni los ficheros iso, avi ni mp3. Cada tipo de fichero que queramos excluir debe ir en una línea.

/home/gorka/. aquí indico que quiero copiar el contenido de la carpeta /home/gorka. Si uso el ‘.’ es para que me copie los ficheros ocultos que empiezan por el punto. Si no se quieren copiar los archivos ocultos hay que usar /home/gorka/*

/media/discobackup - mi flamante disco duro externo.

Ejecuto el script, me voy a comer y espero a que se haga la copia tranquilamente.

Algo más de información: rsync y rsync Tips & Tricks.

Tags: , , , ,

Problema con Firestarter - el interfaz eth0 no está preparado

Enero 16th, 2008 | 16 Comments | Posted in privacidad-y-seguridad, ubuntu

Recientemente me he encontrado con este problema y, después de darle muchas vueltas he encontrado el problema. La causa está en el script firestarter.sh. Abre el dichoso script:

gksudo gedit /etc/firestarter/firestarter.sh

y modifica la línea:

MASK=`/sbin/ifconfig $IF | grep Mas | cut -d : -f 4`

por:

MASK=`/sbin/ifconfig $IF | grep Más | cut -d : -f 4`

Explicación paso a paso

Por si a alguien le interesa saber cómo dí con el problema he aquí un pequeño e instructivo rollete.

El mensaje de error que me aparece al intentar arrarcar el firestarter es:

External network device $IF is not ready. Aborting..

ese mensaje de error se muestra aquí (en este caso $IF es eth0):

if [ "$MASK" = "" -a "$1" != "stop" ]; then
	echo "External network device $IF is not ready. Aborting.."
	exit 2
fi

comprobé que la variable $MASK estaba en blanco (era la razón de que no arrancara el firestarter) así que busqué dónde se definía:

MASK=`/sbin/ifconfig $IF | grep Más | cut -d : -f 4`

El comando /sbin/ifconfi eth0 muestra un mensaje parecido a éste:

eth0      Link encap:Ethernet  HWaddr 00:13:8F:4C:47:59
          inet dirección:192.168.1.2  Bcast:192.168.1.255  Máscara:255.255.255.0
          dirección inet6: fe80::213:8fff:fe4c:4759/64 Alcance:Vínculo
          ARRIBA BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:221627 errors:0 dropped:0 overruns:0 frame:0
          TX packets:226060 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:159080113 (151.7 MiB)  TX bytes:105193874 (100.3 MiB)
          Interrupción:23 Base address:0xe400

y el comando:

/sbin/ifconfig $IF | grep Mas | cut -d : -f 4

Lo que hace es buscar la línea donde esté el texto Mas (de Mask) y, claro, al estar mi Ubuntu en castellano en lugar de Mask poner Máscara:

eth0      Link encap:Ethernet  HWaddr 00:13:8F:4C:47:59
          inet dirección:192.168.1.2  Bcast:192.168.1.255  Máscara:255.255.255.0
          dirección inet6: fe80::213:8fff:fe4c:4759/64 Alcance:Vínculo
          ARRIBA BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:221627 errors:0 dropped:0 overruns:0 frame:0
          TX packets:226060 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:159080113 (151.7 MiB)  TX bytes:105193874 (100.3 MiB)
          Interrupción:23 Base address:0xe400

Como resultado de este pequeño detalle $MASK se queda en blanco. Por tanto, la solución consiste en modificar el script y dejarlo como:

MASK=`/sbin/ifconfig $IF | grep Más | cut -d : -f 4`
Tags: , , , ,

Acceder desde Windows a una carpeta de Ubuntu Linux

Diciembre 19th, 2007 | No Comments » | Posted in linux, ubuntu

He aquí una sencilla entrada escrita a todo correr para explicar cómo acceder a una carpeta de Ubuntu desde MS Windows:

1) En Ubuntu ir a la carpeta que queremos compartir. Click derecho sobre su nombre y seleccionar la opción ‘comprartir’.

2) [opcional] Si no tenemos activado el soporte para compartir carpetas es necesario instalarlo (se hace automáticamente).

3) Seleccionar el modo “Compartir a través de red Windows (SMB)”.

4) Desmarcar la casilla sólo lectura si queremos que los usuarios puedan modificar los archivos de la carpeta.

5) Tenemos que cambiar la contraseña al usuario de Samba:

sudo smbpasswd -a nombre_usuario

(si no te quieres complicar la vida en ‘nombre_usuario’ pon el nombre de usuario con el que entras en Ubuntu).

6) En Windows abre el explorador de ficheros y selecciona la opción ‘Herramientas->Conectar a unidad de red’.

7) Escribe la IP o nombre del equipo Ubuntu que contiene las carpetas a compartir y el nombre de la carpeta compartida, por ejemplo:

192.168.1.34/compartido

8) Introduce el nombre usuario y contraseña cuando te lo pida (tu usuario de Ubuntu y la contraseña de Samba que has introducido antes).

¡y listo!

Esta es la forma fácil, para más información entrar aquí.

¡Ah! y es importante modificar la configuración del cortafuegos, si lo tenemos activado, para permitir los accesos a los ordenadores que se vayan a conectar.

Tags: , , ,