Lista de Artículos Inicio
- Año II  






RAZONES PARA USAR DEBIAN GNU/LINUX

Alonso E. Caballero Quezada

Editor & Miembro de RareGaZz Security Team
Editor & Miembro de Security Wari Projects SWP
Editor & Miembro Fundador de informatizate
PostMaster de La Cámara de Comercio de La Libertad

alonso_caballero(at)informatizate(dot)net
Julio 19 del 2004.


Este articulo se basa en la presentación que realicé en informatizate Trujillo. Aquí trataré de explayarme en el tema tratado sin limites de tiempo, con el objetivo primordial de presentar; para los que aun no lo conocen; y exponerles, para aquellos que si; a Debian GNU/Linux. Esto basado en la fuente de Información fidedigna de Debian y mi experiencia en el uso de esta Distribución.

Me basare en la secuencialidad de las razones expuestas en la misma pagina web de Debian, para luego fusionarlas con mi experiencia. Claro que esto podría interpretarse como la Segunda Parte de mi Apología de Debian GNU/Linux, pero no es mi intención conciente.

Esta mantenido por sus usuarios.

Lo que da una muestra de fiabilidad al inicio del uso de Debian GNU/Linux, es la percepción de la organización y la estructuración de su desarrollo. Como el ejemplo que siempre expongo, y es lo siguiente; son los propios usuarios de Debian los que se encargan de darle soporte, porque se sienten ampliamente identificados con él. Es decir, si se reporta un fallo en algún paquete, el mantenedor, los encargados y gente que desee colaborar, se concentrarán en ello para darle pronta solución; dado que mientras mas tiempo transcurre a partir del reporte; se produce una brecha que no debe de extenderse mas allá de lo permisible, pues daría lugar a incrementar la exposición de los sistemas ante la explotación de un fallo.


Soporte incomparable:

Este punto resulte tal vez poco modesto; pero en paradogicamente es verdadero. Debian cuenta con listas especializadas, dirigidos a simples usuarios, desarrolladores y de igual manera listas orientadas a arquitecturas específicas como SPARC. Para aquellos un poco alejados de la lengua del "Tío Sam", Debian, cuenta con listas en español como por ejemplo: http://lists.debian.org/debian-user-spanish/

La subscripcion es simple, y la carga de POSTs diarios es más que interesante; aunque se adolece de los males de algunas listas, como la reiteración en la formulación de las preguntas. Para ello siempre es de recordar a los nuevos usuarios, leer los historiales de POSTs pasados para tratar de ubicar una respuesta o algún dato que ayude a resolver su duda, si no encontrara solucion o respuesta a su inquietud, después de haber "GOOGLEado", y revisado los archivos de las listas, será momento para formular su pregunta o comentario; que gustosamente será atendida y considerada por la comunidad.

Una de las cosas que se aplaude en general de los sistemas *NIX, y especial de GNU/Linux, es la curva de aprendizaje, lo cual es obviamente es cierto; en esa curva de aprendizaje, uno debe de olvidar el facilismo en la solución de problemas. La formula de 'resetear' el equipo y mágicamente se arreglará el problema, no es para GNU/Linux ;)

Como en todo problema; o mejor sería decir; para encontrar la solución a un problema; se debe recabar toda la información necesaria para solucionarla.

Por ejemplo ante un problema de detección de alguna tarjeta PCI, la utilización de estos comandos es de gran ayuda:


  # cat /proc/pci

# lspci


Aquí tenemos un breve corte de lo que muestran; como se aprecia dan información sobre las tarjetas PCI reconocidas por el sistema, y datos puntuales como el IRQ, DMA, etc.



  Bus  0, device  16, function  0:
    Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 48).
      IRQ 11.
      Master Capable.  Latency=80.  Min Gnt=10.Max Lat=10.
      I/O at 0x7480 [0x74ff].
      Non-prefetchable 32 bit memory at 0xf3efef00 [0xf3efef7f].
  Bus  0, device  18, function  0:
    Ethernet controller: 3Com Corporation 3c905C-TX [Fast Etherlink] (rev 120).
      IRQ 9.
      Master Capable.  Latency=80.  Min Gnt=10.Max Lat=10.
      I/O at 0x7c00 [0x7c7f].
      Non-prefetchable 32 bit memory at 0xf3efef80 [0xf3efefff].
  Bus  0, device  20, function  0:
    SCSI storage controller: Adaptec AIC-7881U (rev 1).
      IRQ 10.
      Master Capable.  Latency=64.  Min Gnt=8.Max Lat=8.
      I/O at 0x7800 [0x78ff].
      Non-prefetchable 32 bit memory at 0xf3eff000 [0xf3efffff].
  Bus  1, device   1, function  0:
    VGA compatible controller: S3 Inc. Trio 64 3D (rev 1).
      IRQ 9.
      Master Capable.  Latency=32.  Min Gnt=4.Max Lat=255.
      Non-prefetchable 32 bit memory at 0xf4000000 [0xf7ffffff].




No estará solo en su elección:

Muchas empresas, instituciones, grupos e individuos, han dirigido su mirada a Debian GNU/Linux. Una vez inmerso en el mundo Debian, tendrás mecanismos para solventar los posibles problemas ante los cuales te enfrentes. Si estas acostumbrado o ha usado otras distribuciones Linux, pues solo reacomodaras la información de algunas neuronas para desenvolver tu trabajo, si eres un usuario que recién empieza en el mundo Linux, recomiendo la lectura de toda la documentación de la pagina web de Debian, así también de recursos en español [3] Una vez realizada dicha acción puedes enfrentarte a la relativamente fácil instalación de tu Debian. Recomendación: Si fallas a la primera... no desesperar, ni tirar la toalla, sigue intentando. ;) que cuando te percates, te resulta mas fácil instalar Debian, que instalar otros sistemas operativos.

La fortaleza de Debian para trabajos simples y complejos, aunado a diferentes tipos arquitecturas; por ejemplo alpha, i386, powerpc, entre otras; es ampliamente reconocida, sin contar con su punto fuerte, como es la seguridad. Es por eso que muchas organizaciones e individuos ven en Debian GNU/Linux un excelente Sistema Operativo Base para iniciar una solución a sus necesidades.


El mejor sistema de empaquetamiento de software del mundo:

Esto también puede resultar poco modesto; en su forma, mas no en el fondo ;) Personalmente al pasar de una Distribución, del "sombrero rojo" con su sistema de empaquetamiento mas que desesperante; uno se encuentra con un sistema interesante, estable y fuerte.

A modo de ejemplo demos una mirada a un paquete Debian, en éste caso squid:


  # apt-cache show squid

Package: squid
Priority: optional
Section: web
Installed-Size: 4952
Maintainer: Miquel van Smoorenburg 
Architecture: i386
Version: 2.4.6-2woody2
Replaces: squid-novm
Depends: libc6 (>= 2.2.4-4), libldap2 (>= 2.0.23-1), netbase, adduser, logrotate (>= 3.5.4-1)
Pre-Depends: debconf (>= 0.2.17)
Suggests: squidclient, squid-cgi
Conflicts: squid-novm, sarg (<< 1.1.1-2)
Filename: pool/updates/main/s/squid/squid_2.4.6-2woody2_i386.deb
Size: 698508
MD5sum: 0aedc49b881f8d780c55290e09924efe
Description: Internet Object Cache (WWW proxy cache)
 This is the Squid Internet Object Cache developed by the National
 Laboratory for Applied Networking Research (NLANR) and Internet
 volunteers.  This software is freely available for anyone to use.  The
 Squid home page is http://www.squid-cache.org/
  


Como podemos apreciar, nos muestra información sobre el paquete, los archivos .deb, pueden manipularse con "ar" o "tar", ya que el paquete .deb es un archivo "ar". "ar" es un programa que crea y manipula archivos, con muchas más características, que no son relevantes de momento.



  # ar tv squid_2.4.6-2woody2.i368.deb

rw-r--r-- 0/0      4 Apr  1 13:51 2004 debian-binary
rw-r--r-- 0/0   6055 Apr  1 13:51 2004 control.tar.gz
rw-r--r-- 0/0 692260 Apr  1 13:51 2004 data.tar.gz

  


Se tienen tres Archivos, entre ellos a date.tar.gz, al mirar este archivo:



  # tar xzvf data.tar.gz

./
./var/
./var/log/
./var/log/squid/
./var/spool/
./var/spool/squid/
./usr/
./usr/share/
./usr/share/man/
./usr/share/man/man8/
./usr/share/man/man8/squid.8.gz
./usr/share/lintian/
./usr/share/lintian/overrides/
./usr/share/lintian/overrides/squid
./usr/share/doc/
./usr/share/doc/squid/
./usr/share/doc/squid/FAQ-6.html

[cut cut]

./usr/lib/squid/icons/anthony-xpm.gif
./usr/lib/squid/icons/anthony-xbm.gif
./usr/lib/squid/icons/anthony-binhex.gif
./usr/lib/squid/icons/anthony-dvi.gif
./usr/lib/squid/icons/anthony-movie.gif
./usr/lib/squid/icons/anthony-image2.gif
./usr/lib/squid/icons/anthony-quill.gif
./usr/lib/squid/icons/anthony-portal.gif
./usr/lib/squid/icons/anthony-bomb.gif
./usr/lib/squid/pam_auth
./etc/
./etc/init.d/
./etc/init.d/squid
./etc/logrotate.d/
./etc/logrotate.d/squid

  


Como perciben, es una estructura de directorios perfectamente organizada. Los otros archivos son de control, para asegurar la integridad, fiabilidad y el correcto funcionamiento de los paquetes. Esta ha sido solo una breve visión al respecto.

No se confundan, solo hemos "intervenido" el paquete para que tengan una idea de su constitución.


Instalación sencilla:

Así es; como mencioné en un acápite anterior; una vez que hayas obtenido cierta experiencia, la instalación de un sistema Debian GNU/Linux, será mas fácil que otros S.Os. Hablamos de una instalación; una configuración y puesta a punto son instancia mas especializadas. Pues no es lo mismo un user desktop que desea su sistema para diseño grafico, que configurar un servidor de correo.

Se trabaja para que la instalación sea lo más sencilla posible, al momento de escribir esto se habla del debian-installer en su Beta 4 [5]. El cual trae muchas mejoras en comparación con el típico instalador de Debian Woody. Algo de resaltar es que solo son 110 Megas, con lo cual se tiene un sistema base, y a partir de allí puedes personalizar y configurar tu Debian según las propias necesidades.

Con esto se desmitifica que Linux es difícil de instalar y Debian GNU/Linux no es la excepción. ;)


Increíble cantidad de software:

Otro de los puntos fuertes de Debian GNU/Linux, es la estructuración de su desarrollo.

Tenemos la siguiente estructura de desarrollo:

Version stable - Woody

Version Testing - Sarge

Version UnStable - Sid


Woody cuenta con mas de 8700 paquetes de software; es decir paquetes especialmente portados a Debian GNU/Linux. Esto sin incluir todo el Software Comercial o no, que 'corre' bajo Linux.

Ahora se estará tal vez cuestionando. Y cual es la Version mas adecuada para mi uso?.

Respuesta simple: Evalúa tus necesidades.

La filosofía de Desarrollo de Debian parte de tres "ramas"; La versión Stable o Woody, es la mas recomendada para Servidores, pues los componentes que la constituyen han sido intensamente evaluados, para asegurar un correcto funcionamiento y performance. Claro que se tiene que sacrificar, el disfrutar de las ultimas versiones de los paquetes de software, pero es un buen cambio si se toma en consideración la solidez y confiabilidad de tener un servidor que funciona adecuadamente y que tiene un excelente soporte para solucionar los posibles problemas que se presenten en alguno de sus componentes. Ante el descubrimiento de alguna falla o su reporte, los desarrolladores de Debian, se abocan a solucionarlo y poner a disposición de la comunidad el paquete actualizado o la solución adecuada.

Se le critica mucho a Woody el hecho de que ya tiene bastante tiempo desde su emisión; Woody se hizo publica en Noviembre del 2003, pero nadie puede negar que funciona correctamente, y que por algo tiene la denominación STABLE.

Para aquellos que deseen disfrutar de los últimos paquetes, tenemos a SARGe; cabe señalar que así como Woody es ahora la versión Stable, SARGe será en algún momento [ espero que sea pronto] la versión estable de Debian GNU/Linux. Sarge no se compara a Woody en estabilidad y en seguridad, dado que la prioridad la tiene la versión Stable (Woody)

Aunque existen buenos y hasta excelentes reportes, sobre la estabilidad de SARGe en servidores de producción; no es recomendable; pero de igual manera eso depende de cada individuo y de sus necesidades. Lo dice muy claro la pagina de Debian, que SARGe no tiene el soporte adecuado del Team de Seguridad de Debian GNU/Linux.

Para finalizar tenemos la tercera "rama" denominada sid o UnStable, la cual es muy dinámica. De la misma manera que SARGe, no tiene el soporte adecuado en lo que respecto a Seguridad. Los paquetes de esta sección son 'testeados' de manera menos estricta que las "ramas" superiores.

Como acápite final de esta sección, cabe señalar que todos los paquetes incluidos en la distribución Debian son Libres de acuerdo a "Debian Free Software Guidelines[6]"


Paquetes bien integrados:

Como se ha mencionado en el punto anterior, lo que hace peculiar a Debian es la integración de sus paquetes. Para aquellos que usen o usaban otros sistemas, el instalar un nuevo paquete se convertía en una verdadera pesadilla, dado que tenias que resolver en algunos casos manualmente las dependencias, o encontrar maneras de saltarlas para que dichos programas funcionen, ya que algunos "ports", no se adecuan muy bien.

En el caso de Debian esto no es así ;) Apreciemos un corto ejemplo al instalar synaptic, un GUI para APT.



# apt-get install synaptic

Reading Package Lists...
Building Dependency Tree...
The following extra packages will be installed:
  hermes1 libwraster2 
The following NEW packages will be installed:
  hermes1 libwraster2 synaptic 
0 packages upgraded, 3 newly installed, 0 to remove and 0  not upgraded.
Need to get 356kB of archives. After unpacking 1032kB will be used.
Do you want to continue? [Y/n] Get:1 http://security.debian.org stable/
updates/main libwraster2 0.80.0-4.1 [93.5kB]
Get:2 http://mirror.peer1.net stable/main hermes1 1.3.2-2.1 [36.3kB]
Get:3 http://mirror.peer1.net stable/main synaptic 0.16-6 [226kB]
Fetched 356kB in 21s (16.5kB/s)
Selecting previously deselected package hermes1.
(Reading database ... 46041 files and directories currently installed.)
Unpacking hermes1 (from .../hermes1_1.3.2-2.1_i386.deb) ...
Selecting previously deselected package libwraster2.
Unpacking libwraster2 (from .../libwraster2_0.80.0-4.1_i386.deb) ...
Selecting previously deselected package synaptic.
Unpacking synaptic (from .../synaptic_0.16-6_i386.deb) ...
Setting up hermes1 (1.3.2-2.1) ...

Setting up libwraster2 (0.80.0-4.1) ...

Setting up synaptic (0.16-6) ...

  


Lo anterior amerita tener configurado adecuadamente los archivos del directorio /etc/apt/, como por ejemplo sources.list. Como se puede apreciar, el uso de un simple comando te resuelve de manera "inteligente" las dependencias necesarias para instalar satisfactoriamente el paquete indicado. Se siente mucha seguridad al saber que todos los paquetes se encuentran en un mismo sitio [sin contar mirrors] y que están lo suficientemente probados, para asegurar su correcto funcionamiento.


Código fuente:

Para lo interesados en desarrollo de software. Todo el software de la distribución principal sigue el criterio de la DFSG [6]. Se tiene a disposición millones de Línea de código fuente, ya sea para estudiarlo o para incluirlo a un proyecto propio. Aquellos paquetes de Software que no siguen los criterios antes mencionados son indicados adecuadamente. De allí que Debian GNU/Linux, sigue también la siguiente clasificación en sus paquetes:

Contrib

Non-Free (no libre)

Non-US/Main

Non-US/Non-Free

Con esta clasificación [7], clasificación se evitan algunos inconvenientes, como por ejemplo, los paquetes incluidos en Non-US/Non-Free, no pueden ser exportados a los EEUU porque son paquetes de cifrado, o no pueden estar almacenados en servidores situados en los EEUU, por problemas de patentes.


Actualizaciones fáciles:

La actualización de Debian GNU/Linux, es bastante sencilla, se puede resumir en dos simples comandos: "apt-get update" "apt-get upgrade"



# apt-get update

Hit http://security.debian.org stable/updates/main Packages
Hit http://security.debian.org stable/updates/main Release
Hit http://security.debian.org stable/updates/contrib Packages
Hit http://security.debian.org stable/updates/contrib Release
Hit http://security.debian.org stable/updates/non-free Packages
Hit http://security.debian.org stable/updates/non-free Release
Hit http://mirror.peer1.net stable/main Packages
Hit http://mirror.peer1.net stable/main Release
Hit http://mirror.peer1.net stable/contrib Packages
Hit http://mirror.peer1.net stable/contrib Release
Hit http://mirror.peer1.net stable/non-free Packages
Hit http://mirror.peer1.net stable/non-free Release
Hit http://mirror.peer1.net stable/non-US/main Packages
Hit http://mirror.peer1.net stable/non-US/main Release
Hit http://mirror.peer1.net stable/non-US/contrib Packages
Hit http://mirror.peer1.net stable/non-US/contrib Release
Hit http://mirror.peer1.net stable/non-US/non-free Packages
Hit http://mirror.peer1.net stable/non-US/non-free Release
Reading Package Lists...
Building Dependency Tree...

  


Con el comando antes descrito se hace una actualizacion de las fuentes de los paquetes correspondientes a nuestra Distribución; en este caso como pueden apreciar, es Woody o "Stable". Estas fuentes se configuran en el archivo /etc/apt/sources.list. Una corta mirada al archivo en cuestión nos muestra:



# the main Debian packages.  Uncomment the deb-src line if you
# want 'apt-get source' to work with most packages.
deb http://mirror.peer1.net/debian/ stable main contrib non-free
# deb-src http://mirror.peer1.net/debian/ stable main contrib non-free

# the non-US Debian packages.  Uncomment the deb-src line if you
# want 'apt-get source' to work with non-US packages.
deb http://mirror.peer1.net/debian-non-US/ stable/non-US main contrib non-free
# deb-src http://mirror.peer1.net/debian-non-US/ stable/non-US main contrib non-free

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

  


Ahora viene la pregunta maestra: "De donde se obtienen estas fuentes"?, la respuesta es mas que simple. Al instalar Debian, generalmente te configura las fuentes de paquetes correspondientes a tu medio de instalación; es decir; si lo hiciste desde un CDROM, la prioridad la tendrán esta "fuente de paquetes". Debian cuenta con un paquete que permite configurar el "sources.list" con los mirrors mas cercanos a nosotros de manera automática. El programa en cuestión es "netselect-apt" Para aclarar el punto:



# netselect-apt

You didn't provide a distribution name (usually 'stable', 'testing', or
'unstable') on the command line. We'll use 'stable' y default.

Choosing a man Debian mirror using netselect.
netselect: unknown host debian.efis.ucr.ac.cr
netselect: unknown host ftp.cz.debian.org
Running netselect to choose 1 out of 88 addresses.
................................................................................
................................................................................
................................................................................
..............................................................
The fastest server seems to be:
	http://mirror.direct.ca/linux/debian

Choosing a non-US Debian mirror using netselect.
netselect: unknown host debian.efis.ucr.ac.cr
netselect: unknown host ftp.cz.debian.org
Running netselect to choose 1 out of 74 addresses.
.................................................................................
.................................................................................
.................................................................................
.................................................
The fastest non-US server seems to be:
	http://mirror.peer1.net/debian-non-US/

Write the sources.list in the current directory
Done.

  


Con esto nos genera el file sources.list, es cual debemos colocar en la ubicación pertinente. Simple, no?


Sistema de Seguimiento de Errores:

Hay una frase muy conocida "Seguridad por oscuridad", obviamente Debian NO sigue esta política. El sistema de seguimiento de Errores es publica, de esta manera Debian responde a los posibles inconvenientes que se presenten de manera rápida y fiable. Se dispone de modalidades para que ante la ocurrencia de algún tipo de fallo, los usuarios o desarrolladores, puedan informarlos. [8] y ser solucionados en el menor tiempo posible.

Este mecanismo no se limita solamente a los temas de lo que algunos podríamos interpretar como seguridad "clásica", ya que seguridad informática conlleva ciertos parámetros mas, como la confiabilidad, la disponibilidad y la integridad. Es por ello que los fallos no se limitan a los que permitirían a atacantes conseguir un root shell remoto. Podemos ver desde fallas criticas que podrían comprometer de hecho nuestra seguridad; hasta simples, como la no aparición de iconos en el escritorio o una falla con el reconocimiento del teclado.

El reporte adecuado y el trabajo en conjunto de los usuarios y desarrolladores ha hecho de Debian GNU/Linux una de las Distribuciones mas seguras.



Screen Shoot de Debian GNU/Linux - Woody (Stable) - informatizate

Conclusión

Tal vez en una primera instancia Debian GNU/Linux, no te resulte muy amigable, pero ten presente la siguiente frase: "el hombre es un animal de costumbres". Así como te acostumbras a utilizar un KDE o GNOME, con un sawfish o enlightenment, si eres usuario de otra Distribución Linux, siempre incrementará tus conocimientos, el trabajar con otras distribuciones. A los que estamos inmersos en éstos temas, no nos puede doblegar el hecho de que encontremos problemas cuando nos enfrentamos a distribuciones GNU/Linux, al contrario, son los problemas precisamente los que elevan nuestros conocimientos, lo que nos impulsa a investigar para encontrar la solución, y lo que nos hace mejores profesionales.

No se pueden permitir el lujo, de no trabajar con Debian GNU/Linux.

Pruébenlo!... les aseguro, que no se arrepentirán.

Será hasta una proxima oportunidad.


Referencias:

[1] Razones para escoger Debian - http://www.debian.org/intro/why_debian
[2] Listas Debian - http://www.debian.org/intro/why_debian
[3] Sitio en Español sobre Debian GNU/Linux - http://www.esdebian.org
[4] Guía del Nuevo Desarrollador de Debian - http://www.debian.org/doc/manuals/maint-guide/index.es.html
[5] Debian-Installer - http://www.debian.org/devel/debian-installer/
[6] Debian Free Software Guidelines - http://www.debian.org/social_contract#guidelines
[7] Notas introductorias - http://www.debian.org/distrib/packages.es.html
[8] Sistema de seguimiento de fallos de Debian - http://www.debian.org/Bugs/index.es.html



   

Otros Artículos del Autor: Fecha Publicación:
Apología a Debian GNU/Linux Marzo 8 del 2004
Proxy. Buen punto 22 de Agosto del 2003
Linux en las Empresas 8 de Diciembre del 2002


Google




Version PDF


Copyright © 2002-2004 Grupo Informatizate. Reservados todos los derechos.
Prohibida la reproducción total o parcial en cualquier formato sin previa autorización.
On-line desde el 27 de Noviembre del 2002