martes, 30 de julio de 2013

Instalar Arch de forma sencilla

Hola a todos como estan? Este post sale a la luz, porque el otro día reinstale el SO de mi pc, donde decidí quitar Fedora, y volver nuevamente al querido Arch :D, esta es una serie de pasos para su instalación de manera sencilla, hay algunas cosas que yo las instale de manera diferentes, porque sabía que quería exactamente, como por ejemplo los complementos de Gnome que no utilizo, y otros detalles :D Pero estos son los pasos basicamente :D



1- Primero en principal, por supuesto que tienen que ir a la web y descargarse la distro :D

2- Una vez realizado eso, deberán grabarlo en un DVD o como hice yo crear un usb booteable, como explique en un post anterior y que es el método que elegí utilizar porque mi lectora de dvd de la notebook esta rota y no pienso comprar una nueva :D

3- Ahora deberán bootear desde la unidad donde hayan grabado la imagen de Arch

4- Seleccionan la arquitectura que deseen, en mi caso 64bits (x86_64) si no eligen (i686)

5- Una vez realizado eso, van a prompt de root, establecemos la distribución del teclado con este comando: loadkeys es

6- Vamos a usar la herramienta “cfdisk” para particionar nuestro disco duro (en este caso voy a usar todo, si quieren podrían armarlo para que otro SO pueda ser opción con un multi-boot), así que tipeamos cfdisk

7- Una vez hecho esto, vamos a new -> primary y luego logical-beginning esto con cada partición que vamos a armar y vamos a elegir una estructura como esta:

sda1/boot 200Mb(no necesitamos más) y además la marcamos como booteable
sda2/root entre 15 o 50Gb(va a terminar siendo una cuestión de capacidad y gusto sobre cómo optimizarlo, si no tenes experiencia te recomiendo un buen tamaño ;D)
sda3/swap si tenes 4Gb de Ram o más, 2Gb van a ser suficiente. (con esta vamos a type y seleccionamos 82)
sda4/home si no vamos a tener otro SO podríamos dejar el resto del disco duro ;)

Una vez configurado esto vamos a write, yes, quit ojo que al realizar esto vamos a borrar todo :D asi que tenemos que estar seguro de esto ;)
(antes de terminar acordate de anotarte para que va a ser cada cosa por ejemplo sda1 - boot)
8- Ahora vamos a formatear cada partición:
Para boot el comando va  a ser: mkfs -t ext2 /dev/sda1
Para la home y root:  mkfs -t ext2 /dev/sda4 y mkfs -t ext2 /dev/sda2
Para la swap: mkswap /dev/sda3 y luego swapon /dev/sda3

9- Ahora montamos las particiones, la root va a ir en la raíz del disco así que el comando sería: mount /dev/sda2 /mnt
Creamos los directorios donde vamos a montar el resto:
mkdir /mnt/boot y mkdir /mnt/home para luego hacer:
mount /dev/sda1 /mnt/boot y mount /dev/sda4 /mnt/home

10- Ahora si tenemos el cable de red conectado, debemos probar que tenemos conexión a internet, para eso podemos tirar un ping: ping google.com
Si no tenemos problemas, podemos continuar ;)
(Si quieren una instalación con wifi no tendrían que tener problemas, en la web oficial explican como configurarlo ;) )

11- Debemos instalar algunas cosas, por eso es que necesitamos internet, eso lo hacemos con los siguientes comando:
pacstrap /mnt base base-devel (esto va a instalar lo básico para nuestro SO)
pacstrap /mnt grub-bios (esto instala el gestor de arranque)
pacstrap /mnt networkmanager (con esto va a ser más sencillo manejar nuestras interfaces de red)
pacstrap /mnt xf86-input-synaptics (esto en realidad sirve si lo estamos haciendo sobre una laptop, porque es para manejar el touchpad)

12- Una vez realizada la instalación de cada una de esas cosas:
genfstab -U -p /mnt >> /mnt/etc/fstab

13- Ahora para configurar el sistema:
arch-chroot /mnt
nano /etc/hostname
Escribimos el nombre que queremos en nuestra máquina, por ejemplo Gabriel :D
(para guardar siempre que usemos el editor nano vamos a usar Ctrl-x y Enter)

14- Ahora creamos un enlace simbólico para setear nuestra zona horaria:
ln -sf /usr/share/zoneinfo/America/Buenos_Aires /etc/localtime
nano /etc/locale.conf y dentro escribimos LANG = es_AR.UTF-8 y guardamos
luego nano /etc/locale.gen y borramos el # por delante de es_AR.UTF-8
y guardamos el archivo

Generamos ahora lo configurado con el comando: locale-gen
Ahora creamos el archivo nano /etc/vconsole.conf y dentro escribimos KEYMAP=es y guardamos

15- Ahora instalamos grub y lo configuramos para eso:
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

Y para corregir un bug:
cp /boot/grub/locale/en@quot.mo /boot/grub/locale/en_US.mo

mkinitcpio -p linux

16- Ahora configuramos la contraseña de root:
passwd y elegimos nuestra pass ;)

Ahora exit y umount /mnt/{boot, home,}
y por ultimo reboot

17- Una vez que se reinicio la pc, sin el dvd o el pen colocado, o sea booteamos con el SO que instalamos y nos logueamos como root con la pass que seteamos anteriormente.
Y tipeamos:
systemctl start NetworkManager.service
systemctl enable NetworkManager.service

18- Ahora creamos un usuario normal:
useradd -m -g users -G audio,lp,optical,storage,video,wheel,games,power,scanner -s /bin/bash usuario
(reemplaza usuario por el nombre que desees)

19- Creamos la pass para el user que creaste: passwd usuario

20- Y para que pueda usar el comando sudo, debemos editar el archivo siguiente:
nano /etc/sudoers y eliminamos el # delante de la línea WHELL ALL = (ALL) ALL
volvemos a reiniciar reboot

21- Ingresamos con nuestro usuario y actualizamos la lista de paquetes de los repositorios con el comando: sudo pacman -Sy

Listo, ahora solo nos resta instalar la interfaz gráfica ;)

22- Instalamos lo básico para levantar el servidor X:
sudo pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils

23- Para soporte 3D: sudo pacman -S mesa mesa-demos

Y elegimos los drivers para nuestra placa de video, y las opciones son:

NVIDIA:
Drivers propietarios
sudo pacman -S nvidia nvidia-utils
Drivers de código abierto
sudo pacman -S xf86-video-nouveau
ATI:
sudo pacman -S xf86-video-ati
INTEL:
sudo pacman -S xf86-video-intel
Y si eso no nos sirven los más genéricos serían sudo pacman -S xf86-video-vesa
Y si queremos hacer una prueba para ver si se instalo correctamente:
sudo pacman -S xorg-twm xorg-xclock xterm
startx si no tuvimos problemas eso va a levantar una UI muy básica, para cerrarla tipeamos sudo pkill x

24- Ahora yo les voy a mostrar como instalar GNOME 3, porque es de lo más fácil y realmente me gusta, aunque no sea así para la mayoría :P, pero podría hacerlo con el que les guste :D
sudo pacman -S gnome gnome-extra
Y añadimos soporte para el network manager a Gnome:
sudo pacman -S network-manager-applet
25- Y para habilitar el login:
sudo systemctl enable gdm.service
y reiniciamos sudo reboot
Web Oficial de la distribución: https://www.archlinux.org/
Bueno eso es todo por este post, simplemente un pequeño paso a paso para que puedan arrancar con esta excelente distro “rolling release” que por lo menos para mí posee el mejor gestor de paquetes llamado “pacman”. Espero que les guste ;)

Saludos a todos, Gabriel

Como usar ActionBarSherlock con AndroidStudio

Hola a todos, este va a ser un post corto, mas que nada un tip, que no necesariamente será lo más óptimo :D, pero si quieren realizar pruebas con la librería ActionBarSherlock y están usando el nuevo IDE Android Studio, y no saben como hacerlo, pues con los siguientes pasos lo podrán realizar sin ningún inconveniente :D


Lo primero, es crear un nuevo proyecto (si no quieren utilizar uno que ya tengan armado), descargan la librería ActionBarSherlock con el siguiente comando:

git clone git://github.com/JakeWharton/ActionBarSherlock.git actionbarsherlock

(para poder realizar esto, por supuesto que necesitan tener instalado el sistema de control de versiones git en su pc ;) )

Una vez que termine de descargar la librería, nos movemos hacia la carpeta que se tiene que haber creado llamada “actionbarsherlock” y vamos a cambiarnos al branch dev:

cd actionbarsherlock
git checkout -b dev origin/dev

Ahora copiamos la carpeta “actionbarsherlock” dentro de “actionbarsherlock” en nuestro proyecto.

Y lo agregamos a las dependencias de gradle modificando el archivo settings.gradle, y agregamos esto:

include ':actionbarsherlock'

En el build.gradle de nuestro proyecto agregamos, en la sección de dependencias esto:

compile project(":actionbarsherlock")

Un problema que nos puede llegar a dar gradle, es quejarse de las versiones de compilación del proyecto, para eso se deberá corregir el targetSdkVersion en los manifest para que sean los mismo, como también en los build.gradle el compileSdkVersion ;)

Con esto pasos podemos utilizar ActionBarSherlock, por supuestos que existen otras formas de hacerlo, esto sería la forma más básica por ahora de usarlo.  (o por la menos la que conozco  :D, otra opción puede ser trabajarlo como un submodulo de Git, pero ahí tendríamos que jugar un poco mas con la configuración de gradle )

Cualquier otra opción que recomienden, serán bienvenidos sus comentarios, si ven otras maneras de hacerlo de forma sencilla, y que creen que funcionan mejor, serán bienvenidos los comentarios :D

Si quieren ver un ejemplo:


Espero que les sea de utilidad, repito, esto a lo mejor no es lo más optimo, pero para hacerlo más sencillo no encontré otra forma ;) espero comentarios :D

Saludos a todos, Gabriel

sábado, 27 de julio de 2013

Continuamos con Gradle?

Hola como estan? Vamos a seguir viendo un poco más esta herramienta llamada “Gradle” y aprendiendo un poco más sobre sus posibilidades, antes de ponernos realmente a trabajar con él en futuros post :D



Opciones para el Login

Bueno estas son algunas de las opciones que tenemos para cambiar la salida de Gradle y poder ver el login con mayor o menor detalle, para eso tenemos las opciones --quiet (o -q) --debug (o -d) --info (o -i) --stacktrace (o -s) --full-stacktrace (o -S) y si queremos ademas de ver el log, con diferentes cantidad de detalle, información de lo que va realizando podríamos utilizar el parametro --info (o -i)
Si usamos el comando siguiente gradle -i holaMundo, estando en la misma carpeta con el archivo build.gradle, que creamos en el anterior post, deberíamos ver una salida similar a esta:

Starting Build
Settings evaluated using empty settings script.
Projects loaded. Root project using build file '/home/gabriel/Escritorio/build.gradle'.
Included projects: [root project 'Escritorio']
Evaluating root project 'Escritorio' using build file '/home/gabriel/Escritorio/build.gradle'.
Compiling build file '/home/gabriel/Escritorio/build.gradle' using BuildScriptClasspathScriptTransformer.
Compiling build file '/home/gabriel/Escritorio/build.gradle' using BuildScriptTransformer.
All projects evaluated.
Selected primary task 'holaMundo'
Tasks to be executed: [task ':holaMundo']
:holaMundo
Task ':holaMundo' has not declared any outputs, assuming that it is out-of-date.
Hola Mundo!!!

BUILD SUCCESSFUL

Total time: 5.299 secs

Como cambiar la carpeta y el archivo de construcción ?

Como se habrán imaginado, cuando les había dicho que generen un archivo llamado build.gradle esto se debe a que es el nombre por defecto que gradle utiliza para este archivo, ya que al ejecutarlo gradle busca por defecto un archivo con ese nombre en el directorio actual, para ver lo que tiene que realizar. Pero nosotros podríamos cambiar eso con los siguientes comando: --build-file (o -b) y --project-dir (o -p) por ejemplo:
gradle -p carpetaContieneProyecto -q holaMundo (estando en una carpeta de nivel superior a la del proyecto)

O también podríamos renombrar el archivo a por ejemplo hola.build y utilizar un comando como este:
gradle -build-file -q holaMundo y debería funcionar igual ;)

Si queremos ejecutar la lista completa de tareas deberíamos usar el parámetro --dry-run (o -m) Lo que tiene de bueno este comando es que gradle primero se arma algo llamado Directed Acyclic Graph (DAG) donde gráfica todas las dependencias de las tareas, para poder ejecutarlas de manera correcta en caso de que algunas dependa de otra tarea.

Demonio Gradle

Como comente en el anterior post, gradle funciona sobre la Java Virtual Machine (JVM), entonces cada vez que utilizamos el comando “gradle” este levanta una JVM carga todas las clases, librerías necesarias y otras tareas, y esto lo hace en cada ejecución :P
Para evitar esto, nosotros podríamos pasarle como parámetro --daemon esto levanta un proceso con la instancia de la JVM con todo lo necesario la primera vez, posteriormente cuando usemos ese parámetro, vamos a seguir usando ese proceso que ya tiene cargado lo necesario, así que nos vamos a ahorrar un tiempo interesante de procesamiento :D  
Para asegurarnos de no utilizar este demonio podríamos utilizar --no-daemon y para detenerlo completamente --stop un pequeño tip, si queres usar siempre el demonio cuando ejecutamos gradle podríamos crear una alias si nuestro sistema lo soporta, en los basados en Unix, sería algo así como: alias gradled='gradle --daemon'. Si quisiéramos guardar la salida para verla posteriormente podemos usar el comando --profile que guardara las cosas en un archivo HTML donde vamos a poder verlo tranquilamente desde nuestro navegador :D

Como un dato extra, aunque yo no lo uso :D podemos utilizar una interfaz gráfica para gradle usando el parámetro --gui :P

Web Oficial:

Bueno eso es todo por ahora, más adelante vamos a ver cosas más interesantes sobre esta herramienta, con este post creo que terminamos de ver las opciones generales, aunque casi no escribimos tareas de automatización :P Nos vemos en la próxima ;)

Saludos a todos, Gabriel