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

lunes, 11 de agosto de 2014

Recuperar/Reinstalar linux mint con live cd

linux-mint-logoBueno, esta vez les vengo con un tuto para poder recuperar una instalación de linux mint con el live cd, me tocó anoche ya que tuve un problema y pues me di a la tarea de buscar información acerca de tema y es bastante difícil conseguir información para esto así que voy a publicar un tuto aquí para que si alguien le sucede algo parecido pues tenga información sencilla de como hacerlo.


En este caso explico como hacerlo para linux mint, pero si no me equivoco, funcionaría para ubuntu también. Los pasos son bastante sencillos, es mas bien una publicación informativa en vez de ser un tutorial.


Primeramente lo que necesitan es descargarse la iso específica de la distro que tenían anteriormente (la que estropearon), la montan en un usb o un dvd, como les sea mas cómodo.


Inician en modo live desde el CD o desde el USB y comienzan la instalación como si fuera una totalmente nueva, les dice que deben tener internet, tantos GB libres y demas.


El detalle está ya en la parte donde te dice que si borras el disco, instalas junto con los demás sistemas operativos o una personalizada. Elegimos la parte personalizada y nos muestra las tablas de particiones que tenemos.


installation-type


El truco está en elegir la misma partición donde ya tenias instalado, darle cambiar o modificar para que te abra la configuración de esa partición, eliges el mismo tipo y el mismo punto de montaje, que todo quede exactamente igual como en tu primera instalación y NO ACTIVAR EL CHECK DE FORMATEAR ojo con esto ya que sino, no tendría ninguna ciencia intentar recuperar una instalación anterior.


partition


Luego lo siguiente es crear un usuario con el nombre exactamente igual como el anterior y de ahí en adelante seguir con la instalación como si fuera alguna nueva...


Al finalizar reinicias y cuando enciendas tendrás tu cuenta normal, el grub como en una primera instalación y tus documentos normales en tu carpeta personal.


Todo el truco está en no formatear la partición, crear el mismo usuario y colocar la misma configuración como la primera vez.


Incluso en caso de que hayas perdido las aplicaciones que tenías instalada, como fue mi caso, a instalarlas de nuevo, recuperó todas las configuraciones anteriores, como por ejemplo, había perdido skype y al instalarla de nuevo luego de recuperar mi instalación pues me logueo como si no hubiera pasado nada. Y las que no perdiste anteriormente, el sistema intenta unirlas a la nueva instalación...


Espero le sirva a cualquier necesitado, es bastante sencillo, pero no hay mucha información de ello.


Saludos a todos.

miércoles, 6 de agosto de 2014

Auto-deploy con github y NodeJS

nodejs

Hace unos días estaba creando una aplicación en Velneo para actualizar otras aplicaciones utilizando GitHub como repositorio para mi fuente y me comentaron acerca de los auto-deploy con GitHub como una funcionalidad para mi aplicación así que me di a la tarea de investigar un poco cuales eran las mejores opciones para hacer funcional esta idea.


Luego de leer mucho, probar y demás... utilizando php, ruby, python, me decidí por NodeJS, ya que tiene una facilidad increible para crear "webserver's" sencillos, asi que es sumamente fácil poner en práctica un auto-deploy con github y sus webhooks utilizando alguna librería. Comenzaré entonces explicando paso a paso como lograr esto.


Debes tener en cuenta que para lograr esto, la máquina o servidor donde deseas hacer el auto-deploy debe tener una ip pública o algún dns para que por medio de los webhooks reciba la petición.


Cual es el funcionamiento de los webhooks? Bueno, cuando hacemos un push a un repositorio en github, este enviará una petición POST a la URL que hayamos configurado. Esta URL se especifica en la configuración del repositorio. Esta petición POST incluira una variable "payload" con información del ultimo commit del repositorio.


Luego de esto entonces nosotros nos encargaremos de ejecutar cualquier acción que deseemos al recibir esta petición, ya sea utilizando NodeJS directamente o algún script .sh


Bueno, comenzaremos con cumplir los requerimientos básicos, aquí probaremos con un servidor Centos, así que comenzaremos con instalar NodeJS y NPM



yum install nodejs npm -y

Con esto instalamos directamente los dos paquetes, y con "-y" aceptamos directamente y así no nos pide confirmación.


Luego tenemos que movernos a la carpeta donde crearemos nuestro script, en este caso la crearemos y nos moveremos dentro para instalar gith, que usaremos para escuchar y recibir el payload.



# Creamos la carpeta
mkdir nodeapp
# Nos movemos a la carpeta creada
cd nodeapp
# Instalamos gith en esta carpeta
npm install gith
# Abrimos un archivo para el contenido de nuestro script
nano script.js

ya que tenemos instalado gith, procedemos a crear nuestro script JS



// Escuchamos en el puerto que deseemos
var gith = require('gith').create( 9001 );
// Importamos execFile, para correr nuestro script de bash
var execFile = require('child_process').execFile;
// Usamos gith
gith({
// Repositorio
repo: 'xploshioOn/autodeploy'
// Le decimos que se ejecute esto cuando se agreguen, eliminen o modifiquen archivos
}).on( 'file:all', function( payload ) {
// Si la rama es la master
if( payload.branch === 'master' )
{
// Ejecutamos nuestro script
execFile('/nodeapp/script.sh', function(error, stdout, stderr) {
// Finalizó sin problemas
console.log( 'script completado' );
});
}
});

Comento la mayoría de las lineas para un mejor entendimiento de este.


Igualmente dejo un enlace a Gith para que puedan tener información completa de la librería.


Luego procedemos a jugar con nuestro script shell



nano /nodeapp/script.sh

#!/bin/bash
# Inicializamos git
git init
# Hacemos pull del repositorio
git pull

Esto teniendo en cuenta que nuestro repositorio haya sido clonado directamente y ya tenga el remote.origin.url bien...


Teniendo esta estructura, podemos agregar mas lineas a nuestro script JS o sh para ejecutar las acciones que creamos convenientes cada vez que se actualice nuestro repositorio en github o se haga un push.


Ahora luego de configurar el webhook en nuestro repositorio a http://nuestroservidor.com:9001, ya tenemos nuestro script que escucha, github que nos enviará una petición y al recibir ejecutará nuestro sh, solo nos queda una cosa por hacer, necesitamos que el script js se ejecute automatcamente y esté escuchando siempre. para eso utilizamos forever.



# Instalar forever globalmente 
sudo npm install -g forever
# Inicializamos nuestro script
forever start /nodeapp/script.js

puedes detenerlo con stop apuntando a la misma ruta o ver todos los scripts levantados con list.


En mi aplicación envío correos, para lo cual utilicé nodemailer en mi script node, e igualmente agregué un par de cosillas mas a mi script sh...


Espero les sirva y pues cualquier duda, o algún funcionamiento mas que necesiten, no duden en comentar.


Saludos.

martes, 13 de noviembre de 2012

Curso de Sass y Compass - 3 - Lo más básico sobre la terminal

Este es el 3º video del curso de Sass y Compass en el cual vamos a ver rápidamente como usar la terminal en Windows, Linux y sistemas similares a Unix. No se asusten esto lo hacemos sólo para movernos entre los distintos directorios y posteriormente crear un proyecto con Sass/Compass (en el próximo video), son sólo unos pocos comandos. Luego podremos crear un proyecto desde 0 o transformar uno ya existente.




El Video




Descargar en HD


En el caso de que lo quieras tener más a mano y poder analizarlo mejor.


Algunos enlaces


Todos los videos del curso

Web oficial de Compass

Web oficial de Sass

Cualquier duda o cosa que no haya tocado no duden en preguntar ;-)

miércoles, 3 de octubre de 2012

Trabajar con Git más Dropbox - Videotutorial

Trabajar con Git más Dropbox


En este pequeño video veremos como trabajar con Git más Dropbox para poder trabajar en equipo con la gente que deseamos.


En Internet existe una web que se llama GitHub que nos sirve para compartir nuestros repositorios Git con el resto del mundo. Pero a veces no queremos compartir nuestros repositorios con todo el mundo, sino sólo con algunas pocas personas. En este caso podemos utilizar Dropbox para subir nuestros repositorios de git a dropbox y compartir nuestros repositorios con la gente que deseamos.


También en el caso de una aplicación web o un tema para algún CMS siempre es mejor hacerlo en local en vez de estarlo modificando desde el servidor por medio de FTP. Es mejor para que los usuarios de nuestra web no estén presenciando los cambios en tiempo real, ya que esto es un poco perjudicador.


También tengo que señalar que para entender el video hay que tener algunos conocimientos básicos sobre Git, Shell Linux (o similares).



El Video



También puedes descargar el Video en HD


Descargar acá

Resumen


En nuestra carpeta de Dropbox creamos una carpeta para almacenar el repositorio.
mkdir /home/writkas/Dropbox/mi_repo

Entramos a la carpeta creada y inicializamos nuestro repositorio.
cd /home/writkas/Dropbox/mi_repo
git --bare init

Ahora sólo vamos al directorio donde queremos clonar, en mi caso iré a una carpeta que tengo en home que tiene el nombre de "git".
cd /home/writkas/git/
git clone /home/writkas/Dropbox/mi_repo

Y listo! esta clonado y podemos enviar y recibir cambios.

El video se alarga un poco para que sea más explicativo, pero el resumen ya esta.

También este es mi primer video tutorial, estaba un poco nervioso. Y pueden dejar sus críticas y consultas, que creen que le falto al video, que no se entendió bien, si les pareció aburrido, etc.

jueves, 27 de septiembre de 2012

Grabar el escritorio en Linux

grabar el escritorio con recordmydesktop

En Linux hay muchas formas de grabar el escritorio, pero estos programas no son de tan buena calidad como por ejemplo Camtasia Studio que es muy bueno pero no esta para Linux. En cambio si hay otros como: XVidcap, FFmpeg, Kdenlive (utiliza recordmydesktop), RecordMyDesktop, Kazam y otros!

En PCs más antiguos RecordMyDesktop se hace muy pesado grabar el escritorio, por lo que les recomiendo XVidcap ya que es mas ligero, solo que a veces cuesta hacerlo funcionar. Pero en este arítulo nos concentraremos en utilizar RecordMyDesktop desde la linea de comandos pero hay unos trucos para mejor el rendimiento al grabar con RecordMyDesktop. También existen interfaces gráficas para RecordMyDesktop: gtk-recordmydesktopqt-recordmydesktop.

 

Algunos casos útiles


Si necesitamos grabar el escritorio desde cierto punto en nuestro monitor, por ejemplo, queremos que la captura de pantalla comience en el pixel 200 horizontal y en el pixel 100 vertical de nuestro monitor; y también queremos que nuestro video tenga un tamaño de resolución que nosotros definamos. Podemos utilizar:
recordmydesktop -x 200 -y 100 --width 1280 --height 720

RecordMyDesktop por defecto convierte el video al formato ogv (Vorbis + Theora) o también conocido como formato ogg. Pero luego con algún otro programa se puede convertir el video a algún otro tipo de formato si se desea. Y si a RecordMyDesktop no se le pasa el nombre del archivo que queremos guardar nuestro video, éste por defecto le coloca out.ogv .

Las opciones que le pasamos a recordmydesktop significan:

-x se le pasa el pixel del eje x (horizontal) desde donde empieza a grabar el video en la pantalla, su valor mínimo es 1 y el valor máximo depende ya de la resolución del video.
-y se le pasa el pixel del eje y (vertical) desde donde empieza a grabar el video en la pantalla, su valor mínimo es 1 y el valor máximo depende de la resolución del video.
--width se le pasa la resolución del ancho del video
--height se le pasa la resolución del alto del video

Yo en mi caso le di --width 1280 --height 720 porque quise que mis videos sean HD720p (el tamaño estándar y común de los videos HD). Pero puedes poner los valores que quieras pero tomando en cuenta tu la resolución de tu pantalla.

 

En el caso de que queramos grabar el video a resolución de nuestra propia pantalla, no es necesario darle a RecordMyDesktop ningúna opción. Podemos utilizar:
recordmydesktop

 

En el caso de que nosotros queramos que la grabación siga el puntero del mouse, darle un framerate (numero de capturas de pantallas por segundo) y además darle un nombre a nuestro video capturado. Podemos utilizar:
recordmydesktop --width 640 --height 480 --follow-mouse --fps 1 -o miVideo.ogv

Las nuevas opciones que le pasamos a recordmydesktop significan:


nstyle="color: #3366ff;">--follow-mouse con este parámetro le decimos a recordmydesktop que siga el mouse para grabar el escritorio

--fps 1 le decimos el número de frames por segundo (el número de capturas por segundo) que tenga nuestro video. Esto es útil en el caso de que nuestro PC no grabe bien los videos ya que el framerate por defecto puede ser muy alto para algunos PCs.

-o especificamos la salida de nuestro video (el nombre de nuestro video) en mi caso le puse miVideo.ogv


También existen otras opciones interesantes, como:

--no-sound en el caso de que no queramos que el video tenga sonido

 

Algunos trucos ;-)


A veces el sonido no nos funciona muy bien para grabar, lo que podemos hacer es subirle el volumen al microfono desde alsamixer. (en el caso de que en recordmydesktop estés utilizando alsa, lo puedes verificar con recordmydesktop --print-config). Puedes subir el volumen al microfono tecleando alsamixer y luego presionar F4, te vas a capture y ahí le puedes subir y bajar el volumen al micrófono. También aprovecha de comprobar de que input source este la opción rear mic, a veces al estar mal configurado esto da algunos problemas.

Si es que no se escucha muy bien la voz en tus videos, lo que puedes hacer es convertir el audio a mono y de paso pasar el video a H264 para que pese menos. Esto lo puedes hacer con ffmpeg (debes instalarlo).
ffmpeg -i video.avi -ac 1 -vcodec libx264 video-mono.avi

-i le pasamos nuestro video

-ac el número de canales de audio 1 (si queremos fusionar el audio derecho con el izquierdo)

-vcodec libx264 este es el codec de video para que pese menos (sin perdida visible de calidad)

video-mono.avi  simplemente es el nuevo nombre de nuestro video cuando ya este convertido

 

Eso es todo amigos de furycode.com ;-)