Como optimizar Ubuntu 14.04 LTS al máximo

Bueno, necesito optimizar mi Ubuntu 14.04 al máximo debido a que tengo poca memoria RAM y cada MB cuenta, he estado investigando como optimizar y exprimir al máximo los recursos, para que con equipos de gama media, tirando más bien a baja, les resulte más fácil su ejecución.

Eliminar unity-music-daemon

Descripción: Es una aplicación que permite buscar música desde el Dash de Unity

Memoria RAM que consume: 30MB

Eliminar el Scope de las tiendas de Música Online

Descripción: Algo parecido ha lo de arriba, yo lo desinstale porque no me hace ninguna falta.

Memoria RAM que consume: 30MB

Eliminar el Ubuntu One Sync Daemon

Descripción: Sirve pera almacenar archivos en la nube con Ubuntu One ofreciendo 5Gb gratis para quien los quiera pudiendo almacenar Documentos, Música etc… Yo lo elimine.

Memoria RAM que consume: 18MB

Eliminar el proceso bluetooth-applet

Descripción: Es un proceso que esta todo el rato encendido esperando que algún dispositivo con Bluetooth se conecte, yo no lo uso así que también lo elimine:

Memoria RAM que consume: 3MB

Eliminar el proceso indicator-printers-service

Descripción: Lo mismo que lo anterior, al parecer este proceso está relacionado con la impresión, es un indicador del panel superior y el mismo se hace visible al conectar una impresora, para así brindar acceso a la configuración de la misma. Para que no se ejecute le cambiamos el nombre a su ejecutable.

Eliminar deja-dup-monitor

Descripción: Sirve para programar copias de seguridad automáticas, yo esto no lo necesito así que lo elimino.

Memoria RAM que consume: 500KB

Eliminar el demonio de Gnome Online Accounts

Descripción: Ahora mismo no estoy seguro si el paquete gnome-online-accounts está instalado por defecto en la instalación, solo sé que casi no he instalado nada y de vez en cuando me topaba con este proceso corriendo sin que nadie lo llame, Gnome Online Accounts es una nueva vía que incorporó GNOME 3 para almacenar a servicios en la nube donde tenemos documentos, correo electrónico, etc. Es una magnífica funcionalidad pero que la gran mayoría no la usamos.

Memoria RAM que consume: 2.1MB

Eliminar el servicio One Conf Service

Descripción: Esta relacionado con Ubuntu One y por lo tanto yo no lo necesito.

Memoria RAM que consume: 13.2MB

Eliminar la comprobación automática de actualizaciones

Descripción: Sirve para que cada vez que Ubuntu encuentra nuevas actualizaciones no te este avisando todo el rato.

Memoria RAM que consume: 35MB

Sustituir el Software Center por Synaptic

Descripción: Yo haciendo este paso note mucha diferencia, el equipo mejoro notablemente, si el usuario no esta un poco avanzado recomiendo que dejéis el centro de Software le sera más fácil instalar las aplicaciones.

Memoria RAM que consume: 60MB

Nota: Al desinstalar el Centro de Software también necesitarán utilizar una herramienta para instalar a mano los .deb que tengan en sus PCs, esos que instalamos al hacer doble clic sobre ellos, para eso deben instalar ahora el programa Gdebi.

Modem Manager: (2.7 MB)

Update Notifier: (3 MB)

Con eso ya lo tendremos casi todo.

¡Hasta un próximo post!

 

 

Exception with message proc_open

PHP Fatal error: Uncaught exception ‘ErrorException’ with message ‘proc_open(): fork failed – Cannot allocate memory’ in phar

Eso significa que composer.phar se quedó sin swap. Ahora, ¿como lo arreglamos?.

Esta es una solución para los usuarios de Ubuntu 14.04 y similares, en mi caso tengo una pequeña partición para el manejo de swap, por eso suceden este tipo de errores. Esta solución te va a permitir añadir ese extra de swap que necesitas sin modificar mucho.

Verifica que tienes espacio suficiente en el disco

Antes de hacer cualquier cosa, asegúrate que tengas espacio disponible:

Crear un archivo Swap

Ahora que tienes suficiente espacio en el disco para trabajar, vamos a crear un archivo llamado swapfile en la raíz del disco  (/). El archivo debe reservar la cantidad de espacio que queremos usar para nuestra swap.

Aquí viene la magia

Hay 2 formas de configurar esta swap, la forma tradicional reservando y creando una partición en el disco, y la forma rápida donde vamos a usar el programa fallocate. Este comando crea un archivo con un tamaño preasignado instantáneamente, sin tener que escribir mucho.

Vamos a crear un archivo de 4 Gigabytes:

La creación de este archivo es casi inmediato. Podemos confirmar que la cantidad de espacio fue reservado efectivamente.

Habilitando el archivo Swap

Ahora que el archivo está creado, debemos indicarle a nuestro sistema que ese archivo tiene el propósito de ser usado para Swap. Antes de hacer eso, debemos añadirle permisos para que solo pueda ser accedido por root. Permitir que otros usuarios puedan leer o escribir en el archivo sería un riesgo de seguridad enorme.

Verifica que el archivo tiene los permisos correctos:

Ahora nuestro archivo es mas seguro y podemos decirle al sistema que lo configure para swap.

Ahora nuestro archivo esta listo para ser usado como swap y podemos habilitarlo.

Verificamos que el procedimiento fue satisfactorio chequeando que nuestro sistema tiene mayor espacio de swap ahora:

Nuestro swap fue configurado y aumentado correctamente y nuestro sistema puede comenzar a usarlo si es necesario.

Hasta aquí todo marcha bien, podemos dejar ese archivo swap solo para momentos que así se requieran o podemos usarlo permanentemente configurando añadiendo en el /etc/fstab.

¡Hasta un próximo post!

Deploy Meteor.js + Heroku Custom Buildpack + NodeJS

Heroku es un PaaS que te permite fácilmente desplegar aplicaciones web de forma rápida y segura por medio de “Buildpacks”, estos no son mas que scripts que se encargan de realizar el despliegue automatizado de una aplicación que ha sido subida por medio de git a Heroku.

Cada vez que haces un git push a Heroku, Heroku compila, prepara y despliega tu codigo para que sea ejecutado en la plataforma de Heroku. Este despliegue y compilación automatizada está basado en una colección de scripts llamados buildpacks. Heroku actualmente tiene implementado buildpacks para diferentes lenguajes y frameworks como Ruby, Python, Java, Clojure, Node.js, Scala, Go y PHP.

Ruby https://github.com/heroku/heroku-buildpack-ruby
Node.js https://github.com/heroku/heroku-buildpack-nodejs
Clojure https://github.com/heroku/heroku-buildpack-clojure
Python https://github.com/heroku/heroku-buildpack-python
Java https://github.com/heroku/heroku-buildpack-java
Gradle https://github.com/heroku/heroku-buildpack-gradle
Grails https://github.com/heroku/heroku-buildpack-grails
Scala https://github.com/heroku/heroku-buildpack-scala
Play https://github.com/heroku/heroku-buildpack-play
PHP https://github.com/heroku/heroku-buildpack-php
Go https://github.com/heroku/heroku-buildpack-go

También es posible crear o sobreescribir tus propios buildpacks para realizar cambios en el despliegue de tu aplicación en Heroku.

Si has llegado a este punto ya tienes una aplicación desarrollada en Meteor y quieres hacer deploy de tu aplicación sobre Heroku. Para ello debemos aplicar un custom buildpack que permita a Heroku desplegar correctamente tu aplicación.

Para ello debemos indicarle a Heroku que vamos a usar un buildpack particular:

Ahora debemos indicarle donde se encuentra nuestra base de datos, yo particularmente utilizo la cuota gratis de MongoLab

Solo nos queda hacer git push en nuestro proyecto para que se haga el despliegue en Heroku.

¡Hasta un próximo post!

Error leyendo /home/user/.nano_history: Permiso denegado Pulsa intro para continuar iniciando nano

Algunas veces al tratar de editar o crear un archivo de texto utilizando editores de texto como “nano” nos encontramos con un mensaje de error que si bien no es importante, es molesto. Basta con presionar la tecla Enter para que el mensaje desaparezca y entremos en el programa para editar dicho archivo.

Este mensaje de error esta causado por no tener permisos para escribir en el archivo /home/usuario/.nano_history, si se fijan bien, el nombre de archivo comienza con un “.” (punto), lo que en Linux significa que es un archivo oculto.

Para solucionarlo es necesario devolverle los permisos a dicho archivo (ya que fueron cambiados accidentalmente por lo general). Basta con ejecutar el comando chmod 755 como root, o con sudo para distribuciones basadas en debian.

:~$ nano ./archivo.txt

Error leyendo /home/usuario/.nano_history: Permiso denegado

Pulsa intro para continuar iniciando nano

:~$ sudo chmod 775 ./.nano_history
Password: (pon el password correcto)

y listo !

Ya no molestara mas este mensaje la próxima vez que deseemos crear o editar archivos de texto con nano.

Nano es un editor de texto muy potente para la terminal de linux. Carece de interfaz gráfica lo que lo hace una excelente opción para editar archivos de configuración cuando las cosas van mal y no pueden acceder al escritorio o manejador de ventanas.

Chequear una cadena vacia en bash

En Bash muy a menudo debemos comprobar si una variable tiene un valor distinto de una cadena vacía. Esto se puede hacer usando los operadores de comparación de cadenas -n o -z.

El operador -n comprueba si la cadena no es nulo. Efectivamente, esto devolverá True para todos los casos, excepto cuando la cadena no contiene ningún carácter. es decir:

Similar, el operador -z chequea si la cadena es null, ejemplo:

Tenga en cuenta los espacios alrededor de los corchetes. Bash se quejará si los espacios no están allí.

¡Hasta un próximo post!

Reset MySQL root password

contar ocurrencias mysql

Perdiste la clave root de tu MySQL en Ubuntu?

Fácil, vamos a recuperarla:

Si quieres probar que ha funcionado:

¡Hasta un próximo post!

Usando Google Public DNS en Ubuntu Server

Generalmente prefiero usar los DNS de google y para Ubuntu Server no será la excepcion.

Cambiando el Nameserver

Abrimos /etc/resolv.conf y pegamos las siguientes lineas:

Podemos borrar o comentar las lineas del nameserver anterior, y eso es todo.

¡Hasta un próximo post!

Ruby on Rails RVM en Ubuntu 14.04

Instalar RoR en Ubuntu 14.04 via RVM es sumamente facil pero hay una libreria nativa que da errores al instalar y para eso es este post, vamos a solucionar ese problema. Vamos con lo primero.

Instalamos RVM y Ruby (en este momento la ultima estable de Ruby es v2.3.0)

Como en Python tenemos un virtualenv, aqui en Ruby tenemos la oportunidad de usar un Gemset para cada proyecto.

Antes de instalar Rails vamos a instalar Nokogiri

Ahora vamos con Rails, la ultima version estable es v4.2.5

Eso es todo, espero les quite muchos dolores de cabeza al momento de compilar una librería nativa.

¡Hasta un próximo post!

instalar PHP 5.6 en Ubuntu 14.04 LTS

Ubuntu 14.04 LTS viene con PHP 5.5 por default, pero si quieres usar PHP 5.6, entonces tienes que escribir solo 3 lineas en tu consola de comandos.

1. Agrega PHP 5.6 package sources en tu sistema:

Confirma con ENTER. Si tienes algún error aquí, necesitas instalar python-software-properties primero

2. Actualiza las fuentes

3. Instala PHP

Eso es todo, ya tienes instalado “PHP 5.6.x”. Para verificar esto en tu consola escribe:

¡Hasta un próximo post!

Flashear Android ZTE Blade Apex2 (Digitel) Venezuela

Hace poco instale una app que parecía muy normal y cuando me di cuenta había instalado un Malware que se alojaba en la rom como un servicio nativo de Android, esto ocasionaba que se instalaran apps sin mi autorización y extrañamente el teléfono siempre tenia una app abierta cuando salia del protector de pantalla.

Buscando en Internet descubrí que si borraba el teléfono por completo y volvía a instalar de fabrica, no se eliminaba el malware, debido a que se alojaba en la ROM del teléfono como parte del sistema Android y no podía ser borrado y que la única forma de solucionar este problema era “Flasheando el Teléfono”.

Y que significa “Flashear el Teléfono”, no es mas que reinstalar el sistema operativo en la ROM del teléfono borrando el Android actual e instalando este nuevo Sistema Operativo.

Por suerte conseguí el que viene Android original que viene de ZTE de Digitel debido a que fue liberado oficialmente para su uso. Te voy a enseñar a reinstalar el Android original de tu ZTE Blade Apex2 de Digitel como cuando recién lo compraste.

Para ello debes seguir los siguientes pasos:

1.- Saca un respaldo de TODOS los archivos importantes del teléfono. Guardarlos fuera del teléfono y fuera de la microSD

2.- Asegúrate de tener suficiente batería ya que el proceso una vez iniciado no puedes detenerlo

3.- Descarga el Android Original desde la pagina de ZTE http://adf.ly/1WbCC8 (El enlace está acortado con adf.ly, demora 5 segundos para que continúes con la descarga, con esto me apoyas para continuar publicando.)

4.- Una vez descargado el archivo ZIP debes abrirlo, vas a encontrar un archivo llamado update.zip

5.- Copia el archivo update.zip a la raíz de tu microSD

6.- Presiona la tecla menu —> Settings (ajustes) —> About Phone (acerca del dispositivo) —> System Updates (actualizaciones del sistema) —> Storage Card Updates

7.- En Storage Card Updates presionas OK y luego Update Now

8.- Espera a que el proceso culmine, no te desesperes si ves que está atascado o que tarda en reiniciar, todo es normal.

9.- Una vez que el teléfono te da la bienvenida como si lo acabaras de comprar entonces está listo.

10.- Android te guiará en la configuración del dispositivo tal cual como cuando lo encendiste por 1ra vez.

Es todo, espero les ayude a salvar su teléfono y borrar los molestos virus de su equipo.

¡Hasta un próximo post!