git-completion en bash

Si como yo, eres usuario bash puedes acceder algunas funciones de tu shell para potenciar tu experiencia con git y hacerlo más amigable. Git Realmente envía varios complementos para varios shell pero no están activados por defecto.

Unas de las características de GIT es su auto completado, por ejemplo si escribimos git checy tabulamos dos veces, vera que auto completa a git checkout si en su caso no lo hace, solamente deberá instalarlo de la siguiente manera:

Luego de instalar, veremos que ya obtendremos la característica de auto completado.

Personalizando mensaje.

También podremos personalizar el mensaje sobre la información del repositorio git. Esto es realmente un proceso bastante simple (debería serlo).
Normalmente se desea ver el directorio actual en done nos encontramos trabajando y el estado del directorio.

Configuración de Git-completion en bash.

En este caso debemos, con nuestro editor de (texto preferido) abrir el archivo .bashrc y agregar al final del archivo lo siguiente:

El \w significa imprimir el directorio de trabajo actual, la parte \$ imprime el $ del prompt, y __git_ps1 "(% s)" llama a la función provista por git-prompt.sh con un argumento de formateo. Ahora nuestro prompt bash se verá así cuando esté en cualquier lugar dentro de un proyecto controlado por Git:

~/projects/cv (master=)$

Ahora guardamos los cambios y luego debemos cerrar y volver abrir nuestro terminal para que funcione.

ahora veremos claramente que nos muestra el directorio donde estamos y el branche en el que nos encontramos trabajando.

Git-completion en bash

git-completion

Bash completion vienen con documentación útil; Eche un vistazo al contenido de git-completion.bash y git-prompt.sh para más información.

Referencia: git-scm

Instalar VirtualBox en Debian

Primero que nada, es importante saber que VirtualBox es una herramienta de Virtualización creado por Oracle.

Cuando hablamos de Virtualización, nos referimos a que podremos realizar una instalación de otros sistemas operativos (Windows, MacOS, BSD, Linux) sobre nuestro sistema anfitrion, o cualquiera que sea el sistema operativo principal que tengamos instalado en nuestro computador.

Se le hace llamar máquina virtual debido a que básicamente es una computadora instalada dentro de nuestra computadora pero que realmente no interactua con nuestro equipo como lo haría nuestro sistema operativo principal.

Quiza, en ocasiones habras visto que algunas personas llegan a tener en su computador dos o más sistemas operativos instalados, lo mas común de estos casos seria ver linux y windows compartiendo el mismo disco duro pero en particiones diferentes, a eso le llamamos dualboot.

El dualboot es comunmente usado por personas que en algunos casos utilizan linux como sistemas operativo pricipal, pero siguen dependiendo de alguna manera que alguna aplicacion el cual exclusivamente debe ser instalada en windows, normalmente cuando son creadas en lenguajes como Visual foxpro, vbasic, .net o cualquiera que de alguna manera este muy vinculada al sistema operativo. Otro caso comun es de los gamers que necesitan correr sus juegos para aprovechar al máximo los gráficos entre otras caracteristicas de sus juegos.

Sin embargo existen otros casos un poco menos “exigentes” en los que no tenemos la necesidad de compartir nuestro disco duro con un SO que no queramos usar, o que solamente usaremos para cosas puntuales o especeficas como: probar herramientas, simular equipos en red, configuraciones bases y más. todo esto lo podremos hacer en una maquina virtual [VM]. y de esta manera no tendremos que estar reiniciando nuestro equipo para cambiar de sistemas operativos.

Instalando VirtualBox

En caso de Debian y derivados, lo podremos encontrar en repositorios oficiales, sin embargo yo recomeindo utilizar los repositorios de la pagina para obtener la última version estable del vbox

Editando nuestros source.list

En este paso, debemos saber cual es la versión que estamos utilizando, en mi caso utilizo Debian y usaré stretch y que colocaremos de la siguiente manera:

En donde mydist será la versión que usaremos. Luego de comprendido esto, procemos a editar nuestro archivo.

$ sudo vim /etc/apt/source.list

y agregamos el repositorio

Ahora, debemos agregar los public key para realizar una descarga segura desde los servidores de Oracle, Lo haremos de la siguiente manera.

Descargamos el archivo

$ wget https://www.virtualbox.org/download/oracle_vbox_2016.asc

y si todo sale bien deberia mostrar una salida como la siguiente:

Luego de esto procedemos a agregar

Si queremos realizar todo desde un solo comando para decargar y agregar, se hace de la siguiente manera

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

la huella de la llave deberia ser la siguiente

Procedemos a instalar

$ sudo apt-get update && sudo apt-get install virtualbox-5.2

Esto hará que nuestro sistema de actualice con la ultima version de vbox y posteriormente comienza la instalación.

2da Modalidad, Descargando el .deb

Antes de proceder a realizar la descarga, debemos estar seguro la version de nuestro sistema operativo sea 32 o 64 bit es decir que: (32=i386) y (64=AMD64)
lueg de identificado esto, procedemos a realizar la descarga desde la pagina de VirtualBox

Luego de haber cultimando la descargar del archivo .deb procemos a la instalacion de la siguiente manera.

$ sudo dpkg -i ~/Descargas/virtualbox-5.2_5.2.12-122591~Debian~stretch_amd64.deb

y si todo ha salido como deberia, ya tenemos virtualbox instalado.

Instalando VirtualBox en Debian Buster GNU/Linux

VirtualBox en Debian Buster GNU/Linux

luego de esto, debemos agregar nuestro usuario al grupo vboxusers de la siguiente manera:

$ sudo usermod -G vboxusers -a usuario
Donde usuario seria el nombre de usuario de nuestro equipo con el que estamos trabajando.

Otra manera de hacerlo seria la siguiente:
$ sudo usermod -G vboxusers -a $USER

Espero que les sirva, Cualquier detalle no dudes en dejar sus comentários.

 

¿Como Optimizar el Uso de Memoria Swap en debian GNU/linux?

Actualmente, tenemos la posibilidad de configurar proporcionalmente el uso de la memoria swap en nuestros sistemas Linux gracias al Kernel.

¿Qué es la memoria swap?

También la conocemos como memoria de intercambio y simplemente una partición en el disco duro, el cual su función es nada mas y nada menos que actuar en función de memoria ram virtual siempre y cuando se haya agotado la disponible en el sistema.

El pequeño detalle con esto, es que cuando usamos SWAP en lugar de la memoria RAM nuestro sistema se, relentiza por esta razón debemos intentar usar la menor cantidad de swap posible.

Mejorando un poco el Uso de Memoria Swap en debian GNU/linux.

En los sistemas actuales, a nivel de kernel tenemos la opción swappiness con el cual podremos asignar en un valor de 0 a 100, esto daría un indicativo en cuanto a la preferencia de la memoria swap respecto a la RAM

Siempre que elegimos un numero mayor, habrá mas tendencia a utilizar la memoria swap. En cambio, un valor mas bajo tendrá mas preferencia por la memoria RAM, el valor por defecto de swappiness es de 60:

Para cambiar esto valores debemos realizar lo siguiente:

Verificamos el valor actual:

Si queremos cambiar en tiempo real, lo haríamos a través del uso del sysctl:

Sin embargo con este método, al realizar un reinicio perderemos dicho cambios, de modo que si queremos hacerlo permanente seria de la siguiente forma:

entonces si ya existe la linea, la modificamos, de lo contrario agregamos lo siguiente:

El valor es conveniente según los requerimientos de cada sistema, en este caso es mejor ir probando diferentes valores hasta que consideres adecuado a tu rendimiento.

Instalación Prestashop 1.7 en AWS

Instalación Básica de Prestashop 1.7 en una instancia AWS ec2 en ubuntu

Instalación paso a paso en EC2-AWS on ubuntu-server

Herramientas:

  • wget
  • unzip
  • ssh
  • chmod chown

Conectando “servidor desarrollo.”

Para conectarnos al Servidor Desarrollo, usando las credenciales asignadas de la siguiente manera:

ssh -i ~./ssh/keyName.pem [email protected]

1 Descargando PrestaShop Version 1.7 Estable.

En este caso, trabajaremos bajo el directorio /var/www/html/

cd /var/www/html/

y creamos el directorio donde instalaremos, para este caso le llamaremos ps_test

creamos el directorio

sudo mkdir ps_test

si solicita contraseña, coloca la misma de las credencial de usuario al conectarse.

entramos al directorio creado.

cd ps_test

Descarga

Procedemos a descarar prestashop de la siguiente manera, usando el comando wget.

sudo wget https://download.prestashop.com/download/releases/prestashop_1.7.1.2.zip

Luego de terminar la descarga, procedemos a descomprimir:

unzip prestashop_1.7.1.2.zip

obtendremos la siguiente salida:

En este punto, si hemos seguido paso a paso, podriamos acceder a travez del navegador y obtendremos la primera pagina de Prestashop que nos indica que podemos continua con la instalación:

http://120.xx.xx.xx/ps_test/

Donde 120.xx.xx.xx será la IP de nuestro servidor.

2 Creando DB mysql

Conectando a mysql (Debe solicitar credenciales para acceder a la Instancia mysql).

mysql -u usuario -p

donde “usuario” y password será el proporcionado por el administrador de sistemas.

luego de acceder a nuestra instancia

Para ver los nombres de las DB’s existentes Escibimos lo siguiente:

show databases;

y obtendremos la siguiente salida:

De esa manera veificamos que no se repita el nombre de la db que usaremos.

Precedemos a crear la DB necesaria para nuestro prestaShop de prueba.

create database prestashop_test;

eso nos devolverá lo siguiente:

para verificar que se ha creado nuestra DB con el nombre asignado, volvemos a escribir:

show databases;

y deberiamos ver lo siguiente:

Hasta acá, ya tenemos preparada nuestra DB para continuar con la instalación y podemos salir de nuestra instancia MYSQL:

escribimos.

\q

Instalación.

Ahora que ya tenemos todo preparado para la instalación, debememos descomprimir nuestra Tienda srestaShop:

sudo unzip prestashop.zip

Luego que comienza a descomprimir, en algun punto nos pide reemplazar el archivo index.php existente:

Y le decimos que si, presionando y [y]es:

En este punto, si todo ha salido sin problemas, deberiamos ir a nuestro navegador y escribimos nuevamente:

http://120.xx.xx.xx/ps_test/

Donde 120.xx.xx.xx será la IP de nuestro servidor.

y automaticamente seremos redireccionados a la pagina de instalación:

http://120.xx.xx.xx/ps_test/install/

El cual nos muestra un asistente para continuar la configuración de la tienda:

  • Seleccionamos el Idioma y presionamos [NEXT].
  • Aceptamos el License Agreements y presionamos [NEXT].

En este punto, probablemente nos muestra una ventana con algunos Warning relacionados con permisos de nuestros archivos.

Regresamos a nuestro terminal y nos regresamos al directorio principal para asignar los permisos necesarios:

cd /var/www/html/

escribimos los siguientes comandos:

sudo chown -R www-data:www-data ps_test

esto asigna el propietario y grupo del servidor web para obtener permisos de escritura.

Si regresamos a nuestro navegador, presionamos “REFRESH” y deberia mostrar un cuadro verde con el siguiente mensaje:

PrestaShop compatibility with your system environment has been verified!

Presionamos [NEXT] y nos pedira los datos sobre nuestra tienda como el nombre, direccion, email, país, usuario administrador, etc.

completamos todos los datos y presionamos [NEXT].

NO OLVIDES LA CONTRASEÑA QUE LE COLOCASTE

Conectando con la base de datos.

En este punto, el sistema te solicita los datos para conectarte a la DB que creamos en el paso 2,

Los datos que solicita son los siguientes:

  • “Database server address” podremos dejar como viene por defecto 127.0.0.1 o escribimos localhost.
  • “Database name” acá escribimos el nombre de la db que hemos creado, en este ejemplo se usó prestashop_test
  • “Database login” Aqui colocas el usuario que te haya asignado el Administador de Sistemas.
  • “Database password” y Aca, el password que te haya asignador el Administador de Sistemas.
  • “Tables prefix” hace referencia a prefijo que utilizaran las tablas creadas por PrestaShop, esto es mejor dejarlo extamente como está. por defecto es ps_

Presionamos [NEXT] y lograremos ver una barra de progreso realizando la instalación de nuestra tienda y si todo sale perfecto lograremos ver el siguiente mensaje:

Your installation is finished! You have just finished installing your shop. Thank you for using PrestaShop! Please remember your login information:

Cambio huso horario Venezuela 2016 Debian jessie

Como ya todos sabemos, a partir de este primero de mayo 2016, entró en vigencia nuestro nuevo ~~antiguo~~ huso horario, el cual pasa a ser UTC -4:30 a -4:00 ofreciendo una diferencia horaria de +30min

En pocas palabras, a partir de este 01-05-16 a las 2:30am debemos actualizar de manera manual o automática nuestros dispositivos, adelantándolo media hora.

tzdata en debian estable.

Para los que usamos Debian sea en su computador personal o en los servidores, la versión estable. Ya existe la actualización del paquete tzdata

Descarga

Lo primero que debemos hacer es descargar el paquete tzdata

Instalación.

luego procedemos a instalar de la siguiente manera:

dpkg -i tzdata_2016d-2_all.deb
luego de ser instado, verificamos los cambios.
# zdump -v /etc/localtime
y deberíamos tener una salida como la siguiente.

Verificamos las dos ultimas lineas que nos muestran los cambios referentes al 01/05/16 que nos indica el incremento de los 30min, la nueva antigua hora local

Cambiando hora al hardware

Para transferir los cambios al la hora de la tarjeta madre, lo hacemos de la siguiente manera:

# hwclock --systohc --utc

systohc Colocará la nueva hora al reloj del sistema

nuevamente Verificamos los cambios de la siguiente manera:

# timedatectl status

y nos devolverá algo como esto:

Ya, de este modo tendremos nuestro servidor con debian estable actualizado a los nuevos cambios horarios del país.

Espero haberles que ayudado.

Fuentes: juantrucupei

Cambiar resolución de fotos por lotes desde la consola.

Hace unos días tenia la tarea de subir ciertas fotografías tomadas con una cámara de 8MP a una pagina web, el problema realmente era que cada fotografías pesaba 2.3MB con una resolución de 3264×2448, algo que a mi parecer no es nada indicado para una galería fotográfica y mucho menos aún con la conexión que tenemos en el país.

El asunto era cambiar o bajar dicho tamaño sin sacrificar la calidad de la fotografías y hacerlo a 28 imágenes, investigando un poco di con una forma bastante sencilla a través de la consola linux el único requerimiento para dicha tarea es tener imagemagick instalado.

Instalando imagemagick en debian

# aptitude install imagemagick

luego que ya está instalado vamos al directorio en donde están las fotografías que vamos trabajar.

$ cd /home/ususario/imagenes/album

y ejecutamos lo siguiente:

el tiempo que tarda dependerá de la cantidad de fotos y el tamaño de cada una de ellas. El nombre reducido-$IMG seria el prefijo que se le asigna a la fotografía dimensionada, podemos usar el que veamos más conveniente

también podemos hacerlo con otras extensiones como .png, otro detalle que debemos estar pendiente es que algunas cámaras colocan las extensiones con mayúsculas .JPG si es así, debemos cambiar dependiendo de nuestros caso. De igual forma podemos jugar con el tamaño, yo logre una buena imagen de una original de 2.3 mb (3264×2448) a una de 66,2kb (653×490).

espero que les sirva de ayuda.

Solucionando problema (32) insufficient privileges en network-manager

Al instalar Debian en una  Acer Aspire One d-250 Teniendo razones obvias de rendimiento me decido por Openbox como entorno de escritorio.

Luego de mucho tiempo usando como gestor de interfaces de redes WICD decidí que era hora de darle una oportunidad al amado por mucho y odiado por algunos Network-Manager.

Posterior a la configuración de tint2, para poder hacer que network-manager se muestre en el systemtray días después tengo la oportunidad de probar mi conexión wifi pero resulta que al tratar de conectarme, me tope con un fabuloso aviso diciéndome “Failed to add new connection: (32) insufficient privileges”.

Entonces procedo a investigar cual es la causa de este inconveniente.

y simplemente es que como yo siempre instalo Debian como sistema base “Netinstall” y luego voy instalando y configurando lo que necesito, encontré la solución y realmente es sencilla.

Solucionando problema (32) insufficient privileges En en network-manager.

Primero, debemos agregar nuestro usuario regular al group netdev de la siguiente manera:

adduser tusuario netdev

Posteriormente nos vamos al directorio.

cd /etc/polkit-1/localauthority/50-local.d/
allí creamos un archivo con el siguiente nombre:
org.freedesktop.NetworkManager.pkla
Luego y con el editor de su preferencia le agregamos lo siguiente.

Guardamos

Reiniciamos el Network-manager

Listo ya deberíamos poder acceder a nuestra conexión wifi desde el applet del network-manager.

Instalando Nvdia 9400 GT en debian wheeze/testing

Kernel 3.2.0-2-686-pae

Este procedimiento es compatible con las tarjetas

GeForce 9M series:

9800M GTX, 9800M GTS, 9800M GT, 9800M GS, 9700M GTS, 9700M GT, 9650M GT, 9650M GS, 9600M GT, 9600M GS, 9500M GS, 9500M G, 9400M G, 9400M, 9300M GS, 9300M G, 9200M GS, 9100M G

Si no estas seguro del modelo de tu tarjeta puedes verificar de la siguiente forma

# lspci | grep VGA

y devuelve algo como

04:00.0 VGA compatible controller: NVIDIA Corporation G96 [GeForce 9400 GT] (rev a1)

Actualmente logre hacer el cambio exitoso a debian wheeze y to va funcionado excelente excepto por el driver de la tarjeta de video, no es que no esté funcionando si no que  no se obtiene el rendimiento adecuado y es por el soporte genérico del driver “nouveau” integrado en el kernel.

Ahora para hacer funcionar la tarjeta de video vamos a hacer lo siguiente…!

Primero verificamos que  tenemos instaladas linux-header y linux-imagen de acuerdo la versión de nuestro kernel en mi caso 3.2.0-2-686-pae

# aptitude search linux-image

mostrara el  siguiente resultado:

i A linux-image-3.2.0-2-686-pae     - Linux 3.2 for modern Pc

si al principio muestra una “i” es porque el paquete ya se encuentra instalado si muestra una “p” es por que no esta instalado pero esta disponible para ser instalado.

si tu caso te muestra una “p” entonces procedemos a  instalar de la siguiente forma:

# aptitude install linux-image-3.2.0-2-686-pae

y utilizamos el mismo procedimiento para linux-headers-3.2.0-2-686-pae

luego de instalar verificamos si el driver  nouveau esta cargado de la siguiente forma

# lsmod
una manera mas exacta seria con

lsmod | grap  nouveau

y lo agregamos a la lista negra para que no se cargue al inicial el sistema.

Con el editor de texto de tu preferencia abrimos el archivo fbdev-blacklist.conf de la siguiente manera

# vim.tiny /etc/modprobe.d/fbdev-blacklist.conf

agregamos al final de la linea “blacklist nouveau”  (sin las comillas)  y guardamos los cambios.
luego instalamos:

# aptitude install nvidia-glx nvidia-settings nvidia-xconfig && nvidia-xconfig

luego de instalar seguramente te dirá que el driver nouveau aun se encuentra cargado y que debe reiniciar…! luego de esto ya podremos tener nuestra tarjeta de video funcionando correctamente.

Espero que les pueda servir de ayuda…!