Debian en español!

a) http://www.debian.org/international/Spanish
b) http://wiki.debian.org/SpanishL10N/
c) http://www.debian.org/index.es.html
d) http://esdebian.org


Compilacion del kernel de linux a la debian way!

Como compilar el kernel de linux a la debian way?

1) Bajamos el kernel en http://www.kernel.org
# cd /usr/src/
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.gz

o

# aptitude install linux-source-2.6.16


2) Debemos de tener paquetes necesarios para que funcione con make y el gráfico de menuconfig.
# aptitude install make gcc libnucurses5-dev flex bison fakeroot kernel-package

3) Descomprimimos el kernel y creamos el enlace
#tar jxvf linux-2.6.16.tar.bz2
#rm linux-2.6.16.tar.bz2
# ln -s /usr/src/linux-2.6.16 ./linux
#cd linux-2.6.16

4) Configuramos nuestro kernel
#make menuconfig

5) Compilamos a lo debian...
#fakeroot make-kpkg --initrd -append-to-version .New.2006 binary

binary Este objetivo produce los cuatro paquetes del núcleo de Debian ejecutando los objetivos kernel_source, kernel_headers, kernel_doc y kernel_image. (extraido del man make-kpkg), y si sólo queremos el kernel-image

#fakeroot make-kpkg --initrd -append-to-version .New.2006 kernel_image

6) Instalamos el nuevo kernel
# dpkg -i /usr/src/kernel-image-2.6.16.New.2006.deb

(el nombre del .deb varia segun como sea creado)

7) Agregar el kernel al GRUB

#update-grub
(normalmente no es necesario ya que el .deb del kernel se agrega automaticamente en su instalacione al grub pero tampoco esta de mas)

Ahora solo a reiniciar por el kernel nuevo!


¿Como tener el sistema un poco mas rapido con prelink?

# aptitude install prelink

luego editamos

Modo grafico
gedit /etc/default/prelink

o

Modo consola
vim /etc/default/prelink

En la línea que sale:

PRELINKING=unknown
la cambiamos por
PRELINKING=yes

luego guardamos y ejecutamos

# /etc/cron.daily/prelink


esto debera tardar un buen tiempo!, luego ejecutamos:
# prelink -vamR

y listo!

Cuando instalemos un programa nuevo con apt no esta prlinkiado entonces podemos hacer lo siguiente editamos el archivo
vim /etc/apt/apt.conf

y agregamos en su ultima linea:

DPkg::Post-Invoke {"echo Running prelink, please wait...;/etc/cron.daily/prelink";}

¿Cambiar los cursores del ratón en Gnome?

aptitude install gcursor


Luego para cambiarlos hay que entrar en el menu de gnome en:


Sistema→Preferencias→Selección del cursor

¿Como instalar un splash al inicio del sistema sin recompilar el kernel y blablabla?

Editamos sources.list


Modo consola


vim /etc/apt/sources.list


Modo grafico


gedit /etc/apt/sources.list



y agregamos esta lenia:


deb http://splashy.alioth.debian.org/debian/ unstable main



luego guardamos y hacemos lo siguiente:



aptitude update splashy && aptitude install splashy splashy-themes


¿Como tener mas tipos de letras?

aptitude search xfonts


luego solo instalamos una o todas las que nos muestra en el resultado de la busqueda!


-Ejemplo-


aptitude install xfonts-thai-ttf xfonts-terminus-oblique xfonts-cronyx-cp1251-100dpi fonts-arphic-gbsn00lp

¿Como tener sombras y transparencias en tu Debian?

Primero que todo debemos tener la aceleración gráfica activada.


aptitude install xcompmgr transset


luego editamos las X


Modo texto


vim /etc/X11/xorg.conf


Modo grafico


gedit /etc/X11/xorg.conf



Debajo de la sección “module” añadimos las siguientes líneas.



Section "Extensions"


Option "Composite" "Enable"


EndSection



En el mismo fichero /etc/X11/xorg.conf vamos a la sección de la tarjeta gráfica “Device” y añadimos las siguientes líneas.



Para las tarjetas NVIDIA



Option "RenderAccel" "true"


Option "AllowGLXWithComposite" "true"



Para las tarjetas ATI e INTEL



Option "backingstore" "true"


Option "AllowGLXWithComposite" "true"



Ahora haremos que carge al principio de iniciar Gnome, vamos el menu de gnome en la sección de Sistema → Preferencias → Sesiones (Pestaña Programas al Inicio pulsa el botón Añadir)



Antes de continuar veremos las opciones del programa xcompmgr.



-c : Activa sombras


-s : Activa sombras simples


-fF : Activa fadeins/fadeouts



Las opciones se pueden combinar, por ejemplo si se quieres sombres simples y fadein/out sería -sfF.



xcompmgr -cfF



Luego cambia el número de orden a 0.



Por ultimo reiniciamos la session y listo!






¿Cómo poner tu gnome tuning?

aptitude install gdesklets-data


luego en el menu de gnome


Aplicaciones → Accesorios → gDesklets



¿Cómo cambiar mis iconos, wallpapers, splash de inicio de gnome, temas de aplicaciones, etc?

aptitude install gnome-art


luego en el menu de gnome


Aplicaciones → Herramientas del sistema → Gnome-Art


y


Aplicaciones → Herramientas del sistema → Gnome-Splashscreen-Manager



¿Cómo modificar el GRUB y/o colocar una imagen?

vim /boot/grub/menu.lst


y agregamos modificamos lo que sea necesario


en caso de que quieras agregar una imagen solo añanade en la primera linea esto:


splashimage=(hd0,2)/boot/grub/imagenes/fiesta.xpm.gz


Si no tienes una imagen puedes instalar una pequeña coloccion de imagenes para grub


aptitude install grub-splashimages


Si no eres muy amigo de la consola puede hacerlo graficamente


aptitude install grubconf


luego lo ejecutamos como root y listo a modificar nuestro grub!

¿Como cambiar el idioma de mi Debian a español?

aptitude install language-pack-es language-pack-es-base language-pack-gnome-es language-pack-gnome-es-base language-selector language-support-es


¿Como traducir las paginas de los manuales?

aptitude install manpages-es manpages-es-extra

Repositorios para Sarge!

deb http://ftp.us.debian.org/debian/ sarge main contrib non-free


deb http://security.debian.org/ stable/updates main contrib non-free



-Como sarge es para trabajo serio no coloco los multimedias-


Repositorios para Etch!

deb http://ftp.us.debian.org/debian/ etch main contrib non-free


deb http://security.debian.org/ testing/updates main contrib non-free


deb http://idefix.eup.uva.es/debian/ testing main


deb http://idefix.eup.uva.es/debian-marillat/ etch main


deb ftp://ftp.nerim.net/debian-marillat/ etch main


deb ftp://ftp.nerim.net/debian/ etch main


Repositorios para Sid!

deb http://ftp.us.debian.org/debian/ experimental main contrib non-free


deb http://ftp.us.debian.org/debian/ sid main contrib non-free


deb http://idefix.eup.uva.es/debian/ unstable main


deb http://idefix.eup.uva.es/debian-marillat/ sid main


deb ftp://ftp.nerim.net/debian-marillat/ sid main


deb ftp://ftp.nerim.net/debian/ sid main


¿Qué es y cómo usar apt? apt-get y aptitude | Ventajas de aptitude frente a apt-get

* APT


APT (Advanced Packaging Tool) es una interfaz avanzada del sistema de paquetes de Debian que consiste en diversos programas cuyos nombres generalmente comienzan con "apt-". apt-get, apt-cache y apt-cdrom son herramientas de la línea de comandos para el manejo de paquetes. Estos también funcionan como frontales de usuario para otras herramientas tales como dselect y aptitude.



* APTITUDE


Aptitude es un gestor de paquetes. Instala, elimina, actualiza y descarga automáticamente los paquetes que se le indiquen, así como sus dependencias, y opcionalmente, recomendaciones y sugerencias (recordemos que los paquetes, en Debian, tienen bastantes relaciones entre sí, más allá de la dependencia).


aptitude tiene diferencias y similitudes con apt-get. Ambos hacen uso de apt, pero aptitude tiene mejor reputación que apt-get en actualizaciones complicadas, en que algunos paquetes entren en conflicto, o se desee actualizar tan sólo una parte del sistema, para que no queden paquetes con sus dependencias rotas. No es sólo que el algoritmo de actualización pueda ser mejor o no (que no lo sé, pero es lo que he entendido al ir leyendo listas de correo), sino que con aptitude se trabaja de otra manera, marcando primero las acciones a realizar (que pueden ser más de una al mismo tiempo), y luego haciendo la actualización, lo que permite un gran control.



* Ventajas de aptitude frente a apt-get



Ejemplo de algunas de las situaciones en las que tendríamos un comportamiento mejor usando aptitude, que usando apt-get.



* Entiende de sugerencias y recomendaciones



Si instalamos mediante apt-get el paquete cdrecord, tendremos un programa funcionando perfectamente, puesto que instala todas sus dependencias. Sin embargo, la mayor parte de la gente, necesitará para crear las imágenes ISO, el paquete mkisofs. Es por ello, que cdrecord recomienda mkisofs. Al usar apt-get, probablemente veamos una advertencia, pero aptitude puede configurarse para que tenga en cuenta esos paquetes, y los instale como si fueran dependencias, lo que está bastante aconsejado.



* Paquetes automáticos, y manuales



Si instalas un paquete de un programa que conozcas (por ejemplo, mozilla), es posible que con él se instalen otros paquetes que tú ni siquiera supieras que existían, como bibliotecas que sean imprescindibles para que funcione este programa, que son sus dependencias (por ejemplo, libnspr, que proporciona código que mozilla necesita para funcionar). Si luego te cansas de mozilla, y lo eliminas, ¿se borran sus dependencias?



Con apt-get no, y hay que recurrir a deborphan, o debfoster, para controlar que con el tiempo, no queden cosas sueltas que no nos interesan por el sistema. Sin embargo, aptitude lo hace de la forma correcta: cuando se instala un paquete, recuerda si el paquete fue instalado manualmente, o automáticamente. Los paquetes instalados manualmente, son los que el usuario ha pedido explícitamente. Los paquetes que se han instalado como dependencias (o sugerencias, o recomendaciones), se borran automáticamente si no tienen dependencias inversas (es decir, si el paquete libnss fue instalado sólo porque mozilla lo necesitaba, será desinstalado cuando mozilla sea desinstalado, y si ningún otro paquete más lo necesita).



Breve manual de uso



* aptitude install tal: Instala el paquete tal, y todas sus dependencias (por defecto, también las recomendaciones, que para algo están).


* aptitude remove tal: Elimina el paquete tal. Si al eliminar ese paquete, hay otros que ya no son necesarios, también serán eliminados. No te preocupes por eso, aptitude sabe lo que se hace ;-).


* aptitude purge tal: Lo mismo que la opción anterior, pero eliminando también los archivos de configuración


* aptitude update: Actualiza la lista de paquetes disponibles, en base a lo que diga /etc/apt/sources.list


* aptitude upgrade: Actuliza el sistema de forma segura


* aptitude dist-upgrade: Actualiza el sistema, eliminando y borrando paquetes que sean necesarios. A pesar de que es lo habitual, en ocasiones puede que queramos actualizar sólo algunos usando ‘upgrade’.


* aptitude -h: Muestra la ayuda de aptitude.



Fuente: http://www.badopi.org/suy/aptitude.




*


Voy a describir por encima, usando ejemplos donde sea posible, algunas de las situaciones en las que tendríamos un comportamiento mejor usando aptitude, que usando apt-get.



Entiende de sugerencias y recomendaciones



*


Si instalamos mediante apt-get el paquete cdrecord, tendremos un programa funcionando perfectamente, puesto que instala todas sus dependencias. Sin embargo, la mayor parte de la gente, necesitará para crear las imágenes ISO, el paquete mkisofs. Es por ello, que cdrecord recomienda mkisofs. Al usar apt-get, probablemente veamos una advertencia, pero aptitude puede configurarse para que tenga en cuenta esos paquetes, y los instale como si fueran dependencias, lo que está bastante aconsejado.



Paquetes automáticos, y manuales



*


Si instalas un paquete de un programa que conozcas (por ejemplo, mozilla), es posible que con él se instalen otros paquetes que tú ni siquiera supieras que existían, como bibliotecas que sean imprescindibles para que funcione este programa, que son sus dependencias (por ejemplo, libnspr, que proporciona código que mozilla necesita para funcionar). Si luego te cansas de mozilla, y lo eliminas, ¿se borran sus dependencias?



*


Con apt-get no, y hay que recurrir a deborphan, o debfoster, para controlar que con el tiempo, no queden cosas sueltas que no nos interesan por el sistema. Sin embargo, aptitude lo hace de la forma correcta: cuando se instala un paquete, recuerda si el paquete fue instalado manualmente, o automáticamente. Los paquetes instalados manualmente, son los que el usuario ha pedido explícitamente. Los paquetes que se han instalado como dependencias (o sugerencias, o recomendaciones), se borran automáticamente si no tienen dependencias inversas (es decir, si el paquete libnss fue instalado sólo porque mozilla lo necesitaba, será desinstalado cuando mozilla sea desinstalado, y si ningún otro paquete más lo necesita).



Breve manual de uso



*


aptitude install tal: Instala el paquete tal, y todas sus dependencias (por defecto, también las recomendaciones, que para algo están).


*


aptitude remove tal: Elimina el paquete tal. Si al eliminar ese paquete, hay otros que ya no son necesarios, también serán eliminados. No te preocupes por eso, aptitude sabe lo que se hace ;-).


*


aptitude purge tal: Lo mismo que la opción anterior, pero eliminando también los archivos de configuración


*


aptitude update: Actualiza la lista de paquetes disponibles, en base a lo que diga /etc/apt/sources.list


*


aptitude upgrade: Actuliza el sistema de forma segura


*


aptitude dist-upgrade: Actualiza el sistema, eliminando y borrando paquetes que sean necesarios. A pesar de que es lo habitual, en ocasiones puede que queramos actualizar sólo algunos usando ‘upgrade’.


*


aptitude -h: Muestra la ayuda de aptitude.



*


Fuente: http://www.badopi.org/suy/aptitude.



Como instalar Debian? Todo depende....

Yo lo instalo con un cd de 50 megas de etch y luego me voy con aptitude a Sid para luego instalar lo necesario, cada instalacion de debian es diferente todo depente de lo que necesite.


Algunos lugares insteresante para tener una idea:



a) http://www.debian.org/releases/stable/installmanual


b) http://www.debian.org/releases/testing/installmanual


c) http://shots.osdir.com/slideshows/slideshow.php?release=486&slide=1&title=debian-installer+screenshots


d) http://shots.osdir.com/slideshows/slideshow.php?release=395&slide=1


e) http://todolinux.com/ftp/manuales/InstalandoDebian/htm/



¿Dónde encontrar una lista de todos los programas/librerías que vienen con Debian?

http://distrowatch.com/table.php?distribution=debian

¿Dónde descargar Debian?

Para Servidores


a) http://www.us.debian.org/CD/http-ftp/#stable



Para Estaciones de trabajo u otros...


a) http://cdimage.debian.org/cdimage/weekly-builds/


b) ftp://ftp.fsn.hu/pub/CDROM-Images/debian-unofficial/etch/


c) ftp://ftp.fsn.hu/pub/CDROM-Images/debian-unofficial/etch-dvd/



Otros mirror:


ftp://ftp.fsn.hu/pub/CDROM-Images/debian-unofficial/MIRRORS


Gnome libre de iconos en el desktop



Se abre gconf-editor en /apps/nautilus/preferences/show_desktop


luego cambiamos de gconf =false buscas esa clave, basta con que desmarques el checkbox


y tendran un gnome libre de iconos en el desktop




Debian

Debian GNU/Linux
Desarrollador Proyecto Debian
Familia de S.O. GNU/Linux
Modelo de desarrollo Software libre
Kernel Linux
Tipo de kernel Monolítico
Licencia GPL
Última versión estable 3.1 (Codename: Sarge) / 6 de junio de 2005
Estado actual En desarrollo
Sitio web www.debian.org

Debian o más concretamente Debian GNU/Linux es una distribución Linux, basa sus principios y fin en el software libre.

Creado por el Debian Project el año 1993, la organización responsable de la creación y mantenimiento de la misma distribución, centrado en GNU/Linux y utilidades GNU. Éste también mantiene y desarrolla sistemas GNU basados en otros núcleos.

Nace como una apuesta por separar en sus versiones el software libre del software no libre. El modelo de desarrollo es independiente a empresas, creado por los propios usuarios, sin depender de ninguna manera de necesidades comerciales. Debian no vende directamente su software, lo pone a disposición de cualquiera en Internet, aunque sí permite a personas o empresas distribuir comercialmente este software mientras se respete su licencia.

Tabla de contenidos

[esconder]


Historia

El origen de la palabra Debian viene determinado por el nombre del creador, Ian Murdock, y Deborah, su esposa.

Sus primeras versiones 0.9x fueron lanzadas en 1994 y 1995. Las primeras portabilidades a otras arquitecturas fueron a comienzos de 1995, siendo la primera versión 1.x de Debian lanzada en 1996.


Características

Usuaria de Debian
  • Disponibilidad en varias plataformas hardware. La versión 3.1a es compatible con 11 plataformas.
  • Una amplia colección de software disponible. La versión 3.1a viene con unos 15490 paquetes.
  • Un grupo de herramientas para facilitar el proceso de instalación y actualización del software
  • Su compromiso con los principios y valores involucrados en el movimiento del Software Libre.
  • No tiene marcado ningún entorno gráfico en especial ya sea GNOME, KDE...

Versiones

(los nombres de las versiones de Debian son tomados de la película Toy Story) A día 6 de Junio de 2005, woody (la antigua versión estable) pasó a ser sustituida por sarge. Nota de prensa: [1]

La última versión (3.1) estable lanzada de Debian se denomina (actualmente) sarge.

La versión testing actual se denomina etch .

El desarrollo día a día tiene lugar en la versión unstable, rama que aparece codificada de forma permanente con el nombre sid.


Versiones de Desarrollo

Los paquetes de software en desarrollo son subidos a unas ramas llamadas inestable (alias sid) y experimentales. Normalmente, los paquetes de software son subidos a inestable por las versiones lanzadas estables por el desarrollador original de la aplicación, pero con el empaquetado y otras modificaciones específicas de Debian introducidas por los desarrolladores de Debian. El software que es inestable o no se encuentra listo para la rama inestable se pone típicamente en experimental.


Proyecto Debian

De Wikipedia

El Proyecto Debian (en inglés, Debian Project) es la organización responsable de la creación y mantenimiento de la distribución Debian, centrado en GNU/Linux y utilidades GNU.

El proyecto pretende crear un "sistema operativo universal" y desarrolla portabilidades de todo el software, por ello mantiene y desarrolla sistemas GNU basados en otros núcleos, como: Hurd, llamado Debian GNU/Hurd (en estado embrionario); NetBSD, llamado Debian GNU/NetBSD; y FreeBSD, llamado Debian GNU/kFreeBSD.

Tabla de contenidos

[esconder]

Historia

El proyecto de Debian fue fundado en el año 1993 por Ian Murdock, después de haber estudiado en la Universidad de Purdue. Él escribio el manifiesto de Debian que utilizó como base para la creación de la distribución Linux Debian. Dentro de este texto los puntos destacables son: tener de la distribución de manera abierta, en el spirit de Linux y de GNU.

El nombre de éste se basa en la combinación del nombre de su entonces novia (ahora esposa) Deborah con su propio nombre Ian, formando el portmanteau Debian, pronunciado como las sílabas correspondientes de estos nombres están en inglés americano: /dɛbˈiːjən/.

El proyecto creció lentamente al principio y lanzó sus primeras versiones 0.9x en 1994 y 1995. Las primeras portabilidades a otras arquitecturas fueron a comienzos de 1995, siendo la primera versión 1.x de Debian lanzada en 1996.

En 1996, Bruce Perens substituyó a Ian Murdock como el líder de proyecto. En la sugerencia del desarrollador Ean Schuessler, él dirigió el proceso de actualización del contrato social de Debian y de las pautas del software de Debian libremente, definiendo los puntos fundamentales para el desarrollo de la distribución. Él también inició la creación de la licencia de software legal de la organización.

Bruce Perens se retiró en 1998, antes de el lanzamiento del primer glibc-based Debian, 2.0. El proyecto procedió a elegir a nuevos líderes y a hacer dos revisiones de la versión 2.x, cada uno incluyendo más portabilidades a otras arquitecturas y más paquetes. Coveniente fue lanzado durante este periodo y la primera portabilidad a un núcleo no basado en el Kernel de Linux, Debian GNU/Hurd. Las primeras distribuciones de Linux basadas en Debian, Corel Linux y la Stormix's Linux de Stormix, fueron comenzadas en 1999. Aunque estuvieron desarrolladas no por mucho tiempo, estas distribuciones eran las primeras de muchas distribuciones basadas en Debian.

A finales de 2000, el proyecto realizo el mayor cambio a la estructura de los archivos y la organización de la versiones, reorganizando procesos de liberación de paquetes del software con el nuevo "package pools" y creando un rama de prueba, relativamente estable para el lanzamiento siguiente. En 2001, los desarrolladores comenzaron a llevar a cabo una conferencia anual llamada Debconf con negociaciones y los talleres para los desarrolladores y los usuarios técnicos.

Organización del Proyecto

El proyecto de Debian es una organización voluntaria con tres documentos fundadores:

  • El contrato social de Debian: Define un sistema de base por los cuales el proyecto y sus dearrolladores tratan los asuntos.
  • Las Directrices de software libre de Debian (DFSG): Definen los criterios del "software libre" y tan qué software es permitido en la distribución, según lo referido al contrato social. Estas pautas también se han adoptado como la base de la definición abierta de la fuente.
  • La constitución de Debian: Describe la estructura de la organización para la toma de decisiónes de manera formal dentro del proyecto. Enumera el poder y las responsabilidades del líder de proyecto de Debian, de la secretaria del proyecto de Debian, y de los desarrolladores en general.

Actualmente, el proyecto incluye más que mil desarrolladores. Cada uno de ellos posee algún lugar en el proyecto ya sea relacionado con paquetes: mantenimiento, documentación, control de calidad. O relacionado con la infraestructura del proyecto: coordinación de lanzamientos, traducciones de web, etc. Los mantenedores de los paquetes tienen un excedente de la jurisdicción sus propios paquetes, aunque los paquetes se están mantienendo cada vez más seguido. Otras tareas son generalmente el dominio de grupos más pequeños, más de colaboración de desarrolladores.

El proyecto mantiene listas de correo. Para las conferencias se envía un representante para la comunicación y la coordinación entre los desarrolladores. Para las ediciones con los paquetes, un sistema que sigue de los bugs que informa toda la comunidad que utiliza la distribución, es utilizada por los desarrolladores. Se trabaja de manera conjutan, los desarrolladore y los usuarios. Existen otros medios que también existen colaboradores, un medio menos formal consiste en los IRC (Internet Relay Chat), sobre todo el Freenode. Todos poseen una gran concurrencia, existen muchos usuarios y desarrolladores en todos los medios de comunicación.

Junto, los desarrolladores pueden tomar decisiones generales obligatorias por una resolución o una elección general. Todo la votación es conducida por caer secuencial de Cloneproof Schwartz, un método de Condorcet de votación. Un voto de los desarrolladores elige a un líder de proyecto una vez al año. El líder de proyecto de Debian tiene varias atribuciones especiales, pero estas atribuciones están lejos de ser una decisión absoluta y se utiliza raramente. Bajo resolución general, los desarrolladores pueden, entre otras cosas, recordar al líder, invertir una decisión de él o de sus delegados, y enmendar la constitución y otros documentos foundational.

El líder delega a veces autoridad a otros desarrolladores, para que realicen tareas especializadas. Esto significa generalmente que un líder delega a alguien comenzar a un nuevo grupo para una nuevas tareas, y un equipo consigue gradualmente formado que continúa el hacer del trabajo y regularmente amplía o reduce a sus filas como piensan son las mejores y mientras que las circunstancias permiten.

Quizás una persona más importante a Debian que el líder es el encargado del lanzamiento, que fija las metas para el lanzamiento "estable" siguiente, supervisa el proceso, y toma la decisión final en cuanto a cuándo se va a lanzar.

Una lista de las posiciones importantes en el proyecto de Debian está disponible en el Web page de la organización de Debian.


Fuente: Wikipedia.org


Mach

GNU Mach es el microkernel oficial del Proyecto GNU. Como cualquier otro microkernel, su función principal es realizar labores mínimas de administración sobre el hardware para que el grueso del sistema operativo sea operado desde el espacio del usuario.

En la actualidad el GNU Mach sólo funciona en máquinas de arquitectura intel de 32 bits (IA32) y su uso más popular es servir de soporte a Hurd, el proyecto que pretende reemplazar a los kernel tipo Unix en los sistemas operativos libres del GNU. Sin embargo, desde el año 2002 los esfuerzos de la Fundación del Software Libre se encaminan hacia la adopción del OSKit Mach como microkernel oficial.


Mach kernel

Mach es un proyecto de diseño de sistemas operativos iniciado en la Universidad Carnegie Mellon con el objetivo de desarrollar un microkernel.


Mach es un kernel de sistema operativo desarrollado en la Carnegie-Mellon University (CMU) para soportar la investigación de sistemas operativos, primariamente computación distribuida y paralela. El proyecto en CMU se ejecutó desde 1985 hasta 1994.

Mach se desarrolló con la premisa de que todos los sistemas operativos modernos comparten una serie de caracteristicas en común, o son deseadas si es que no las tienen aún.. Estas incluyen:

• soporte para multiples aplicaciones usando multitarea

• hilos, los cuales pueden ser pensados como las partes de una aplicación, o mini-aplicaciones cuando hay multitarea

• Soporte multi-procesadores, en una máquina única o sobre una red.

• Comunicaciones interprocesos, enviando mensajes directamente entre aplicaciones

• Proteccion y seguridad de memoria

Por la época, a inicios de la mitad de los 80s, varios proyectos estuvieron intentando resolver uno de estos problemas. Esto típicamente significó tomar un sistema operativo existente – a menudo BSD (UNIX)- y modificando partes del mismo. Luego de cada modificación el sistema operativo era compilado, la máquina reiniciada, y el nuevo cambio era probado. Había una serie de problemas con este enfoque, incluso los más insignificantes causarían que la máquina entera se colgara.

Mach explora el concepto al que ahora nos referimos como microkernel. En vez de tener todo el código para el sistema operativo en un gran programa único (llamado kernel), la mayoría del código estaría ubicado en programas más pequeños conocidos como servidores, los cuales se ejecutarian como cualquier otro programa. El trabajo del kernel era reducido de esencialmente "ser" el sistema operativo, a mantener los servidores y programar su acceso al hardware.

En teoría esto significa que los cambios al SO requeririan nada más que una recarga de ese único programa servidor, opuesto a reconstruir el SO y reiniciar la máquina. Solo trabajar en el kernel Mach en si mismo requeriria un reinicio, y en teoría eso deberia ser un hecho inusual.


Mach no es un sistema operativo en si mismo, y es bastante inútil sin un conjunto de servidores – y estos servidores no existen. De modo que para obtener un sistema útil y ejecutandose, los autores de Mach portaron el Unix BSD al kernel Mach de forma rápida y cutre: en vez de separar BSD en distintas partes y construir cada una de ellas como un servidor, simplemente compilaron el kernel entero en un servidor y lo ejecutaron. El resultado era conocido como POE.

Con POE ejecutandose (efectivamente) entre las otras aplicaciones, el rendimiento fue pésimo. Cada llamada de una aplicación de usuario, digamos para obtener la hora, requería que el mensaje fuera enviado al kernel (una operacion simple conocida como cambio de contexto), el cual enviaría el pedido a la librería Unix con otro cambio de contexto y luego repetir todo de nuevo para la respuesta... Sin embargo, Mach, a pesar de que no era un fallo propio, era considerado muy poderoso, pero increíblemente lento.

Durante la próxima década el trabajo será orientado a mejorar el funcionamiento de estos mensajes varias veces, hasta el punto de que el rendimiento de estos sistemas operativos basados en Mach fuera a menudo mejor que el de los BSD en los que estaban basados. Sin embargo por este tiempo el mundo académico había perdido en gran parte interés en la investigación de SSOO, y la promesa de Mach's siguió sin cumplirse.

Actualmente se ha pensado que el Mach asumiría lentamente el control del universo entero de sistemas operativos, pero ésto no ha sucedido. Quizás la razón más grande del fracaso de Mach puede ser la "holgazanería": a todos les parecia que era el trabajo de otro entregar la biblioteca basada en el SO, y no lo hizo nadie. El esfuerzo más grande hasta la fecha es GNU Hurd, pero GNU Hurd está ahora alrededor de una década atrasado. Varios sistemas operativos propietarios han sido más acertados, incluyendo QNX que parece cumplir todas las promesas de Mach's.

El trabajo sobre Mach ocurrió por varios años en la CMU, para quedar finalmente inactivo cuando muchos de los desarrolladores dejaron la academia para trabajar en la industria. El Mach fue brevemente revivido en la Universidad de Utah a mediados de los 90s y produjo el Mach 4 (http://www.cs.utah.edu/flux/mach4/html/Mach4-proj.html) que tenia mejoras significativas, antes de otra vez volverse inactivo.

Mientras tanto varios vendedores tomaron enfoques prácticos para usar Mach. La capa del BSD (y otras) fue ejecutada directamente dentro del kernel (lo que evita así intercambios de contexto) lo que dio lugar a un rendimiento razonable mientras que todavía conservaba las ventajas del multi-procesamiento y de un modelo de hilos fácil de usar. Sin embargo incluso estas ventajas se han erosionado tanto como los varios vendedores de Unix que han trabajado para proporcionarlas en sus propios productos

Los sistemas operativos basados en este concepto del Mach fueron OSF/1, NeXTSTEP, e IBM OS/2 para las máquinas basadas en RS/6000 – todos los cuales ya no son usadas ampliamente. Otros sistemas operativos querían migrar a esta clase de sistema también, como Pink de Apple, Workplace OS de IBM y varios mas.

Apple seleccionó OPENSTEP para ser la base para el sucesor de su clásico Mac OS. Se convirtió en API Cocoa Mac OS X. OPENSTEP es de hecho una versión actualizada de NeXTSTEP, que utilizó el Mach 2.5. Como tal, el amalgama de Mach/BSD de OPENSTEP es la base para el sistema operativo Mac OS X de Apple.

El desarrollador líder en el proyecto Mach, Richard F. Rashid, ha estado trabajando en Microsoft desde 1991 en las varias posiciones a nivel superior en la división de la investigación de Microsoft, Microsoft Research. El Windows NT de Microsoft, precursor del Windows XP actual, comenzó con un modelo basada en un microkernel similar al de Mach. Otro de los desarrolladores originales de Mach, Avie Tevanian, fue antes jefe de software en NeXT y hoy es Director de la Oficina de Tecnología de Software en Apple.



Fuente: Wikipedia.org



Hurd

GNU Hurd es un kernel tipo Unix que establece la base del sistema operativo GNU. El Proyecto GNU lo ha estado desarrollando desde 1990 como software libre, distribuyéndolo bajo la GPL. Hurd intenta superar los kernel tipo Unix en cuanto a funcionalidad, seguridad y estabilidad, aun manteniéndose compatible con ellos. Esto se logra gracias a que Hurd implementa la especificación POSIX (entre otras), pero eliminando las restricciones arbitrarias a los usuarios.



Distribuciones que usan HURD

Solo existe una distribución popular que use HURD que es una versión de GNU/Debian. No existe ningun howto sencillo para hacer que HURD corra sobre otras distribuciones, ya sean Red Hat, Mandrake, Gentoo, ...

Fuente: Wikipedia.org

Linux

Linux es la denominación del nombre de un núcleo. Es uno de los paradigmas del desarrollo de software libre (y de código abierto), donde el código fuente está disponible públicamente y cualquier persona puede libremente usarlo, modificarlo y redistribuirlo.

El término Linux estrictamente se refiere al núcleo Linux, pero es más comúnmente utilizado para describir al sistema operativo tipo Unix (que implementa el estándar POSIX), que utiliza primordialmente filosofía y metodologías libres (también conocido como GNU/Linux) y que está formado mediante la combinación del núcleo Linux con las bibliotecas y herramientas del proyecto GNU y de muchos otros proyectos/grupos de software (libre o no libre). El núcleo no es parte oficial del proyecto GNU (el cual posee su propio núcleo en desarrollo, llamado Hurd), pero es distribuido bajo los términos de la licencia GPL (GNU General Public License).

La expresión Linux también es utilizado para referirse a las distribuciones Linux, colecciones de software que suelen contener grandes cantidades de paquetes además del núcleo. El software que suelen incluir consta de una enorme variedad de aplicaciones, como: entornos gráficos, suites ofimáticas, servidores web, servidores de correo, servidores FTP, etcétera. Coloquialmente se aplica el término Linux a éstas, aunque en estricto rigor sea incorrecto, dado que la distribución es la forma más simple y popular para obtener un sistema Linux.

La marca Linux (Número de serie: 1916230) pertenece a Linus Torvalds y se define como "un sistema operativo para computadoras que facilita su uso y operación".

Desde su lanzamiento, Linux ha incrementado su popularidad en el mercado de servidores. Su gran flexibilidad ha permitido que sea utilizado en un rango muy amplio de sistemas de cómputo y arquitecturas: computadoras personales, supercomputadoras, dispositivos portátiles, etc.

Los sistemas Linux funcionan sobre más de 20 diferentes plataformas de hardware; entre ellas las más comunes son las de los sistemas compatibles con PCs x86 y x86-64, computadoras Macintosh, PowerPC, Sparc y MIPS.


Fuente: Wikipedia.org

GNU

El proyecto GNU fue iniciado por Richard Stallman con el objetivo de crear un sistema operativo completo libre: el sistema GNU . El 27 de septiembre de 1983 se anunció públicamente el proyecto por primera vez en el grupo de noticias net.unix-wizards. Al anuncio original, siguieron otros ensayos escritos por Richard Stallman como el "Manifiesto GNU", que establecieron sus motivaciones para realizar el proyecto GNU, entre las que destaca "retornar al espíritu de cooperación que prevaleció en los tiempos iniciales de la comunidad de usuarios de computadoras". GNU es un acrónimo recursivo que significa "GNU No es Unix". Stallman sugiere que se pronuncie, en inglés, como "guh-noo" (se puede observar que el logo es un ñu) para evitar confusión con "new" (nuevo). En español, GNU se pronuncia fonéticamente.

UNIX es un sistema operativo no libre muy popular, porque está basado en una arquitectura que ha demostrado ser técnicamente estable. El sistema GNU fue diseñado para ser totalmente compatible con UNIX. El hecho de ser compatible con la arquitectura de UNIX implica que GNU esté compuesto de pequeñas piezas individuales de software, muchos de los cuales ya estaban disponibles, como el sistema de edición de textos TeX y el sistema gráfico X Window, que pudieron ser adaptados y reutilizados; otros en cambio tuvieron que ser reescritos.

Para asegurar que el software GNU permaneciera libre para que todos los usuarios pudieran "ejecutarlo, copiarlo, modificarlo y distribuirlo", el proyecto debía ser liberado bajo una licencia diseñada para garantizar esos derechos al tiempo que evitase restricciones posteriores de los mismos. La idea se conoce en Inglés como copyleft (en clara oposición a copyright), y está contenida en la Licencia General Pública de GNU (GPL).

Richard Stallman
Aumentar
Richard Stallman

En 1985, Stallman creó la Free Software Foundation (FSF o Fundación del Software Libre) para proveer soportes logísticos, legales y financieros al proyecto GNU. La FSF también contrató programadores para contribuir a GNU, aunque una porción sustancial del desarrollo fue (y continua siendo) producida por voluntarios. A medida que GNU ganaba renombre, negocios interesados comenzaron a contribuir al desarrollo o comercialización de productos GNU y el correspondiente soporte técnico. El más prominente y exitoso de ellos fue Cygnus Solutions, ahora parte de Red Hat.

En 1990, el sistema GNU ya tenía un editor de texto llamado Emacs, un exitoso compilador (GCC), y la mayor parte de las librerias y utilidades que componen un sistema operativo UNIX típico. Pero faltaba el componente primario llamado núcleo (kernel en inglés).

En el manifesto GNU, Stallman mencionó que "un núcleo inicial existe, pero se necesitan muchos otros programas para emular Unix". Él se referia a TRIX, que es un núcleo de llamadas remotas a procedimientos, desarrollado por el MIT y cuyos autores decidieron que fuera libremente distribuido; Trix era totalmente compatible con UNIX versión 7. En Diciembre de 1986 ya se había trabajado para modificar este núcleo. Sin embargo, los programadores decidieron que no era inicialmente utilizable, debido a que solamente funcionaba en "algunos equipos sumamente complicados y caros" razón por la cual debería ser portado a otras arquitecturas antes de que se pudiera utilizar. Finalmente, en 1988, se decidió utilizar como base el núcleo Mach desarrollado en la CMU. Inicialmente, el núcleo recibió el nombre de Alix (así se llamaba una novia de Stallman), pero por decisión del programador Michael Bushnell fue renombrado a Hurd. Desafortunadamente, debido a razones técnicas y conflictos personales entre los programadores originales, el desarrollo de Hurd acabó estancándose.

En 1991, Linus Torvalds empezó a escribir el núcleo Linux y decidió distribuirlo bajo la GPL. Rápidamente, múltiples programadores se unieron a Linus en el desarrollo, colaborando a través de Internet y consiguiendo paulatinamente que Linux llegase a ser un núcleo compatible con UNIX. En 1992, el núcleo Linux fue combinado con el sistema GNU, resultando en un sistema operativo libre y completamente funcional. El sistema operativo formado por esta combinación es usualmente conocido como "GNU/Linux" o como una "distribución Linux" y existen diversas variantes. (Ver también: Controversia por la denominación GNU/Linux)

En la actualidad (2004), Hurd continúa en activo desarrollo y ya es posible obtener versiones experimentales del sistema GNU que lo emplean como núcleo.

También es frecuente hallar componentes de GNU instalados en un sistema UNIX no libre, en lugar de los programas originales para UNIX. Esto se debe a que muchos de los programas escritos por el proyecto GNU han demostrado ser de mayor calidad que sus versiones equivalentes de UNIX. A menudo, estos componentes se conocen colectivamente como "herramientas GNU". Muchos de los programas GNU han sido también portados a otras plataformas como Microsoft Windows y Mac OS X.





Fuente: Wikipedia.org

Wireless Tools

Wireless-tools

El software wireless-tools es un conjunto de herramientas que utilizan el API de las Wireless Extensions proporcionado por el núcleo para ajustar parámetros específicos de las redes inalámbricas y obtener algunas estadísticas, este paquete es uno de los mas completos y usados en el mundo.

Este paquete es un conjunto completo de software para wireless, los cuales son:

iwconfig
iwevent
iwgetid
iwlist
iwpriv
iwspy

Para una descripción detallada de cada uno de ellos pueden utilizar el man-pages (páginas de manual) . Yo solo utilizo solo para mis necesidades y propósitos iwconfig e iwlist.

Se puede concluir que iwconfig es el equivalente a ifconfig para redes IP.

La sintaxis general de este comando es:

   iwconfig interfaz acción parámetro
Ejemplo:

 iwconfig eth2 essid "Casa-WIFI" key "Clave"

Algunos de las opciones que nos ofrece son:
  • iwconfig eth2 essid NombreDeLaRed, De esta manera asociamos nuestra interfaz eth2 con una red virtual formada por un conjunto de puntos de acceso identificados por el essid o nombre de red. Si el nombre de red proporcionado es la cadena vacía, esto es, la cadena "", la interfaz se asociará con el mejor punto de acceso disponible, con el cual tengamos una señal más fuerte. Después de ejecutar la orden tendremos acceso a la LAN que hay detrás del punto de acceso con el que se nos asigne.

  • iwconfig eth2 mode {adhoc,managed,master,monitor}, Un adaptador inalámbrico puede trabajar en varios modos que determinan la forma en que se comunica con los demás equipos de la red. Un punto de acceso trabaja en modo master y nosotros utilizaremos el modo managed para contactar con ese punto de acceso. El modo ad-hoc se utiliza cuando queremos establecer comunicación con otro equipo directamente sin necesidad de un punto de acceso intermedio.

  • iwconfig eth2 key "s:Clave", Para proteger nuestras comunicaciones las cifraremos mediante el protocolo WEP definido en el estándar 802.11 asignando una clave con este comando. Para la clave usaremos cinco caracteres para cifrado de 40 bits y 13 caracteres para cifrado de 104 bits. No es necesaria clave WEP para acceder a la redes libres.

  • iwconfig eth2, Nos muestra información sobre el enlace. Podemos ver el nombre de red (ESSID), el modo en el que está nuestra tarjeta, el punto de acceso que estamos utilizando y algunas cosas más. Uno de los valores interesantes es la calidad del enlace que nos da una idea de la calidad del servicio que puede ofrecernos el punto de acceso. Si la tarjeta no es inalámbrica o si el módulo no se cargó correctamente, al invocar esta orden veremos el siguiente mensaje:
    eth2 no wireless extensions.
Por defecto nuestra tarjeta detectará el punto de acceso más "cercano" y se asociará con él. De todas maneras podemos ver qué redes hay disponibles ahí fuera con iwlist. Este comando tiene más posibilidades pero a nosotros sólo nos interesa ésta. Así, tecleamos:
iwlist eth2 scan
y obtenemos una lista de todos los puntos de acceso y equipos en modo ad-hoc detectados por el interfaz. Entre la información reportada vemos el essid, así que si queremos conectarnos con un punto de acceso en particular usaremos el valor de essid dado por iwlist con iwconfig