Listado de comandos muy útiles en Linux

Hay muchas páginas en Internet con listados de comandos básicos en Linux. Si googleáis un poco lo comprobaréis.

Sin embargo, un día me llamó la atención una en concreto en la que se incluyen no sólo los comandos básicos sino otros más avanzados. Lo que más me gusta de esta página es, por un lado, que el listado está ordenado y clasificado por secciones, siendo muy fácil de seguir; por otro lado, los ejemplos son muy muy prácticos. Lo que quiero decir con esto último es que en lugar de mostrar un comando y sus 1500 opciones (al final no te quedas con ninguna, por lo que vale de poco), te muestra los 3 ó 4 ejemplos más prácticos de ese comando.

Así, por ejemplo, vemos cómo saber cuántas horas lleva en funcionamiento nuestro disco duro:

smartctl -A /dev/sda | grep Power_On_Hours

o cuánta RAM tiene nuestro equipo:

grep MemTotal /proc/meminfo

o, por ejemplo, cómo obtener un listado ordenado por tamaño del contenido de un directorio:

du -hs /home/* | sort -k1,1h

El artículo completo con todos los comandos lo tenéis aquí.

Si estáis empezando a usar la terminal de Linux os vendrá muy bien. Si sois usuarios más avanzados, no dejéis de echarle un vistazo porque seguro que hay comandos y opciones que no conocíais.

Cómo jugar al clásico «Space Invaders» desde la terminal

Como no todo va a ser trabajar, y a pesar de que a todos os gusta introducir comandos y pelearos con la terminal tanto como a mí ;-P, esta vez os voy a contar cómo jugar a un clásico de las recreativas en la propia terminal de Linux, al «Space Invaders».

Se trata de un clon llamado nInvaders. Se puede instalar en prácticamente cualquier distro. En particular, si usáis openSUSE lo tenéis aquí.

Cuando arrancáis el juego se muestra así (pantalla de presentación):

ninvaders1

Pulsáis la tecla espacio y ya podéis jugar:

ninvaders2

Para salir simplemente pulsáis la «q».

Más información en el artículo original donde lo leí en su momento. Pertenece al blog La Mirada del Replicante, cuya lectura18 os recomiendo.

Cómo montar en Linux los distintos formatos de imágenes de disco

En Linux es muy sencillo montar una imagen de tipo ISO (.iso) y acceder fácilmente al contenido:

# mount -t iso9660 -o loop archivo.iso /path/donde/lo/quiero/montar

Esto es útil, por ejemplo, cuando os descargáis una imagen de CD/DVD y en lugar de quemarla en un CD/DVD queréis ver el contenido antes e incluso añadir, quitar o modificar alguno de los archivos que contiene.

El problema es cuando la imagen no va con extensión .iso sino que es otra. ¿Qué hacer entonces? Pues a continuación os muestro una posibilidad: convertir la imagen a ISO.

– Conversión de imagen con formato .bin, .cue

# aptitude install bchunk
$ bchunk archivo.bin archivo.cue nuevoarchivo.iso

-Conversión de imagen con formato .nrg (de Nero)

# aptitude install nrg2iso
$ nrg2iso archivo.nrg nuevoarchivo.iso

-Conversión de imagen con formato .mdf, .mds

# aptitude install mdf2iso
$ mdf2iso archivo.mdf nuevaimagen.iso

-Conversión de imagen con formato .img (CloneCD)

# aptitude install ccd2iso
$ ccd2iso imagen.img imagen.iso

Una vez que tenemos el iso ya podemos, como decíamos al principio, montarlo para ver el contenido o quemarlo en un disco óptico usando, por ejemplo, el comando cdrecord (o cualquier programa de grabación que uséis).

 

Cómo transformar nuestra SIM en microSIM

Desde un tiempo para acá muchos móviles vienen con slot para microSIM en lugar de SIM, lo que obliga a cambiarnos la tarjeta, con el consiguiente desembolso (15 euros incluso en algunas operadoras).

Una microSIM no es más que una tarjeta como la SIM pero más pequeñita. El chip es el mismo, lo único que se hace es quitar parte del plástico que constituye la SIM. Por tanto, recortando nuestra SIM de la forma correcta podemos adaptarla a este nuevo formato y usarla en nuestro nuevo móvil sin problemas.

Existen en Internet varios tutoriales para hacerlo e incluso hay unas maquinitas (*) que venden por muy poquitos euros que permiten hacerlo con un clic.

Yo reccorté la mía a mano siguiendo los pasos indicados en el vídeo cuyo enlace tenéis aquí. La plantilla para recortar la SIM a la que hace referencia la podéis descargar de aquí.

Si os sale bien os ahorráis unos eurillos. Si os sale mal (y si lo hacéis despacito y siguiendo bien los pasos indicados no tiene por qué) tendréis que pedirla a vuestro operador.

(*) Las tenéis en eBay (ejemplo) y Amazon (ejemplo).

Renombrar pendrives y discos externos en Linux

Una forma de renombrar los pendrives que conectáis en vuestro equipo con Linux es usando las utilidades mtools, que son unas utilidades para realizar ciertas cosas con los sistemas tipo FAT/FAT32.

Los primero será instalarlas, así que si estamos en una distro Debian o derivada haremos:

# aptitude install mtools

Si es una openSUSE:

# zypper in mtools

Una vez instaladas, vamos a ver cómo usarlas para renombrar nuestro pendrive. Primero lo conectamos y vemos qué nombre de fichero dispositivo corresponde al pendrive con el comando:

$ mount

Supongamos que el pendrive está montado en /dev/sdd1.

Ahora podemos mostrar el nombre de la etiqueta actual:

# mlabel -i /dev/sdd1 -s ::

Podemos cambiarlo con el comando:

# mlabel -i /dev/sdd1 ::mipendrive

donde «mipendrive» es el nuevo nombre del pendrive.

Para hacer lo anterior también podemos introducir este comando:

# mlabel -i /dev/sdd1

donde nos mostrará el nombre actual y nos pedirá el nuevo, es decir, es lo mismo que los dos comandos anteriores pero de forma interactiva. Si no queremos cambiarla pulsamos Control+C.

Con esto ya tenéis una forma sencilla de renombrar vuestros pendrives.

Que paséis una Nochevieja magnífica en compañía de vuestros seres queridos. ¡Nos vemos el año que viene!

Nuevas aplicaciones para trabajar con Keepass

Hace tiempo os hablé de Keepass, una aplicación para gestionar cómodamente y de forma segura vuestras contraseñas.

Como esta web está enfocada sobre todo a sistemas Linux, os hablé de la versión de dicha aplicación para este sistema y también para Android.

En concreto, os hablé de Keepass2 para Linux y de KeePassDroid para Android. Estas aplicaciones funcionan correctamente aún pero he descubierto dos nuevas aplicaciones con las que trabajo mucho más cómodamente.

Para Linux existe keepassX. Esta versión está basada en las librerías Qt y no en Mono, como Keepass2. Esto hace que vaya mucho más rápido, que el interfaz es más bonito y encaja más con mi escritorio KDE.

Para Android está Keepass2Android. Esta aplicación tiene cositas que no tiene la anterior. Por ejemplo, se pueden añadir entradas y grupos fácil y cómodamente (mientras que Keepass2 avisa que no garantiza que los cambios queden correctamente guardados).

Por otra parte, tiene una funcionalidad que me gusta, y es que deja abierta la base de datos y sólo tienes que introducir los 3 últimos caracteres del password para desbloquearla, lo que te ahorra tiempo cuando tienes que usarla varias veces en un intervalo pequeño de tiempo.

Por último, y al igual como ocurre con KeepassX en relación con Keepass2, tiene una interfaz más cuidada que la otra.

Si usáis una de ellas o las dos, os recomiendo encarecidamente que le echéis un vistazo y le déis una oportunidad.
NOTA: un defecto que tiene la versión de escritorio es que si tenéis una imagen digitalizada no podéis abrirla desde la propia aplicación. Sólo deja descargarla, lo cuál es una molestia. A ver si en breve lo implementan… :-O

openSUSE 13.2 y los scripts if-up.d

En una entrada anterior os contaba cómo lanzar scripts al inicio del sistema. En aquel momento usaba la versión 13.1 de openSUSE.

Hace unas semanas salió la 13.2 con nuevos cambios y versiones más actualizadas y estables de KDE o de Yast, por ejemplo. Aquí podéis ver un resumen de los mismos.

Como es lógico, de inmediato me puse manos a la obra a instalarme la nueva vesión. La verdad que me gustó bastante aunque en el portátil he tenido algún que otro problemilla gráfico -que he podido solucionar-.

Sin embargo, cuando la tenía ya instalada y configurada me dí cuenta que no se estaban ejecutando los scripts que tengo en /etc/sysconfig/network/if-up.d. Me pongo a investigar y al final, tras consultar incluso la lista de usuarios de openSUSE, llego a la conclusión de que NO funcionan en opensuse 13.2, es decir, que los scripts que se colocan en dicho directorio no se lanzan al inicio.

Parece que el problema está relacionado con la adopción hace ya tiempo de systemd, pero no lo tengo 100% claro. Por alguna web leí que habían adoptado un nuevo framework para homogeneizar la configuración de la red y que esto afectaba también.

Al final resulta que no puedo ejecutar dichos scripts en la 13.2, o al menos yo no lo conseguí. Entre esto y los problemillas que comentaba que tuve en el portátil han conseguido que en 2 de mis tres ordenadores habituales vuelva a la 13.1. En el tercero en discordia seguramente no tardaré en poner también la 13.1.

Así que si alguien está pensando en instalársela y usa estos scripts que se lo piense. Si alguien sabe una manera sencilla de hacer esto funcionar que me lo diga, porfi.

Deshabilitar ipv6 en GNU/Linux

Si no usáis actualmente IPv6 y queréis deshabilitarla completamente en vuestro equipo (*) con GNU/Linux es muy sencillo. Simplemente hay que pasarle al cargador de arranque un parámetro, en concreto, éste:

ipv6.disable=1

Para que el cambio esté presente siempre que arranquéis, debéis meter el parámetro en /etc/default/grub, en la línea GRUB_CMDLINE_LINUX_DEFAULT, que quedaría así:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"

A continuación, ejecutamos:

# grub-mkconfig -o /boot/grub/grub.cfg

Aquí hemos visto cómo hacerlo en GRUB, que será el cargador que casi con toda segurdiad usará vuestra distro. Si usáis otros y/o queréis ampliar la información podéis hacerlo aquí y aquí.

Mil gracias a mi amigo Salvi, pozo de sabiduría linuxera, por comentármelo 😉

 

(*) Por defecto, IPv6 suele venir habilitado en las distros Linux.

Gestionando máquinas virtuales con VirtualBox desde línea de comandos

Alguna vez he hablado aquí de VirtualBox (por ejemplo, aquí o aquí) y las ventajas de usarlo a la hora de probar nuevas distros, tener sistemas alternativos para ciertos programas que sólo funcionan en ellos o incluso para montar un laboratorio de pruebas.

Aunque la interfaz gráfica Qt que proporciona cubre la gran mayoría de funcionalidades que necesitaremos en un uso sencillo de este sistema de virtualización, es posible usarlo también desde línea de comandos.

Para ello tenemos el comando VBoxManage. Con este comando podemos realizar todo tipo de gestión con las máquinas virtuales. De hecho, podemos hacer todo lo que permite la interfaz gráfica y más cosas. A continuación os muestro algunos ejemplos prácticos de uso de VBoxManage.

Crearlas:

VBoxManage createvm -name NOMBREVM -register

Mostrarlas:

VBoxManage list vms

Arrancarlas:

VBoxManage startvm NOMBREVM

Pararlas:

VBoxManage controlvm NOMBREVM poweroff

Mostrar VMs (*) en ejecución:

VBoxManage list runningvms

Mostrar detalles de las VMs en ejecución:

VBoxManage list runningvms -l

Mostrar detalles de una VM en concreto:

VBoxManage showvminfo NOMBREVM

Hacer captura de pantalla:

VBoxManage controlvm NOMBREVM screenshotvm CAPTURE.png

Modificar memoria asignada a una máquina virtual (debe estar apagada):

VBoxManage modifyvm NOMBREVM --memory 4000MB

Este comando tiene muchísimas más opciones con una completa lista de parámetros. Si queréis más información al respecto podéis consultarla aquí.

En este artículo hemos visto cómo gestionar un equipo host (=anfitrión) VirtualBox mediante línea de comandos a través de VBoxManage. Esto lo hemos hecho en local, es decir, estando en la misma máquina host. En un artículo próximo veremos cómo hacerlo de forma remota.

 

 

(*) VM = Virtual Machine (máquina virtual).

Mover ficheros .vdi -VirtualBox- y no morir en el intento

Si usáis VirtualBox para crear y administrar máquinas virtuales (vms en adelante) puede que se os haya presentado el problema de que necesitáis moverlas de un disco a otro por diversos motivos (casi siempre por falta de espacio en el primero).

En mi caso ocurre que en mi portátil tengo dos discos duros (ver artículo de la instalación del ssd) y cuando tenía pocas vms me apañaba bien guardándolas todas en el ssd, lo cuál me venía bien porque es más rápido.

Desde entonces he venido creando máquinas y más máquinas y ahora tengo problemas de espacio. ¿Cómo solucionarlo? Es lo que voy a explicar ahora brevemente. Es muy sencillo.

En mi caso, tengo vms con windows y vms con linux. Para organizarlas un poco mejor creo grupos (uno para windows y otro para linux). Estos grupos son, en realidad, directorios en vuestro sistema de archivos. Os cuento esto porque yo he decidido mover todas las de windows al otro disco. Lo que he hecho ha sido mover el directorio al otro disco duro y simplemente crear un enlace simbólico desde el segundo al primero. Me explico:

En el disco ssd tengo el directorio /home/user/.virtualbox_vms/vms_windows. Lo que he hecho es moverlo a otra ruta, como por ejemplo /mnt/datos/vms_windows. Ahora, ejecuto el siguiente comando:

ln -s /mnt/datos/vms_windows /home/user/.virtualbox_vms/

Con esto ya lo tenéis movido y funcionando sin problemas (comprobado).

Otro caso que os puede pasar es que queráis mover sólo el .vdi (es decir, el propio fichero del disco duro de la máquina virtual). En este caso, simplemente lo movemos (ojo, estas cosas SIEMPRE con la máquina virtual en cuestión apagada) a la nueva ubicación y editamos el fichero de configuración de dicha máquina virtual (*) cambiando la ruta en la sección que comienza con «<HardDisk uuid», en concreto, en la parte donde dice «location=».

Espero que os sirva.

 

(*) El archivo de configuración lo tenéis dentro del directorio de la máquina virtual en cuestión. Es un archivo con extinsión .vbox.