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)




miércoles, 11 de mayo de 2016

Persistencia en Android mediante shared preferences













Existen varias de formas de dotar de persistencia a una aplicación Android, pero seguramente la más sencilla y menos engorrosa sea usar Shared Preferences. Cuando hablo de persistencia me refiero a que la configuración o los valores de nuestra aplicación queden guardados, de modo que aunque la cerremos, al volver a iniciarla no se perderán. Por ejemplo, tenemos una aplicación del tiempo (condiciones metereológicas) y queremos que nuestra ciudad quede guardada para próximas consultas. Vamos a ver cómo hacerlo utilizando un ejemplo muy sencillo, ya que sólo guardaremos la variable ciudad (nota: no pongo el código completo de la aplicación por que lo interesante es centrarnos en la parte de la persistencia, así que pongo tres puntos suspensivos para indicar donde iría el resto del código de la aplicación):

Recuperar datos

...
public class MainActivity extends AppCompatActivity {
    public static final String PREFS_NAME = "MyPrefsFile";
    public static SharedPreferences settings;
...
  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        settings = getSharedPreferences(PREFS_NAME, 0);
        city = MainActivity.settings.getString("ciudad", "Madrid");
        ...
    }
...

Como vemos, básicamente lo que se hace es llamar a getSharedPreferences para obtener el objeto que guarda las preferencias. Posteriormente obtenemos el valor (si existiera) y lo asignados a la variable city que es la que utilizaremos en la aplicación y cuyo valor podremos modificar si es necesario dentro de nuestra aplicación. 
Nota: en MainActivity.settings.getString(“ciudad”, “Madrid”); el segundo parámetro (“Madrid”), es el valor que se devuelve en caso de que la variable (en este caso “ciudad”) sea nulo.

Guardar datos

protected static void guardarCiudadSettings(){
        SharedPreferences.Editor editor = settings.edit();
        editor.putString("ciudad", city);
        editor.commit();
    }
        

protected void onStop(){
        super.onStop();
        SharedPreferences.Editor editor = settings.edit();
        editor.putString("ciudad", city);
        editor.commit();
    }

Aquí vemos como guardar una determinada variable en los SharedPreferences. En el primer caso se hace desde un método al que podemos llamar cuando queramos desde nuestra aplicación. En el segundo método se llamará al cerrar nuestra aplicación (método onStop()). 

Espero que os sea de utilidad. Para consultar cualquier duda, podéis utilizar los comentarios.




Fuentes:

http://developer.android.com/intl/es/training/basics/data-storage/shared-preferences.html




lunes, 9 de mayo de 2016

Convertir de int a String y viceversa en Java









Una conversión muy utilizada en Java es pasar una variable de tipo int a String, al igual que de String a int. Veamos como se realiza cada una de ellas:


De int a String

int numero = 123
String st = Integer.toString(numero);



De String a int

String numero = “123”
int num = Integer.parseInt(numero);

Este post es muy corto y sencillo, pero treméndamente útil. Espero que os sirva.




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.




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

TOPO