diff --git a/es_ES.ISO8859-1/books/handbook/introduction/chapter.sgml b/es_ES.ISO8859-1/books/handbook/introduction/chapter.sgml
index 53ac408f3a..33031e2d2b 100755
--- a/es_ES.ISO8859-1/books/handbook/introduction/chapter.sgml
+++ b/es_ES.ISO8859-1/books/handbook/introduction/chapter.sgml
@@ -1,938 +1,951 @@
JimMockRestructured, reorganized, and parts
rewritten by Introducción
-
+ Sinopsis¡Gracias por tu interés en FreeBSD! El siguiente capítulo
trata varios temas relativos al Proyecto FreeBSD, como su historia,
objetivos, modelo de desarrollo, etc.Después de leer este capítulo sabrás:Qué relación guarda FreeBSD con otros sistemas
operativos.La historia del Proyecto FreeBSD.Los objetivos del Proyecto FreeBSD.Los fundamentos del modelo de desarrollo de código abierto
de FreeBSD.Y por supuesto: de dónde procede el nombre "FreeBSD".¡Bienvenido a FreeBSD!4.4BSD-LiteFreeBSD es un sistema operativo basado en 4.4BSD-Lite para la
arquitectura Intel (x86) y sistemas basados en DEC Alpha. Se está
trabajando también en versiones para otras arquitecturas. Para
una breve perspectiva general de FreeBSD consulta la siguiente sección. Puedes también leer
sobre la historia de FreeBSD, o
sobre la distribución actual. Si
estás interesado en contribuir de algún modo al proyecto (código,
hardware, billetes sin marcar), mírate el artículo Contribuir a
FreeBSD.
-
+ ¿Qué puede hacer FreeBSD?FreeBSD tiene muchas características notables. Algunas de
ellas son:multitarea expropiativaMultitarea expropiativa con
prioridades dinámicamente ajustadas para asegurar que
distintas aplicaciones y usuarios compartan el ordenador de
un modo equitativo, incluso bajo la mayor de las
cargas.servicios multiusuarioServicios multiusuario que permiten
a mucha gente usar un sistema FreeBSD simultáneamente para
distintas cosas. Esto significa, por ejemplo, que los
periféricos del sistema como impresoras y dispositivos de
cinta son compartidos adecuadamente por varios usuarios del
sistema o la red, y que pueden establecerse límites sobre
recursos concretos para usuarios o grupos de usuarios,
protegiendo de este modo al sistema de posibles
abusos.redes TCP/IPConexión de redes TCP/IP muy
robusta, con soporte para estándares industriales como SLIP,
PPP, NFS, DHCP, y NIS. Esto quiere decir que tu máquina
FreeBSD puede interoperar fácilmente con otros sistemas y
hacer de servidor en una empresa, proporcionando importantes
funciones como NFS (acceso a ficheros remotos) y servicios
de correo electrónico, o poniendo a tu organización en
Internet con WWW, FTP, servicios de enrutado y
cortafuegos.protección de memoriaLa protección de memoria garantiza
que las aplicaciones (o los usuarios) no pueden
interferirse. Un error fatal en una aplicación no afecta al
resto.FreeBSD es un sistema operativo de
32-bits (de 64-bits
sobre Alpha) y fue diseñado como tal desde el
comienzo.X Window SystemXFree86X Window System (X11R6), estándar
de la industria, provee a los usuarios de una interfaz
gráfica (GUI) por el coste de una tarjeta VGA y un monitor
comunes, y viene con los fuentes completos.compatibilidad binariaLinuxcompatibilidad binariaSCOcompatibilidad binariaSVR4compatibilidad binariaBSD/OScompatibilidad binariaNetBSDCompatibilidad binaria con muchos
programas nativos de Linux, SCO, SVR4, BSDI y NetBSD.Miles de aplicaciones listas para ser
usadas se hallan disponibles en la colección de
ports y paquetes.
¿Para qué buscar en la red si puedes encontrarlo todo aquí
mismo?Miles de aplicaciones fáciles de
portar se encuentran disponibles en Internet.
FreeBSD tiene un código fuente compatible con el de los más
populares sistemas Unix comerciales y por ello la mayoría de
las aplicaciones tan sólo necesitan unos pocos cambios, si
alguno, para compilar.memoria virtualEl diseño de la memoria virtual con
paginación bajo demanda y de la caché unificada de
VM/buffer satisface a aplicaciones que requieren
grandes cantidades de memoria de forma eficiente aun
dando respuestas interactivas a otros usuarios.Multiprocesamiento simétrico (SMP)Soporte para SMP en máquinas con
múltiples CPUs.compiladoresCcompiladoresC++compiladoresFortranUna colección completa de herramientas de desarrollo en
C, C++,
Fortran, y Perl.
Muchos más lenguajes adicionales para investigación y
desarrollo avanzados se encuentran también disponibles en la
colección de ports y paquetes.código fuenteDisponer del código fuente del
sistema entero significa contar con el mayor nivel de
control posible sobre tu entorno. ¿Para qué ligarte a una
solución propietaria a la merced de un fabricante cuando
puedes tener un verdadero sistema abierto?Extensa documentación en
línea.¡Y mucho más!4.4BSD-LiteComputer Systems Research Group (CSRG)U.C. BerkeleyFreeBSD está basado en la versión 4.4BSD-Lite del Computer
Systems Research Group (CSRG) de la Universidad de California en
Berkeley, y continúa la distinguida tradición de desarrollo de
sistemas BSD. Además del excelente trabajo del CSRG, el
Proyecto FreeBSD ha invertido miles de horas en ajustar el
sistema para conseguir un rendimiento y una fiabilidad máximos
en situaciones de carga reales. Mientras que muchos de los
gigantes comerciales se esfuerzan en dotar a los sistemas
operativos para PCs de esas características, rendimiento y
fiabilidad, FreeBSD puede ofrecerlas
¡ya!Las posibles aplicaciones en las que puede usarse FreeBSD
están en verdad limitadas tan sólo por tu imaginación. Desde
desarrollo de programas hasta automatización de fábricas, desde
control de inventarios hasta corrección de azimut de antenas de
satélites remotos; si puede realizarse con un Unix comercial lo
más seguro es que también pueda llevarse a cabo con FreeBSD.
FreeBSD también se beneficia de las literalmente miles de
aplicaciones de alta calidad desarrolladas en centros de
investigación y universidades de todo el mundo, frecuentemente
disponibles por poco o ningún coste. También se dispone de
aplicaciones comerciales, cuyo número aumenta cada día.Dado que el código fuente de FreeBSD está disponible, el
sistema puede ser también personalizado en un grado nunca visto
para aplicaciones o proyectos especiales, y de maneras
generalmente no posibles con los sistemas operativos de la
mayoría de los fabricantes comerciales. Aquí damos tan sólo una
muestra de aplicaciones en las que se está actualmente usando
FreeBSD:Servicios de Internet: La robusta
conectividad TCP/IP integrada en FreeBSD hace de este sistema
una plataforma ideal para servicios Internet como:servidores FTPservidores FTPservidores webServidores web (estándares o seguros [SSL])cortafuegosenmascaramiento IPCortafuegos y pasarelas NAT (enmascaramiento
IP).correo electrónicoServidores de correo electrónicoUSENETUSENET y BBSsY más...Con FreeBSD puedes empezar fácilmente con un económico 386
e ir actualizando tu equipo hasta un tetraprocesador Xeon con
almacenamiento RAID a medida que tu proyecto crezca.Educación: ¿Eres estudiante de
informática o de algún campo de la ingeniería relacionado? No
hay mejor modo de estudiar sistemas operativos, arquitectura
de computadores y redes que la experiencia a bajo nivel que
FreeBSD puede aportar. Para aquéllos cuyo principal interés
en los ordenadores no es otro que el de poder realizar su
trabajo existe una serie de paquetes gratuitos de CAD,
matemáticas, diseño gráfico, etc., que hacen de FreeBSD un
sistema verdaderamente útil.Investigación: Encontrándose
disponible el código fuente del sistema entero, FreeBSD es una
excelente plataforma para la investigación en sistemas
operativos y otras ramas de la informática. El hecho de que
FreeBSD esté disponible gratuitamente hace posible que grupos
remotos puedan colaborar con ideas o compartan desarrollos sin
tener que preocuparse de acuerdos en licencias especiales o de
limitaciones acerca de lo que puede discutirse en foros
públicos.enrutadoservidor DNSRedes: ¿Necesitas un nuevo enrutador?
¿Un servidor de nombres (DNS)? ¿Un cortafuegos para mantener
a la gente fuera de tu red interna? FreeBSD puede convertir
aquel 386 o 486 arrinconado en un enrutador avanzado con
sofisticadas capacidades de filtrado de paquetes
fácilmente.X Window SystemXFree86X Window SystemX aceleradaEstación de trabajo X: FreeBSD es una
magnífica elección como terminal X de bajo coste, ya sea
usando el libremente disponible servidor XFree86 o uno de los
excelentes servidores comerciales de X Inside. A diferencia
de las terminales X, FreeBSD permite ejecutar muchas
aplicaciones localmente, si así se quiere, aligerando de este
modo la carga soportada por un servidor central. FreeBSD
puede incluso arrancar sin disco, permitiendo
que las estaciones sean aún más económicas y fáciles de
administrar.colección de compiladores GNUDesarrollo de software: El sistema
base de FreeBSD viene con una completa colección de
herramientas de desarrollo que incluyen el famoso compilador y
depurador de C/C++ de GNU.Los fuentes y binarios de FreeBSD se hallan disponibles en
CDROM y por FTP anómimo. Por favor, consulta para más información sobre cómo conseguir
FreeBSD.¿Quién usa FreeBSD?UsuariosGrandes sitios corriendo FreeBSDSobre FreeBSD corren algunos de los más grandes sitios web
incluyendo:Yahoo!Yahoo!ApacheApache
- Be, Inc.
-
- Be, Inc.
-
-
Blue Mountain ArtsBlue Mountain
- Arts
+ Arts
Pair NetworksPair
Networks
- Whistle Communications
+ Sony Japón
- Whistle
- Communications
+ Sony
+ Japón
- Microsoft
+ Netcraft
- Microsoft
+ Netcraft
+
- Hotmail
+ Weathernews
- Hotmail
+ Weathernews
- Sony Japón
+ Supervalu
- Sony Japón
+ Supervalu
+
+ TELEHOUSE America
+
+ TELEHOUSE America
+
+
+ Sophos Anti-Virus
+
+ Sophos
+ Anti-Virus
+
+
+ JMA Wired
+
+ JMA Wired
+ y muchos más.Acerca del proyecto FreeBSDEn la siguiente sección se explican ciertos aspectos del
proyecto, una breve historia, objetivos, y modelo de
desarrollo.JordanHubbardContributed by Breve historia de FreeBSD386BSD PatchkitHubbard, JordanWilliams, NateGrimes, RodProyecto FreeBSDHistoriaLa génesis del proyecto FreeBSD se remonta a comienzos de
1993, en parte como una extensión del Unofficial 386BSD
Patchkit debida a los tres últimos coordinadores del
patchkit: Nate Williams, Rod Grimes y yo mismo.386BSDNuestro objetivo original era producir una instantánea de
386BSD intermedia para arreglar una serie de problemas que no se
podían solventar vía patchkits. Algunos quizá recordéis que el
primer nombre del proyecto fue 386BSD 0.5 o
386BSD Interim en referencia a ese hecho.Jolitz, Bill386BSD era el sistema operativo de Bill Jolitz, que hasta
ese punto había estado sufriendo severamente las consecuencias
de prácticamente un año que más vale olvidar. A medida que el
patchkit se iba haciendo más incómodo día a día, nosotros
estuvimos unánimente de acuerdo en que algo se tenía que hacer y
decidimos ayudar a Bill ofreciendo esta instantánea
limpia como ínterin. Aquellos planes fueron
bruscamente interrumpidos cuando Bill Jolitz de repente decidió
retirar su aprobación al proyecto sin ninguna indicación clara
de lo que en su lugar debería hacerse.Greenman, DavidCDROM de Walnut CreekNo tardamos mucho en decidir que el objetivo seguía valiendo
la pena, aun sin el soporte de Bill, y fue así que adoptamos el
nombre FreeBSD, debido a David Greenman.
Nuestros objetivos iniciales se fijaron una vez consultamos a
los usuarios del sistema, y cuando quedó claro que el proyecto
estaba en marcha y que podía llegar a ser una realidad contacté
con Walnut Creek CDROM con la idea de mejorar los canales de
distribución de FreeBSD en CD, pero hasta llegamos a disponer de
una máquina con la que trabajar y una conexión a Internet
rápida. Sin la fe casi sin precedentes que tuvo Walnut Creek
CDROM en lo que era por aquel tiempo un proyecto completamente
desconocido, es bastante improbable que FreeBSD hubiera logrado
tanto y tan rápido como ha logrado hoy por hoy.4.3BSD-LiteNet/2U.C. Berkeley386BSDFree Software FoundationLa primera distribución en CDROM (y disponible por la red)
fue FreeBSD 1.0, publicado en diciembre de 1993. Estaba basado
en la cinta de U.C. Berkeley del 4.3BSD-Lite
(Net/2), con bastantes componentes de 386BSD y la
Free Software Foundation. Fue un logro bastante razonable para
una primera versión, y le siguió FreeBSD 1.1 en mayo de 1994,
que tuvo un gran éxito.NovellU.C. BerkeleyNet/2AT&TPor entonces se formaron unos inesperados nubarrones en el
horizonte ya que Novell y U.C. Berkeley resolvieron el largo
juicio acerca del estatus legal de la cinta de Berkeley Net/2.
Una condición del acuerdo fue la concesión por parte de
U.C. Berkeley de que una gran parte de Net/2 era código
gravado y propiedad de Novell, quien a su vez lo
había adquirido de AT&T anteriormente. Berkeley obtuvo a
cambio de Novell el beneplácito para que
4.4BSD-Lite, cuando saliera, fuera declarado como no-gravado y
se instara a los usuarios de Net/2 a cambiar. Esto incluía a
FreeBSD, y se dio hasta julio de 1994 para dejar de sacar su
propio producto basado en Net/2. Bajo los términos de aquel
acuerdo, se le permitía al proyecto sacar una última versión
antes de la fecha límite, esa versión fue FreeBSD
1.1.5.1.FreeBSD tuvo entonces que acometer la árdua tarea de
literalmente reinventarse a sí mismo a partir de trozos nuevos y
bastante incompletos de 4.4BSD-Lite. Las versiones
Lite eran ligeras en parte porque el CSRG de
Berkeley quitó grandes partes del código necesario para
construir un sistema que pudiera arrancar (debido a diversos
requisitos legales) y porque la versión del 4.4 para Intel era
muy incompleta. No fue hasta noviembre de 1994 que el proyecto
realizó esa transición, en ese punto sacó FreeBSD 2.0 en la red
y en CDROM (a finales de diciembre). A pesar de no estar
suficientemente pulida, esta distribución fue un éxito
significativo y le siguió el más robusto y fácil de instalar
FreeBSD 2.0.5 en junio de 1995.Sacamos FreeBSD 2.1.5 en agosto de 1996, y pareció ser
suficientemente popular entre ISPs y otras comunidades
comerciales como para que mereciera otra versión de la rama
2.1-STABLE. Ésa fue FreeBSD 2.1.7.1, publicada en febrero de
1997, que marcó el final de la línea principal de desarrollo en
2.1-STABLE. Una vez en modo mantenimiento, en esa rama
(RELENG_2_1_0) sólo se harían ya mejoras en seguridad y
correcciones de errores críticos.FreeBSD se ramificó desde la línea principal de desarrollo
(-CURRENT) en noviembre de 1996 como la rama
RELENG_2_2, y la primera versión completa (2.2.1) salió en abril
de 1997. Se hicieron más versiones de la rama 2.2 en verano y
otoño de 1997, la última de las cuales (2.2.8) apareció en
noviembre de 1998. La primera versión 3.0 oficial salió en
octubre de 1998 y marcó el inicio del fin de la rama 2.2.El árbol se ramificó de nuevo el 20 de enero de 1999, dando
lugar a las ramas 4.0-CURRENT y 3.X-STABLE. De la 3.X-STABLE,
3.1 salió el 15 de febrero de 1999, 3.2 el 15 de mayo de 1999,
3.3 el 16 de septiembre de 1999, 3.4 el 20 de diciembre de 1999,
y 3.5 el 24 de junio de 2000, a la que siguió pocos días después
una actualización menor, la 3.5.1, que incorporaba mejoras de
seguridad de última hora para Kerberos. Ésa fue la última
versión de la rama 3.X.Hubo otra ramificación el 13 de marzo de 2000, que dió lugar
a la rama 4.X-STABLE, considerada ahora la "actual rama
-stable". Han habido varias versiones de la misma desde
entonces: 4.0-RELEASE salió en marzo de 2000, 4.3 en abril de
2001, y 4.4 en septiembre de 2001. Habrá más versiones de
la rama 4.X-STABLE (RELENG_4) entrado 2002.Proyectos a largo plazo siguen teniendo lugar en la rama
(principal) 5.0-CURRENT, e instantáneas de la 5.0 en CDROM (y,
naturalmente, en la red) se hallan contínuamente disponibles
desde el
servidor de instantáneas a medida que el trabajo
progresa.JordanHubbardContributed by Objetivos del Proyecto FreeBSDProyecto FreeBSDObjetivosLos objetivos del Proyecto FreeBSD son proveer software que
pueda ser usado con cualquier propósito y sin compromiso alguno.
Muchos de nosotros participamos significativamente en el código
(y en el proyecto) y ciertamente no nos importaría recibir una
pequeña compensación económica de vez en cuando, pero
decididamente no estamos dispuestos a insitir en ello. Creemos
que nuestra más importante y primordial misión es
dar código a todo el que venga, y para lo que quiera, de manera
que el código sea tan usado y dé tanto provecho como sea
posible. Creo que éste es uno de los objetivos más
fundamentales del software libre y uno que nosotros apoyamos con
entusiasmo.GNU General Public License (GPL)GNU Lesser General Public License (LGPL)Copyright BSDEl código fuente de nuestro árbol que se halla bajo la GNU
General Public License (GPL) o la Library General Public License
(LGPL) viene con algunas restricciones más, si bien de cara a
garantizar acceso al mismo, no al contrario que es lo habitual.
Debido a las complicaciones adicionales que pueden surgir en el
uso comercial de software con licencia GPL, preferimos que el
software contribuido lo sea bajo la licencia BSD, menos
estricta, cuando ésa sea una opción razonable.SatoshiAsamiContributed by El modelo de desarrollo de FreeBSDProyecto FreeBSDModelo de desarrolloEl desarrollo de FreeBSD es un proceso muy abierto y
flexible, estando FreeBSD construido literalmente a partir de
las contribuciones de centenares de personas de todo el mundo,
como puede verse en nuestra lista de
contribuidores. Estamos constantemente a la búsqueda de
nuevos desarrolladores e ideas, y aquéllos interesados en
vincularse más al proyecto tan sólo tienen que ponerse en
contacto con nostros en &a.hackers;. La lista &a.announce;
también se halla disponible para quienes deseen dar a conocer a
otros usuarios de FreeBSD grandes áreas de trabajo.Cosas útiles de saber sobre el Proyecto FreeBSD y su proceso
de desarrollo, ya sea trabajando de forma independiente on en
estrecha cooperación:El repositorio CVSCVSrepositorioConcurrent Versions SystemCVSEl árbol de código fuente central de FreeBSD se
mantiene con CVS (Concurrent
Versions System), una herramienta de control de versiones
de código fuente que se halla libremente disponible y
viene con FreeBSD. El repositorio
CVS principal reside en una máquina en Santa Clara
CA, USA desde la que es replicado a numerosos mirrors
distribuidos por todo el mundo. El árbol del CVS, así
como los árboles -CURRENT y
-STABLE que se extraen del
mismo, pueden ser replicados fácilmente en tu máquina
también. Por favor, consulta la sección Sincronizando el árbol de código
fuente para más información sobre cómo
hacerlo.La lista de committerscommittersLos committers son gente que
tienen permisos de escritura en el
árbol del CVS, y están por tanto autorizados a realizar
modificaciones en los fuentes de FreeBSD (el término
committer viene del comando
commit de &man.cvs.1;, que sirve para
subir nuevos cambios al repositorio del CVS). La mejor
manera de enviar aportaciones para que sean revisadas por
los committers es usar el comando &man.send-pr.1;, aunque
si pareciera que algo va mal en el sistema también puedes
contactarlos por mail en &a.committers;.El equipo core de FreeBSDequipo coreEl equipo core de FreeBSD sería
lo equivalente a una junta directiva si el Proyecto
FreeBSD fuese una compañía. La principal tarea de este
equipo es la de garantizar que el proyecto, como un todo,
tiene salud y sigue las direcciones correctas. Invitar a
desarrolladores comprometidos y responsables a unirse a
nuestro grupo de committers es una de las funciones del
equipo core, así como el reclutamiento de nuevos miembros
del equipo cuando otros se van. El equipo core fue
elegido de un conjunto de committers candidatos en octubre
de 2000. Se celebran elecciones cada 2 años.Algunos miembros del equipo core tienen también áreas
de responsabilidad específicas, en cuanto a que se
encargan de garantizar que cierta parte extensa del
sistema funciona según lo previsto. Hay una lista
completa de desarrolladores de FreeBSD con sus áreas de
responsabilidad respectivas, consulta la Lista de
contribuidores.La mayoría de los miembros del equipo core son
voluntarios a la hora de desarrollar FreeBSD y no se
benefician económicamente del proyecto, por ello
compromiso no debería confundirse con
soporte garantizado. La anterior
analogía de la junta directiva en
realidad no es del todo exacta, quizá fuera más acertado
decir que ésa es la gente que dedica su vida a FreeBSD
¡en contra de lo que les aconseja su propio
juicio!Contribuidores externoscontribuidoresPor último, y no por ello menos importante, el mayor
grupo de desarrolladores está formado por los mismos
usuarios, quienes constantemente aportan feedback y
correcciones de errores. La principal manera de estar en
contacto con el más descentralizado desarrollo de FreeBSD
es suscribirse a &a.hackers; (ver información sobre listas de
distribución) donde se discuten ese tipo de
cosas.La lista de
contribuidores es larga y no cesa de
crecer, así que ¿por qué no te apuntas y contribuyes a
FreeBSD hoy mismo?Aportar código no es la única manera de contribuir al
proyecto; tienes un lista más completa de cosas que hay
que hacer en el sitio
web del Proyecto FreeBSD.En resumen, nuestro modelo de desarrollo está organizado
como un conjunto de círculos concéntricos. El modelo
centralizado está diseñado para conveniencia de los
usuarios de FreeBSD, que así tienen un modo
sencillo de estar al día con una base de código central, ¡no
para excluir a contribuidores potenciales! Nuestro deseo es
presentar un sistema operativo estable con un gran conjunto de
aplicaciones coherentes que los
usuarios puedan instalar y usar fácilmente, y este modelo
funciona bien para lograrlo.Lo único que pedimos a quienes quisieran unirse a nosotros
como desarrolladores de FreeBSD es la misma dedicación que los
integrantes actuales tienen para mantener su éxito.La actual distribución FreeBSDNetBSDOpenBSD386BSDFree Software FoundationU.C. BerkeleyComputer Systems Research Group (CSRG)FreeBSD está libremente disponible, todo el código fuente de
la distribución basada en 4.4BSD-Lite para sistemas bajo Intel
i386, i486, Pentium Pro, Celeron, Pentium II, Pentium III (o
compatible) y DEC Alpha. Está principalmente basado en software
&i386;, &i486;, &pentium;, &pentium; Pro, &celeron;,
&pentium; II, &pentium; III, &pentium; 4 (o compatible),
&xeon;, DEC Alpha y sistemas basados en Sun
&ultrasparc;. Está principalmente basado en software
del grupo CSRG de U.C. Berkeley, con algunas mejoras
provenientes de NetBSD, OpenBSD, 386BSD, y la Free Software
Foundation.Desde la versión 2.0 de FreeBSD de finales del 94, el
rendimiento, conjunto de funcionalidades, y estabilidad del
sistema han mejorado drásticamente. El último cambio consiste
en un rediseño del sistema de memoria virtual con una caché
unificada de VM/buffer que no sólo aumenta el rendimiento, sino
que también reduce el consumo de memoria de FreeBSD, haciendo
que una configuración de 5MB sea un mínimo más aceptable. Otras
mejoras incluyen soporte completo para clientes y servidores
NIS, soporte para transacciones TCP, llamada bajo demanda PPP,
soporte para DHCP integrado, un subsistema SCSI mejorado,
soporte para ISDN, soporte para ATM, FDDI, adaptadores Fast y
Gigabit Ethernet (1000Mbit), soporte mejorado para los últimos
controladores Adaptec, y cientos de correcciones de
errores.También hemos considerado los comentarios y sugerencias de
muchos de nuestros usuarios y hemos intentado ofrecer lo que
esperamos sea un proceso de instalación más sensato y fácil de
entender. ¡Tu feedback sobre este proceso (en constante
evolución) es especialmente bienvenido!Además de las distribuciones base, FreeBSD ofrece una
colección de software con miles de programas comúnmente
solicitados. ¡En el momento de escribir esto hay unos
&os.numports; ports! La lista de ports comprende desde
servidores HTTP (WWW), hasta juegos, lenguages, editores, y
prácticamente cualquier cosa intermedia. La colección de ports
completa requiere un espacio de aproximadamente 100MB, todos
ellos expresados como deltas de sus fuentes
originales. Esto hace que nos sea mucho más fácil actualizar
ports, y reduce de un modo importante el espacio en disco que
necesitaba la anterior colección de ports 1.0. Para compilar un
port uno simplemente se sitúa bajo el directorio del programa
que desea instalar, escribe make install, y
deja que el sistema se encargue del resto. La distribución
original completa de cada port que construyes se recupera
dinámicamente de un CDROM o un sitio FTP, de modo que sólo
necesitas el espacio usado para construir los ports que tu
quieras. La mayoría de los ports también están disponibles
precompilados en paquetes, que pueden instalarse
con un simple comando (pkg_add) para aquéllos
que no quieran compilar sus propios ports a partir de los
fuentes.Algunos documentos que pueden ser de ayuda en el proceso de
instalación y al utilizar FreeBSD pueden también encontrarse en
el directorio /usr/share/doc de cualquier
máquina bajo FreeBSD 2.1 o posterior. Puedes ver los manuales
que están instalados en local con cualquier navegador que pueda
mostrar HTML vía las siguientes URLs:El manual de FreeBSD/usr/share/doc/handbook/index.htmlEl FAQ de FreeBSD/usr/share/doc/faq/index.htmlTambién puedes ver la copia original (y más frecuentemente
actualizada) en http://www.FreeBSD.org/.
diff --git a/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml b/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml
index 56f50a0b3f..2769314849 100755
--- a/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml
+++ b/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml
@@ -1,1575 +1,1650 @@
Instalando Aplicaciones: Paquetes y Ports
-
+ SinópsisportspaquetesFreeBSD esta colmado de una excelente colección de herramientas
de sistema, como parte del sistema base. A pesar de esto, existe gran
cantidad de cosas que uno requiere hacer para poner las cosas realmente en
marcha, para lo cual se necesita instalar software adicional de terceros.
FreeBSD ofrece dos tecnologías complementarias para instalar
software de terceros en nuestro sistema: la Colección de Ports de
FreeBSD y Paquetes binarios. Cualquiera de los dos sistemas puede ser
usado para instalar las versiones más recientes, de forma local o
directamente desde la red.Después de leer este capítulo, usted sabrá:Como instalar paquetes binarios de software de terceros.Como compilar software de terceros desde la Colección de
Ports.Como remover paquetes o ports instalados previamente.
-
+ Generales sobre la Instalación de Software
- Si usted ha usado un sistema Unix con anterioridad, sabrá que el
+ Si usted ha usado un sistema &unix; con anterioridad, sabrá que el
procedimiento típico para instalar software de terceros es algo
similar a esto:Descargar el software, que puede distribuirse en formato de
código fuente, o binario.Desempacar el software de su formato de distribución
- (normalmente en un tarball comprimido ya sea con &man.compress.1; o
- &man.gzip.1;).
+ (normalmente en un tarball comprimido ya sea con &man.compress.1;, &man.gzip.1;
+ o &man.bzip2.1;).
- Ver la documentación (quizás un fichero
+ Ver la documentación (quizás un fichero INSTALL o
README, o los ficheros del subdirectorio
doc/) para ver como instalar el software.
- Si el software es distribuido como fuentes, compilarlo. Esto puede
+ Si el software es distribuido como fuente, compilarlo. Esto puede
requerir que editemos el fichero Makefile o que
ejecutemos el script configure, entre otras.Instalar y probar el software.Y esto solamente si todo marcha bien. Si usted esta instalando un
software que no ha sido creado específicamente para FreeBSD, puede
que sea necesario editar el código para que trabaje correctamente.
Si usted lo desea, puede continuar instalando software de la forma
tradicional bajo FreeBSD. Aunque FreeBSD le provee de
dos tecnologís que le pueden ahorrar gran cantidad de tiempo y
- esfuerzo: los paquetes y ports. AL momento de escribir esto, existen
+ esfuerzo: los paquetes y ports. Al momento de escribir esto, existen
más de &os.numports; aplicaciones de terceros, que estan disponibles
de esta manera.Los paquetes de FreeBSD, para cualquier aplicación, son un
simple fichero que debe descargar. Los paquetes contienen copia de
binarios pre-compilados de la aplicación, así como cualquier
fichero de configuración necesario o documentación. Los
paquetes descargados, pueden ser manipulados con los comandos de manejo de
paquetes de FreeBSD, tales como: &man.pkg.add.1;, &man.pkg.delete.1;,
- &man.pkg.info.1;, etc.
-
- EL instalar una aplicación nueva puede realizarse con un
- simple comando.
+ &man.pkg.info.1;, etc. El instalar una aplicación nueva puede
+ realizarse con un simple comando.
Por otro lado un Port de FreeBSD, es una colección de ficheros
diseñados para automatizar el proceso de compilación del
software, desde el código fuente.Recuerde que existen ciertos pasos que deberá llevar a cabo
para efecto de compilar un programa por usted mismo (desempacar, parchar,
compilar e instalar). Los ficheros que conforman un port, permiten
automatizar esto por usted. Usted ejecuta un conjunto de comandos simples
y el código fuente es descargado, desempacado, parchado, compilado
e instalado.De hecho, el sistema de ports también se puede usar para crear
paquetes que posteriormente manipule con pkg_add y las
otras utilidades del manejo de paquetes que veremos en breve.Tanto el sistema de ports como el de paquetes entienden las
dependencias. Suponga que desea instalar una
aplicación que depende de que una librería
específica este instalada. Tanto la librería como la
aplicación existen en FreeBSD como paquete o port. Si utiliza
el comando pkg_add o el sistema de ports para instalar
la aplicación, ambos notaran que la librería no esta
instalada, y procederán a instalar la librería en primer
término.Dado que ambas tecnologís son similares, quizás se
pregunte por que FreeBSD se toma la molestía de contar con ambas.
Los Paquetes y los Ports cuentan con sus propias fortalezas, y cual
utlizar dependerá de sus preferencias.Beneficios de los PaquetesEl típico fichero tarball de un paquete, es normalmente
más pequeño que el tarball comprimido que cuenta con el
código fuente del software.Los paquetes no requiere de compilación
adicional. Este punto puede ser de gran importancia, principalmente en
equipos lentos, cuando compila grandes aplicaciones tales como
Mozilla, KDE, o
GNOME.Los paquetes no requieren que usted comprenda el proceso que envuelve
el compilar software bajo FreeBSD.Beneficios del Sistema de PortsNormalmente los paquetes son compilados con opciones conservadoras,
en virtud del gran numero de equipos donde serán instalados. Al
instalar desde el port, usted puede editar las preferencias para (por
- ejemplo) ejecutarse bajo un procesador Athlon o Pentium III.
+ ejemplo) ejecutarse bajo un procesador Pentium IV o Athlon.
Algunas aplicaciones opciones relacionadas con lo que pueden y lo
que no pueden hacer. Por ejemplo Apache puede
ser configurado con una gran variedad de opciones. Al compilarlo desde los
ports usted no tiene por que aceptar todas, puede seleccionar cuales
opciones desea.En algunos casos, existen varios paquetes para la misma
aplicación con diferentes opciones. Por ejemplo,
Ghostscript esta disponible como paquete
ghostscript o bien como paquete
ghostscript-nox11, dependiendo si usted cuenta o
no con el servidor X11. En este caso decidir puede ser sencillo, pero esto
se puede volver un problema si cuenta con más de una o dos opciones
al momento de la compilación.Las condiciones de licenciamiento de algunas aplicaciones, prohiben la
distribución de binarios. Solo permiten la distribución del
código fuente.Existe gente que no confia en los binarios. Al menos con el
código fuente, usted puede (en teoría) revisarlo y
localizar problemas potenciales.Si cuenta con parches locales, necesitará el código
fuente para poder aplicarlos.Existe gente que le gusta contar con el código fuente, para
poder leerlo en ratos de ocio, modificarlo, tomar partes prestadas (si la
licencia lo permite, claro esta), y tal.Para poder estar actualizado en sus ports, suscribase a
&a.ports;.El resto de este capítulo le explicará como usar los
ports y paquetes para instalar software de terceros en FreeBSD.
-
+ Localizando su AplicaciónAntes de poder instalar cualquier software, usted debe saber que desea
instalar y como se llama dicha aplicación.La lista de software disponible para FreeBSD crece constantemente.
Afortunadamente existen varias formas de localizar lo que busca:El sitio web de FreeBSD mantiene una base actualizada de todas las
aplicaciones disponibles para FreeBSD, en la dirección
http://www.FreeBSD.org/ports/
. Esta base esta segmentadas por categorías, y usted puede
buscar por nombre (si lo sabe) o bien listas las aplicaciones disponibles
en cierta categoría.FreshPortsDan Langille mantiene FreshPorts, en
http://www.FreshPorts.org/.
FreshPorts verifica los cambios en las aplicaciones del árbol de
ports, y le permite observar uno o más ports, y le
enviará un correo cada vez que se actualicen.FreshMeatSi no conoce el nombre de la aplicación que desea, pruebe usar
un sitio como FreshMeat (http://www.freshmeat.net/) para
encontrar una aplicación, posteriormente verifique en el sitio de
FreeBSD, para ver si la aplicación ha sido portada a FreeBSD.ChernLeeContribuido porUsando el Sistema de PaquetesInstalando un Paquetepaquetesinstalandopkg_addPuede usar la utilidad &man.pkg.add.1; para instalar software de un
paquete bajo FreeBSD, desde un fichero local o desde un servidor remoto que
esta en red.Descargando un Paquete e Instalandolo Localmente&prompt.root; ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp>get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375 00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp>exit
&prompt.root; pkg_add lsof-4.56.4.tgzSi usted no cuenta con una fuente local de paquetes (como pudiese ser
un CDROM de FreeBSD), pudiese ser que su mejor alternativa sea usar
&man.pkg.add.1;. Esto provocará que la utilidad determine
automáticamente el formato del objeto correcto, para que
posteriormente lo descargue y lo instale desde un sitio FTP.pkg_add&prompt.root; pkg_add -r lsofEn el ejemplo anterior, el paquete correspondiente será
descargado e instalado sin mayor intervención del usuario.
&man.pkg.add.1; utiliza &man.fetch.1; para descargar los ficheros,
que toma como referencia varias variables de entorno, que incluyen
FTP_PASSIVE_MODE, FTP_PROXY y
FTP_PASSWORD. Quizás deba modificar alguna de
estas, si se encuentra detrás de un firewall, o bien usar un
proxy FTP/HTTP. Vea la página de ayuda &man.fetch.3; para una
lista completa. También puede notar que en el ejemplo anterior
usamos lsof en vez de lsof-4.56.4.
Cuando hacemos uso de fetch de forma remota, la
versión del paquete debe ser removida. El programa
&man.pkg.add.1; obtendrá automáticamente la versión
más reciente.
- Los paquetes son distribuidos en formato .tgz.
- puede encontrarlos en Los paquetes son distribuidos en formato .tgz
+ y .tbz. Puede encontrarlos en
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/, o bien, en el
CDROM de FreeBSD. Cada CD de la distribución de 4 CDs (y del
PowerPak, etc) contiene los paquetes en el directorio
/packages. El orden de dicho directorio, es similar
al árbol de /usr/ports. Cada
categoría cuenta con su subdirectorio, y todos los paquetes estan
disponibles en el directorio All.La estructura del directorio de paquetes es identica a la de ports;
estos trabajan en conjunto para formar el sistema de paquetes/ports.
Eliminando un Paquetepkg_deletepaqueteseliminandoPara eliminar un paquete previemante instalado, utilice la utilidad
&man.pkg.delete.1;.&prompt.root; pkg_delete xchat-1.7.1Manejo de Paquetespaquetesmanejo&man.pkg.info.1; es una utilidad que muestra y describe
todos los paquetes que tenemos instalados.pkg_info&prompt.root; pkg_info
cvsup-16.1 A general network file distribution system optimized for CV
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...&man.pkg.version.1; es una utilidad que resume las versiones de los
paquetes instalados. Estas son comparadas con las versiones actuales del
árbol de ports.pkg_version&prompt.root; pkg_version
cvsup =
docbook =
...Los símbolos de la segunda columna, nos indican la edad
relativa de la versión instalada, comparada con la versión
disponible en el árbol local de ports.SímboloSignificado=La versión del paquete instalado es igual
a la versión del árbol local de ports.<La versión instalada es más antigua a la
versión del árbol local de ports.>La versión instalada es más
reciente que la que se encuentra en el árbol local de ports
(probablemente el árbol de ports esta desactualizado).?El paquete instalado no se ha localizado en
el índice (index) de los ports.*Existen multiples versiones del paquete.
MiscelaneosToda la información relacionada con los paquetes, se guarda en
el directorio /var/db/pkg. Los paquetes instalados,
así como una descripción de los mismos, puede encontrarse
en este subdirectorio.Usando la Colección de PortsLa siguiente sección le provee de las instrucciones
básicas para instalar o remover programas de su sistema, usando la
Colección de Ports.Obteniendo la Colección de PortsAntes de poder instalar ports, primero debe de hacerse de la
Colección de Ports— que escencialmente esta compuesta de
ficheros Makefiles, parches y ficheros con la
descripción de los ports, ubicados en
/usr/ports.Cuando instaló su sistema FreeBSD, el programa
Sysinstall le pregunto si deseaba instalar
la Colección de Ports. Si contesto que no, puede seguir estas
instrucciones para obtener dicha colección:Metodo por SysinstallEste metodo implica el uso del programa
sysinstall nuevamente, para instalar
Colección de Ports.Siendo usuario root, ejecute el programa
/stand/sysinstall como se muestra:&prompt.root; /stand/sysinstallPosicionese en la opción Configure,
y presione Enter.Seleccione la opción Distributions,
y presione Enter.Seleccione la opción ports, y
presione la Barra Espaciadora.Dirijase a la opción Exit, y
presione Enter.Seleccione el medio de instalación deseado, tal como CDROM,
FTP y tal.Siga los menus para salir de sysinstall.
El metodo alternativo para obtener y mantener actualizada la
Colección de Ports, es usando CVSup.
Lea el fichero de ports para CVSup, en
/usr/share/examples/cvsup/ports-supfile.
Vea el capítulo Usando CVSup
para ver más información en el uso de
CVSup y del fichero mencionado.Metodo por CVSupEste es un metodo rápido de obtener la Colección de Ports
usando CVSup. Si desea mantener su árbol
de ports actualizado, o bien, aprender más acerca de
CVSup, lea los documentos comentados
anteriormente.Instale el port net/cvsup.
Vea Instalación de CVSup para mádetalles.Como usuario root, copie el fichero
/usr/share/examples/cvsup/ports-supfile
a una nueva ubicación, como puede ser el directorio
/root o bien su propio directorio home.Edite el fichero ports-supfile.Cambie CHANGE_THIS.FreeBSD.org a un
servidor CVSup cercano. Vea
Mirrors de CVSup para ver una lista completa de los servidores
CVSup.Ejecute cvsup:&prompt.root; cvsup -g -L 2 /root/ports-supfileAl ejecutar esto posteriormente, se descargaran las actualizaciones
de la Colección de Ports.Instalando PortsportsinstalandoAl hablar de la Colección de Ports, lo primero que debemos
comentar es; a que nos referimos cuando hablamos de un
esqueleto (skeleton). En sí mismo, un esqueleto de
port, es una serie mínima de ficheros, que le indican a FreeBSD
como compilar e instalar un programa. Cada esqueleto incluye:Un fichero Makefile. Este fichero contiene
varias sentencias, que le indican al sistema como compilarlo y donde
deberá instalarlo en su sistema.Un fichero distinfo. Este fichero contiene
información de los ficheros que debe ser descargados para efecto
de compilar el programa, así como el identificador checksum, para
- asegurarse se han descargado correctamente, sin corrupciones.
+ asegurarse se han descargado correctamente, sin corrupciones
+ usando &man.md5.1;.
Un directorio files. Este directorio contiene
los parches necesarios para compilar e instalar en su sistema FreeBSD.
Básicamente, los parches son pequeños ficheros, que
incluyen algunos cambios. Estos son en formato de texto plano, y
básicamente dicen cosas como Remove line 10
(Remover la línea 10) o Change line 26 to this...
(Cambiar la línea 26 por esto...). Los parches también son
conocidos como diffs, ya que son generados por el
programa del mismo nombre; &man.diff.1;.Es posible que este directorio tambié contenga algun otro
fichero necesario para compilar e instalar el port.Un fichero pkg-comment. Este es una descripcion
del programa en una sola línea.Un fichero pkg-descr. Esta es una descripcion
más detallada del programa. En ocasiones multi-línea.
Un fichero pkg-plist. Esta es una lista de
todos los ficheros que serán instalados por el port.
También le indica al sistema de ports, que ficheros remover, en
caso de una desinstalación.Algunos ports cuentan con otros ficheros, tal como
pkg-message. El sistema de ports usa estos, para
manejar situaciones especiales. Si desea saber más detalles al
respecto, o bien de ports en general, vea el libro FreeBSD Porter's
Handbook.Ahora que tiene suficientes antecedentes sobre que hacer con la
Colección de Ports, esta listo para instalar su primer port.
Existen dos formas de lllevar esto a cabo, y cada una de ellas se
explican a continuación.Pero, antes de que podamos proceder con la instalación, usted
necesita seleccionar un port para instalar. Existen varias formas de
hacer esto, siendo el metodo más sencillo los ports listados en el sitio web de
FreeBSD. Puede navegar entre los ports listados ahí o
bien, usar la función de buscar en el sitio. Cada port incluye
una descripción, para que pueda leer un poco acerca de cada port
antes de decidirse a instalarlo.Otro metodo es por medio del comando &man.whereis.1;. Simplemente
teclee whereis fichero,
donde fichero es el programa que desea
instalar. Si se encuentra en su sistema, se le indicara donde se
localiza, tal como:&prompt.root; whereis lsof
lsof: /usr/ports/sysutils/lsofEsto nos indica que lsof (una utilidad de sistema)
puede encontrarse en /usr/ports/sysutils/lsof.Incluso otra forma de encontrar un port en particular, es usando el
mecanismo de búsqueda incluido en el sistema de ports. Para
efecto de usar esta habilidad, debe estar situado en el directorio
/usr/ports. Una vez que este ahí, ejecute
make search name=nombre-del-programa donde nombre-del-programa es el
nombre del programa que desea encontrar. Por ejemplo, si busca
lsof:&prompt.root; cd /usr/ports
&prompt.root; make search name=lsof
Port: lsof-4.56.4
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: obrien@FreeBSD.org
Index: sysutils
B-deps:
R-deps: De esta información, la parte que debe prestar atención
es la que se refiere a la ruta, esto es; la línea
Path:, en virtud de que esta le indica la ubicación
del programa. El resto de la información no es necesaria para la
instalación, por lo que no se verá aqui.Para una búsqueda más profunda, puede usar el comando
make search key=cadena donde
cadena es algun texto a buscar. Esto busca
nombres de ports, descripciones y dependencia y puede usarse para buscar
ports que se relacionan a un determinado texto, si no sabe el nombre del
port que esta buscando.En ambos casos, la búsqueda es indistinto el uso de
mayúsculas o minusculas. El buscar LSOF y
lsof arrojaran los mismos resultados.Usted debe ser usuario root , para instalar
ports.Ahora que hemos encontrado un port que deseamos instalar, estamos
listos para llevar a cabo la instalación. El port incluye las
instrucciones necesarias para compilar el código fuente, pero
no contiene el código. Puede obtener el código de un CDROM
o desde Internet. El código fuente es distribuido de cualquier
manera que el autor del software lo desee. Frecuentemente esto es en
un fichero tar.gz, pero puede estar comprimido con
algun otro programa o de hecho sin estar comprimido. De cualquier forma
que se presente, el código fuente del programa, le llamamos
distfile. Puede obtener los distfiles
desde Internet o bien desde un CDROM.Instalando Ports desde un CDROMportsinstalando desde CDROMLos CDROMs oficiales del Proyecto de FreeBSD, ya no incluyen
distfiles. Estos ocupan gran espacio, que en su lugar se ha usado para
incluir paquetes precompilados. CDROMs como el PowerPak de FreeBSD, si
inlcuyen distfiles, y puede ordenar estos de distribuidores como
FreeBSD Mall. Esta
sección asume que usted cuenta con un juego de CDROMs de
FreeBSD.Coloque su CDROM en la unidad correspondiente. Montelo en
/cdrom. (Si utiliza un punto de montaje diferente
la instalación no será exitosa). Para comenzar dirijase
al directorio donde se localiza el port que desea instalar:&prompt.root; cd /usr/ports/sysutils/lsofUna vez que este en el directorio lsof,
verá el esqueleto del port. El próximo paso es la
compilación del port. Esto lo hacemos, simplemente tecleando
make en la línea de comandos. Una vez que
ha hecho esto, verá algo similar a lo siguiente:&prompt.root; make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from file:/cdrom/ports/distfiles/.
===> Extracting for lsof-4.57
...
[extraction output snipped]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[configure output snipped]
...
===> Building for lsof-4.57
...
[compilation output snipped]
...
&prompt.root;Note que una vez que ha terminado la compilación,
regresara a la línea de comandos. El siguiente paso es instalar
el port. Para efecto de instalarlo, simplemente debemos añadir
una palabra al comando make, y esa palabra es
install:&prompt.root; make install
===> Installing for lsof-4.57
...
[installation output snipped]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;Una vez que regrese a la línea de comandos, le será
posible ejecutar la aplicación que recien instalo. Dado que el
programa lsof se ejecuta con privilegios, nos
aparece una advertencia de seguridad. Debe tomar nota de cualquier
otra advertencia que aparezca durante la compilación e
instalación.Puede ahorrarse algo de tiempo al ejecutar make
install en un solo comando, en lugar de ejecutar
make y make install
en dos pasos diferentes.Algunos shells cuentan con un cache de los comandos disponibles bajo
los directorios incluidos en la variable de entorno PATH,
para agilizar las operaciones de búsqueda de los ejecutables de
estos ficheros. Si usted esta haciendo uso de alguno de estos shells,
puede usar el comando rehash una vez que ha terminado
de instalar el port, para poder hacer uso de su nuevo programa. Esto es
válido para ambos shells que forman parte del sistema base (tal
como tcsh) y shells que estan disponibles como
ports (por ejemplo shells/zsh).
Por favor, tenga en cuenta que algunos ports cuentan con una
licencia que no permite su inclusión en el CDROM.
Probablemente esto es a consecuencia de un registro que se debe hacer
previo a la descarga, así mismo algunos no permiten su
re-distribución, y tal. Si desea instalar un port que no se
encuentra en el CDROM, deberá encontrarse conectado a
Internet, para poder hacerlo (vea la siguiente sección).Instalando Ports desde InternetComo en la sección anterior, en este sección se asume
que usted cuenta con una conexión activa a Internet. Si no es
así, deberá de llevar a cabo la instalación por
- medio de CDROM, como se menciono
- anteriormente.
+ medio de CDROM, o ponga una copia del
+ distfile en /usr/ports/distfiles manualmente.
El instalar un port desde Internet, se hace exactamente de la
misma forma que se hace desde un CDROM. La única diferencia
entre estos dos metodos, es que el fichero distfile es descargado de
Internet, en lugar de tomarlo del CDROM.Los pasos que implica son identicos:&prompt.root; make install
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
439860 bytes transferred in 18.0 seconds (23.90 kBps)
===> Extracting for lsof-4.57
...
[extraction output snipped]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[configure output snipped]
...
===> Building for lsof-4.57
...
[compilation output snipped]
...
===> Installing for lsof-4.57
...
[installation output snipped]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;Como puede ver, la única diferencia es la línea que
indica de donde esta descargando el sistema el código.El sistema de ports utiliza &man.fetch.1; para descargar los ficheros,
que hace uso de varias variables de entorno, como son
FTP_PASSIVE_MODE, FTP_PROXY,
y FTP_PASSWORD. Puede ser necesario que modifique una o
más de estas, si se encuentra detrás de un cortafuegos
(firewall), o si requiere usar de un proxy FTP/HTTP. Vea la página
de ayuda &man.fetch.3; para una lista completa de las opciones.
+
+ La opción make fetch
+ se provee para usuarios que no pueden estar conectados constantemente.
+ Solo se tiene que ejecutar el comando en /usr/ports
+ y los ficheros requeridos serán descargados. Este comando funciona
+ también en subdirectorios, por ejemplo: /usr/ports/net.
+ Si el port tiene dependencias en librerias u otros ports, esta orden
+ no descargará los distfiles de estos ports.
+ Remplace fetch por fetch-recursive
+ si se quiere descargar las dependencias de otro port.
+
+ Es posible compilar los ports por categoria, o todos si se desea,
+ ejecutando la orden make en /usr/ports
+ usando el ya descrito método de makefetch
+ . Esto puede resultar peligroso ya que algunos ports no pueden
+ coexistir. En otros casos, algunos ports pueden instalar dos diferentes
+ ficheros bajo el mismo nombre.
+
+ Puede darse el caso que se necesite descargar los tarballs de otro sitio
+ diferente a MASTER_SITES (de donde se descargan los
+ ficheros). Es posible renombrar la opción MASTER_SITES
+ de la siguiente manera:
+
+ &prompt.root; cd /usr/ports/directory
+ &prompt.root; make MASTER_SITE_OVERRIDE= \
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
+
+ En este ejemplo cambiamos la opción MASTER_SITES
+ a ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
+
+ Algunos ports permiten (o requieren) que se provea opciones de
+ compilación que pueden habilitar/deshabilitar partes de la
+ aplicación que no son necesarias, algunas opciones de seguridad
+ y otros arreglos. Algunos ejemplos de estos son
+ www/mozilla, security/gpgme y
+ mail/sylpheed-claws. Se notificará
+ con un mensaje cuando opciones como estas estan disponibles.
+
+
+
+ Rehubicando el directorio de Ports
+
+ Algunas veces es útil (o necesario) usar diferentes distfiles y
+ directorio de ports. Las variables PORTSDIR y
+ PREFIX pueden sustituir los recursos por defecto. Por ejemplo:
+
+ &prompt.root; make PORTSDIR=/usr/home/example/ports install
+ Esto compilará el port en
+ /usr/home/example/ports y lo
+ instalará en /usr/local.
+
+ &prompt.root; make PREFIX=/usr/home/example/local install
+ Esto compilará el port en /usr/ports y lo
+ instalará en /usr/home/example/local.
+
+ Y claro,
+
+ &prompt.root; make PORTSDIR=../ports PREFIX=../local install
+
+ Combinará los dos (demasiado largo para escribirlo completamente,
+ pere debe darle una idea general).
+
+ Es posible también cambiar estas variables como parte su su entorno.
+ Lea el manual de su consola (shell) para hacerlo.
+
+
+
+ Usando imake
+
+ Algunos ports que usan imake (como parte del Sistema
+ X Windows) no funcionan correctamente con PREFIX, e
+ insistirá en instalar en /usr/X11R6. Al igual,
+ algunos ports de Perl ignoran PREFIX e instalan en el
+ árbol de Perl. Hacer que estos ports respeten PREFIX
+ es una tarea difícil y hasta imposible.
+
Eliminando Ports InstaladosportseliminandoAhora que sabe instalar ports, probablemente se este preguntando como
eliminarlos, sólo en caso de que haya instalado alguno y
posteriormente se de cuenta que ha instalado el port incorrecto. Vamos a
eliminar el port instalado (que era lsof, para todos
aquellos que no prestaron atención). Como cuando instalamos
ports, lo primero que debemos hacer es ubicarnos en el directorio del
port que deseamos eliminar, que en este caso es
/usr/ports/sysutils/lsof. Una vez que se ha ubicado
en este directorio, estamos listos para eliminar lsof.
Esto se hace con el comando make deinstall:&prompt.root; cd /usr/ports/sysutils/lsof
&prompt.root; make deinstall
===> Deinstalling for lsof-4.57Esto fué sencillo. Ha eliminado lsof de
su sistema. Si desea reinstalarlo, lo puede hacer al ejecutar
make reinstall estando en el directorio
/usr/ports/sysutils/lsof.Los comandos make deinstall y make
reinstall no funcionan una vez que ha ejecutado el comando
make clean. Si desea desintalar un port, una vez que
ha ejecutado make clean, deberá hacer uso del
comando &man.pkg.delete.1; como se describe en la sección de
Paquetes del Handbook.Actividades Post-InstalaciónUna vez que ha instalado una nueva aplicación, normalmente
deberá leer la documentación incluida, editar los
ficheros de configuración necesarios, asegurarse de que la
aplicación se ejecute al arrancar el sistema (si es un daemonio),
etc.Obviamente los pasos exactos para configurar cada aplicación
varian de una a otra. De cualquier forma, si recien ha instalado una
nueva aplicación y se pregunta
¿Y ahora qué?, estos consejos puede que le
sean de ayuda:Use &man.pkg.info.1; para ver que ficheros se instalaron y donde. Por
ejemplo, si recien instaló el paquete FooPackage 1.0.0,
el siguiente comando:&prompt.root; pkg_info -L foopackage-1.0.0 | lessle mostrará los ficheros instalados por el paquete. Preste
especial atención a los ficheros en el directorio
man/ que son las páginas de ayuda y los del
directorio etc/, que contiene los ficheros de
configuración, y bajo el directorio doc/
podrá encontrar información más detallada.Si no esta seguro de cual es la versión del paquete instalado,
simplemente teclee algo así&prompt.root; pkg_info | grep foopackagey le mostrara todos los paquetes que tienen como nombre
foopackage. Reemplace
foopackage de acuerdo a sus necesidades
en la línea de comandos.Una vez que ha identificado donde se localizan las paginas de ayuda
de la aplicación, reviselas usando &man.man.1;. De forma similar
revise los ficheros de configuración de ejemplo (N. de T.
Generalmente estos ficheros son aquellos que tienen la terminación
.sample), así como cualquier
documentación adicional que se incluya.Si la aplicación cuenta con un sitio web, visitelo en busca
de documentación adicional, ficheros de preguntas frecuentes (FAQ),
etc. Si no esta seguro del sitio web, vea la salida del comando&prompt.root; pkg_info foopackage-1.0.0este incluye en ocasiones una línea WWW:, que
describe el sitio web de la aplicación.Resolución de ProblemasLa siguiente sección cubre algunas de las preguntas más
frecuentes relacionadas a la colección de ports, y algunas
técnicas básicas para la resolución de problemas,
así como que hacer si encontramos un port roto.Algunas Preguntas y Respuestas¿Qué no es una discusión acerca de
módems?Ah, usted debe estar pensando en puertos (ports) seriales, que se
encuentran en la parte trasera de su computadora. Aqui nos referimos al
término port como resultado de aquellas
aplicaciones que han sido portadas de una versión
de Unix a otra.¿Qué es un parche (patch)?Una parche (patch), es un pequeño fichero que
especifíca como ir de una versión a otra. Contiene texto
plano y cuenta con indicaciones similares a
delete line 23 (borrar la línea 23),
add these two lines after line 468 (añadir estas
dos líneas después de la línea 468), o
change line 197 to this (cambiar la línea 197 por
esto). Tambié son conocidos como ficheros diff, ya que son
generados por el programa &man.diff.1;.tarball¿Qué es eso de tarballs?Es un fichero con extensión .tar o
con alguna variación tal como .tar.gz,
.tar.Z, .tar.bz2,
o incluso .tgz.Básicamente, es un árbol de directorio, que ha sido
archivado en un solo fichero (.tar) y en ocasiones
comprimido (.gz). Esta técnica se uso
originalmente para archivar en cintas (que es de donde proviene su
nombre; Tape ARchives), pero
es ampliamente usado para distribuir código fuente por todo
Internet.Usted puede ver que ficheros se encuentran archivados, o incluso
extraerlos usando el programa estandar de Unix &man.tar.1;, que se
incluye con el sistema base de FreeBSD, de la siguiente manera:&prompt.user; tar tvzf foobar.tar.gz
&prompt.user; tar xzvf foobar.tar.gz
&prompt.user; tar tvf foobar.tar
&prompt.user; tar xvf foobar.tarchecksum¿Y un checksum?Es un numero generado por la suma de los datos en el fichero que
desea consultar. Si alguno de los caracteres cambia, el checksum ya no
será igual al total, de tal suerte que esta simple
comparación le permite detectar una diferencia.He hecho lo que se indica para compilar ports desde un CDROM y
funciona de maravilla hasta que he intentado instalar el port de
Kermit.&prompt.root; make install
>> cku190.tar.gz doesn't seem to exist on this system.
>> Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/.¿Por qué no lo puede encontrar? ¿Acaso tengo
un CDROM defectuoso?Como se explico en la sección Instalando Ports desde un CDROM, algunos ports
no se pueden incluir en CDROM, debido a restricciones de licenciamiento.
Kermit es un ejemplo de esto. Los
términos de la licencia de Kermit, no
permiten su inclusión en el CDROM, así que tendrá
descargarlo a mano, una disculpa!.La razón por la cual obtiene esos mensajes de error, es por
que no cuenta con una conexión a Internet en ese momento. Una
vez que lo haya descargado de alguno de los sitios disponibles
(MASTER_SITES listados en el fichero
Makefile), puede continuar con el proceso de
instalación.Ya hice esto, pero cuando intento guardarlo en el subdirectorio
/usr/ports/distfiles obtengo un error diciendo
algo acerca de que no cuento por los permisos.El sistema de ports, descarga los ficheros tarball, en el
subdirectorio /usr/ports/distfiles, pero muchos
administradores de sistema crean un enlace de este directorio a un
servidor remoto o a una unidad local de CDROM de solo lectura. Si esta
es su situación, entonces deberá especificar un directorio
diferente para guardar sus ficheros distfiles, con el siguiente
comando:&prompt.root; make DISTDIR=/directorio/local/con/permisos/de/escritura install¿El esquema de ports trabaja solamente si se tiene todo
en /usr/ports? Mi administrador de sistema
dice que todo lo debo tener en
/u/people/guests/wurzburger, pero parece que
no funciona de esta manera.Puede usar las variables PORTSDIR y
PREFIX, para indicarle al mecanismo de ports que
directorios utilizar. Por ejemplo;&prompt.root; make PORTSDIR=/u/people/guests/wurzburger/ports installcompilará el port en
/u/people/guests/wurzburger/ports e
instalará todo bajo el directorio
/usr/local.&prompt.root; make PREFIX=/u/people/guests/wurzburger/local installcompilará todo en /usr/ports e
instalará todo bajo el directorio
/u/people/guests/wurzburger/local.Y claro esta que,&prompt.root; make PORTSDIR=../ports PREFIX=../local installcombinará ambos (lo cual es muy largo para escribir aqui,
pero debe darnos una buena idea).imakeAlgunos ports que usan &man.imake.1; (una parte del Sistema de
Ventanas X) no trabajan bien con PREFIX, e insistiran
en instalar todo bajo /usr/X11R6. De forma similar,
algunos ports de Perl ignoran la variable PREFIX y
proceden a instalar bajo el árbol de Perl. Hacer que estos ports
respeten la variable PREFIX es una tarea difícil
si no imposible.Si no le agrada estar tecleando todo esto cada vez que desea instalar
un port, es una buena idea incluir estas variables en sus variables de
entorno. Lea la documentación de su shell para ver las
instrucciones para hacer esto.No cuento con un CDROM de FreeBSD, pero me gustaría contar
con todos los ficheros tar a la mano en mi sistema, para no tener
que descargarlos cada vez que deseo instalar un port. ¿Hay alguna
forma de obtener todos de una sola vez?Para obtener todos y cada uno de los ficheros tar de la
Colección de Ports, haga lo siguiente:&prompt.root; cd /usr/ports
&prompt.root; make fetchPara todos los tarball de un directorio concreto
haga:&prompt.root; cd /usr/ports/directorio
&prompt.root; make fetchy para un solo port—bueno, quizás ya lo adivinó.
Tengo conocimiento de que probablemente es más rápido
descargar los ficheros tarball desde un servidor réplica
(mirror) de FreeBSD, más cercano. ¿Existe alguna forma
de indicarle al port que descargue los ficheros de un servidor diferente
a los listados en MASTER_SITES?.Claro. Por ejemplo, si usted sabe que ftp.FreeBSD.org esta más próximo
que los servidores listados en MASTER_SITES,
haga lo siguiente:&prompt.root; cd /usr/ports/directorio
&prompt.root; make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetchQuisiera saber cuales son los ficheros que make
va a necesitar antes de los descargue.make fetch-list desplegara una lista de los
ficheros necesarios para la compilación del port.¿Existe alguna forma de detener la compilación del
port? Deseo editar un poco el código, antes de instalarlo, pero
es un poco cansado tener que verlo y pulsar
CtrlC
a cada momento.Puede usar el comando make extract, con el
cual se detendra el proceso, una vez que se han descargado y
extraido los ficheros necesarios.Estoy tratando de hacer mi propio port, y quiero poder detener el
proceso, hasta que verifique que mis parches funcionan correctamente.
¿Existe algo similar a make extract, pero
para parches?Si, make patch es lo que usted busca.
Quizás la opción PATCH_DEBUG le sea de
gran utilidad. Y por cierto, gracias por su esfuerzo!He escuchado que algunas opciones del compilador pueden causar
errores. ¿Es cierto? ¿Cómo puedo asegurarme
de compilar los ports con las opciones correctas?Si, con la versión 2.6.3 de gcc (que es
la versión distribuida con FreeBSD 2.1.0 y 2.1.5), la
opción puede ocasionar un código
con errores, a menos que utilice también la opción
(la mayoría de los ports
no hacen uso de la opción ). Usted
debe poder indicarle al compilador las opciones,
con algo similar a:&prompt.root; make CFLAGS='-O2 -fno-strength-reduce' installo bien, editando el fichero /etc/make.conf,
pero desafortunadamente no todos los ports respetan esto. La mejor
forma es ejecutar make configure, y después
dirijirse al directorio con el código fuente e inspeccionar y
editar el fichero Makefile, pero esto puede ser
tedioso si se cuenta con muchos subdirectorios, y en cada uno su propio
fichero Makefile.Lac opciones que por default utiliza el compilador de FreeBSD son
muy conservadoras, por lo que si no las ha modificado, no debe
tener problemas.Existen muchos ports y es difícil encontrar el que
quiero. ¿Existe en algún lado una lista de los
ports disponibles?Vea el fichero INDEX, localizado en
/usr/ports. Si desea, también puede
buscar en la Colección de Ports por medio de una palabra clave.
Por ejemplo, puede encontrar ports relevantes al lenguaje de
programación LISP usando:&prompt.user; cd /usr/ports
&prompt.user; make search key=lispDeseo instalar el port foo pero de repente
el sistema se detuvo y comenzo a compilar el port
bar. ¿Qué esta pasando?El port foo necesita algo del port
bar — por ejemplo, si foo
utiliza gráficos, es posible que bar
cuente con librerías con rutinas para procesar gráficos.
O bien bar puede ser una herramienta necesaria para
compilar el port foo. He instalado el programa
grizzle desde los ports y francamente es un
desperdicio de espacio en disco. Quiero eliminarlo, pero no se donde
se instalaron sus ficheros. ¿Alguna pista?No hay problema, simplemente teclee:&prompt.root; pkg_delete grizzle-6.5Otra alternativa es teclear:&prompt.root; cd /usr/ports/cualquierlugar/grizzle
&prompt.root; make deinstallAguarda un momento, ¿Se supone que uno debe saber el
numero de versión para usar este comando? Hablando en serio,
no esperas que recuerde todo esto, ¿o si?No del todo, lo puede saber haciendo:&prompt.root; pkg_info -I 'grizzle*'
Information for grizzle-6.5:
grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up
arcade game.El numero de versión se puede saber usando el comando
pkg_info o bien al teclear:
ls /var/db/pkgHablando de espacio en disco, el directorio de ports parece que
ocupa mucho espacio. ¿Es seguro eliminar algo de este
directorio?Asi es, si ha instalado un programa y esta seguro de que ya no
necesita el código fuente, no hay una razón para contar
con él. La forma más segura de hacer esto es:&prompt.root; cd /usr/ports
&prompt.root; make cleaneste comando revisará todos los subdirectorios, y
procederá a eliminar todo lo que encuentre, salvo los
esqueletos del port.Es posible que obtengamos el mismo efecto, pero sin que
necesariamente se llame de forma recursiva a cada
Makefile. Por ejemplo, puede eliminar
directamente todos los subdirectorios work/
con el comando:
&prompt.root; find /usr/ports -depth -name work -exec rm -rf {} \;He intentado eso y aun cuento con los tarballs o como se
llamen, en el directorio distfiles.
¿Puedo eliminarlos también?Si, si esta totalmente seguro de que ha terminado con ellos,
también los puede eliminar. Estos se pueden eliminar
manualmente, o bien usando el comando
make distclean.Me gusta contar con muchos, muchos programas para jugar con
ellos. ¿Existe una forma de instalar todos los ports
en un solo paso?Simplemente haga:&prompt.root; cd /usr/ports
&prompt.root; make installTenga cuidado, ya que algunos ports pueden instalar ficheros
con el mismo nombre. En el caso de que instale dos programas de
gráficos y que ambos instalen
/usr/local/bin/plot obviamente le va ocasionar
problemas.OK, he intentado esto, pero como supuse que tomaria mucho tiempo,
lo deje corriendo y me fui a dormir. En la mañana al ver mi
computadora, solo había terminado tres ports y medio.
¿He hecho algo incorrectamente?.No, el problema es que algunos ports requieren preguntarle
cosas que no podemos contestar por usted (por ejemplo;
¿En qué tipo de papel desea imprimir, en A4
o en Carta?), y requieren de alguien que les dé
respuesta.Realmente no me interesa pasar todo el dí frente al
monitor. ¿Alguna mejor idea?OK, haga lo siguiente antes de irse a la cama/trabajo/el
parque local:&prompt.root; cd /usr/ports
&prompt.root; make -DBATCH installCon esta opción se instalarán todos los ports
que no requieren intervención del
usuario. Una vez que regrese, haga:&prompt.root; cd /usr/ports
&prompt.root; make -DINTERACTIVE installpara terminar el trabajo.En mi trabajo usamos frobble, que se
encuentra la Colección de Ports, pero lo hemos editado
un poco, para que se ajuste a nuestras necesidades. ¿Existe
alguna forma de hacer nuestro paquete, para poder distribuirlo
más facilmente en nuestros sitios?.No hay problema, asumiendo que usted sabe como crear los parches
de sus cambios, puede hacer lo siguiente:&prompt.root; cd /usr/ports/algunlugar/frobble
&prompt.root; make extract
&prompt.root; cd work/frobble-2.8
[Aplicar sus parches]
&prompt.root; cd ../..
&prompt.root; make packageEsto de los ports es muy inteligente. Estoy deseperado por saber
¿Cúal es el secreto?No hay secreto, simplemente vea los ficheros
bsd.port.mk y
bsd.port.subdir.mk que se localizan en
/usr/ports/Mk/.(Los lectores que tiene aversión a los scripts de shell,
se les aconseja abstenerse de ver los ficheros de este directorio.)Ayuda! Este Port Esta Roto! (Broken)Si se encuentra con port que no trabaj como lo esperaba, existen
varias alternativas, que incluyen:Arreglelo!! El libro Porter's
Handbook incluye información detallada de la
infraestructura de los "Ports", de tal forma que pueda arreglar
los ports que ocasionalmente estan defectuosos o inclusive para
crear y enviar su propio port!Notifiquelo—por correo solamente!
Envie un correo a la persona que da mantenimiento al port. Teclee
make maintainer o lea el
Makefile para ver el correo de esta persona.
Recuerde incluir el nombre y la versión del port (puede
enviar la línea $FreeBSD: del
Makefile) así como la salida del error
que da el port. Si no obtiene respuesta de la persona que da
mantenimiento al port, puede usar &man.send-pr.1; para enviar un
reporte de error.Descargue el paquete de un servidor FTP cercano. La colección
maestra de paquetes se localiza en ftp.FreeBSD.org en el directorio de
paquetes, pero asegurese primero de verificar
en un servidor réplica (mirror)!. Es mas seguro que estos
trabajen, a que tener que compilar las fuentes, también es más
rápido. Use el programa &man.pkg.add.1; para instalar paquetes en
su sistema.