2009-01-01

Introduccion a FreeBSD

Auntes de una charla que no se llevó a cabo ( 2k5 ) :

Introducción : Que es FreeBSD

Primer acercamiento , de que vamos a hablar ¿?
SLICE 1 CON LOS PUNTOS MAS DESTACADOS ( La primera impresión es importante !! )

* Sistema operativo tipo UNIX (mencionar porque digo TIPO UNIX y NO UNIX , ecplicar el rollo legal/burócratico )
* En constante evolución
* Utilizado en psi, servidores web, etc... ( tb como s.o. personal ! )
* Código abierto ( fuentes públicas ! ) bajo licencia BSD NO gpl ( más tarde )
* Standards POSIX ( POSIX es un standard internacional UNIX program behavior and kernel features.
* Desarrollado por un grupo de prog. prof. centralizado
* Adaptacion de contribuciones de gente de todo el mundo ( como linux )
* Manejo mediante shells o entorno gráfico X window ( kde, gnome )
* Plataformas X86 ( la mas estable ), ALPHA , MOTOROLA, AMD 32-64



* Si te asusta unix, pilla mac os x ( unix + grafico ) o windows
* Puede convivir con otros sistemas operativos
* Tiene multitud de aplicacione de todo tipo ofimatica, internet, graficos, video
* No es un sistema nuevo - Tiene 11 años de vida y un largo desarrollo a sus espaldas.
* Licencia propia BSD ( no GPL )
* SISTEMA MULTI-USUARIO
* SISTEMA PERMISOS TIPO UNIX
* ESTRUCTURA DE DIRECTORIOS ( MAN HIER )
* SISTEMA DE ARCHIVOS UFS ( UNIX FILE SYSTEM )
* SHELLS ( SH, TCSH, CHS, BASH , ZSH, ASH )
* EDITORES DE TEXTO ( EE, VI -- VIM, EMACS )

Recordatorio :

( man nº comando ) :

1. Órdenes/programas de usuario.
2. LLamadas de sistema y códigos numéricos de error.
3. Funciones de las librerías de C.
4. Manejadores de Dispositivos.
5. Formatos de Archivos.
6. Juegos y otros divertimentos.
7. Información miscelánea.
8. Programas relativos al mantenimiento y operación del sistema.
9. Desarrolladores del Kernel.


ORIGENES DE UNIX / ORIGENES DE BSD :

Posible primera parte de la introduccion dedicada a un acercamiento "histórico" al principal objeto de la ponencia FreeBSD ( Unix ), repasar de una manera rápida las fechas hasta llegar al nacimiento de FreeBSD y explicar con algo más detenimiento.

SLICE 2 /3 FECHAS DESTACADAS Depende del tiempo ( No es el objetivo principal, pero ayuda )

- Breve historia de UNIX ( AT & T ):

* 1962 : CTSS + MIT estudian areas de TIEMPO COMPARTIDO y PROTECCION
* 1965 : BELL LABS ( AT & t labs system ) GENERAL ELECTRIC + MIT trabajan en MULTICS
( desarrollo de gran potencia de calculo, multi usuario --> shell,
multiproceso, arbol de ficheros ) Se abandona en ...
* 1969 : Abandono del proyecto MULTICS, Ken Thompson sigue desarrollándolo en los
laboratorios Bell de la AT & T ayuda de Ritchie más tarde.
* 1971 : Dennie Ritchie y Kerninghan crean C ( un lenguaje para programar sistemas ).
* 1973 : Dennie Ritchie y Ken Thompson reescriben UNIX en C ( en la AT % T ) y lo dotan de capacidad multiusuario.
* 1974 : Empieza la explotación comercial de UNIX por la AT & T ( 25.000 dolares la licencia.)
Relacion UNIX de AT & T y BSD ( ORIGENES DE BSD ) -->
A partir del 74 la Universidad de California proveia codigo a AT & T para su UNIX, es decir colaboraban mejorandolo. Las universidades que trabajaban con el UNIX de AT & T comaprtian sus mejoras y evoluciones con el CSRG que era el catalizador principal para probar mejoras de codigo , el CSRG distribuia su codigo a todo aquel que poseyera un licencia AT & T de UNIX : las llamadas Berkeley Software Distributions.
* 1975 : Se pasa a las Universidades ( sin licencias y con fuentes ! ) para educación y enseñanza.
* 1979 : La primera version UNIX procedente de Berkeley ( y no de AT & T ) : 3BSD que convercio a DARPA para que Este mismo grupo desarrollara un sistema operativo con soporte para TCP/IP , se creo el standard 4BSD.
* 1983 : Sale 4.2BSD y termina el proyecto "BERKLELEY DARPA UNIX", el CSRG sigue desarrollando BSD independientemente, que da sus frutos en :
* 1985 : - 4.3BSD TAHOE ( 1985 APROX )
* 1986 : - 4.3BSD NET 1 ( 1986 APROX ) -->
Ni tan siquiera pretendia ser un s.o, sino una suite de protocolos tcp/ ip --> Muere y no se desarrolla más.
* 1991 : - 4.3BSD RENO ( 1991 - Principios )
* 4.3BSD NET 2 ( 1991 - Finales )*
* 1992: La AT&T EMPIEZA una disputa legal contra Berkeley por el status legal de esta
última versión y en consecuencia a las siguientes versiones :
* Paralelamente 4.3BSD NET2 sigue evolucionando : Gente de Berkeley ( la BSDI -
Berkeley Software Design Inc. ) decidio portar esta ultima version a PC y adaptarla
al procesador Intel 80386 , salieron:

* BSD/386 --: BSDI : Muere
*386/BSD --: ** 386BSD 1.0 : Muere
** A principios de 1993, los encargados de las actualizaciones ( patchkits ) de
*386/BSD, saca una release intermedia por su suenta entre 386/BSD y 386BSD 1.0 para
* solucionar un problema que no se podia solucionar con parches, Sale :
* 386BSD 0.5 o "386BSD Interim" .
* Esta versión fue donada a los desarrolladores del original 386/BSD los que por causas
desconocidad retiraron su aprobación del proyecto, lo que lejos de desmotivar a la
gente que habia sacado esta release, les hizo seguir el proyecto y denominarlo:

FreeBSD.

Paralelamente de la rama principal de 4.3BSD RENO salió :
* 1992--> - 4.4BSD ( compatibildad con POSIX, gestion de memoria, mejor de red )
* 1993: - FreeBSD 1.0 ( Diciembre ) --> de mano de la gente de 386BSD 0.5.
* Diciembre 1993 : FREEBSD 1.0 ( Basado 4.4BSD LITE + 386/BSD + FSF ).
* Mayo 1994 -----: FreeBSD 1.1 ...

* 1994 ( Principio ) : Concluyen los juicios legales por la disputa de UNIX,
- finalmente :
- BSDI debe migrar todo el codigo de sus sistemas a la nueva version de 4.4BSD R2
( algo que iba a hacerse de todas maneras ).
- A FreeBSD todo y no estar involucrado directamente. se le hizo una advertencia
similar, debería migrar todo su codigo a 4.4BSD Lite, lo hizo en :

* 1994 ( Finales ) -: Las consecuencias :
- La últ. vº desarrollada en Berkeley fue la 4.4BSD -Lite.
- FreeBSD 2.0 ( prácticamente reescrito basada en 4.4BSD Lite !!)
- 4.4BSD -Lite Release 2 ( actualización ) --> Con esta última version,
- el CSRG abandona el proyecto BSD.
* Independientemente al CSRG que da por concluido su trabajo, 4.4BSD se sigue desarrollando de diferentes maneras con diferentes nombre y por diferentes grupos y empresas:
- FreeBSD ( Desarrollo "libre" ) --> Robusto, estable, sencillo
- NetBSD ( Desarrollo "libre" ) --> Orientado a Portabilidad
- OpenBSD ( Desarrollo "libre" ) --> Orientado a Seguridad
- BSD/OS --> Comercial S.O. by Wind River Systems.
- Darwin : El BSD comercial de apple, ( MacOS X sin interfaz )
- MacOS X --> Basad en gran parte en FreeBSD + interfaz de apple.
- AIX --> ( El UNIX de IBM , basado eN UN PRINCIPIO EN BSD)

* 1995 : Desde la version 2.0 de FreeBSD en 1994 , ha aparecido numerosas versiones, he aqui algunas de las versiones STABLE ( para entornos de producción ) más significativas así como los cambios más notables introducidos en estas:
* 1995 : FreeBSD 2.05
* 1997 : FreeBSD 2.1.7.1 : ( Final de la Rama 2.1 )
* 1998 : FreeBSD 2.2.8 : ( Final de la Rama 2.2 )
* 1999 : FreeBSD 3.5.1 : ( Final de la Rama 3.x )
* 2000 : FreeBSD 4.0
* 2001 : FreeBSD 4.4
* 2003 : FreeBSD 4.9 : ( Final de la Rama 4.x )
* 2004 : FreeBSD 4.10 : ( Posiblemente Final de la Rama 4.x )

FreeBSD 5.x : ( Seguramente en Septiembre pasara a STABLE )

- DIFERENCIAS FREEBSD RESPECTO A OTROS SISTEMAS :

* FreeBSD es un s.o. COMPLETO mantenido por un grupo coordinado y centralizado de personas.
* Linux es un kenel ( núcleo ), las aplicaciones dependen de la distribución.

* FreeBSD no es tan conocido debido a las restricciones legales de su codigo en sus inicios
* Linux no ha tenido ( hasta el momento ) problemas de leyes ni restricciones.

* Quizás no hay tantas aplicaciones comerciales para FreeBSD.
* Existen multitud de appz comerciales para linux.

* Quizás no hay tantos tipos de placas base soportados ( actualmente es raro )
* Practicamente placa que sale al mercado, placa que tiene soporte Linux.


* FreeBSD ejecutará un gran mayoría de las aplicaciones para Linux
* No creo que Linux necesite ejecutar ninguna aplicacion de FreeBSD


* Portar aplicaciones de Linux a FreeBSD no es dificil.


* Posiblemente hay más documentación para Linux que no para FreeBSD


* El código fuente de FreeBSD así como del 99% de sus aplicacioens esta a disposición de quien lo quiera son necesidad de licencias.


* La licencia BSD es bastante más permisiva que la GPL ( Linux ), y ya no digamos de la licencia Microsoft.



- MODELO DE DESARROLLO FREEBSD.


Al ser FBSD un sistema en continuo desarrollo, puede darse el caso que nos descargemos una version de fbsd desde la web, y que esa misma tarde se hayan introducido cambios en su codigo fuente.


Puedes descargarte varias versiones de FreeBSD .


-RELEASE :


para entornos de produccion, los que se venden en la tienda .
La versión más madura del código en un momento dado


-CURRENT :


Version con "añadidos de codigo" que no han estado testeados al 100%, estos cambios aparecen por primera vez desde esta version, es para desarrolladores, testers, y gente interesada ( es necesario conocer perl, c, sistemas , etc.. )
Cada año año y medio se congela ( no se permiten cambios a menos que no sean chungos ) y se arreglan todos los pequeños problemas detectados hasta el momento, si nace la siguiente .0 STABLE RELEASE.


-SNAPSHOTS



- SOFTWARE ( APLICACIONES PARA FREEBSD )


Una de las preguntas a la que nos afrontamos al cambiar o probar un nuevo sistema operativo,
es que partido le voy a sacar , tendré las aplicaciones que necesito ? , la respuesta es SI
FreeBSD tiene un monton de aplicaciones y una organización perfecta para su localización instalación y gestión .


- LA MANERA TRADICIONAL :



- LOS PORTS ( ACTUALMENTE UNAS 9000 APLICACIONES ) :


Los ports no son más que un paquete binario.

- LOS PAQUETES

* Binarios precompilados listos para instalar.


- HARDWARE ( QUE NECESITO ? )


- FILOSOFIA BSD

Es de las mas liberales, puedes hacer lo que te de la gana ( incluirlo en tus productos comerciales, no comerciales, proyectos de codigo abierto, etc.... en principio no se tiene ni porque decir que tal sistema esta basado en software bsd ) básicamente estas son las tres premisas principales :


- No digas que lo has hecho tu.
- No nos jodas si se te rompe.
- No nos utilizes para promocionar tu producto.


- LA PEÑA QUE HACE FREEBSD :


* COMITTERS :


Unos 350 aprox. tienen acceso de lectura y escritura en el codigo fuente primario
de desarrollo pueden añadir, quitar, borrar a su antojo

Evaluan parches de los contributors

A una minoria les pagan por hacer estos, el resto son voluntarios

FreeBSD-hackers@FreeBSD.org


* CONTRIBUTORS :

Hay miles !

No tienen acceso al código fuente primario, pero contribuyen enviando parches
muestras de errores, etc.. normalmente cuando llevan tiempo de forma activa contribuyendo
y tiene las cualidades necesarias, pasa a formar parte de los comitters.

* USUARIOS :


5-10 % DE LA MAQUINAS CHULAS


- PANORAMA ESPAÑOL RESPECTO A FREEBSD

Si bien es cierto que así com la comunidad Lunux ha ido creciendo a lo largo de los años,
la de freebs por motivos intrínsecos a su desarrollo e historia, ha sido un sistema algo más "apartado" de todos esos grandes proyectos de docuemtacin, etc..
De todas maneras, existen en la red numeroso proyectos de docuemntacion y how-toŽs dedicados
especificamente a *BSD en general y fbsd en concreto

www.daemomnews.com

www.freebsddiary.com

www.hispabsd.com

www.eldemonio.org

www.hispaforobsd.org



- FREEBSD EN LA RED

Sitios que usan FreeBSD :

Página principal del Proyecto :

http://www.freebsd.org

Páginas dedicadas a *bsd y FreeBSD ( Inglés ) :

www.daemomnews.com
www.freebsddiary.com

Páginas dedicadas a *bsd y FreeBSD ( Español ) :

www.hispabsd.com
www.eldemonio.org


- PRIMEROS PASOS PARA TENER FREEBSD UP & RUNNING :


1 - pillas tu navegador y te hechas un vistazo a http://www.freebsd.org/es y miras los mirrors ftp que hay, españa es el 3 que seria http://ftp5.freebsd.org/ y en releases/i386 para empezar , aqui estan todas las versiones e imagenes iso.

2- si lo pasas a cd puedes bootear desde el, si no en maquinas antiguas
copiar a 2 disquetes con el programa fdimage que esta en el cd que te has bajado :

DOS :


d:dosutilsfdimage kern.flp c:

d:dosutilsfdimage mfsroot.flp c:

LINUX : ( EN EL DIRECTORIO DE LAS IMAGENES ):


# dd if=kern.flp of=/dev/fd0

AVISO : VAS LA BIOS Y "Plug and Play OS" option to "no." asi hace algunos chequeos por ella misma y no lo delega en el s.o. ( la bios esta diseñada para esto, no es problema ) FreeBSd asume que la bios hace su trabajo. ( P.ej Windows NO ).

PRIMERA PANTALLA :

Pasa de la configuracion del kernel a menos que tengas algo raro ( ISA CARDS )
Skip ...

Aquí empieza la uilidad SYSINTALL : ( rollo ncurses, menu de instalacion cutre salchichero )

PARTICIONAR CON DIKLABEL Y LAS SLICES

/ unas 128 Mgb --> aqui ponemos el kernel y algunos progrmas para que arranque
ahora la PARTICION SWAP : como mínimo el doble de la RAM ( FreeBSD asume esto ! )
/var --> se albergaran logs, etc.. si es un servidor dejarle bastante espacio !!
/usr :
/home

-- Las particiones dependen del uso que se le quiera dar a la maquina !!
- Si, se puede meter todo en un particion y listos ( no recomendable para recupeara datos )

GESTOR DE ARRANQUE

Podemos escoger el menu de arranque del FreeBSD ( cutrequetecagas ), dejar el disco como esta ( y arrancarlo desde otro gestor )

AHORA QUE QUEREMOS INSTALAR :

Nos sale un menu con algunos perfiles ( usario experto, con entorno grafico, etc.. )
Lo elegimos y listo
instalcion `pr ftp / cd ....

metemos contraseña de root ...
creamos un usuario y lo metemos en el grupo wheel ( asi puede hacer su y pasar a root )

RELOJ - TIEMPO
CONFIGURAR EL MOUSE : ( PS2 Y USB SIN PROBLEMAS ) !!
TARJETA DE RED Y CONFIGURACION
configurar el reloj y las X ( ahora no !! después con /stand/sysinstall entramos y listo !!!

ahora algunos paquetes ( programas conmpilados ) a instalar ¡


- EL KERNEL DE FREEBSD

El programa de sysctl (8)
POSIX is an international standard for UNIX program behavior and kernel features.
Most of FreeBSD complies with POSIX.

# sysctl -A > sysctl.que

- Configuracion rapida del kernel ( METODO TRADICIONAL - 4.3):
# cd /usr/src/sys/i386/conf
# cp GENERIC KLMENTES
# ee KLMENTES
# config KLMENTES
# cd /usr/src/sys/compile/KLMENETS
# make depend
# make
# make install

El archivo LINT ( /usr/src/sys/i386/conf/LINT !! ) contierne todas las opciones del kernel ?

- Configuracion rapida del kernel ( METODO TRADICIONAL + 4.3):

# cd /usr/src/i386/conf
# cp GENERIC OBSTINATE
# ee OBSTINATE
# cd /usr/src
# make buildkernel KERNCONF=OBSTINATE
# make installkernel KERNCONF=OBSTINATE


Este documento está inacabado, por favor se aceptan, necesitan y agradecen sugerencias.

0 comentarios:

Publicar un comentario