Mostrando entradas con la etiqueta linux mint. Mostrar todas las entradas
Mostrando entradas con la etiqueta linux mint. Mostrar todas las entradas

viernes, 13 de mayo de 2016

Creación de pendrive de instalación de Linux













Nota: El comando dd hay que utilizarlo con mucha precaución, ya que un uso incorrecto puede borrar toda la información de un disco duro o partición. Utilízalo bajo tu propia responsabilidad.

Cuando queremos instalar una nueva distribución y nos hemos descargado un archivo .iso se nos presenta siempre la misma duda ¿lo grabo en un CD/DVD o en un pendrive?. Si lo grabo en un pendrive ¿lo creo con alguna aplicación o lo hago desde la línea de comandos?. En este artículo vamos a ver cómo hacerlo desde la línea de comandos sin necesidad de instalar ninguna aplicación y de forma rápida.


El comando:

Vamos a utilizar el comando dd, que se usa para diversas operaciones como clonar discos duros o crear un pendrive booteable a partir de un archivo iso, que es lo que haremos nosotros:
sudo dd bs=4M if=archivo.iso of=/dev/sdb && sync

El parámetro bs es el tamaño de bloque en bytes, poniéndolo a 4M (4 Megabytes) funciona de forma óptima. Con if indicamos el archivo iso y con of la unidad de destino (en nuestro caso sdb, sin número). Por favor, ten mucho cuidado con este último parámetro y asegúrate de que apunta al pendrive y no a un disco duro. Para conocer el nombre del pendrive podemos usar el siguiente comando:
sudo fdisk -l

Tras unos minutos el proceso habrá finalizado y ya tendremos listo nuestro pendrive de instalación.


Fuentes:

https://en.wikipedia.org/wiki/Dd_(Unix)




lunes, 7 de abril de 2014

Manejar Truecryp desde Línea de Comandos


 









Truecryp es una fantástica aplicación de encriptación que además es gratuita y open source. Aunque dispone de interfaz gráfica, también puede manejarse desde la consola de Linux, lo cual permite que incluyamos algunos comandos de Truecrypt en nuestros scripts.

Para obtener la lista completa de comandos disponibles podéis ejecutar truecrypt –h desde la consola. A continuación voy a mostrar algunos ejemplos:

 

Montar un volumen o unidad

Debemos de crear primero el volumen, utilizando la aplicación gráfica (aunque también se puede hacer desde consola). Es muy sencillo, ya que dispone de un asistente que te guía en el proceso (si no lo tenéis claro podéis seguir este tutorial: http://www.truecrypt.org/docs/tutorial#Y0). Luego hay que crear la carpeta donde se va a montar (en este caso mkdir /media/truecrypt1). Una vez hecho ésto, cada vez que queramos montar el volumen sólo tendremos que ejecutar lo siguiente:

truecrypt /home/usuario/truecrypt/fotos.tcryp /media/truecrypt1

Donde /home/usuario/truecrypt/fotos.tcryp es la ruta y el nombre del archivo del volumen a montar. Y donde /media/truecrypt1 es la carpeta donde se va a montar el volumen.
Como dijimos antes, ésto da mucho juego y podemos crearnos nuestros propios scripts. Ejemplo:

#!/bin/bash         
truecrypt /home/usuario/truecrypt/fotos.tcryp /media/truecrypt1
sleep 2
thunar /media/truecrypt1 &

Con ésto montamos el volumen y lo abrimos con el gestor de archivos. En mi caso he usado Thunar, pero también podría ser Nautilus, Nemo, ...


Desmontar todos los volúmenes

Si queremos desmontar todos los volúmenes de una forma fácil y rápida no tenemos más que ejecutar lo siguiente:

truecrypt -d



Ésta ha sido una breve introducción de cómo controlar esta gran aplicación desde la consola o scripts. Se pueden hacer muchas más cosas, valiéndonos de la ayuda de su página web y de la colección de comandos (truecrypt -h). Si tenéis dudas o si queréis hacer algo en concreto y no sabéis cómo, podéis preguntarme usando los comentarios.



Fuente:

http://www.truecrypt.org/docs/command-line-usage




lunes, 10 de marzo de 2014

Comparar dos directorios rápidamente en Linux









En Linux se pueden comparar dos directorios o carpetas mediante el comando diff. Por ejemplo, si ejecutamos lo siguiente:
diff directorio1 directorio2

Ésto nos indicará qué archivos están en un directorio y no en otro. En caso de que haya dos archivos con el mismo nombre y su contenido sea distinto, también se indicará.

El comando anterior tiene un inconveniente, y es que puede ser demasiado lento. Si los directorios contienen muchos archivos o si la unidad de almacenamiento es algo lenta, el proceso puede eternizarse.  Pero el siguiente comando solucionará ésto de un plumazo:

diff <(cd dir1 && find | sort) <(cd dir2 && find | sort)


Como vemos, se sigue usando el comando diff, pero en vez de comparar los archivos, compara el listado ordenado del directorio.

Si lo probáis veréis lo potente que puede llegar a ser. Podéis utilizar los comentarios si os surge alguna pregunta.




Fuentes:




miércoles, 4 de diciembre de 2013

Organizar archivos en carpetas según su fecha (consola Linux)








En una entrada anterior vimos cómo Organizar / mover archivos a distintas carpetas según su extensión (Bash Script). Hoy veremos un caso parecido, pero esta vez nos fijaremos en la fecha del archivo. Por ejemplo, queremos ordenar nuestro directorio de fotos por meses. Pues ésto lo podemos hacer de forma sencilla desde la consola de linux.

Lo primero es abrir el terminal y situarnos en el directorio que queremos ordenar y crear los directorios. Para simplificar el ejemplo crearemos solo dos:
mkdir noviembre

mkdir diciembre


A continuación crearemos un archivo auxiliar que nos servirá de margen inferior para mover las fotos. Es decir, moveremos a una carpeta todos los archivos cuya fecha de modificación sea más reciente que la fecha del archivo auxiliar. Por tanto, deberemos empezar por los archivos más recientes (en este caso por el més más reciente: Diciembre, después Noviembre, ...).

Empezaremos por el mes de diciembre, fijando la fecha del archivo auxiliar al 1 de diciembre:
touch -t 201312010000 auxiliar

Y moveremos todos los archivos más recientes que el archivo auxiliar a la carpeta diciembre:
find -maxdepth 1 -type f -newer auxiliar -exec mv {} diciembre \;

Procederemos de forma similar con el mes de noviembre
touch -t 201311010000 auxiliar

find -maxdepth 1 -type f -newer auxiliar -exec mv {} noviembre \;

Y haremos lo mismo con el resto de meses.

Explicación detallada de los comandos:

touch -t 201312010000 auxiliar

Crea un archivo con la fecha y hora de modificación 01/12/2013 00:00

find -maxdepth 1 -type f -newer auxiliar -exec mv {} diciembre \;

Ésta instrucción se puede dividir en dos*
  • “find -maxdepth 1 -type f -newer auxiliar” lo que hace es listar los archivos del directorio actual (pero no los de los subdirectorios) que sean más recientes que la fecha de modificación que el archivo auxiliar.
  • “-exec mv {} diciembre \;” mueve los archivos listados por find a la carpeta diciembre.

Acabamos de ver una forma de organizar nuestros archivos utilizando solamente la consola. Aunque en principio parezca engorroso, resulta mucho más sencillo y cómodo que hacerlo de forma gráfica (utilizando Nemo o Nautilus), si tenemos un gran número de archivos que ordenar. Espero que os sirva.




Fuentes:







lunes, 30 de septiembre de 2013

Terminal linux desde el navegador web













Hace un tiempo estaba buscando una utilidad que me permitiera ejecutar un terminal Linux (también conocido como consola Linux) desde un navegador web. Lo necesitaba ya que quería hacer unas pruebas y no tenía ningún equipo con Linux. El hecho de que se pueda ejecutar desde el navegador es importante, porque no necesitaría instalación y sabemos cualquier equipo (que no sea demasiado antiguo) tiene un navegador instalado.

Mi búsqueda llegó a buen puerto cuando encontré la página:  

http://bellard.org/jslinux/  

Esta pequeña maravilla creada por Fabrice Bellard es capaz de emular un terminal Linux y nos permite jugar con los comandos Linux sin miedo a cargarnos algo.

Para mí, es una herramienta imprescindible a la que de vez en cuando vuelvo. Sí es cierto que tiene ciertas limitaciones con respecto a un terminal real. Por ejemplo, no permite hacer un copy/paste directamente con Ctrl+C y Ctrl+V, sino que hay que pegarlo en un campo de texto que hay en la página y ejecutar “cat < /dev/clipboard > /tmp/myfile”, para que el contenido del portapapeles quede guardado en un archivo temporal (todo ésto está explicado aquí: http://bellard.org/jslinux/faq.html). Tampoco están implementados comandos como “man”. Como veréis, la página es bastante simple, sólo con acceder os aparecerá el prompt.




 












Por todo ello, sólo me queda felicitar al creador por su excelente trabajo. Aun más si tenemos en cuenta que este proyecto ha sido programado en Javascript, un lenguaje que para muchos resulta engorroso y poco amigable.

Espero que le déis una oportunidad y hagáis algunas pruebas. Estoy seguro de que vais a guardarla en los marcadores de vuestro navegador.




Buscar un proceso entre los que se están ejecutando. Comandos ps y grep











A continuación voy a describir cómo buscar un proceso dentro de la lista de procesos que se están ejecutando. Ésto puede ser útil si existen muchos procesos y queremos buscar uno o varios de los que sepamos su nombre o parte de su nombre. Para ello utilizaremos conjuntamente los comandos ps y fgrep. Se haría de la siguiente forma:
ps -ef | grep (cadena)


Con “ps -ef” obtenemos un listado de todos los procesos que se están ejecutando. Luego con grep (cadena) filtramos esa lista y nos quedamos sólo con los que contengan la cadena.

Ejemplo:
ps -ef | grep sh


Ésto nos mostrará todos los procesos que se están ejecutando y que contengan la cadena sh. La salida que daría sería parecida a ésta (las columnas de izquierda a derecha serían: PID, usuario, tiempo, comando):
    1 root       0:00 /bin/sh /sbin/init                                       
   36 root       0:00 [pdflush]                                                
   37 root       0:00 [pdflush]                                                
  155 root       0:00 sh                                                       
  161 root       0:00 grep sh




Podemos ir un paso más allá y quitar algunas entradas del listado que no nos interesen. Por ejemplo, si queremos que se muestren todos los procesos que contengan la cadena “ap” pero que se omitan los que contienen la cadena “grep”. El comando para hacer eso sería así:
ps -ef | grep ap | grep -v grep


Como podemos ver, los comandos ps y grep utilizados en conjunción suponen una herramienta imprescindible y potente en la administración de un equipo o sistema.




Revisar archivos de log mediante Tail (Linux)










Un archivo de log es una especie de registro donde quedan guardados los distintos eventos que ocurren en un equipo. En cada entrada de ese registro se pueden guardan datos como la fecha y hora, usuario, procesos, mensajes de error, warnings, ... Los archivos de log son muy importantes para saber qué está pasando o ha pasado y de este modo depurar y solucionar errores. Éstos archivos suelen contener mucha información y leerlos e interpretarlos puede ser una tarea complicada y tediosa. El comando que veremos a continuación nos facilitará bastante las cosas, y no es otro que "tail".

Veamos las operaciones más frecuentes de éste comando (por defecto mostrará las diez últimas líneas):
  • Muestra las últimas líneas del archivo:
tail archivo.log



  • Muestra las N últimas líneas del archivo (sustituir N por el número que deseemos):
tail -n N archivo.log



  • Muestra el contenido del archivo en tiempo real. Esto es útil cuando el archivo de log está creciendo continuamente. Para pararlo basta con hacer un CTRL+C :
tail -f archivo.log


Puede resultar muy útil también el redirigir la salida hacia otro archivo:


  • Redirecciona las N últimas líneas al archivo depurar.txt :
tail -N  archivo.log > depurar.txt



  • Redirecciona la salida al archivo depurar.txt :
tail -f  archivo.log > depurar.txt


Como vemos, el comando tail nos ayuda a centrarnos solo en la información que nos interesa del archivo de log. Espero que os haya sido de ayuda.

 

 

Fuentes:

http://www.thegeekstuff.com/2010/11/50-linux-commands/




lunes, 4 de febrero de 2013

Ejecutar un comando linux dentro de otro comando linux.




En este caso vamos a ver cómo ejecutar un comando linux dentro de otro comando linux. En concreto, en el ejemplo veremos como copiar todos los archivos resultantes de hacer un búsqueda con el comando grep. Primero veamos sólo la parte de la búsqueda:


Buscar todos los archivos que contengan una palabra determinada:


grep -r -l "palabra" ruta



Ejemplo:

grep -r -l "tomate" /home/usuario/



Copiar todos los archivos que contengan una palabra determinada:

Aquí es cuando vamos a embeber (osea, incrustar o insertar) el comando grep dentro del comando cp, es decir vamos a ejecutar la salida del comando grep como parte del comando cp:

cp $(grep -r -l "palabra" ruta1) ruta2


 
Ejemplo:

cp $(grep -r -l "tomate") /home/usuario



Tomando como ejemplo lo anterior, podemos construir comandos que a su vez contengan internamente otros, lo que da lugar a crear operaciones complejas a partir de comandos sencillos.




jueves, 13 de diciembre de 2012

Iniciar una aplicación siempre en un escritorio específico (Ubuntu / Linux Mint)









Como sabemos, en la mayoría de distribuciones linux podemos disponer de varios escritorios o workspaces que permiten tener en cada uno distintas aplicaciones. Hasta ahora, mi forma de funcionar era iniciar la aplicación y moverla al escritorio deseado. Pero ¿y si queremos que Firefox siempre se inicie en el escritorio 2?, ¿Podemos ahorrarnos la operación “arrastrar” la aplicación hasta otro escritorio?. La respuesta es sí, gracias a la aplicación Devil's Pie.

 

Instalación:

Lo instalamos mediante nuestro querido apt-get install:
sudo apt-get install devilspie

 
Y lo podemos ejecutar desde el terminal:

devilspie


Pero lo habitual y práctico es configurarlo para que se ejecute cada vez que iniciamos nuestro sistema operativo. En Ubuntu / Linux Mint:

Nos vamos a Sistema / Preferencias / Sesiones. Ahí pulsamos en la pestaña "Programas al inicio" y añadimos "devilspie".


Configuración:

Forma 1: Creando un archivo para cada aplicación. Estos archivos tendrán la extensión .ds y se guardarán en la carpeta ~/.devilspie . Ejemplo del archivo pidgin.ds :

(if
  (is (application_name) "Pidgin")
  (set_workspace 2)
)
Forma 2: Creando un único archivo para todas las aplicaciones. También tendrá la extensión .ds y se guardará en ~/.devilspie .
Ejemplo del archivo general.ds :


(begin
    (if
        (or
            (is (application_name) "Firefox") 
            (contains (application_name) "Search")
        )
        (set_workspace 1)
    )
    (if
        (is (application_name) "Pidgin")
        (set_workspace 2)
    )
    (if
      (contains (application_name) "Calibre")
      (set_workspace 3)
    )
)
 
Como vemos, he utilizado el operador “or” y también “contains” que comprueba si el nombre de la aplicación contiene la cadena que indicamos. Si queréis tener más información de operadores y demás artilugios para crear el archivo de configuración, podéis consutar el siguiente tutorial: http://www.foosel.org/linux/devilspie  

 
Truco: Para saber los nombres exactos de las aplicaciones podemos crear un archivo que se llame por ejemplo debug.ds y que contenga ésto:
(debug)

Cuando iniciemos devilspie desde consola, nos aparecerán los nombres de las aplicaciones que se están ejecutando en ese momento, junto con otro tipo de información de las mismas.

 

Fuentes:

http://www.foosel.org/linux/devilspie 
http://forums.linuxmint.com/viewtopic.php?f=205&t=91606




Felinfo: Java, Linux, Virtualización. Open Source.  ©Template Blogger Green by Dicas Blogger .

TOPO