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

viernes, 13 de enero de 2017

Convertir un archivo epub a mobi (Kindle) desde Linux

kindle
Para poder leer un archivo epub en un Kindle, hay que convertir a formato mobi. Vamos a ver cómo hacerlo en Linux desde la línea de comandos:

Instalar Calibre (si estamos en Archlinux o derivadas):

yaour -S calibre

Convertir el archivo epub en mobi:
ebook-convert archivo.epub .mobi

Con esto obtendríamos el archivo .mobi que podemos pasar a nuestro Kindle y disfrutar de una buena lectura.




jueves, 12 de enero de 2017

Uso básico de Git y Github

git
Git es un gran sistema de control de versiones creado por Linus Torvalds y uno de los más utilizados en la actualidad. Pasemos a ver cómo utilizar sus funciones más básicas:

Instalar Git (en distribuciones Arch Linux y derivadas):

sudo pacman -S git

Configurar el nombre de usuario e email:
git config --global user.name "(usuario)"
git config --global user.email "(email)"

Movernos al directorio del proyecto que queremos gestionar mediante Git, por ejemplo:
cd ~/miproyecto

Inicializar el proyecto:
git init miproyecto

Añadir todos los archivos del directorio a Git:
git add .

Hacer un commit (la opción -m nos permite una pequeña descripción del commit):
git commit -m "mensaje"

Comprobar los cambios hechos desde el último commit:
git status

Comparar los cambios preparados con el último commit:
git diff

Ver los cambios que hay entre los distintos commits:
git whatchange

Los siguientes comandos son para el uso de Github, que es el repositorio de Git en la “nube”, donde poder subir y alojar nuestros proyectos que tenemos en local.

Conectar con el repositorio remoto en Github (tendremos que registrarnos previamente en github.com):
git remote add origin https://github.com/xxx/xxx.git

Empujar el contenido del repositorio local hacia el repositorio remoto (nota: “origin” es la rama local y “master” es la rama remota, la que tenemos en Github):
git push origin master

Se nos pedirá introducir las credenciales de inicio de sesión (nombre de usuario y contraseña).

Git permite otras muchas cosas como la creación de ramas, forks, etc, … pero eso daría para otro post. Espero que este post sirva como introducción a esta fantástica herramienta.




miércoles, 11 de enero de 2017

Uso de archivos temporales en Linux

terminal
Una herramienta muy interesante a la hora de hacer nuestros scripts son los archivos temporales. Aunque podamos crearlos nosotros de forma “manual”, en este post veremos cómo hacerlo de forma más segura, utilizando la función mktemp. Creo que la forma más fácil de verlo es con un ejemplo:

#!/bin/bash
tmpfile1=$(mktemp /tmp/pruebaTemporal.XXXXXX)   # Crear el archivo temporal
sed -i 's/Pepe/Jose/g' $1 > "$tmpfile1" # Ejecutar la orden y guardar en archivo temporal
cat $tmpfile1 > $1  # Guardar el archivo temporal en el archivo de entrada
rm $tmpfile1 # Eliminar el archivo temporal

Siguiendo los comentarios del script podéis entender lo que se hace en cada línea. Con archivo de entrada me refiero al archivo que pasamos como parámetro de entrada del script. En la primera línea utilizamos el comando mktemp, que nos permite crear un archivo temporal cuyo nombre será único y cumplirá con la plantilla dada, pruebaTemporal.XXXXXX . Es decir, se sustituirán las ‘X’ por números y letras. Además, el archivo tendrá permisos de lectura y escritura asignados únicamente a su propietario (a no ser que usemos el flag -u). Este mecanismo permite el uso de archivos temporales en scripts de forma segura y evita posibles ataques, por ejemplo de denegación de servicio, ya que el nombre del archivo no será tan previsible para los posibles atacantes. Si queréis tener más información sobre ésto, recomiendo la lectura del enlace indicado en “Fuentes”.

Fuentes:

https://www.mktemp.org/manual.html




martes, 10 de enero de 2017

Sustituir los espacios en blanco en el nombre de un archivo (Linux)

terminal
Los espacios en blanco en el nombre de un archivo son un fastidio, sobretodo si estamos utilizando utilizando un script u orden Linux que tengan que trabajar con dichos archivos. Por ello, no es recomendable que el nombre del archivo contenga dichos espacios. Hoy veremos una orden sencilla para quitar (en este caso sustituir por el caracter _) esos espacios de todos los archivos del directorio actual. Veamos el comando que utilizaremos para ello:

for f in *\ *; do mv "$f" "${f// /_}"; done

Utilizamos un for para recorrer todos los archivos del directorio actual que renombraremos con mv. En ${f// /_} determinamos el patrón de sustitución, en este caso sustituimos el espacio en blanco por _ . Por suspuesto, podemos cambiar este patrón según nuestras necesidades.

Espero que sea de utilidad y para cualquier duda podéis utilizar los comentarios.


Fuentes:

http://stackoverflow.com/questions/2709458/bash-script-to-replace-spaces-in-file-names




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)




jueves, 25 de febrero de 2016

Comprobar archivos duplicados desde el terminal Linux (Fdupes)


terminal







Cuando trabajamos con muchos archivos es fácil que tengamos el mismo archivo repetido en distintas carpetas o con distinto nombre. Por eso resulta útil comprobar la existencia de archivos repetidos y evitar así redundancias y espacio en disco mal aprovechado. Veremos cómo realizar dicha comprobación utilizando la aplicación fdupes. Es verdaderamente rápida y funciona realizando distintas comprobaciones: primero el tamaño de los archivos, el md5 parcialmente, el md5 completamente y finalmente la comparación byte a byte. Evidentemente, si en la primera comprobación resuelve que dos archivos no son iguales, no pasa a la segunda, y así sucesivamente.
Lo primero es instalar la aplicación, si estamos en Arch Linux:
sudo pacman -S fdupes

En Ubuntu / Debian sería así:
sudo apt-get install fdupes

Luego nos situamos en el directorio correspondiente y ejecutamos:
fdupes -r .

Con -r lo que hacemos es la comprobación de forma recursiva (buscamos en los subdirectorios).
Si añadimos la opción -d se nos preguntará qué archivos queremos borrar o si queremos mantenerlos todos. Al final nos mostrará un listado de archivos que no son iguales entre sí:

terminal

Fuentes:

http://www.commandlinefu.com/commands/view/3555/find-duplicate-files-based-on-size-first-then-md5-hash https://en.wikipedia.org/wiki/Fdupes https://github.com/adrianlopezroche/fdupes




miércoles, 24 de febrero de 2016

Cortar un vídeo desde el terminal Linux (FFmpeg)


terminal







La edición de vídeo es una tarea que seguramente hayáis necesitado realizar más de una vez. Existen multitud de aplicaciones, tanto libres (KDEenlive … ) como propietarias. También las hay con interfaz gráfica o sin ella. Y dentro de este último tipo está el proyecto de software libre FFmpeg, el cual consiste en librerías y programas de edición y conversión multimedia. En éste artículo veremos qué sencillo y rápido es cortar un vídeo para quedarnos con el fragmento deseado usando sólamente el terminal Linux (y la librería FFmpeg) .


El comando

Lo primero es instalar FFmpeg. Si estamos en Arch Linux sería así:
sudo pacman -S ffmpeg

Para realizar el corte utilizaríamos el siguiente comando:
ffmpeg -i (nombre_video) -ss (tiempo_inicio) -to (tiempo_fin) -c:v copy -c:a copy (nombre_video_salida)

Los parámetros son los siguientes:
(nombre_video) es el nombre del vídeo que queremos editar.
(tiempo_inicio) es el instante inicial desde donde queremos cortar, en formato hh:mm:ss (h: hora. m: minutos. s: segundos).
(tiempo_fin) es el instante final donde acaba el corte, en formato hh:mm:ss.
(nombre_video_salida) es el nombre del vídeo resultante que se creará.

Ejemplo:
ffmpeg -i mi_video.avi -ss 00:01:03 -to 00:05:04 -c:v copy -c:a copy mi_video_cortado.avi


El resultado será mi_video_cortado.avi , que corresponde al fragmento indicado de mi_video.avi. 
Este comando es muy rápido, ya que no realiza ningún tipo de conversión y la calidad y resolución del vídeo resultante se mantiene intacta.


Fuentes:

http://superuser.com/questions/377343/cut-part-from-video-file-from-start-position-to-end-position-with-ffmpeg




martes, 23 de febrero de 2016

Actualizar Arch Linux ignorando algunos paquetes (Pacman / Yaourt)


terminal







Quizás nos haya pasado que tenemos un determinado paquete o paquetes que no nos interesa actualizar, ya sea porque no merece la pena o porque nos da algún error. Vamos a explicar cómo hacerlo para aquellos que utilicen distribuciones con el gestor de paquetes Pacman/Yaourt, como puede ser Arch Linux y derivados. Es decir, vamos a realizar las actualizaciones disponibles, exceptuando los paquetes que le indiquemos. Para ello usaremos el siguiente comando:
yaourt -Syua --ignore paquete_a_ignorar_1 --ignore paquete_a_ignorar_2

o también:
yaourt -Syua --ignore paquete_a_ignorar_1, paquete_a_ignorar_2

Ejemplo:
yaourt -Syua --ignore android-sdk --ignore android-sdk-build-tools

O también:
yaourt -Syua --ignore android-sdk, android-sdk-build-tools

Con yaourt -Syua sincronizamos tanto los paquetes del repositorio oficial como los del repositorio AUR. El parámetro –ignore nos sirve para indicar qué paquetes queremos dejar intactos, sin actualizar.




miércoles, 30 de septiembre de 2015

Usar una segunda pantalla en i3 wm

VGA
Si eres programador sabrás lo útil que es utilizar una segunda pantalla para trabajar. Todos los sistemas operativos son capaces de gestionar y configurar esta característica fácilmente. Pero si utilizas un window manager como i3 también sabrás que no existe un interfaz gráfico para configurarlo y hay que usar el terminal. Vamos a ver cómo configurarlo utilizando como ejemplo una conexión por VGA.
Lo primero que tenemos que hacer es conectar la segunda pantalla (monitor) a nuestro pc y a continuación ejecutar en el terminal ésto:

xrandr

Con ello veremos los monitores conectados a nuestro PC. La salida en mi caso fue la siguiente:
Screen 0: minimum 8 x 8, current 2560 x 1024, maximum 32767 x 32767
LVDS1 connected primary 1280x800+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1280x800      59.94*+
   1024x768      60.00  
   800x600       60.32    56.25  
   640x480       59.94  
   640x400       60.00  
VGA1 connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024     60.02*+  75.02  
   1152x864      75.00  
   1024x768      75.08    75.03    60.00  
   832x624       74.55  
   800x600       75.00    60.32  
   640x480       75.00    60.00  
   720x400       70.08  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

De modo que deberemos ejecutar lo siguiente desde el terminal para que funcionen ambos monitores:
xrandr --output LVDS1 --mode 1280x800; xrandr --output VGA1 --mode 1280x1024 --right-of LVDS1

Lo que se hace es definir el mode o resolución de cada monitor y además, señalamos que el segundo monitor (VGA1) lo queremos poner a la derecha del principal (LVDS1). En base a la instrucción anterior podemos crear un script, que llevará el siguiente código:
#!/bin/bash
IN="LVDS1"
EXT="VGA1"
if (xrandr | grep "$EXT disconnected")
then
    xrandr --output $IN --auto --output $EXT --off
else
    xrandr --output $IN --auto --primary --output $EXT --auto --right-of $IN
fi

Aquí comprobamos si el segundo monitor está conectado o no. Si no está conectado, lo deshabilitamos. Si está conectado, lo ponemos a la derecha del principal, como hicimos anteriormente. Además, utilizamos –auto para que se configure el mode de forma automática.
Si queremos que el script se ejecute cada vez que iniciemos sesión en el window manager i3, solamente tenemos que añadir la siguiente línea al final del archivo config que se encuentra en la carpeta .i3 (normalmente ~/.i3) y que se encargará de llamar al script que hemos creado.
exec --no-startup-id ~/ruta_script/nombre_script.sh

Espero que os haya sido útil. Si tenéis alguna duda, podéis utilizar los comentarios.


Fuentes

https://wiki.archlinux.org/index.php/Xrandr
http://www.x.org/archive/X11R7.5/doc/man/man1/xrandr.1.html




martes, 29 de septiembre de 2015

Exportar notas de Kindle en Linux

Kindle
Los que tengáis el lector de libros electrónicos Kindle seguramente sabréis cómo gestiona las notas de vuestros libros y documentos. En la memoria interna hay una carpeta llamada documents y dentro hay un archivo llamado My Clippings.txt que es el que guarda todas las notas, subrayados y marcas que hagamos en nuestros documentos, ordenados cronológicamente. Por ejemplo:

==========
blogs_2015.07.26 
- Tu subrayado en la posición 3115-3116 | Añadido el lunes, 3 de agosto de 2015 23:57:42

GitHub lanza la primera edición estable de su editor Atom | La mirada del replicante
==========
blogs_20150817_2121
- Tu subrayado en la posición 42-42 | Añadido el sábado, 22 de agosto de 2015 16:27:23

Tails 1.5
==========
La conjura de los necios (John Kennedy Toole)
- Tu marcador en la posición 2179 | Añadido el domingo, 30 de agosto de 2015 8:35:45
==========
La conjura de los necios (John Kennedy Toole)
- Tu marcador en la posición 2236 | Añadido el domingo, 30 de agosto de 2015 23:57:49
==========

Si queremos exportar nuestras notas, lo que podemos hacer es conectar mediante USB nuestro Kindle y copiar donde deseemos el archivo My Clippings.txt . ¿Cual es el problema?, que todas esas notas y subrados de nuestros libros están mezclados, de modo que no podemos exportar únicamente las notas de un determinado libro. Claro, se podría hacer a mano, copiando y pegando pero sería un proceso de lo más tedioso. Por eso vamos a explicar cómo hacerlo rápidamente utilizando el terminal Linux y en concreto el comando sed. Ya vimos en el post Reemplazar texto de varios archivos en Linux el uso de este comando pero en esta ocasión no reemplazaremos texto sino que lo redireccionaremos a un nuevo archivo.
Veamos:
sed -n '/La conjura de los necios/,/==========/p' My\ Clippings.txt > La conjura de los necios

Ésto lo que hará será copiar todas las subcadenas entre La conjura de los necios y ========== y las copiará a un archivo llamado La conjura de los necios. Ésta sería la idea básica, pero existe un pequeño escollo que salvar, que es el caso de que la cadena de entrada tenga espacios en blanco. En el siguiente script se soluciona:
#!/bin/bash
read -r -p "Indica el nombre (o parte del nombre) del libro:" archivo
busqueda=$(echo"$archivo" | sed 's/ /\\ /g')
sed -n '/'"$busqueda"'/,/==========/p' My\ Clippings.txt > $archivo.txt
echo"Creado el archivo "$archivo.txt

La línea busqueda=$(echo “$archivo” | sed ‘s/ /\ /g’) del script lo que hace es sustituir los espacios en blanco de la cadena de entrada y los sustituye por barra invertida y espacio en blanco. Ésto se hace así para que la búsqueda con sed se haga correctamente en caso de que la cadena de entrada tenga espacios en blanco, como pasa con La conjura de los necios.

Nota: La búsqueda es sensible a mayúsculas y minúsculas.
Espero que os sea útil. Podéis utilizar los comentarios para aclarar cualquier duda.


Fuentes:

http://linux.die.net/man/1/sed
http://stackoverflow.com/questions/2462385/getting-an-ambiguous-redirect-error




lunes, 28 de septiembre de 2015

CMUS: Reproductor de audio desde el terminal Linux

cmus headphones

Cmus es probablemente el reproductor musical más conocido dentro de los que se ejecutan desde el terminal. Aunque haya gente a la que las aplicaciones de terminal no le agraden demasiado, pienso que Cmus merece una oportunidad: por su poco consumo de recursos, por la facilidad para configurarlo a nuestro gusto y porque se puede controlar utilizando únicamente el teclado. Si estás familiarizado con el editor Vi, utilizar Cmus te resultará sencillo, ya que se utilizan comandos muy parecidos.


Instalación

Desde Debian/Ubuntu:
sudo add-apt-repository ppa:jmuc/cmus
sudo apt-get update
sudo apt-get install cmus

Desde Arch Linux y derivados:
sudo pacman -S cmus



Vistas

La aplicación se divide en varias vistas o pantallas. Podemos cambiar a cada una de ellas pulsando su número correspondiente:
1. Librería: Es la vista por defecto. Se divide en dos pestañas: album/artista y canciones del álbum seleccionado. Podemos pasar de una a otra pulsando la tecla tab.
2. Librería ordenada: Muestra la vista de playlist, permitiendo saltar a canciones (o tracks) específicos. Ésta lista puede ser filtrada utilizando la vista 6.
3. Lista de reproducción.
4. Cola de reproducción.
5. Navegador de archivos.
6. Filtros: Se trata de una lista de filtros predefinidos para aplicar a la librería (vista 2).
7. Configuración Muestra los comandos y las teclas rápidas.


Uso básico

Lo primero que debemos hacer es añadir nuestra música a la librería. Se puede hacer mediante el siguiente comando:
add: /ruta/de/audio

Ejemplo:
add: ~/mi_musica

Para reproducir una canción simplemente nos situamos sobre ella y pulsamos intro. Sabremos desde qué vista se está reproduciendo la canción mirando en la parte inferior derecha, en la que se indicará playlist, queue, all library … 




Los controles básicos de reproducción son los siguientes:
  • z: Canción Anterior
  • c: Pause/Unpause
  • v: Stop
  • b: Siguiente canción
  • + / - :: Subir / bajar volumen
También pueden resultar útiles las siguientes teclas:
  • e: Añadir canción/álbum a la cola
  • y: Añadir canción/álbum a la lista
  • p, P: Ordenar la canción dentro de la cola o la lista
  • Supr: Eliminar canción/álbum de la cola ó lista
Si queremos vaciar una la lista de reproducción o la cola de reproducción, nos colocamos en la vista correspondiente y escribimos lo siguiente:
:clear



Busqueda de una canción

En la segunda vista podemos saltar a una canción usando el caracter / , para ello hay que escribir parte del título de la canción (al estilo Vi) y pulsar intro dos veces para reproducirla. O podemos pulsar n para pasar a la siguiente ocurrencia (también al estilo Vi).



Customización de la vista lista ordenada

Podemos filtrar las canciones para que sólo se muestren las de duración menor a dos minutos mediante:
:filter duration<120

O que sólo se muestren los de un estilo en concreto:
:filter genre=”rock”

Para combinar ambos filtros:
:filter duration<120 amp="" genre="”rock”</code">

Podemos anular cualquier filtro mediante:
:filter



Cmus tiene muchas más características de las que aquí se citan y que te animo a que vayas descubriendo conforme vayas utilizándolo, si así lo deseas. 



Fuentes

http://www.increasinglyadequate.com/cmus.html
http://linux.die.net/man/1/cmus




viernes, 15 de mayo de 2015

Convertir imágenes PNG a JPG de forma masiva en Linux














En este post vamos a hablar de cómo convertir imágenes PNG en imágenes JPG usando la utilidad mogrify de ImageMagick. 


Instalación

Tenemos que instalar la utilidad del modo habitual:

Debian / Ubuntu y derivados:
sudo apt-get install imagemagick

Arch Linux y derivados:
pacman -S imagemagick 

Podéis encontrar más información de cómo instalarla desde aquí: http://www.imagemagick.org .



Ejemplos de uso

Una vez instalada podemos realizar la conversión. Veamos algunos ejemplos:

Convertir una imagen PNG a JPG:
mogrify -format jpg archivo.png 


Convertir todas las imágenes png de la carpeta actual a imágenes JPG:
mogrify -format jpg *.png 


Convertir todas las imágenes del directorio actual y todas las subcarpetas. Nos ayudaremos del comando find:
find -name *.png -exec mogrify -format jpg {} ';'


Una vez que hayamos hayamos realizado la conversión, quizás queramos eliminar las imágenes PNG (cuidado con este comando, ya que eliminará todas las imágenes PNG que haya en el directorio actual y todos sus subdirectorios. Debemos asegurarnos previamente de cual es nuestro directorio actual con pwd):
find -name *.png -exec rm {} ';'


Hemos podido ver algunos ejemplos de uso, aunque la funcionalidad de ImageMagick es mucho más amplia, puesto que es capaz de realizar conversiones entre más de 100 formatos.



Fuentes

http://superuser.com/questions/71028/batch-converting-png-to-jpg-in-linux




sábado, 9 de mayo de 2015

Uso del comando tr en Linux










El comando tr se usa para sustituir o eliminar determinados caracteres. Es realmente útil y lo mejor que podemos hacer para comprobar su funcionamiento es ilustrarlo con algunos ejemplos:

Sustituir los caracteres en minúscula por caracteres en mayúscula:
$ echo “Hola Mundo” | tr a-z A-Z
HOLA MUNDO


Sustituir los espacios en blanco por tabuladores:
$ echo "Hola Mundo Hola Mundo" | tr [:space:] '\t'
Hola    Mundo    Hola    Mundo


Suprimir la repetición de espacios en blanco:
$ echo "Hola     que    tal   " | tr -s [:space:]
Hola que tal


Eliminar un caracter concreto:
$ echo "Hola que tal" | tr -d 'a'
Hol que tl


Dejar sólo los caractéres numéricos:
$ echo "El día 14 cumpliré 23 años" | tr -cd [:digit:]
1423


Unir las líneas de todo un archivo en una sóla línea:
tr -s '\n' ' ' < prueba.txt


Como vemos, el comando tr tiene muchas y variadas aplicaciones. Aquí sólo he mostrado algunos ejemplos que espero que sean útiles y que sirvan para iniciarse en su uso.




miércoles, 11 de febrero de 2015

Acceso directo a aplicación ejecutada mediante Wine (Linux)













Vamos a crear un lanzador que nos permita ejecutar una aplicación desde Wine con solo hacer doble click desde el escritorio. Para ello vamos a seguir los siguientes pasos:

  1. Ejecutar winecfg desde el terminal.
  2. Pulsar en la pestaña Unidades.
  3. Configurar una unidad. Para ello tenemos que pulsar en “Añadir…” , seleccionar una letra (por ejemplo la D) y finalmente pulsar rellenar el campo Ruta: con la partición donde se encuentre la aplicación (por ejemplo: /media/datos ).
  4. Crear un lanzador en el escritorio, pulsando con el botón derecho y pulsando en “Crear lanzador”. En el campo “Comando” deberá poner lo siguiente:
     wine "RUTA_EJECUTABLE"

      Donde RUTA_EJECUTABLE será la ruta completa del ejecutable, usando la notación Windows. Por ejemplo:
wine "D:\Aplicaciones\notepad.exe"

      Démonos cuenta de que la letra D corresponde a la unidad configurada en el punto 3 (en mi caso correspondería a /media/datos ).


Y eso es todo. Con este truco podremos ejecutar cómoda y rápidamente las aplicaciones para Windows desde nuestra distribución Linux. Para resolver cualquier duda podéis utilizar los comentarios.




martes, 3 de febrero de 2015

Copiar / cortar y pegar en el editor Vi












Como en cualquier editor de texto, las operaciones de copiar y pegarcortar y pegar) son muy importantes. Vamos a ver como hacerlo en Vi:
  1. Posicionarse al principio del texto que queremos seleccionar.
  2. Presionar v para iniciar la selección (también podemos seleccionar la línea completa con V ).
  3. Movernos con las teclas de cursor para seleccionar el texto deseado.
  4. Presionar d para cortar o y para copiar.
  5. Movernos a la línea donde queremos pegar el texto.
  6. Presionar p para copiar después del cursor o P para pegar antes del cursor.


Se puede hacer también una copia múltiple. Podemos guardar varios fragmentos de texto, cada uno en un registro distinto. Cada registro será identificado por una letra.

Por ejemplo, seleccionamos Madrid y luego pulsamos "ay (en el registro a se habrá guardado el texto Madrid). Luego seleccionamos Barcelona y pulsamos "by (en el registro b se habrá guardado el texto Barcelona). Ahora podremos irnos a otra parte del texto y pegar la palabra Madrid pulsando "ap y la palabra Barcelona pulsando "bp .

Lo mejor es practicar, para ir cogiendo el manejo de estos y otros muchos comandos. Espero que haya sido de utilidad. Podéis utilizar los comentarios para plantear dudas.


Fuentes:

http://vim.wikia.com/wiki/Copy,_cut_and_paste




viernes, 23 de enero de 2015

Deshabilitar la tarjeta wifi integrada y usar solo el adaptador wifi USB (Manjaro / Arch Linux)
















Hace unos días me llegó un adaptador wifi USB, en concreto el TP-LINK TL-WN722N. Así que me puse a instalarlo en el portátil, sobre la distribución Manjaro. Por lo leído en diversos foros, este adaptador tiene buena compatibilidad con Linux. Con solo enchufarlo ya lo detectó correctamente y la luz verde se puso a parpadear. Eso sí, al usarlo en un portátil el botón de la tarjeta wifi integrada debía de estar activado, por tanto ambas tarjetas, la integrada y la USB quedaban activadas. Mi intención era dejar activada sólo la USB, así que desactivé la integrada con el siguiente comando:
sudo ip link set interfaz_red down


Donde interfaz_red debemos sustituirlo por el nombre de la interfaz de red que queremos desactivar. Si no sabes cual es, puedes obtenerlo mediante el comando iwconfig. En mi caso, desactivé la tarjeta integrada mediante el siguiente comando:
sudo ip link set wlp6s0 down


Al ejecutar ifconfig veremos que ya no aparece esa interfaz.
 

Puede que no sea necesario, pero si al reiniciar vuelve a estar activa la tarjeta integrada, lo que se podría hacer es crear un script con el comando anterior y añadirlo a “Autoarranque de aplicaciones” dentro de “Sesión e inicio”. De esta forma se ejecutará cada vez que iniciemos el sistema.


Fuentes:

http://askubuntu.com/questions/168032/how-to-disable-built-in-wifi-and-use-only-usb-wifi-card
https://wiki.archlinux.org/index.php/Network_configuration




jueves, 19 de junio de 2014

Mantenimiento y optimización de Manjaro, operaciones manuales








Éste es el tercer post dedicado a mantenimiento y optimización de Manjaro. Puedes leer los artículos anteriores aquí: http://felinfo.blogspot.com.es/2014/06/mantenimiento-y-optimizacion-de-manjaro.html y http://felinfo.blogspot.com.es/2014/06/mantenimiento-y-optimizacion-de-manjaro_19.html . En este caso vamos a ver cómo realizar algunas tareas que no se pueden automatizar y que nos servirán para listar algunos paquetes innecesarios y que pueden borrarse. Finalmente se verá cómo listar algunos archivos de configuración, a los que deberíamos hacerle copia de seguridad.




Identificar archivos que no pertenecen a ningún paquete

Se trata de identificar los archivos que están fuera de la base de datos de pacman. Son los archivos de aplicaciones de terceros que suelen instalarse mediante ./configure && make && make install . Dichos archivos se pueden listar con el siguiente script:
 #!/bin/sh

tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
db=$tmp/db
fs=$tmp/fs

mkdir "$tmp"
trap 'rm -rf "$tmp"' EXIT

pacman -Qlq | sort -u > "$db"

find /etc /opt /usr ! -name lost+found \( -type d -printf '%p/\n' -o -print \) | sort > "$fs"

comm -23 "$fs" "$db"



Y podemos generar la lista así:

sh pacman-disowned > non-db.txt


NOTA IMPORTANTE: No se deben de borrar todos los archivos listados en non-db-txt, ya que ahí pueden aparecer archivos de configuración, logs, etc. Así que usa la lista con responsabilidad y en caso de duda en algún archivo, no lo elimines.



Listar los paquetes instalados que no pertenecen al sistema base

Se quieren mostrarán los paquetes que no pertenecen al sistema. Para ello habría que instalar expac:

sudo pacman -S expac 

Y posteriormente listar los paquetes con el siguiente comando:

expac -HM "%011m\t%-20n\t%10d" $( comm -23 <(pacman -Qqen|sort) <(pacman -Qqg base base-devel|sort) ) | sort -n




Listar los archivos de configuración modificados

Si quieres hacer una copia de seguridad de los archivos de configuración simplemente tienes que copiar el directorio /etc . Pero si sólo quieres copiar los archivos modificados, puedes conocer dichos archivos con el siguiente comando:

pacman -Qii | awk '/^MODIFIED/ {print $2}'



Como siempre, podéis utilizar los comentarios para formular cualquier pregunta.


Fuentes: 

https://wiki.archlinux.org/index.php/System_maintenance




Mantenimiento y optimización de Manjaro, el script








Después de haber visto los comandos (http://felinfo.blogspot.com.es/2014/06/mantenimiento-y-optimizacion-de-manjaro.html), vamos a utilizarlos para crear un script y automatizar las tareas de mantenimiento y optimización de Manjaro. He de decir que aunque me he basado en el artículo https://wiki.archlinux.org/index.php/System_maintenance , este script es personal y adaptado a mis propias necesidades. Lo pongo aquí por si a alguien le sirve de guía, no debe ser una norma a seguir. Por tanto, os recomiendo que cada uno lo analice y lo modifique para que haga exactamente lo que quiere. Debéis utilizarlo bajo vuestra propia responsabilidad. Si tienes alguna duda, puedes preguntarme.

#!/bin/bash

echo "--------------- Actualizando el sistema (1/5) ---------------"
read -r -p "Quieres actualizar tu sistema (incluyendo incluyendo Aur)? [S/n] " response
if ! [[ $response =~ ^([nN][oO]|[nN])$ ]]
then
# sudo pacman -Syu
yaourt -Syua
fi
echo "--------------- Actualizado el sistema (1/5) ---------------"

echo "--------------- Eliminando los paquetes huerfanos (2/5) ---------------"
  if [[ ! -n $(pacman -Qdt) ]]; then
    echo "No orphans to remove."
  else
    sudo pacman -Rns $(pacman -Qdtq)
  fi
echo "--------------- Eliminados los paquetes huerfanos (2/5) ---------------"

echo "--------------- Optimizando la base de datos (3/5) ---------------"
read -r -p "Se va a optimizar la base de datos. Si además quiere borrar la caché de las aplicaciones instaladas pulse i. Para borrar toda la caché pulse t. Para no borrar nada pulse N (recomendado). Pulse [i/t/N].
" response
if [[ $response =~ ^([iI])$ ]]
then
sudo pacman -Sc && sudo pacman-optimize 
elif [[ $response =~ ^([tT])$ ]]
then
sudo pacman -Scc && sudo pacman-optimize
else 
sudo pacman-optimize && sync
fi
echo "--------------- Optimizada la base de datos(3/5) ---------------"

echo "--------------- Actualizando los repositorios (4/5) ---------------"
# ¿Desea actualizar sus repositorios?
read -r -p "Quieres actualizar tus repositorios? [s/N] " response
if [[ $response =~ ^([sS][iI]|[sS])$ ]]
then
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
sudo pacman-mirrors -g
pacman -Syy
fi
echo "--------------- Actualizados los repositorios (4/5) ---------------"

echo "--------------- Vaciando las papeleras (5/5) ---------------"
read -r -p "¿Quieres vaciar las papeleras de reciclaje de todos los usuarios (incluido root)? [S/n] " response
if ! [[ $response =~ ^([nN][oO]|[nN])$ ]]
then
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
sudo rm -rf /root/.local/share/Trash/*/** &> /dev/null
fi

read -r -p "¿Quieres vaciar la carpeta Descargas [S/n] " response
if ! [[ $response =~ ^([nN][oO]|[nN])$ ]]
then
sudo rm -rf ~/Descargas/* &> /dev/null
fi
echo "--------------- Vaciadas las papeleras (5/5) ---------------"



Si tenéis alguna sugerencia, duda ó corrección, podéis utilizar los comentarios.
 

Fuentes:

https://wiki.archlinux.org/index.php/System_maintenance




Mantenimiento y optimización de Manjaro, los comandos








Después de llevar algunos meses utilizando Manjaro, me he decidido a hacer un post donde se explique cómo realizar el mantenimiento y optimización de esta excelente distribución. Me he basado en el artículo "System maintenance" de la Wiki de Arch Linux (https://wiki.archlinux.org/index.php/System_maintenance). Sin más, pasamos a enumerar y explicar los comandos.



Actualizar el sistema

Podemos actualizar los paquetes del repositorio oficial:
sudo pacman -Syu

O bien actualizar los paquetes del repositorio oficial y de AUR (Arch User Repository):
yaourt -Syua



Eliminar los paquetes huérfanos

Se van a eliminar los paquetes que no dependen de ninguna aplicación. Para listar dichos paquetes usamos:
pacman -Qdt

Si hay paquetes huérfanos los eliminamos así:
sudo pacman -Rns $(pacman -Qdtq)



Borrar la caché de los paquetes

Ésto solo lo haremos en caso de que estemos seguros de que los paquetes instalados son estables. Borrará las versiones anteriores de la carpeta de caché y por tanto no podremos hacer downgrade:
sudo pacman -Sc

El comando siguiente es aun más agresivo, ya que borra completamente la carpeta de caché. No debemos usarlo a no ser que desesperadamente queramos obtener espacio en disco:
sudo pacman -Scc



Optimizar el acceso a la base de datos

Con el siguiente comando se mejora la velocidad de acceso a la base de datos y por tanto también el tiempo necesario para las operaciones sobre ésta:
sudo pacman-optimize && sync 

 

 

Actualizar los repositorios

Se va a rehacer el archivo mirrorlist, de foma que ordene los servidores disponibles dependiendo de su tiempo de acceso (previamente deberemos hacer una copia de seguridad del archivo mirrorlist, como se muestra a continuación):

cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup

sudo pacman-mirrors -g

pacman -Syy

 

 

Vaciar las papeleras de reciclaje y otras carpetas

Este paso es opcional y no aparece en el artículo "System maintenance" que mencioné al principio. Cada uno debe pensar si es conveniente llevarlo a cabo o no. Se vaciarán las papeleras de reciclaje de todos los usuarios del sistema, incluida la de root:

rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
sudo rm -rf /root/.local/share/Trash/*/** &> /dev/null

Personalmente también borro la carpeta de Descargas, ya que ahí siempre quedan archivos que no voy a volver a necesitar:
sudo rm -rf ~/Descargas/* &> /dev/null



Si te ha parecido interesante, puedes pasar al post Mantenimiento y optimización de Manjaro, el script, donde se explica como automatizar todas estas tareas usando un script.

Fuentes:

https://wiki.archlinux.org/index.php/System_maintenance




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

TOPO