lunes, 11 de enero de 2016

Hacer una carpeta de ejecutables (tipo /usr/bin/) en tu carpeta personal

Ya hay muchas distribuciones de linux que incluyen esta funcionalidad por defecto. En ellas, únicamente hace falta crear la carpeta bin en tu carpeta de usuario y los scripts que se introduzcan en esa carpeta serán accesibles desde cualquier otra carpeta (en una terminal).

Pero para aquellos que esto no les venga configurado por defecto, se puede hacer de manera muy sencilla.

Para buscar los scripts, la terminal de GNU/Linux busca dentro de las carpetas contenidas en la variable del sistema $PATH. Por lo que debemos  incluir nuestra carpeta bin en esa variable.

Para ello vamos a añadir al final del fichero .bashrc, contenido en nuestra carpeta personal (oculto), lo siguiente:

PATH=$HOME/bin:$PATH

Haciendo que PATH contenga nuestra carpeta /home/usuario/bin y lo que contenía previamente.

Proceso:

  • En una terminal --> $ gedit ~/.bashrc
  • Añadimos al final del fichero : PATH=$HOME/bin:$PATH
  • Guardamos y cerramos


Éste fichero (.bashrc) lo ejecutará cualquier terminal al abrirse, por lo que siempre estarán disponibles nuestros scripts desde cualquier otra carpeta en la que nos ubiquemos.

Un saludo!

jueves, 26 de noviembre de 2015

Cómo compilar un kernel "a la Debian"

El proceso de compilación de un kernel se ha simplificado bastante desde hace un tiempo hasta ahora. Esto nos facilita poder actualizar de forma sencilla el kernel para poder aprovechar mejor el hardware de máquinas nuevas con nuestro sistema operativo preferido.

Existen diversas formas de hacerlo, pero me centraré en la forma "a la Debian", ya que en este blog nos enfocamos siempre a distribuciones derivadas de Debian. Al lío.


     1.    Debemos conseguir el kernel que necesitemos. Según tu distribución es posible que haya kernels específicos ya parcheados.

Para descargar el último kernel disponible acceder a: https://www.kernel.org/ 
Si necesitas una versión específica puedes encontrarla aquí: https://www.kernel.org/pub/linux/kernel/


     2.    Descomprimir el kernel
  • $ tar -xzvf linux-kernel.tar.gz


     3.    Acceder a la carpeta del kernel
  • $ cd linux-kernel

Si se van a aplicar parches este sería el momento de realizar los cambios pertinentes en los ficheros de compilación.


     4.    Copiamos la configuración del kernel actual y configuramos el nuevo kernel basándonos en el antiguo.
  • $ cp /boot/config-kernel-version ./
  • $ make oldconfig

Al ejecutar "make oldconfig" copiará la configuración antigua en la nueva, pero habrá novedades en el nuevo kernel que tendremos que especificar si queremos instalarlas o no.


     5.    Definimos el número de hilos que queremos que se usen en la compilación. Lo ideal sería el número de núcleos de tu procesador + 1.
  • $ export CONCURRENCY_LEVEL=6

     6.    Compilamos el nuevo kernel y generamos la imagen del kernel y los headers
  • $ make-kpkg --rootcmd fakeroot --initrd --revision=1.0 --append-to-version=”loquesea” kernel_image kernel_headers

Tras acabar la compilación, que puede durar bastante, se habrán generado dos paquetes deb fuera de la carpeta donde nos ubicamos.


     7.    Salimos de la carpeta e instalamos los debs generados
  • $ cd ..
  • $ sudo dpkg -i linux-image.deb linux-headers.deb


Con ello sólo nos queda probar nuestro nuevo kernel reiniciando la máquina y eligiéndolo en el GRUB y comprobar que todo funciona correctamente.

Un saludo!!


PD: He de añadir que actualizar el kernel no siempre es la mejor opción. Es cierto que un kernel más nuevo dará soporte a cosas más actuales, pero también se puede dar el caso de que se deje de dar soporte a algún componente hardware del que dispongamos. Por lo que recomiendo que se estudie antes si es mejor actualizar o quedarse con el que se tiene.