All pastes #525763 Raw Edit

Charla SlackDeb

public text v1 · immutable
#525763 ·published 2007-05-31 14:30 UTC
rendered paste body
Intruduccion a GNU/Linux


Esta charla esta orientada a aquellos que intentan dar sus primeros pasos en los sitemas GNU/Linux.






Breve reseña historica

Richard Stallman, un hacker de los laboratorios IA del MIT, funda el proyecto GNU (GNU is not unix, acrónimo recursivo) para dedicarse en conjunto con otras personas a realizar un sistema operativo totalmente libre. 
En el año 1985 aparece el manifesto GNU en el cual Richard Stallman declara sus intenciones y motivaciones para crear una alternativa libre  al sistema operativo Unix. 
Stallman fue quien Invento el concepto de copyleft (aunque no asi la frase), que despues fue utilizado  en la Licencia Publica General (GPL) en el año 1989.


En otro rincón del mundo, mas precisamente en Finlandia... Corria el año 1991 en la Universidad de Helsinki, cuando un estudiante, el dia 25 de agosto del mismo año, publica una anuncio en la lista de correos comp.os.minix con el siguiente mensaje:

"Estoy haciendo un sistema operativo (gratuito, sólo un hobby, no será nada grande ni profesional como GNU) para clones AT 386(486). Esto ha sido desde abril y está empezando a estar listo. Me gustaría un feedback de las cosas que les gustan o disgustan en minix. Actualmente he portado bash(1.08) y gcc(1.40), y parece que las cosas funcionan. Esto implica que tendré algo práctico en unos meses..."

El nombre de ese estudiante era Linus Torvalds de 21 años de edad que mostraba a la luz tan solo un proyecto personal. El 5 de octubre de 1991 se publica la primera version de Linux.
El desarrollo de su proyecto personal continuo y en el año 1992 Linus decide utilizar la Licencia Publica General.

Con el conjunto de herramientas GNU y un nucleo libre totalmente funcional, el sitema operativo estaba listo...


(VER CORREGIR)





¡¿Software libre?!

El software libre (Free Software) es el software que, una vez obtenido puede ser: usado, copiado, modificado y redistribuido libremente.
Que sea libre no significa que tambien es gratuito, muchas personas confunden software libre con  gratuito por que "FREE" en inglés puede tener diversas interpretaciones, una de ellas es justamente gratis. Pero debemos recordar siempre que:

"Free as in freedom, not as in free beer" (Libre como en libertad, no como en cerveza gratis")


¡¿Libertades?!

El software es libre si garantiza las siguientes libertades:

Libertad 0: Ejecutar el programa con cualquier propósito (privado, educativo, público, comercial, etc.).

Libertad 1: Estudiar y modificar el programa.

Libertad 2: Copiar el programa de manera que se pueda distribuir a cualquiera.

Libertad 3: Mejorar/modificar el programa y publicar dichos cambios.

Es importante recalcar que para que se puedan garántizar las libertades 1 y 3, el código fuente debe estar disponible para todo aquel que lo desee.

















KERNEL!!!

El kernel es el nucleo de cualquier sistema operativo. Es el encargado de gestionar los recursos de nuestras computadoras. Existen diferentes tipos de nucleos, a saber:

* Micronucleos.
* Nucleos monoliticos.
* Nucleos hibridos.
* Exonucleos.

Los nucleos monoliticos son mas faciles de diseñar correctamente y de programar ya que presentan un nivel de complejidad mucho menor que los demás.  Este es el tipo de kernel que nos interesa, al menos en el ámbito de esta charla, ya que es el tipo de nucleo que se utiliza en los sistemas GNU/Linux.
En cambio, el nucleo desarrollado integramente por el proyecto GNU, conocido como Hurd, es del tipo micronucleo. El mismo presenta un diseño mucho mas complicado complicado; una de las razones por la cual todavia no existe una version estable aunque tenga casi 20 años de desarrollo.

 

Filesystem?!!

Un sistema de archivos es un método para organizar archivos de computadora y los datos que los mismos contienen de manera que sea "simple" acceder a los mismos.
Los sistemas tipo Unix tienen un sistema de archivos virtual que hace que todos los archivos aparezcan bajo una misma jeararquía en la cual existe un directorio raiz y del mismo se desprenden todos los demas. Para poder acceder a un sistema de archivos en otro dispositivo (partición, disco, CD, DVD, etc) debemos informarle al kernel en que parte del directorio raiz, o sus subdirectorios (comunmente conocido como punto de montaje), queremos que aparezcan, llamamos a esta accion montar un sistema de archivos. Los sistemas de archivos que se utilizan en este tipo de medios se denominan "de disco"(Disk File System), entre los mas conocidos en GNU/Linux encontramos:

ext2:

ext3:

ReiserFS:

Reiser4 (aun experimental):

XFS:

Cada uno de ellos tiene características que lo hacen bueno para algun tipo de uso en particular, tambien son soportados otros tipos de FS de diversos SOs como por ejemplo FAT o NTFS ademas de FS de red como NFS.





Window Managers



Desktop Managers




Distribuciones

Una distribucion  es simplemente un "sabor" de GNU/Linux, cada una de ellas con particularidades propias, las que mas los diferencian son: el sistema de distribución de paquetes, el instalador y algunos de los archivos que se utilizan para guardar la configuración, ademas tienden a estar orientadas a diferentes usos y usuarios, dando esto un abanico de opciones para que cada quien elija la que mas se adapta a su tarea diaria.

Veamos una lista de las mas conocias:


Slackware Linux: Es la distribucion mas antigua de todas mantenidas  en la actualidad, la distribucion de paquetes se hace principalmente con archivos TGZ,  el sistema de paquetes no maneja dependencias.

Debian GNU/Linux: Es una distribucion netamente mantenida por la comunidad, la distribucion de paqueres se hace a travez de archivos DEB, el sistema de paquetes maneja dependencias, posee diferentes ramas (unstable, testing y stable).

Gentoo Linux: Distribucion basada en codigo de fuente, Posee un sistema de distribucion de software basado en ports de BSD (portage).

Mandriva Linux: La distribucion de paquetes se hace a travez de archivos RPM, es una distribucion focalizada para usuarios que recien comienzan a usar GNU/Linux.

Fedora Core:  La distribucion de paquetes se hace a travez de archivos RPM, posee herramientas para actualizar/instalar/eliminar paquetes (yump) .

Suse Linux: La misma mierda que la anterior pero (Yast2) (CORREGIR)

Ubuntu:la distribucion de paqueres se hace a travez de archivos DEB, el sistema de paquetes maneja dependencias, esta basada en Debian GNU/Linux, esta orientada a usuarios que recien comienzan con GNU/Linux.





















USUARIOS

GNU/Linux, al igual que unix, es un sistema multitarea y multiusuario, multitarea significa que se puede realizar mas de una tarea a la vez y multiusuario significa que puede ser empelado por mas de un usuario a la vez.
En GNU/Linux basicamente podemos distinguir dos tipos de usuarios:

Administrador (root): El administardor es capaz de tener el control sobre toda la computadora, es el que tiene permisos para cambiar configuraciones criticas del equipo asi como de la administración de los usuarios. Ej: Configuraciones de red, instalacion de nuevo software, etc.. 

Usuarios: El resto de los usuarios que utilizan la computadora (dentro de estos se encuentran los "usuarios del sistema", como ser el caso de usuarios para ciertos programas, ej: el usuario www-data es el que es utilizado por el servidor web apache para correr y modificar sus archivos, esto da la seguridad de que nadie sin autorización pueda interferir con los mismos). Los permisos de los usuarios "comunes" son muy inferiores a los del administrador, pero esto no implica que no sean los suficientes. Un usuario puede hacer todo tipo de tareas, salvo tereas de administración del equipo.