sábado, 20 de marzo de 2010

Compilar un Kernel Vanilla custom 2.6.XXX en Debian y Ubuntu.

Por lo general cuando bajamos nuestra copia de Debian o Ubuntu, esta viene con un Kernel genérico, es decir configurado para el poder funcionar en cualquier equipo y para cargar los drivers de cualquier o casi cualquier tipo de hardware, pero nosotros podemos compilar un kernel de acuerdo a nuestras necesidades, es decir adaptado a nuestro equipo en particular, y pues ¿que ganaremos con esto? pues mas que nada para obtener mejor rendimiento de la maquina al no cargar módulos que nunca necesitaremos pues no contamos con ese hardware.

Pasos para compilar el kernel:

1.- Primero instalamos las dependencias que necesitaremos que así que desde la terminal como superusuarios escribimos: aptitude install kernel-package libncurses5-dev fakeroot wget bzip2 

Además de asegurarnos de tener las librerías libqt3-mt libqt3-mt-dev, libqt3-headers, libqt3-compat-headers además del paquete Qt3-assistant. 

2.- Después sera bajarnos la ultima versión del kernel vanilla de http://www.kernel.org/  pero, ¿que es un kernel vanilla? pues en pocas palabras es la versión del kernel que sale de los desarrolladores del kernel Linux y no ha sido modificado por alguna de las diferentes distribuciones que existen, es decir cada distribución tiene sus "versiones" de los nuevos lanzamientos del kernel "parchadas" y adaptadas a las necesidades de la propia distribución.

En este caso es la versión 2.6.33.1 así que bajamos el archivo tar.bz2 y lo descomprimimos, tradicionalmente es hacerlo en /usr/src así que desde la terminal tecleamos lo siguiente (en este caso tengo el paquete en el Escritorio o Desktop:

Desktop# mv linux-2.6.33.1.tar.bz2 /usr/src

Entramos al directorio /usr/src/
# cd  /usr/src

Descomprimimos el código fuente del kernel:

/usr/src# tar xfjv linux-2.6.33.1.tar.bz2

Entramos al directorio del código fuente del kernel:

/usr/src# cd linux-2.6.33.1

/usr/src/linux-2.6.33.1#  

Una vez dentro del directorio ejecutamos el comando: make xconfig

/usr/src/linux-2.6.33.1# make xconfig

Nos aparecera una pantalla como la siguiente:


Después cargamos el archivo de configuración (generalmente empieza con "config" de un kernel que este funcionando en este caso sera el archivo config-2.6.32-trunk-686 y se encuentra en la carpeta boot, del directorio raiz / para esto le damos en el icono del folder de la parte superior de la pantalla abrimos la carpeta boot.
 


Cargamos el archivo config:


Aquí procedemos a elegir las opciones del menú que se nos presenta para cargar solo lo que nuestro sistema tiene podemos auxiliarnos en la terminal de los comandos lspci (nos muestra nuestros dispositivos pci) , lsusb (nos muestra nuestros dispositivos usb), lsmod (que nos muestra los módulos que tenemos cargados) y less /proc/cpuinfo, que nos muestra la información de nuestro CPU, es importante que sepamos mas o menos que hardware tenemos y así mover los parámetros de acuerdo a nuestra conveniencia y si no es así mejor no nos metamos en chingaderas y no le movamos (puede quedar sin moverle solo guardamos y seguimos los pasos siguientes), ahora procedemos a compilar nuestro kernel y para esto tecleamos en la terminal en el directorio de nuestro código fuente:

/usr/src/linux-2.6.33.1# make-kpkg clean

Y despues:

/usr/src/linux-2.6.33.1# make-kpkg --initrd --revision=2:my.1.0 --rootcmd fakeroot --uc --us kernel_image

O si lo prefieren:

/usr/src/linux-2.6.33.1#fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

Después de esto hay que esperar un rato según la velocidad de la maquina pues es un proceso tardado, al finalizar nos creara dos paquetes .deb que instalaremos y a su vez nos instalara nuestro nuevo kernel.

Para instalarlos debemos estar en el directorio /usr/src y ejecutamos el siguiente comando:

dpkg -i "nombre del paquete" 

En este caso nos genero los paquetes:

linux-headers 2.6.33.1_2.6.33.1-10.00.Custom_i386.deb 
linux-image-2.6.33.1_2.6.33.1-10.00.Custom_i386.deb

De esta manera tendremos nuestro nuevo kernel actualizado y funcionando.

lunes, 15 de marzo de 2010

Como usar ndiswrapper para cargar drivers WIFI de Windows en Linux

Algunas veces no hay soporte o drivers para Linux de algunas tarjetas inalámbricas, ya sea porque los creadores del chipset de la tarjeta no han liberado las especificaciones del hardware o porque de plano no se les hinchan los webotes a los fabricantes el hacerlos, para esto nos queda la opción de usar ndiswrapper que es una capa de compatibilidad para usar drivers de Windows en Linux.

Para hacerlo lo primero es bajarse la ultima version del programa de aqui http://sourceforge.net/projects/ndiswrapper/files/ que en este caso es la 1.56, una vez descargada se descomprime en el escritorio, y se accede al directorio de la siguiente manera:

#cd Escritorio

#Escritorio/cd ndiswrapper-1.56

#Escritorio/cd ndiswrapper-1.56/

Una vez en el directorio se procede a compilar el programa con el siguiente comando:

#Escritorio/cd ndiswrapper-1.56/make

y despues

#Escritorio/cd ndiswrapper-1.56/make install

con el programa instalado y una vez que se tienen los drivers de windows (por lo general un archivo con extensión inf) de nuestra tarjeta wifi, lo cargamos mediante el siguiente comando (en este caso el driver esta en el directorio llamado Driver) :

#Driver/ndiswrapper -i nuestrodriver.inf 

Para comprobar que el driver esta instalado correctamente:

#ndiswrapper -l 

Cargamos el modulo en el kernel de Linux que activara la targeta inalambrica 

#modprobe ndiswrapper

Por último configuramos para que al arrancar el sistema cargue ndiswrapper, para ello abrir y editar el siguiente archivo:

#gedit /etc/modules

Añadimos ndiswrapper al final del archivo y guardamos

Para checar que este presente e instalada la targeta inalambrica entramos a la terminal y tecleamos:

#ifconfig   
o
#iwconfig

Y con esto tienen que aparecer la lista de los dispositivos de red con la inalámbrica ya incluida.
Algunas veces se puede botar el modulo con ciertos drivers por lo que se tiene que forzar para que se inicie en este caso usamos el comando:

#ndiswrapper -m 

Todas las operaciones deben de hacerse como superusuario.












miércoles, 10 de marzo de 2010

Compiz, emerald y avant-window-navigator en Debian Lenny 5.04 y como agregar repositorios a sources.list

Una de las cosas que hacen diferente a Debian de Ubuntu es que Emerald  no esta dentro de los repositorios oficiales, es decir compiz si lo esta pero emerald no y la verdad a mi me gusta mas la decoración que proporciona emeral en los bordes de las ventanas que la que trae por defecto metacity, pero esto tiene solución lo primero que debemos de hacer es agregar los repositorios al sources.list ( que en otras palabras es la lista de direcciones de donde obtenemos el software en Debian y Ubuntu), para ello abrimos una terminal y logiandonos como superusuarios tecleamos lo siguiente:

#gedit /etc/apt/sources.list

De inmediato nos saldrá una ventana con la lista de direcciones de  nuestros repositorios entonces agregamos la siguiente linea al final de nuestro sources.list

deb http://download.tuxfamily.org/osrdebian unstable compiz-fusion-git  




Guardamos y cerramos el documento, y a continuación hacemos un apt-get update para poner al día nuestras lista de software y procedemos a instalar los programas que queremos en este caso seria:

#apt-get install compiz emerald fusion-icon

Tecleamos enter y comenzara la instalación, tal ves nos pedirá que  confirmemos el instalar los programas sin verificación de llaves publicas, a lo que le responderemos que si en cada caso.

 Posteriormente nos vamos a administración, preferencias y sesiones y en programas de inicio agregamos 2 nuevas aplicaciones (como se ve en las imágenes)una que es el lanzador de avant-window-navigator y otra para fusion-icon que nos permitirá elegir entre el manejador de ventanas que en este caso es compiz y el decorador de ventanas que en este caso es emerald, y asi ya tendremos nuestros programas trabajando desde el inicio. 




jueves, 4 de marzo de 2010

Como instalar paquetes .deb desde la terminal.

Las GUI o los entornos gráficos solucionan la vida, pero muchas veces Linux es mas poderoso precisamente desde la terminal.


Para instalar paquetes .deb Ubuntu proporciona por default el programa Gdebi que no es mas que una interfase gráfica para instalar programas con paquetes .deb esto es principio es bueno pues hace amigable la tarea al usuario, pero priva de opciones muchas veces útiles, como el instalar paquetes ignorando dependencias que a veces por algún motivo no podemos instalar.

La forma mas fácil de hace esto es la siguiente:

Para instalar paquetes  desde la terminal primero ubicamos el paquete en el escritorio supongamos que el paquete se llama libltdl7.deb entonces desde la terminal escribiríamos:
#cd Escritorio
#Escritorio/ dpkg -i libltdl7.deb


Y listo el paquete se instala sin problemas


Ahora imaginemos que ese paquete depende de otro paquete en este caso el paquete libtt.deb y no lo tenemos o mas bien no lo encontramos para nuestra versión de Debian o Ubuntu, entonces procederíamos a instalar el paquete de la siguiente forma:



#Escritorio/dpkg - ignore-depends = libtt-i libltdl7.deb

Y asi quedara instalado el programa ignorando que nos haga falta la dependencia libtt, claro hay que hacer esto únicamente si sabemos lo que hacemos, porque si no podemos dañar la función de otros programas o crear errores.

En el caso de algunos programas que incluyen una gran cantidad de paquetes .deb para la instalación de un solo programa (como es el caso de openoffice) el comando varia de la siguiente manera:

Desde el directorio donde se ubican los paquetes a instalar, en este caso supongamos que están en la carpeta DEBS tecleamos los siguientes comandos:
#Escritorio/DEBS/dpkg -i *.deb

y listo el programa se instalara de todos los paquetes proporcionados y que incluya el directorio

 ahora bien todo debe de hacerse como superusuario, es decir iniciando la terminal y tecleando el comando sudo su + nuestra contraseña personal  (en caso de Ubuntu configurado por defecto) o simplemente su + nuestra contraseña personal, en caso de Debian, aunque es posible configurar el sudo, pero sera motivo de otros post futuro.






lunes, 22 de febrero de 2010

Porque Debian

Tras haberme iniciado en Linux con Ubuntu 8.04, me he dado cuenta que las nuevas versiones salen muy rápido (cada 6 meses),digo, actualizar la maquina cada 6 meses y que unas cosas que funcionaban dejen de funcionar, pues esta cabrón a mi punto de vista, por lo que he optado por cambiar a Debian estable, pero ¿porque Debian?.

Primera: Porque es la distribución sobre la que esta basada Ubuntu, es prácticamente lo mismo nada más que aquí no nos simplifican la vida,lo que es bueno porque puedes aprender aun mas que con Ubuntu.

Segunda: Porque es mas estable y rápido ya que no te carga tanta madre inútil como Ubuntu.

Tercera: No me gusta nada el logotipo de Ubuntu, y el pinche colorcito naranja o café que te ponen como predeterminado.

Cuarta: Es útil para servidores Web

Quinta: En debian es mas facil configurar la red y el instalar programas con aptitude.

Por esa razón veo mas factible el usar un sistema mas estable y duradero (Debian) que uno que es su derivado (Ubuntu), que además usa programas sacados de la rama inestable de la distribución principal (Debian)
                                                         

martes, 2 de febrero de 2010

Actualizar los repositorios despues de instalar Ubuntu e instalar build-essential

Al instalar Ubuntu es necesario "actualizar" los repositorios de software, es decir las fuentes de donde se descarga el software que usaremos, esto es importante pues si aseguraremos que tengamos las fuentes al día y disponibles.

Edemas de instalar los paquetes esenciales para poder compilar los programas que descargamos como código fuente, ya que esta es una opción en Linux y se preguntaran ¿porque esenciales pues porque entre ellos esta el compilador "C" que es necesario para instalar los programas.

Bueno lo primero que haremos es:

Abriremos una terminal o shell y escribiremos lo siguiente:

sudo apt-get update 

Nos pedira la contraseña de usuario y después de esto empezara la actualización de nuestros repositorios o "fuentes de software".

 

Ahora bien para instalar nuestros "paquetes esenciales" escribimos lo siguiente, también en la terminal sudo apt-get  install build-essential , nos pedirá nuevamente nuestra contraseña y comenzara la instalación de nuestras utilerías.


Una ves terminada la operación cerramos la terminal y eso es todo.

lunes, 1 de febrero de 2010

Aprendiendo GNU/LINUX

He creado este sitio para todo aquel que quiera aprender a usar Linux,  ya que lejos de lo  que muchos piensan que es complicado el aprender, este sistema es relativamente facil y solo es necesario realizar un poco de "talacha" en la terminal, y tener un poco de paciencia cuando no salen las cosas.

¿Que se obtiene a cambio de todo esto? la respuesta es un sistema seguro (libre de virus), estable y customisable, es decir que puede ser modificado para obtener la apariencia que uno desee e  incluso puede ser superior a la de sistemas como Windows 7 (incluido el aero) y similar a la de Mac OSX de Apple.

He de decir que la distribución que uso es Ubuntu en su versión 9.10 Karmic Koala, y tengo mas experiencia en la familia Linux de la rama de Debían, pero tratare de postear cosas de otras familias de distros como Mandriva, ya que también me ayudara para no olvidar lo que voy aprendiendo.

¡¡¡Cuando Windows haga esto me trago mis palabras!!!

Python_1_Configurar_virtualenvwrapper_para_entornos_virtuales.

¿Para qué sirve? R= Nos permite configurar un path donde se alojaran entornos virtuales los cuales se pueden entender como un directorio q...