Copyright © 1995-2010 The FreeBSD Documentation Project
La redistribución y uso en fuente (SGML DocBook) y formatos "compilados" (SGML, HTML, PDF, PostScript, RTF y cualquier otro) con o sin modificación, esta permitida siempre y cuando se cumplan las siguientes condiciones:
La redistribución del código fuente (SGML DocBook) debe contener esta información de copyright, esta lista de condiciones y el siguiente texto como las primeras líneas del fichero sin modificar.
La redistribución en formatos compilados (transformado a otros DTDs, convertidos a PDF, PostScript, RTF y otros formatos) debe reproducir el siguiente texto de copyright, esta lista de condiciones y el siguiente texto en la documentación y/u otros materiales entregados con la distribución.
THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FreeBSD is a registered trademark of the FreeBSD Foundation.
3Com and HomeConnect are registered trademarks of 3Com Corporation.
3ware and Escalade are registered trademarks of 3ware Inc.
ARM is a registered trademark of ARM Limited.
Adaptec is a registered trademark of Adaptec, Inc.
Adobe, Acrobat, Acrobat Reader, and PostScript are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.
Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of Apple Computer, Inc., registered in the United States and other countries.
Corel and WordPerfect are trademarks or registered trademarks of Corel Corporation and/or its subsidiaries in Canada, the United States and/or other countries.
Sound Blaster is a trademark of Creative Technology Ltd. in the United States and/or other countries.
CVSup is a registered trademark of John D. Polstra.
Heidelberg, Helvetica, Palatino, and Times Roman are either registered trademarks or trademarks of Heidelberger Druckmaschinen AG in the U.S. and other countries.
IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks of International Business Machines Corporation in the United States, other countries, or both.
IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and Electronics Engineers, Inc. in the United States.
Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
Intuit and Quicken are registered trademarks and/or registered service marks of Intuit Inc., or one of its subsidiaries, in the United States and other countries.
Linux is a registered trademark of Linus Torvalds.
LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID and Mylex are trademarks or registered trademarks of LSI Logic Corp.
M-Systems and DiskOnChip are trademarks or registered trademarks of M-Systems Flash Disk Pioneers, Ltd.
Macromedia, Flash, and Shockwave are trademarks or registered trademarks of Macromedia, Inc. in the United States and/or other countries.
Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
Netscape and the Netscape Navigator are registered trademarks of Netscape Communications Corporation in the U.S. and other countries.
GateD and NextHop are registered and unregistered trademarks of NextHop in the U.S. and other countries.
Motif, OSF/1, and UNIX are registered trademarks and IT DialTone and The Open Group are trademarks of The Open Group in the United States and other countries.
Oracle is a registered trademark of Oracle Corporation.
PowerQuest and PartitionMagic are registered trademarks of PowerQuest Corporation in the United States and/or other countries.
RealNetworks, RealPlayer, and RealAudio are the registered trademarks of RealNetworks, Inc.
Red Hat, RPM, are trademarks or registered trademarks of Red Hat, Inc. in the United States and other countries.
SAP, R/3, and mySAP are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world.
Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer Pages, JDK, JRE, JSP, JVM, Netra, Solaris, StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS, and Ultra are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
Symantec and Ghost are registered trademarks of Symantec Corporation in the United States and other countries.
MATLAB is a registered trademark of The MathWorks, Inc.
SpeedTouch is a trademark of Thomson.
U.S. Robotics and Sportster are registered trademarks of U.S. Robotics Corporation.
VMware is a trademark of VMware, Inc.
Waterloo Maple and Maple are trademarks or registered trademarks of Waterloo Maple Inc.
Mathematica is a registered trademark of Wolfram Research, Inc.
XFree86 is a trademark of The XFree86 Project, Inc.
Ogg Vorbis and Xiph.Org are trademarks of Xiph.Org.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the “™” or the “®” symbol.
¡Bienvenido a FreeBSD! Este manual cubre la instalación y uso diario de FreeBSD 9.1-RELEASE y FreeBSD 8.4-RELEASE. Este manual está en constante evolución y es el resultado del trabajo de muchas personas. Algunas secciones no están completas y otras necesitan ser actualizadas. Si está interesado en colaborar en este proyecto envíe un mensaje de correo electrónico a lista de correo del proyecto de documentación de FreeBSD. La última versión de este documento está siempre disponible en el sitio web de FreeBSD. También puede encontrarla en diferentes formatos y opciones de compresión en el servidor FTP de FreeBSD o en las numerosas réplicas. Si prefiere una copia en papel de este manual puede comprarla en FreeBSD Mall. También es posible hacer búsquedas en este manual.
inetd.confexportsX and 7.Xboot0boot2dump a través de
sshdump a través de
ssh con RSH
configuradavnconfigmdconfig para montar una imagen
de un sistema de ficheros en FreeBSD 5.Xmdconfigmdmfsmdconfigmdmfs/etc/ttysLa primera sección de este libro está pensada para guiar a los recién llegados a FreeBSD durante el proceso de instalación y presentarles los conceptos y convenciones que dan entidad a UNIX®. Para sacar provecho de esta sección lo único que el lector necesitará son ganas de explorar y habilidad para ir interiorizando nuevos conceptos a medida que le van planteando.
La siguiente sección, la segunda, mucho más extensa, es una referencia completa de todo tipo de temas de interés para administradores de sistemas FreeBSD. Es posible que alguno de esos capítulos requiera que previamente lea otros textos; si es el caso esto se anuncia en la sinopsis situada al principio de cada capítulo.
Hay una lista de fuentes de información adicionales en el Capítulo 31, Bibliografía.
Esta tercera edición es la culminación de más de dos años de trabajo de los miembros del FreeBSD Documentation Project. Estos son los cambios más importantes que encontrará en esta nueva edición:
Capítulo 11, Configuración y Adaptación del Sistema, configuración
y adaptación del sistema, ha sido ampliado con
nuevos datos sobre el sistema de gestión de
energía y recursos ACPI, la utilidad del
sistema cron y más
opciones de personalización del kernel.
Capítulo 14, Seguridad, seguridad, ha sido ampliado con información sobre redes privadas virtuales (VPN), listas de control de accesos al sistema de ficheros (más conocidas por ACL) e información sobre avisos de seguridad.
Capítulo 16, Mandatory Access Control, Mandatory Access Control (MAC), es un capítulo nuevo. En él se expone qué es MAC y de qué forma puede utilizarse en FreeBSD como complemento de la seguridad del sistema.
Capítulo 18, Almacenamiento, almacenamiento, se ha ampliado con información sobre dispositivos USB de almacenamiento, instantáneas (“snapshots”) de sistemas de ficheros, sistemas de ficheros basados en ficheros y en red, y particiones de disco cifradas.
Capítulo 20, El Gestor de Volúmenes Vinum, Vinum, es un capítulo nuevo. Describe el uso de Vinum, un gestor de volúmenes lógicos que permite disponer de discos lógicos independientes de dispositivo, así como de RAID-0, RAID-1 y RAID-5 por software.
Se ha añadido una sección de depuración de problemas al Capítulo 25, PPP y SLIP, PPP y SLIP.
Capítulo 27, Correo Electrónico, correo electrónico, ha sido ampliado con información sobre el uso de MTA alternativos, autentificación SMTP, UUCP, fetchmail, procmail así como otros temas avanzados relacionados con el correo.
Capítulo 28, Servidores de red, servidores de red, es un capítulo nuevo. En él se incluye información sobre la configuración de Apache HTTP Server, ftpd y cómo configurar Samba para su uso con clientes Microsoft® Windows®. Ciertas partes de Capítulo 29, Networking avanzado, “networking” avanzado, se han trasladado a este capítulo para dar más solidez al contenido.
Capítulo 29, Networking avanzado, “networking” avanzado, incluye en esta edición nuevos datos sobre el uso de dispositivos Bluetooth® en FreeBSD, la configuración de redes “wireless” y el “networking” ATM (Asynchronous Transfer Mode).
Se ha creado un glosario para disponer de una ubicación centralizada donde encontrar definiciones de términos técnicos que se utilizan a lo largo del libro.
Las tablas e imágenes que aparecen en el libro han experimentado diversas mejoras est´ticas.
La segunda edición fue la culminación de más de dos años de trabajo de los miembros del FreeBSD Documentation Project. Estos son los principales cambios que encontrará en esta edición:
Se ha creado un índice completo.
Todos los esquemas ASCII han sido reemplazados por diagramas gráficos.
Se ha añadido una sinopsis estándar a cada capítulo donde se ofrece un breve sumario del contenido del capítulo y qué se espera que sepa el lector para poder sacarle provecho.
Se ha reorganizado de forma lógica el contenido en tres partes: “primeros pasos”, “administración del sistema ” y “apéndices”.
El Capítulo 2, Instalación de FreeBSD (“instalación de FreeBSD”) ha sido reescrito completamente e incluye gran cantidad de capturas de pantalla para facilitar su comprensión a los nuevos usuarios.
El Capítulo 3, Conceptos básicos de Unix (“conceptos básicos de UNIX®”) se ha ampliado con más información sobre procesos, dæmons y señales.
El Capítulo 4, Instalación de aplicaciones: «packages» y ports (“instalación de aplicaciones”) incluye información sobre la gestión de paquetes binarios.
El Capítulo 5, El sistema X Window, (“El sistema X Window”) ha sido reescrito totalmente, con especial énfasis en el uso de modernas tecnologías de escritorio como KDE y GNOME en XFree86™ 4.X.
El Capítulo 12, El proceso de arranque en FreeBSD (“El proceso de arranque de FreeBSD”) ha sido ampliado.
El Capítulo 18, Almacenamiento (“Almacenamiento”) ha sido el fruto de refundir el contenido de lo eran dos capítulos sobre “discos” y “copias de seguridad”. Pensamos que estos temas eran más fáciles de entender si se trataban en un mismo capítulo. Se ha añadido también una sección sobre RAID (tanto hardware como software).
El Capítulo 24, Comunicaciones serie (“communicaciones serie”) ha sido reorganizado y actualizado completamente con información sobre FreeBSD 4.X y 5.X.
El Capítulo 25, PPP y SLIP (“PPP y SLIP”) ha sido actualizado en gran parte.
Se han añadido muchas secciones nuevas al Capítulo 29, Networking avanzado (“Networking avanzado”).
El Capítulo 27, Correo Electrónico (“correo electrónico” incluye ahora más información sobre la configuración de sendmail.
El Capítulo 10, Compatibilidad binaria con Linux (“compatibilidad conLinux®”) se ha ampliado con información sobre la instalación de Oracle® y SAP® R/3®.
En esta segunda edición se incluyen también estos nuevos contenidos:
Configuración y adaptación del sistema (Capítulo 11, Configuración y Adaptación del Sistema).
Multimedia (Capítulo 7, Multimedia)
Este libro se divide en cinco secciones lógicamente distintas. La primera, primeros pasos, trata sobre la instalación y el uso más básico de FreeBSD. Está pensada para que el lector los recorra en secuencialmente, aunque puede saltarse algunos si tratan sobre temas que le resulten familiares. La segunda sección, Tareas comunes, está dedicada a las características de FreeBSD que suelen utilizarse con más frecuencia. Esta sección, así como las siguientes, pueden leerse en cualquier orden. Cada capítulo comienza con una sinopsis sucinta en la que se describe el contenido del capítulo y qué es lo que se espera que sepa el lector antes de leerlo. Esto se hace para dar ocasión al lector ocasional a que elija el capítulo que más pueda interesarle. La tercera sección, Administración del sistema, trata sobre diversos aspectos de la administración del sistema. La cuarta sección, Redes y comunicaciones, está dedicada al “networking” y temas relacionados con los servidores. La quinta sección dispone de apéndices con información de referencia.
Este capítulo, como su nombre indica, presenta FreeBSD al usuario. En él se cuenta la historia del Proyecto FreeBSD, sus objetivos y su modelo de desarrollo.
Guía al usuario a través de un proceso completo de instalación. Se explican también algunos aspectos avanzados como la instalación a través de una consola serie.
Se explican los comandos más básicos y el funcionamiento del sistema operativo FreeBSD. Si ya se tiene experiencia con Linux® u otro tipo de UNIX® posiblemente sea este un capítulo que no deba leerse.
Se explica la instalación de software desarrollado por personas ajenas al proyecto, tanto mediante la innovadora “Colección de Ports” de FreeBSD como mediante paquetes binarios estándar (“packages”).
Describe el sistema X Windows en general y su uso en FreeBSD en particular. Describe también entornos de escritorio de uso común como KDE y GNOME.
Se enumeran algunas aplicaciones de escritorio muy comunes, como navegadores web y suites ofimáticas, y cómo instalar estas aplicaciones en FreeBSD.
Trata sobre la configuración la reproducción de sonido y vídeo en su sistema. Describe también algunas aplicaciones de sonido y vídeo.
Explica bajo qué circunstancias tendrá que configurar un nuevo kernel y facilita instrucciones detalladas para la configuración, compilación e instalación de un kernel personalizado.
Describe la gestión de impresoras en FreeBSD, abarcando aspectos diversos como las páginas “banner”, las cuentas de impresión así como la configuración inicial.
Describe las características de compatibilidad con Linux® de FreeBSD. Incluye también instrucciones detalladas de instalación de varias aplicaciones Linux® muy populares, como Oracle®, SAP® R/3® y Mathematica®.
Describe los parámetros que los administradores de sistemas tienen a su alcance para hacer que FreeBSD rinda al máximo. Describe también los diversos ficheros de configuración que se usan en FreeBSD y dónde están.
Describe el proceso de arranque de FreeBSD y explica cómo controlar este proceso mediante opciones de configuración.
Describe la creación y gestión de cuentas de usuario. Trata también sobre la limitación de recursos que puede aplicarse sobre los mismos, así como otras tareas administrativas.
Describe las abudantes herramientas diferentes que pueden ayudar a que su sistema FreeBSD esté y permanezca seguro. Entre ellas encontrará a Kerberos, IPsec y OpenSSH.
Describe el uso de jaulas en FreeBSD y el avance que este “framework” supone respecto al tradicional uso de chroot que se hacía en FreeBSD.
Explica qué es Mandatory Access Control (MAC) y cómo puede usarse este mecanismo para hacer más seguro FreeBSD
Describe qué es la auditoría de eventos en FreeBSD cómo instalarla y configurarla y cómo pueden inspeccionarse y monitorizarse dichas auditorías.
Describe cómo gestionar medios de almacenamiento y sistemas de ficheros en FreeBSD, tanto discos físicos, arreglos RAID, medios ópticos o en cinta, como discos en memoria y sistemas de ficheros en red.
Trata sobre el “framework” “GEOM” de FreeBSD y cómo configurar con él alguno de los diversos niveles de RAID que admite.
Describe cómo usar Vinum, un gestor de volúmenes lógicos que permite tanto el uso de discos lógicos independientes de dispositivo, como RAID-0, RAID-1 y RAID-5 por software.
Describe los sistemas de virtualización disponibles en FreeBSD y cómo utilizarlos.
Describe el uso en FreeBSD de idiomas distintos del inglés. Trata tanto la localización del sistema como de las aplicaciones.
Explica las diferencias existentes entre FreeBSD-STABLE, FreeBSD-CURRENT y las releases de FreeBSD. Describe también qué tipos de usuario pueden beneficiarse de seguir el desarrollo contínuo del sistema en su propia máquina y muestra el proceso a seguir.
Explica cómo conectar terminales serie y módems a su sistema FreeBSD tanto para conexiones entrantes como salientes.
Describe cómo usar en FreeBSD PPP, SLIP o PPP sobre Ethernet para conexiones a sistemas remotos.
Detalla los distintos elementos que componen un servidor de correo electrónico y explica diversos aspectos sencillos de la configuración del servidor de correo más extendido: sendmail.
En este capítulo encontrará instrucciones detalladas y ficheros de configuración de ejemplo que le permitirán configurar su sistema FreeBSD como servidor NFS, servidor de nombres, servidor NIS o de sincronización de hora.
Explica la filosofía que sustenta los cortafuegos por software y facilita información detallada sobre la configuración de los distintos cortafuegos disponibles en FreeBSD.
Describe diversos temas relacionados con el “networking”, desde compartir la conexión a Internet con otras máquinas de su LAN a diversos aspectos avanzados del encaminamiento de tráfico, pasando por las redes “wireless”, Bluetooth®, ATM, IPv6 y mucho más.
Enumera las diferentes fuentes desde la que puede conseguirse FreeBSD en CDROM o DVD, así como los numerosos sitios de Internet desde los que puede descargar e instalar FreeBSD.
Este libro toca tantos temas que es muy posible que el lector se quede a falta de una explicación más detallada. En la bibliografía muchos libros estupendos relacionados con el contenido de este texto.
Describe los abundantes foros de que disponen los usuarios de FreeBSD para enviar preguntas y participar en conversaciones técnicas sobre FreeBSD.
Lista las claves públicas PGP de varios desarrolladores de FreeBSD.
Con el ánimo de mantener la consistencia y facilitar la lectura del texto se siguen varias convenciones a lo largo del libro.
Se usa un tipo de letracursiva cuando se citan nombres de fichero, URL, texto en el que se quiere hacer énfasis y cuando un término técnico aparece por primera vez en el texto.
Tipografía de máquina de
escribirSe usa un tipo de letra de máquina
de escribir
cuando se muestran mensajes de error, comandos,
variables de entorno, nombres de “ports”,
nombres de máquina, nombres de usuario o de
grupo, nombres de dispositivo, variables y cuando
Se usa un tipo de letra monospaced
cuando se muestran mensajes de error, comandos,
variables de entorno, nombres de “ports”,
nombres de máquina, nombres de usuario o de
grupo, nombres de dispositivo, variables y cuando
se muestran fragmentos de código.
Se usa un tipo de letra negrita en el nombre de aplicaciones, comandos y cuando se muestran claves.
Las claves se muestran en negrita para
distinguirlas de cualquier otro texto. Las combinaciones de
teclas que implican que sean pulsadas simultáneamente
se muestran con el símbolo `+' entre
una y otra, como en:
Ctrl+Alt+Supr
Esto significa que el usuario debe pulsar las teclas Ctrl, Ctrl, Alt y Supr al mismo tiempo.
Las teclas que deben pulsarse secuencialmente se separan con comas, como en este ejemplo:
Ctrl+X, Ctrl+S
Esto significa que el usuario debe pulsar simultáneamente las teclas Ctrl y X y después pulsar simultáneamente Ctrl y S.
Un comienzo como E:\>
indica un ejemplo de comando de MS-DOS®. A menos que se
especifique otra cosa, estos comandos deben ejecutarse en una
terminal “Command Prompt” de un sistema Microsoft® Windows®
moderno.
E:\> tools\fdimage floppies\kern.flp A:Si hay un # indica que el comando debe ejecutarse
como superusuario en FreeBSD. Puede acceder al sistema como
root y ejecutar el comando o bien con su
usuario habitual y utilizar su(1) para disponer de privilegios
de superusuario.
# dd if=kern.flp of=/dev/fd0Si el ejemplo comienza con un % indica que
el comando puede ejecutarse en una cuenta de usuario normal. Salvo
que se indique otra cosa se usa la sintaxis de C-shell para
asignar valores a variables de entorno u otros comandos.
% topEste libro representa el esfuerzo de muchos cientos de personas del mundo entero. Tanto si fue en forma de correción de errores de contenido como gramaticales, o bien fue un capítulo entero lo que enviaron, toda contribución ha sido muy valiosa.
Varias compañías han colaborado en el desarrollo de este documento pagando a tiempo completo a varios autores, financiando la publicación, etc. En especial BSDi (posteriormente adquirida por Wind River Systems) pagaron a varios miembros del FreeBSD Documentation Project por trabajar en la mejora lo que fue la primera edición de este libro, que apareció en marzo de 2000 (ISBN 1-57176-241-8). Además de esto, Wind River Systems aportó el dinero para que otros autores pudieran realizar gran cantidad de mejoras en la estructura de creación de material listo para impresión y para pudieran añadir nuevos capítulos. Este trabajo culminó con la publicación de la segunda edición impresa en noviembre de 2001 (ISBN 1-57176-303-1). En 2003 y 2004 FreeBSD Mall, Inc, pagó a varios autores para que se dedicaran a lo que será la tercera edición.
Esta parte del manual de FreeBSD es para usuarios y administradores nuevos en FreeBSD. El cometido de estos capítulos es:
Ofrecer una introducción a FreeBSD.
Guiar a través de una instalación de FreeBSD.
Explicar conceptos básica de Unix.
Explicar cómo instalar la gran cantidad de software de terceros disponible para FreeBSD.
Presentar una introducción al manejo de X Window, el sistema de ventanas de UNIX®, y detallar cómo configurar un entorno de escritorio más productivo.
Se ha intentado minimizar el número de referencias a otras secciones de este documento para evitar el salto entre páginas y facilitar la lectura continuada.
Gracias por su 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á:
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”.
FreeBSD es un sistema operativo basado en 4.4BSD-Lite para ordenadores Intel (x86 e Itanium®), AMD64, Alpha™ y Sun UltraSPARC®. Se está trabajando también en versiones para otras arquitecturas. También puede leer sobre la historia de FreeBSD, o sobre la distribución actual. Si cree que puede ayudar al proyecto de algún modo (desarrollando código, donando hardware, dinero, etc) consulte el artículo Contribuir a FreeBSD.
FreeBSD tiene muchas características notables. Algunas de ellas son:
Multitarea expropiativa con prioridades dinámicamente ajustadas para asegurar que distintas aplicaciones y usuarios compartan los recursos del sistema de un modo equitativo, incluso bajo la mayor de las cargas.
Servicios multiusuario que permiten a mucha gente usar un sistema FreeBSD simultáneamente para distintas cosas. Ésto 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 los recursos críticos del sistema de un uso abusivo.
Conexión de redes TCP/IP muy robusta, con soporte para estándares industriales como SCTP, DHCP, NFS, NIS, PPP, SLIP, IPSec e IPv6. Esto quiere decir que su sistema FreeBSD puede interactuar fácilmente con otros sistemas y hacer de servidor en una empresa, proporcionando servicios clave como NFS (acceso a ficheros remotos) y servicios de correo electrónico, o proporcinando la presencia en Internet de su organización mediante WWW, FTP, servicios de encaminamiento y cortafuegos.
La protección de memoria garantiza que las aplicaciones (o los usuarios) no se estorben los unos a los otros. Un error catastrófico en una aplicación no afecta al resto.
FreeBSD es un sistema operativo de 32-bits (de 64-bits en Alpha, Itanium®, AMD64, y UltraSPARC®) y fue diseñado como tal desde el principio.
X Window System (X11R6), estándar de la industria, dota a los usuarios una interfaz gráfica (GUI) por el coste de una tarjeta VGA y un monitor comunes, y viene con los fuentes completos.
Compatibilidad binaria con muchos programas nativos de Linux, SCO, SVR4, BSDI y NetBSD.
Hay en Internet miles y miles de aplicaciones listas para su uso. FreeBSD es compatible a nivel de código fuente con la mayoría de sistemas UNIX® comerciales; por tanto la mayoría de aplicaciones requieren poco o ningún cambio para compilar en FreeBSD.
En Internet hay miles de aplicaciones fáciles de portar. El código fuente de FreeBSD es compatible con el de los sistemas UNIX® comerciales más populares y por ello la mayoría de las aplicaciones tan sólo necesitan pocos cambios, si es que necesitan alguno, para compilar.
El 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.
Soporte para SMP en máquinas con múltiples CPUs.
Una colección completa de herramientas de desarrollo en C, C++, Fortran, y Perl. Podrá encontrar muchos otros lenguajes avanzados para investigación y desarrollo tanto en la la Colección de Ports como en forma de packace.
Disponer del código fuente del sistema entero significa contar con el mayor nivel de control posible sobre su entorno. ?Para qué atarse a una solución propietaria a merced de un fabricante cuando puede tener un verdadero sistema abierto?
Documentación exhaustiva en línea.
¡Y mucho más!
FreeBSD 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áximas en situaciones de carga reales. Mientras que muchos de los gigantes comerciales se esfuerzan en dotar a los sistemas operativos para PC de esas características, rendimiento y fiabilidad, FreeBSD puede ofrecerlas ¡ya!
Los usos que pueda darle a FreeBSD se ven limitados tan sólo por su imaginación. Desde el desarrollo de programas hasta la automatización de fábricas, desde control de inventarios hasta corrección de azimut de antenas de satélites remotos; Si puede hacerse con un UNIX® comercial lo más seguro es que también pueda llevarse a cabo con FreeBSD. FreeBSD también hace buen uso de las literalmente miles de aplicaciones de alta calidad que se desarrollan en centros de investigación y universidades de todo el mundo, frecuentemente disponibles por poco o ningún coste. También existen aplicaciones comerciales, cuyo número aumenta cada dia.
Dado que el código fuente de FreeBSD está disponible para todo el mundo el sistema puede personalizarse en un grado nunca visto para aplicaciones o proyectos especiales, y de maneras generalmente imposibles 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á usando actualmente FreeBSD:
Servicios de Internet: La robusta conectividad TCP/IP integrada en FreeBSD hace de este sistema una plataforma ideal para servicios de Internet como:
Con FreeBSD puede empezar fácilmente con un pequeño y económico PC de tipo 386 e ir actualizando su equipo hasta un tetraprocesador Xeon con almacenamiento RAID a medida que su proyecto crezca.
Educación: ?Es estudiante de informática o de algún campo relacionado con la ingeniería? 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 y diseño gráfico 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 gratuítamente hace posible que grupos remotos puedan colaborar con ideas o compartan desarrollos sin tener que preocuparse de acuerdos de licencias especiales o de limitaciones acerca de lo que puede discutirse en foros públicos.
Redes: ?Necesita un nuevo “router”? ?Un servidor de nombres (DNS)? ?Un cortafuegos que haga más segura su red interna? FreeBSD puede convertir ese PC 386 o 486 que tiene arrinconado en un “router” avanzado con sofisticadas capacidades de filtrado de paquetes.
Estación de trabajo X: FreeBSD es una magnífica elección como terminal X de bajo coste gracias al servidor libre X11. A diferencia de las terminales X FreeBSD permite ejecutar muchas aplicaciones en local si así se quiere, aligerando de este modo la carga soportada por el servidor central. FreeBSD puede incluso arrancar “sin disco”, permitiendo que las estaciones sean aún más económicas y fáciles de administrar.
Desarrollo de software: El sistema base de FreeBSD incluye una completa colección de herramientas de desarrollo que incluyen el famoso compilador y depurador de C/C++ de GNU.
Puede conseguir FreeBSD tanto en forma de código fuente como binaria por FTP anónimo o en CDROM. Por favor, consulte el Capítulo 30, Cómo obtener FreeBSD para más información.
En la siguiente sección se explican ciertos aspectos básicos del Proyecto, una breve historia, sus objetivos y el modelo de desarrollo del mismo.
La 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.
Nuestro objetivo original era producir una instantánea de 386BSD intermedia para arreglar una serie de problemas que no se podían solventar con uno de nuestros parches. Quizás haya quien recuerde que el primer nombre del proyecto fue “386BSD 0.5” o “386BSD Interim” debido a esto.
386BSD 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 valdría olvidar. A medida que el “patchkit” se iba haciendo haciendo más incómodo cada dia que pasaba, así que acordamos ayudar a Bill con una instantánea del sistema. Estos planes se vieron bruscamente interrumpidos cuando Bill Jolitz decidió repentinamente retirar su aprobación al proyecto sin dejar ninguna indicación clara de qué debía hacerse a continuación.
No tardamos mucho en decidir que el objetivo seguía valiendo la pena, aun sin el soporte de Bill, así que adoptamos el nombre de “FreeBSD”, una idea de David Greenman. Nuestros objetivos iniciales se fijaron tras consultar 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 idea de mejorar los canales de distribución de FreeBSD y hacer m´s fácil llegar a aquellas personas que no tenían la suerte de tener acceso a Internet. Walnut Creek CDROM no solo nos ayudó con la idea de distribuir FreeBSD en CD; también facilitó al Proyecto una máquina en la que trabajar y una conexión rápida a Internet. Sin la fe casi sin precedentes que tuvo Walnut Creek CDROM en lo que era en aquél momento un proyecto completamente desconocido, es bastante improbable que FreeBSD hubiera logrado tanto y tan rápido como ha logrado hasta el dia de hoy.
La 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 de trabajos proveniente de la Free Software Foundation. Fue un logro bastante apreciable para una primera versión; pronto le siguió FreeBSD 1.1 en mayo de 1994, que tuvo un gran éxito.
Por entonces se formaron unos inesperados nubarrones en el horizonte ya que Novell y la Universidad de 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 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 repercutió sobre el Proyecto FreeBSD, a quienes se dio hasta julio de 1994 para dejar de sacar su producto basado en Net/2. Bajo los términos de aquel acuerdo se 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 ardua tarea de (literalmente) reinventarse a sí mismo a partir de partes nuevas y bastante incompletas 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. Hasta noviembre de 1994 el proyecto al fin realizó esa transición; apareció FreeBSD 2.0 en la red y (a finales de diciembre) en CDROM. A pesar de no estar suficientemente pulida esta distribución fue un éxito significativo, al cual siguió el más robusto y fácil de instalar FreeBSD 2.0.5; era junio de 1995.
Sacamos FreeBSD 2.1.5 en Agosto de 1996; pareció ser suficientemente popular entre ISPs y otras comunidades comerciales como para que mereciera otra versión de la rama 2.1-STABLE. 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 puesta en mantenimiento, en esa rama (RELENG_2_1_0) sólo se harían ya mejoras en seguridad y se corregirían 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. A partir de la 3.X-STABLE salió 3.1 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. Pocos dias después de esta apareció una actualización menor, la 3.5.1, que incorporaba parches de seguridad de última hora para Kerberos. Esa fue la última versión de la rama 3.X.
Hubo otra ramificación el 13 de Marzo de 2000 que dio lugar a la rama 4.X-STABLE. Ha habido varias versiones de la misma desde entonces: 4.0-RELEASE salió en marzo de 2000 y la última versión de la rama, 4.11-RELEASE, apareció en enero de 2005.
La largamente esperada 5.0-RELEASE se anunció el 19
de enero de 2003, culminando casi tres años de
trabajo; esta versión situó a FreeBSD en el escenario
del multiproceso avanzado y el soporte de hilos para
las aplicaciones, e introdujo soporte para las plataformas
UltraSPARC® y ia64. Siguió a esta la
versión 5.1 lanzada en Junio de 2003. La última
versión de 5.X como la rama -CURRENT fué
5.2.1-RELEASE, que salió en febrero de 2004.
La rama RELENG_5, creada en agosto de 2004, desembocó en 5.3-RELEASE, que marcó el inicio de la rama de versiones 5-STABLE. La versión 5.5-RELEASE más reciente apareció en mayo de 2006. No aparecerán más versiones a partir de la rama RELENG_5.
El árbol se dividió de nuevo en julio de 2005, en esta ocasión para crear RELENG_6. 6.0-RELEASE, la primera versión de la rama 6.X, apareció en noviembre de 2005. 8.4-RELEASE apareció en June 2013. Irán apareciendo más versiones a partir de la rama RELENG_6.
La rama RELENG_7
Los objetivos del Proyecto FreeBSD son producir software que pueda usarse con cualquier propósito y sin ningún tipo de restricción. Muchos de nosotros participamos de forma significativa 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 no vamos a insistir en ello. Creemos que nuestra “misión” más importante y primordial es facilitar el acceso al código a cualquiera, para lo que quiera usarlo y de forma que se use tanto y para sacarle tanto provecho para sea posible. Creo que éste es uno de los objetivos más fundamentales del software libre y algo que nosotros apoyamos con entusiasmo.
El 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 para garantizar acceso al mismo, y no al contrario como es lo habitual. Debido a las complicaciones adicionales que pueden surgir en el uso comercial de software con licencia GPL preferimos que el software que incluyamos en el árbol venga bajo la licencia BSD, menos restrictiva, siempre y cuando sea una opción razonable.
El desarrollo de FreeBSD es un proceso muy abierto y flexible: FreeBSD está literalmente compuesto de partes hechas por centenares de personas de todo el mundo, como puede verse en este texto. la infraestructura de desarrollo del proyecto FreeBSD permite a estos cientos de desarrolladores trabajar a través de Internet. Estamos buscando constantemente de nuevos desarrolladores e ideas. Las personas interesadas en vincularse más al proyecto tienen que ponerse en contacto con nosotros en la lista de correo de discusiones técnicas en FreeBSD. La lista de anuncios importantes del Proyecto FreeBSD está a disposición de quienes deseen dar a conocer a otros usuarios de FreeBSD grandes áreas de trabajo.
Veamos unas cuantas cosas útiles sobre el Proyecto FreeBSD y su proceso de desarrollo, ya sea trabajando de forma independiente o en estrecha cooperación:
El árbol central de código de FreeBSD se ha mantenido mediante CVS (Concurrent Versions System, o sistema concurrente de versiones), una herramienta de control de código totalmente libre que forma parte de FreeBSD. En junio de 2008 el Proyecto adoptó SVN (Subversion). La necesidad de un cambio como este venía de largo a medida que las limitaciones técnicas que el uso de CVS imponía se iban haciendo más y más obvias con la rápida expansión del árbol de código y de la cantidad de historial de cambios que hay que almacenar y gestionar. Aunque el repositorio principal use SVN las aplicaciones del lado del cliente como CVSup y csup, que dependen de la infraestructura anterior basada en CVS, siguen funcionando normalmente; los cambios que se hacen en el repositorio SVN se van replicando en el repositorio CVS con este fin. Actualmente (octubre 2008) solamente el árbol central de código usa SVN. Los repositorios de documentación, WWW y Ports siguen usando still using CVS. El repositorio primario está alojado en una máquina en Santa Clara (California, EEUU), que constituye el original del que todas las réplicas (a las que llamamos a veces “mirrors”) son copias exactas actualizadas cada muy poco tiempo. El árbol SVN, que contiene también los árboles -CURRENT y -STABLE, puede replicarse muy fácilmente en local en su máquina. Consulte la sección Sincronización del árbol de código para más información.
Los committers son la gente que
tienen permisos de escritura en el
los fuentes de FreeBSD (el término
“committer” viene de la orden
commit de cvs(1), que sirve para
hacer cambios en el repositorio CVS). La mejor
manera de enviar aportaciones para que sean revisadas por
los committers es usar send-pr(1). Si le parece que
si pareciera que algo va mal en el sistema también puede
enviar correo electrónico a la lista de correo para 'committers' de FreeBSD.
El Core Team de FreeBSD sería el equivalente a una junta directiva si el Proyecto FreeBSD fuese una compañía. La tarea principal del Core Team es la de garantizar que el Proyecto como un todo tenga salud y se mueva en las direcciones adecuadas. Otra de sus funciones es invitar a desarrolladores comprometidos y responsables a que se unan a nuestro equipo, además de reclutar nuevos miembros del Core Team cuando alguno se va. El Core Team actual fue elegido entre un conjunto de candidatos committers en julio de 2008. Se celebran elecciones cada dos años.
Algunos miembros del Core Team tienen también áreas específicas de responsabilidad, pues se encargan de garantizar que grandes secciones del sistema funcionen según lo previsto. Hay una lista completa de desarrolladores de FreeBSD con sus áreas de responsabilidad en la lista de colaboradores. .
La mayoría de los miembros del Core Team trabaja de forma altruísta en el desarrollo de FreeBSD y no reciben beneficio económico del Proyecto; es por esto que “compromiso” no debe 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 esa es la gente que dedica su vida a FreeBSD en contra de lo que les aconseja su propio sentido común.
Por último, y no por ello menos importante, el mayor grupo de desarrolladores está formado por los mismos usuarios, quienes constantemente nos aportan comentarios y corrección de errores. La mejor manera de seguir de cerca el desarrollo (al estilo descentralizado de FreeBSD) es suscribirse a la lista de correo de discusiones técnicas en FreeBSD, que es donde se habla de este tipo de cosas. Consulte el Apéndice A, Recursos en Internet si necesita más información sobre las diferentes listas de correo de FreeBSD.
La lista de colaboradores es larga y no para de crecer. ?Por qué no apuntarse y hacer algo en FreeBSD hoy mismo?
Aportar código no es la única manera de ayudar al proyecto; hay una lista completa de tareas pendientes 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 pensando el la comodidad de los “usuarios” de FreeBSD, que así tienen un modo sencillo de estar al dia con una base de código central y por supuesto no para excluir a quien quiera ayudar. Nuestro afán es ofrecer un sistema operativo estable con un gran conjunto de aplicaciones coherentes que los usuarios puedan instalar y usar fácilmente (y este modelo está dando buenos resultados)
Lo único que pedimos a quienes quieran unirse a nosotros como desarrolladores de FreeBSD es la misma dedicación que los integrantes actuales tienen.
FreeBSD es un sistema operativo libre y gratuito que se distribuye con el código fuente íntegro. Está basado en 4.4BSD-Lite y está diseñado para funcionar en sistemas Intel i386™, i486™, Pentium®, Pentium® Pro, Celeron®, Pentium® II, Pentium® III, Pentium® III, Pentium®4 (o compatible), Xeon™, DEC Alpha™ y sistemas basados en SUN UltraSPARC®. Está basado principalmente en software del grupo CSRG de la Universidad de Berkeley (California), y tiene mejoras importadas de NetBSD, OpenBSD, 386BSD y código creado al amparo de 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 solo aumenta el rendimiento sino que reduce el consumo de memoria de FreeBSD, haciendo que una configuración de 5 MB 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 RDSI (ISDN), soporte para ATM, FDDI, adaptadores Fast y Gigabit Ethernet (1000 Mbit), soporte mejorado para los últimos controladores Adaptec y cientos de correcciones de errores.
Además de la distribución base FreeBSD ofrece una
colección de software con miles de programas de uso común.
En el momento de escribir esto hay unos
24,000 “Ports” La lista de Ports comprende
desde servidores HTTP (WWW), juegos, lenguajes de programación,
editores, y prácticamente cualquier cosa. La colección de
Ports completa requiere un espacio de aproximadamente 500 MB, todos
ellos expresados como “deltas” de sus fuentes
originales. Esto hace que nos sea mucho más fácil
actualizar Ports y reduce notablemente 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 compile se descargará
dinámicamente de un CDROM o un sitio FTP, de modo que sólo
necesita el espacio necesario para compilar los ports que
quiera. La mayoría de los ports también
están precompilados como “packages”, que
quienes no quieran compilar Ports pueden instalar con una simple orden:
pkg_add. En el Capítulo 4, Instalación de aplicaciones: «packages» y ports tiene más información sobre los
“packages” y Ports.
Algunos documentos que pueden ser de ayuda en el proceso de
instalación y al utilizar FreeBSD pueden también
encontrarse el directorio /usr/share/doc de cualquier
máquina con una versión reciente de FreeBSD encontrará
varios documentos que pueden serle de ayuda en el proceso de
instalación o al usar FreeBSD. Para poder consultarlos utilice
cualquier navegador para seguir estos enlaces:
También puede ver la copia original (y más frecuentemente actualizada) en http://www.FreeBSD.org/.
FreeBSD dispone de un programa en modo texto muy fácil de usar llamado sysinstall. Es el programa de instalación por omisión en FreeBSD, pero quien decida distribuir FreeBSD tiene todo el derecho de facilitar un sistema de instalación propio si así lo desea. Este capítulo trata sobre cómo usar sysinstall para instalar FreeBSD
Tras leer este capítulo sabrá usted:
Cómo crear los discos de instalación de FreeBSD
Cómo interpreta (y subdivide) FreeBSD sus discos duros.
Cómo arrancar sysinstall.
Qué preguntas le hará sysinstall, qué significan y cómo responderlas.
Antes de leer este capítulo debería usted:
Leer la lista de hardware soportado que se suministra con la con la versión de FreeBSD que va a instalar y verificar que su hardware está en dicha lista.
En general éstas instrucciones de instalación han sido escritas para computadoras de arquitectura i386™ («PC compatible»). En algunos puntos concretos se darán instrucciones específicas para otras plataformas (por ejemplo Alpha). A pesar de que esta guía se intenta mantener todo lo al día que es posible puede que se encuentre con pequeñas diferencias entre el programa de instalación y lo que aquí se le muestra. Le sugerimos que use este capítulo como una guía general más que como un manual literal de instalación.
La configuración mínima para instalar FreeBSD varía según la versión de FreeBSD y la arquitectura de hardware.
Tiene información sobre la confuración mínima en las Notas de Instalación que encontrará en la sección de Información de Releases del sitio web de FreeBSD. En la siguiente sección se facilita un resumen de dicha información. Dependiendo de cuál sea el método de instalación que elija para instalar FreeBSD necesitará un floppy, un lector de CDROM que pueda utilizar con FreeBSD o quizás un adaptador de red. Todo esto se explica en la Sección 2.3.7, “Preparación del medio de arranque”.
Tanto FreeBSD/i386 como FreeBSD/pc98 necesitan un procesador 486 o superior y un mínimo de 24 MB de RAM. Necesitará también al menos 150 MB de espacio libre en disco, que es lo que necesita la instalación mínima.
En sistemas muy antiguos la mayoría de las veces será de mucha más ayuda conseguir más RAM y espacio de disco que un procesador más rápido.
Para instalar FreeBSD/alpha necesitará una plataforma que esté soportada (consulte Sección 2.2.2, “Hardware soportado”) y un disco duro dedicado a FreeBSD. En este momento no es posible compartir un disco con otro sistema operativo. Este disco debe estar necesariamente conectado a una controladora SCSI que esté soportada por el firmware SRM, o si se trata de un disco IDE el SRM de su máquina debe permitir el arranque desde discos IDE.
Necesitará el firmware de la consola SRM de su plataforma. En ciertos casos es posible pasar del firmware AlphaBIOS (o ARC) al SRM. En otros casos no habrá más remedio que descargar un nuevo firmware desde el sito web del fabricante.
A partir de FreeBSD 7.0 no hay soporte para
Alpha. La serie FreeBSD 6.X
es la última que ofrece soporte para esta
arquitectura.
Hay dos tipos de procesadores capaces de ejecutar FreeBSD/amd64. La primera son los procesadores AMD64, entre los que están los AMD Athlon™64, AMD Athlon™64-FX, AMD Opteron™ y los modelos superiores.
La segunda categoría de procesadores que pueden usar FreeBSD/amd64 es la de los procesadores de arquitectura EM64T de Intel®, por ejemplo las familias de procesadores Intel® Core™ 2 Duo, Quad, y Extreme, y la secuencia de procesadores Intel® Xeon™ 3000, 5000 y 7000.
Si tiene una máquina basada en una nVidia nForce3 Pro-150 tendrá que usar la configuración de la BIOS para deshabilitar IO ACPI. Si no tiene la opción de hacerlo tendrá que deshabilitar ACPI. Hay errores en el chipset Pro-150 para los que no hemos encontrado aún una solución.
Para instalar FreeBSD/sparc64 necesita una plataforma que esté soportada (consulte la Sección 2.2.2, “Hardware soportado”).
Necesitará un disco dedicado a FreeBSD/sparc64. De momento es imposible compartir un disco duro con otro sistema operativo.
Cada versión de FreeBSD incluye una lista de hardware
soportado en las «FreeBSD Hardware Notes». Este
documento suele estar en un fichero llamado
HARDWARE.TXT, que está en el
directorio raiz del CDROM o distribución FTP, o en el
menú de documentación de
sysinstall. En este documento se
listan los dispositivos de hardware que se sabe que funcionan
con cada versión de FreeBSD y para qué
arquitectura. En la página de Información
de Releases del sitio web de FreeBSD encontrará
copias de esta lista para diversas releases y arquitecturas.
Antes de instalar FreeBSD en su sistema debería hacer un inventario de los componentes de su computadora. El sistema de instalación de FreeBSD le mostrará los componentes (discos duros, tarjetas de red, unidades de CDROM, etc.) con sus datos de modelo y fabricante. FreeBSD tratará también de determinar la configuración correcta para dichos dispositivos, lo que incluye información sobre las IRQ y el uso de puertos IO. A causa de la ingente variedad de hardware para PC este proceso no siempre se puede culminar con éxito y es posible que deba corregir las decisiones de FreeBSD retocando la configuración.
Si ya dispone de otro sistema operativo instalado (como Windows® o Linux) puede usar los recursos que dicho o dichos sistemas operativos le faciliten para determinar exactamente qué hardware tiene y cómo está configurado. Si tiene del todo claro qué configuración está usando una tarjeta de expasión concreta es posible que pueda encontrar esos datos impresos en la propia tarjeta. Es muy habitual el uso de las IRQ 3, 5 y 7 y las direcciones de los puertos IO suelen representarse con números hexadecimales, como 0x330.
Le recomendamos imprimir o tomar nota de todos esos datos antes de instalar FreeBSD. Una tabla como esta puede serle de mucha ayuda:
| Nombre de dispositivo | IRQ | Puerto(s) IO | Notas |
|---|---|---|---|
| Primer disco duro | N/A | N/A | 40 GB, fabricado por Seagate, primer maestro IDE |
| CDROM | N/A | N/A | Primer esclavo IDE |
| Segundo disco duro | N/A | N/A | 20 GB, fabricado por IBM, segundo maestro IDE |
| Primera controladora IDE | 14 | 0x1f0 | |
| Tarjeta de red | N/A | N/A | Intel® 10/100 |
| Módem | N/A | N/A | 3Com® 56K faxmodem, en COM1 |
| … |
Una vez termine el inventorio de componentes de su sistema debe comprobar si aparecen en la lista de hardware soportado de la versión de FreeBSD que vaya a instalar.
Si la máquina en la que va a instalar FreeBSD contiene datos que desea conservar por algún motivo asegúrese de haber hecho una copia de seguridad de los mismos y de que esa copia es de fiar antes de instalar FreeBSD. El sistema de instalación de FreeBSD le mostrará una advertencia antes de modificar datos en su disco pero una vez que el proceso ha comenzado no hay manera de dar marcha atrás.
Si quiere que FreeBSD use todo su disco duro puede saltar tranquilamente a la siguiente sección.
Si por el contrario necesita que FreeBSD coexista con otros sistemas operativos tendrá que comprender cómo se almacenan los datos en el disco duro y cómo le afecta esto.
Un disco de PC puede dividirse en varias partes. Estas partes
reciben el nombre de partitions. Dado
que FreeBSD internamente también tiene particiones la
nomenclatura puede ser confusa muy rápidamente, así
que estas partes del disco reciben el nombre de «disk
slices» o sencillamente «slices»
(«rebanadas de disco»y «rebanadas»
respectivamente). Por ejemplo, la versión de
fdisk que usará FreeBSD con las particiones
de disco de PC usa la palabra «slices» en lugar de
«partitions». Debido a limitaciones de diseño
la plataforma PC sólo admite cuatro particiones por disco. Dichas
particiones reciben el nombre de particiones
primarias. Esta limitación puede sortearse
(y de ese modo disponer de más de cuatro particiones)
gracias a que se creó un nuevo tipo de partición,
las particiones extendidas. Un disco puede
contener una única partición extendida. Dentro de ella
pueden crearse particiones especiales, que reciben el nombre de
particiones lógicas.
Cada partición tiene un identificador de
partición (o partition ID),
que es un número que se usa para identificar el tipo de datos que
alberga la partición. Las particiones FreeBSD tienen como
identificador de partición 165.
Normalmente cada sistema operativo que vaya a utilizar
identificará las particiones de un modo propio. Por ejemplo
DOS (y sus descendientes, como Windows®) asignan a cada
partición primaria y lógica una
letra de unidad a partir de
C:.
FreeBSD debe instalarse en una partición primaria. FreeBSD puede albergar todos los datos que necesita, incluyendo cualquier fichero que pueda usted crear, en esta partición. Si tiene usted varios discos duros puede crear particiones para que FreeBSD las use en todos ellos o en algunos nada más. Al instalar FreeBSD debe usar al menos una partición. Puede usar una partición vacía que haya preparado o puede usar también una partición que contenga datos que no desea conservar.
Si está usando todas las particiones de todos sus discos
tendrá que dejar libre una de ellas para FreeBSD usando las
herramientas del otro sistema operativo que esté usando
(por ejemplo fdisk en DOS o en
Windows®).
Si tiene una partición sobrante puede usarla, pero puede verse en la necesidad de reducir una o más de las particiones que está usando.
Una instalación mínima de FreeBSD cabrí en sólo 100 MB de disco pero tenga en cuenta que apenas quedaría espacio para los ficheros que quiera crear. Un mínimo más realista sería de 250 MB si no pretende usar entorno gráfico y 350 MB o más si quiere usar un interfaz gráfico de usuario. Si quiere instalar gran cantidad de software para usarlo en FreeBSD sin duda necesitará más espacio.
Para ello puede usar herramientas comerciales como
PartitionMagic® o libres como
GParted para redimensionar sus
particiones y hacer sitio para FreeBSD. El directorio
tools directory del CDROM de instalación
contiene dos herramientas libres con las que puede hacer hacer
esta redimensión:
FIPS y
PResizer. En el mismo directorio
encontrará documentación de ambas.
FIPS,
PResizer y
PartitionMagic® pueden redimensionar
particiones FAT16 y FAT32,
que pueden encontrarse desde MS-DOS® hasta Windows® ME. Tanto
PartitionMagic® como
GParted funcionan también en
particiones NTFS. GParted
forma parte de diversas distribuciones de «Live CD» de Linux,
como SystemRescueCD.
Hay informes de problemas redimensionando particiones de Microsoft® Vista. Le recomendamos tener a mano un disco de instalación de Vista cuando intente hacer esto. Lo dicho para cualquier otra tarea de mantenimiento de discos es válido aquí: tenga una copia de seguridad fiable y reciente a mano.
El uso incorrecto de estas herramientas puede borrar datos de su disco duro. Recuerde, asegúrese de disponer de copias de seguridad recientes y utilizables antes de usarlas.
Supongamos que tiene una máquina con un sólo
disco de 4 GB que ya tiene una versión de Windows®
instalada y que ese disco está dividido en dos unidades,
C: y D:, cada
una de las cuales tiene un tamaño de 2 GB. Tiene
1 GB de datos en C: y 0.5 GB de
datos en D:.
Esto significa que su disco duro tiene dos particiones, una
por cada letra de unidad. Copie todos sus datos de
D: en C:; de
este modo vaciará la segunda partició y podrá
usarla con FreeBSD.
Suponga que tiene una máquina con un sólo disco
de 4 GB que contiene una versión de Windows® instalada.
Cuando instaló Windows® creó una gran
partición, lo que le dió como resultado una unidad
C: de 4 GB. Está usando
1.5 GB de espacio y quiere que FreeBSD tenga 2 GB de
espacio.
Para poder instalar FreeBSD tendrá que realizar una de las siguientes tareas:
Haga una copia de sus datos de Windows® y después reinstale Windows®, eligiendo una partición de 2 GB en el momento de la instalación.
Utilice alguna herramienta del estilo de PartitionMagic® que se han descrito antes para reducir el tamaño de su partición de Windows®.
Tendrá que dedicar un disco de su sistema para usar FreeBSD puesto que de momento es imposible compartir un disco con otro sistema operativo. Dependiendo de la la máquina Alpha que tenga el disco podrá ser SCSI o IDE en la medida en que sea posible arrancar desde tales discos.
Siguiendo las normas de los manuales de Digital / Compaq todos los datos suministrados a SRM se muestran en mayúsculas. SRM no distingue entre mayúsculas y minúsculas.
Use SHOW DEVICE en la consola de SRM
para saber qué tipo de discos hay en su sistema:
SHOW DEVICE
dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476
dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658
dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015
dva0.0.0.0.1 DVA0
ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01
pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27
pqa0.0.0.4.0 PQA0 PCI EIDE
pqb0.0.1.4.0 PQB0 PCI EIDEEste ejemplo es de una Digital Personal Workstation
433au y muestra tres discos instalados en el sistema.
El primer disco es una unidad CDROM llamada
DKA0 y los otros dos reciben los nombres
de DKC0 y DKC100
respectivamente.
Los discos con nombres tipo DKx
son discos SCSI. Por ejemplo DKA100
se refiere a un disco SCSI con el «target ID 1» en
el primer bus SCSI (A), mientras que DKC300
es un disco SCSI con un ID 3 en el tercer bus SCSI (C).
Los nombres de dispositivo PKx son para
adaptadores de bus SCSI. Como hemos visto en la salida de
SHOW DEVICE las unidades CDROM SCSI son
consideradas iguales a otros discos duros SCSI.
Los discos IDE tienen nombres similares a
DQx, mientras que PQx es la
controladora IDE asociada.
Si pretende conectarse a alguna red durante la instalación de FreeBSD (por ejemplo si pretende hacerlo desde un sitio FTP o mediante un servidor NFS) tendrá que conocer la configuración de su red. Durante la instalación se le pedirán esos datos para que FreeBSD pueda conectarse a la red y realizar la instalación.
Necesitará la siguiente información si va a conectarse a una red Ethernet o si tiene una conexión a Internet a través de una adaptador Ethernet via cable o DSL:
Dirección IP
Dirección IP de la pasarela («gateway», «puerta de enlace»)
Nombre del sistema («hostname»)
Dirección IP del servidor DNS
Máscara de subred
Si no conoce estos datos póngase en contacto con su administrador de sistemas o con su proveedor de servicios. Es que le digan que tal información se asigna automáticamente mediante DHCP. Si es así, anótelo.
Si usted se conecta con su ISP mediante un módem tradicional sigue pudiendo instalar FreeBSD a través de Internet; el problema es que tardará mucho más que por otros medios.
Necesitará saber:
El número de teléfono de su ISP a través del que accederá a Internet
El COM: el puerto al que está conectado su módem
Su nombre de usuario y su contraseña de acceso a Internet
A pesar de que el proyecto FreeBSD hace todo lo humanamente posible para asegurarse de que cada «release» de FreeBSD es todo lo estable posible a veces algún error logra entrar en escena. En contadísimas ocasiones esos errores llegan a afectar al proceso de instalación. Cuando esos errores son ubicados y corregidos aparecen en lo que llamamos la FreeBSD Errata, que encontrará en el sitio web de FreeBSD. Debería consultar este texto antes de la instalación para asegurarse de que no hay problemas de última hora de los que deba preocuparse.
Tiene información sobre las «releases», incluyendo la «errata» de cada una de ellas, en la sección de información de «releases» del sitio web de FreeBSD.
El proceso de instalación de FreeBSD permite instalar FreeBSD desde ficheros ubicados en cualquiera de los siguientes sitios:
Un CDROM o DVD
Una partición DOS en la propia computadora
Una cinta SCSI o QIC
Discos floppy
Un sitio FTP, saliendo a través de un cortafuegos o usando un proxy HTTP si fuera necesario
Un servidor NFS
Una conexión serie o a través de una cable paralelo
Si ha adquirido FreeBSD en CD o DVD ya tiene todo lo que necesitará, puede pasar a la siguiente sección: (Sección 2.3.7, “Preparación del medio de arranque”).
Si no dispone de los ficheros de instalación de FreeBSD debería consultar la Sección 2.13, “Cómo preparar su propio medio de instalación”, donde se explica cómo preparar la instalación de FreeBSD desde cualquiera de los medios listados anteriormente. Tras leer esa sección puede volver aquí y leer la Sección 2.3.7, “Preparación del medio de arranque”.
El proceso de instalación de FreeBSD comienza por arrancar su sistema mediante el instalador de FreeBSD: no es un programa que pueda ejecutar desde otro sistema operativo. Su sistema suele arrancar usando el sistema operativo que está instalado en su disco duro pero puede también ser configurado para que lo haga desde un floppy «arrancable». Las computadoras más modernas pueden también arrancar desde un CDROM introducido en la unidad CDROM.
Si tiene FreeBSD en CDROM o DVD (por haberlo comprado o haberlo preparado por usted) y su sistema puede arracar desde CDROM o DVD (suele ser una opción de BIOS llamada «Boot Order» o algo similar) puede saltarse esta sección. Las imágenes de CDROM o DVD de FreeBSD permiten arrancar desde ellas y pueden emplearse para instalar FreeBSD sin ninguna preparación especial.
Siga estos pasos para crear las imágenes que le permitirán arrancar desde floppy:
Consiga las imágenes de arranque desde floppy
Los discos de arranque se encuentran en el directorio
floppies/ del medio de instalación
o pueden descargarse desde el directorio correspondiente de
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/.
Reemplace <arch>/<version>-RELEASE/floppies/<arch> y
<version> con la
arquitectura y la versión de FreeBSD que quiera instalar.
Por ejemplo, las imágenes de arranque desde floppy para
FreeBSD 9.1-RELEASE para i386™ están en
from ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/9.1-RELEASE/floppies/.
Las imágenes de floppy tienen la extensión
.flp. El directorio
floppies/ contiene diferentes imágenes
y las que usted necesitará dependerán de la
versión de FreeBSD que vaya a instalar y, en algunos casos,
del hardware en el que lo va a instalar. En la mayoría de
de los casos solamente usará dos ficheros:
kern.flp y
mfsroot.flp. La instalación en
algunos sistemas concretos requerirá controladores de
dispositivo adicionales, que se encuentran en la imagen
drivers.flp. Consulte
README.TXT en el propio directorio,
ahí encontrará la información más
reciente sobre las imágenes.
Su programa de FTP debe usar modo binario para descargar las imágenes. Algunos navegadores web suelen usar el modo texto ( o ASCII). He aquí lo primero a comprobar si no puede arrancar desde los disquetes que ha creado.
Preparación de los discos floppy
Tendrá que preperar un disquete por cada imagen que descargue. Es imprescindible que esos discos carezcan de errores. La forma más sencilla de asegurarlo es formatearlos usted. No confíe en disquetes preformateados. La herramienta de formateo de Windows® no le advertirá del hallazgo de bloques defectuosos, si encuentra alguno sencillamente lo marcará como «defectuoso» y lo ignorará. Le recomendamos que use disquetes nuevos si decide usar este procedimiento de instalación.
Si instenta instalar FreeBSD y el programa de instalación falla, se queda congelado o sucede alguna otra catástrofe uno de las primeras cosas de las que sospechar son los disquetes. Vuelque los ficheros de imagen en discos nuevos e inténtelo de nuevo.
Escriba los ficheros de imagen en discos floppy (« disquetes»)
Los ficheros .flp
no son ficheros normales que puedan copiarse
a disco. Son imágenes del contenido completo de los
discos. Esto significa que no puede
simplemente copiar esos ficheros de un disco a otro. Debe
usar herramientas especializadas para escribir esas
imágenes directamente al disco correspondiente.
Si va a crear los disquetes de arranque en un sistema en
el que se está ejecutando MS-DOS®/Windows® utilice
la herramienta fdimage.
Si las imágenes están en el CDROM y su
CDROM es la unidad E: ejecute lo
siguiente:
E:\> tools\fdimage floppies\kern.flp A:Repita el proceso con cada fichero .flp
reemplazando cada vez el disco y recuerde etiquetarlos
con el nombre del fichero que ha copiado en cada uno. Modifique
la línea del comando donde sea necesario, adaptándola
al lugar donde tenga usted los ficheros .flp.
Puede descargar fdimage desde el directorio tools
del sitio FTP de FreeBSD.
Si va a crear los disquetes en un sistema UNIX® (por ejemplo otro sistema FreeBSD) puede utilizar dd(1) para volcar las imágenes a los discos. En FreeBSD puede ejecutar algo como:
# dd if=kern.flp of=/dev/fd0En FreeBSD /dev/fd0 es la primera
unidad de disquetes (la unidad
A:). /dev/fd1
sería la unidad B: y así
sucesivamente. Otras versiones de UNIX® pueden asignar
nombres diferentes a las unidades de disquetes; consulte la
documentación de su sistema.
Ya podemos instalar instalar FreeBSD.
La instalación no efectúa ningún cambio en su disco o discos duros hasta la aparición del siguiente mensaje:
Last Chance: Are you SURE you want continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents!
Es decir:
Última oportunidad: ?Seguro que quiere seguir adelante con la instalación? ¡Si está ejecutando este programa en un disco que contenga datos que quiera conservar LE RECOMENDAMOS ENCARECIDAMENTE QUE HAGA COPIAS DE SEGURIDAD FIABLES antes de proseguir! ¡No podemos responsabilizarnos de datos perdidos!
El proceso de instalación puede abandonarse en cualquier momento antes de la advertencia final sin efectuar cambios en el contenido del disco duro. Si advierte que ha configurado algo de forma incorrecta basta con que apague su sistema y no estropeará nada.
Comience con su sistema apagado.
Arranque el sistema. Durante el arranque deberí mostrarse la opción para entrar en la BIOS, normalmente mediante las teclas F2, F10, Del, o Alt+S. Utilice la tecla o combinación de las mismas que se le indique en pantalla. En algunos casos el sistema puede mostrar un gráfico durante el arranque. Pulsar Esc suele disminuir en esos casos el tamaño del gráfico y le permitirá ver los mensajes del arranque.
Encuentre el parámetro que controla desde qué
dispositivos arranca el sistema. Normalmente se llama
«Boot Order» y suele presentarse como una lista
de dispositivos, como Floppy,
CDROM, First Hard Disk,
etc.
Si necesita disquetes de arranque asegúrese de que selecciona la unidad correspondiente. Si va a arrancar desde CDROM, seleccione la unidad CDROM. En caso de duda consulte el manual que venía con su computadora y/o el de su placa base.
Haga los cambios necesarios, guarde los cambios y salga. El sistema debería reiniciarse.
Si ha elegido arrancar desde disquete, tal y como se describe
en Sección 2.3.7, “Preparación del medio de arranque”, uno de ellos será
el primer disco de arranque, probablemente el que contiene
kern.flp. Introduzca ese disco en su
unidad de disquetes.
Si va a arrancar desde CDROM tendrá que arrancar el sistema e introducir el CDROM en cuanto tenga ocasión.
Si su sistema arranca normalmente y carga el sistema operativo que ya está instalado puede ocurrir alguna de estas cosas:
Los discos no se introdujeron lo suficientemente pronto en el proceso de arranque. Déjelos insertados y reinicie su sistema.
Los cambios que hizo en la BIOS no han funcionado. Debería repetir los pasos previos hasta que dé con la opción correcta.
Su BIOS en concreto no admite el arranque el arranque desde el medio que ha elegido.
FreeBSD comenzará a arrancar. Si está arrancando desde CDROM debería ver algo parecido a esto (se ha omitido la información de número de versión):
Si arranca desde floppy verá algo parecido a esto (se ha omitido la información de número de versión):
Siga las instrucciones y extraiga el disco
kern.flp disc, inserte el disco
mfsroot.flp y pulse
Intro.
Tanto si arranca desde disquete como CDROM el proceso de arranque llegará a este punto:
Dicho y hecho: espere diez segundos o pulse Enter. Esto lanzará el menú de configuración del kernel.
Comience con su sistema apagado.
Encienda su computadora y espera un mensaje de arranque en el monitor.
Si va a arrancar desde disquetes, tal y como se describe en la
Sección 2.3.7, “Preparación del medio de arranque”, uno de ellos será el
primer disco de arranque, probablemente el que contiene
kern.flp. Ponga este disco en la unidad de
disquetes y escriba el siguiente comando para lanzar el arranque
desde el disco (corrija el nombre de su unidad de disquetes si
fuera necesario):
BOOT DVA0 -FLAGS '' -FILE ''Si va a arrancar desde CDROM introduzca el CDROM en la unidad y escriba el siguiente comando para iniciar la instalación (corrija el nombre de la unidad correcta de CDROM si fuera necesario):
BOOT DKA0 -FLAGS '' -FILE ''FreeBSD comenzará a arrancar. Si está arrancando desde disquete llegado un cierto punto verá usted este mensaje:
Siga las instrucciones del programa de instalación y
retire el disco kern.flp, inserte el
disco mfsroot.flpy pulse
Intro.
Tanto si arrancó desde disquete como desde CDROM el proceso de arranque llegará a este punto:
Dicho y hecho: Espere diez segundos o pulse Enter. Esto iniciará el menú de configuración del kernel.
La mayoría de sistemas Sparc64® están configurados para arrancar automáticamente desde disco. Si quiere instalar FreeBSD tendrá que arrancar por red o desde un CDROM, lo que requiere que acceda a la PROM (OpenFirmware).
Reinicie el sistema y espere hasta que aparezca el mensaje de arranque. Depende del modelo, pero debería parecerse a este:
Si en este punto su sistema arranca desde el disco
pulse
L1+A
o
Stop+A,
o envíe unBREAK desde la consola serie
serial console (usando, por ejemplo, ~# en
tip(1) o cu(1)) para así recuperar el prompt de
PROM. Tiene este aspecto:
Este es el prompt que verá en sistemas con una sola CPU. | |
Este prompt se usa en sistemas SMP; el dígito indica el número de la CPU activa. |
Ponga el CDROM dentro de la unidad y teclée
boot cdrom en el prompt
de la PROM.
Es posible revisar los últimos cientos de líneas que se han mostrado en pantalla, pues se almacenan en un búfer con ese propósito.
Pulse Bloq Despl (Scroll Lock) y ya puede revisar el búfer. Para moverse use las flechas o RePág y AvPág (PageUp y PageDown respectivamente). Pulse de nuevo Bloq Despl (Scroll Lock) cuando quiera salir del búfer.
Pruébelo, revise el texto que ha generado el kernel al probar los dispositivos del sistema. Verá un texto muy similar al de la Figura 2.1, “Ejemplo de resultado de prueba de dispositivos”, aunque en su caso concreto se mostrarán los dispositivos que tenga su sistema.
Compruebe cuidadosamente que FreeBSD haya encontrado todos los
dispositivos que debe encontrar. Si no se lista algún
dispositivo significa que FreeBSD no lo ha encontrado. Un kernel personalizado le permitirá
agregar al sistema el soporte de dispositivos que no aparecen en el
kernelGENERIC, que suele ser el caso de algunas
tarjetas de sonido.
En FreeBSD 6.2 y versiones siguientes verá tras la prueba de dispositivos verá lo que muestra la Figura 2.2, “Menú de selección de país”. Utilice las flechas del teclado para elegir país, región o grupo. Cuando acabe pulse Intro, con lo que habrá elegido país y esquema de teclado. En cualquier momento puede salir de easily. It is also easy to exit the sysinstall y volver a empezar.
Para salir de sysinstall utilice las flechas del teclado para seleccionar en el menú de la pantalla principal de instalación. Aparecerá el siguiente mensaje:
Si pulsa y no retira el CDROM durante el reinicio el programa de instalación comenzará de nuevo.
Si está arrancando desde disquetes tendrá que
retirar el floppy
boot.flp antes de reiniciar.
sysinstall es la aplicación que el Proyecto FreeBSD creó para la instalación del sistema. Está orientada a consola y consta de diversos menús y pantallas que podrá usar para configurar y ejecutar el proceso de instalación.
El sistema de menús de sysinstall se controla mediante las flechas del teclado, Intro,el tabulador), Espacio y otras teclas. Tiene una descripción detallada de todas esas teclas y qué es lo que hacen en la información de uso de sysinstall.
Si quiere consultarla seleccione y asegúrese de que el botón esté seleccionado (como se ven en la Figura 2.4, “Selección de «Usage» en el menú principal de sysinstall”) y pulse Intro.
Aparecerán las instrucciones de uso del sistema de menús. Una vez revisadas pulse Enter y volverá al menú principal.
Una vez en el menú principal seleccione con las flechas del teclado y pulse Enter.
Esto mostrará el menú de documentación.
Es muy importante qeu lea la documentación de sysinstall.
Si quiere consultar un documento seleccionelo con las flechas y pulse Intro. Cuando acabe pulse de nuevo Intro y volverá al menú de documentación.
Si desea regresar al menú principal de la instalación seleccione con las flechas y pulse Intro.
Si quiere cambiar el esquema de teclado seleccione el que y pulse Enter. Tendrá que hacer esto si su teclado no es el estándar en los EEUU.
La selección de un esquema de teclado se hace del siguiente modo: seleccione uno de la lista mediante las flechas arriba/abajo y pulse Espacio. Si pulsa Espacio otra vez anulará la selección. Una vez que tenga clara su elección use las flechas para seleccionar y pulse Intro.
En esta pantalla solamente se muestra una parte de la lista. Seleccione usando el tabulador si ha decido seguir usando el esquema de teclado por omisión y regresar al menú principal de instalación.
Seleccione y pulse Intro.
Los valores por omisión deberían bastar para la mayoría de usuarios. El número de «release» variará según sea la versión que se está instalando.
La descripción del elemento seleccionado aparecerá resaltada en azul en la parte baja de la pantalla. Observe que una de las opciones es , que devuelve todos los valores a los asignados por omisión al principio del proceso de instalación.
Si pulsa F1 podrá leer la pantalla de ayuda de las diversas opciones.
Si pulsa Q volverá al menú principal de la instalación.
La instalación estándar () es la opción más adecuada para aquellas personas con poca o ninguna experiencia con UNIX® o FreeBSD. Utilice las flechas para seleccionar y pulse Intro; a partir de ahí comenzará la instalación.
Lo primero que tiene que hacer es asignar espacio en disco a FreeBSD para que sysinstall lo pueda dejar listo para su uso. Para ello debe saber cómo espera FreeBSD encontrar la información en el disco.
Antes de instalar y configurar FreeBSD en su sistema hay una cosa más de la que ocuparse, especialmente si tiene más de un disco duro.
La BIOS es capz de abstraer el orden normal de los discos si hablamos de un PC en el que se está ejecutando un sistema operativo "BIOS-dependiente" como MS-DOS® o Microsoft® Windows®, que admiten esos cambios sin problemas. Tal cosa permite al usuario arrancar desde un disco duro distinto del llamado «maestro principal». Esto viene muy bien a los usuarios que tienen el «backup» del sistema más barato que existe, comprar un disco duro idéntico al primero y copiar periódicamente la primera unidad en la segunda mediante Ghost® o XCOPY. De este modo si la primera unidad falla, sufre el ataque de un virus o sufre las consecuencias de un fallo del sistema operativo sólo hay que decirle a la BIOS que interpole lógicamente las unidades. Es como intercambiar las conexiones de los discos sin tener que abrir la caja del sistema.
en sistemas más caros a veces pueden encontrarse controladoras SCSI que incorporan extensiones BIOS, que permiten organizar hasta siete unidades SCSI de un modo muy similar.
Cualquiera que esté acostumbrado a usar las técnicas descritas se llevará una sorpresa al intentar usarlas en FreeBSD. FreeBSD no usa la BIOS y no tiene en cuenta en absoluto la «notación de unidades lógicas desde el punto de vista de la BIOS». Esto puede dar lugar a situaciones bastante chocantes, especialmente cuando las unidades son físicamente idénticas en geometría y han sido creadas como clones de datos la una de la otra.
Si va a usar FreeBSD recuerde siempre devolver a la BIOS a los valores de numeración «natural» antes de la instalación y dejarlos así. Si tiene que intercambiar unidades hágalo, pero a la vieja usanza: abra la caja, toque los «jumpers» y los cables todo lo que sea menester.
Aún no ha hecho modificaciones en su disco duro. Si cree que ha cometido algún error y quiere comenzar de nuevo puede hacerlo, salga de los menús de sysinstall e inténtelo de nuevo o pulse U para ejecutar la opción (deshacer). Si se pierde o no sabe cómo salir siempre puede apagar su sistema.
Si ha elegido iniciar una instalación estándar sysinstall le mostrará el siguiente mensaje:
Es decir:
Pulse Intro tal y como se le dice. Se le
mostrará una lista con todas las unidades de disco duro que el
kernel ha econtrado al hacer el chequeo del sistema.
La Figura 2.12, “Elija en qué unidad usar FDisk” muestra un ejemplo de
un sistema con dos discos IDE. Reciben los nombres de
ad0 y ad2.
Quizás esté preguntandose por qué
ad1 no aparece por ningún lado.
?Acaso hemos pasado algo por alto?
Veamos qué ocurriría si tuviera usted dos discos
duros IDE, uno como maestro de la primera controladora IDE y el otro
como maestro en la segunda controladora IDE. Si FreeBSD asignara
números de unidad en el orden en el que las encuentra en el
ejemplo habríamos visto
ad0 y
ad1 y todo funcionaría sin
mayor problema.
Pero si tuviera usted que añadir un tercer disco, digamos
como esclavo de la primera controladora IDE, tendría que
llamarse ad1 y el disco que antes era
ad1 pasaría a llamarse
ad2. Los nombres de dispositivo (como
por ejemplo ad1s1a) se usan para ubicar
sistemas de ficheros, así que podría encontrarse con
que alguno de sus sistemas de ficheros no está donde debiera
y tendría que modificar la configuración de su
FreeBSD.
Para evitar este problema el kernel puede configurarse para
asignar nombres a discos IDE basándose en dónde
están en lugar de hacerlo por el orden en el que los
encuentra. Según dicho esquema el disco maestro de la segunda
contoladora IDE siempre será
ad2, incluso si no existen dispositivos
ad0 o
ad1.
Ésta es la configuración por omisión que
incorpora el kernel de FreeBSD, por lo que muestra las unidades
ad0 y
ad2. La máquina en la que se tomaron
las capturas de pantalla tiene sendos discos IDE en ambos canales
maestros de las dos controladoras y carece de discos en los
canales esclavos.
Seleccione el disco en el que desea instalar FreeBSD y pulse . FDisk arrancará y le mostrará una pantalla similar a la que muestra la Figura 2.13, “Un ejemplo de particionamiento típico con FDisk”.
La pantalla de FDisk se divide en tres partes.
La primera parte, que ocupa las dos primeras líneas de la pantalla, muestra los detalles del disco que seleccionemos, el nombre que FreeBSD le da, la geometría del disco y el tamaño total del disco.
La segunda parte muestra las «slices» que haya
en el disco, dónde comienzan y acaban, cu´l es su
tamaño, qué nombre les da FreeBSD, su descripción
y subtipo. Este ejemplo muestra dos pequeñas
«slices» sin usar; las «slices» (del
inglés «rebanadas») son un tipo de esquema
estructural de los discos de PC. También muestra una gran
«slice» FAT, que casi con total
seguridad aparecerá como C: en
MS-DOS® / Windows®, y una «slice» extendida, que
podría contener otras letras de unidad de
MS-DOS® / Windows®.
La tercera parte muestra las órdenes que pueden usarse en FDisk.
Lo que deba hacer a partir de ahora dependerá mucho de la forma en la que quiera distribuir su disco.
Si desea usar FreeBSD en el resto del disco (lo que implica borrar
todos los datos que pudiera haber en el disco una vez que le
confirme a sysinstall que desea seguir
adelante con la instalación) pulse A, que
equivale a la opción
(Utilizar el disco íntegro). Las «slices» que
existieran se borrarán y serán reemplazadas por un pequeño
área de disco marcado como sin usar (otro
recurso de la estructura de disco de los PC) y tras él una gran
«slice» destinada a FreeBSD. Ahora marque la
partición FreeBSD que acaba de crear como arrancable: pulse
S. La pantalla que verá ha de ser muy
similar a la Figura 2.14, “Partición con FDisk usando el disco completo”. Observe la
A en la columna Flags: indica
que la «slice» es activa y se
arrancará desde ella.
Si desea borrar una «slice» para hacer más sitio a FreeBSD selecciónela mediante las flechas y pulse D. Después pulse C y verá un mensaje en el que se le pedirá el tamaño de la «slice» que va a crear. Introduzca los datos apropiados y pulse Intro. El valor por defecto en ésta pantalla es el de la «slice» más grande que pueda crear en el disco, que debería ser la mayor parte del disco que queda sin usar o el tamaño del disco duro completo.
Si ha hecho sitio para FreeBSD (quizás con una herramienta como PartitionMagic®) puede pulsar press C y crear una nueva «slice». Verá de nuevo un mensaje en el que se le pedirá que escriba el tamaño de la «slice» que va a crear.
Cuando acabe pulse Q. Sus cambios se guardarán en sysinstall, pero de momento no se guardarán en disco.
Ha llegado el momento de instalar un gestor de arranque. Elija el gestor de arranque de FreeBSD si:
Tiene más de un disco y ha instalado FreeBSD en cualquiera que no sea el primero.
Ha instalado FreeBSD codo con codo con otro sistema operativo y quiere poder elegir si arrancar FreeBSD o ese otro sistema operativo cuando arranque su sistema.
Si FreeBSD va a ser el único sistema operativo en el sistema y va a instalarlo en el primer disco duro elija el gestor estándar (que, obviamente, está en la opción ). Elija (ninguno) si va a usar algún otro gestor de arranque que sea capaz de arrancar FreeBSD.
Elija y pulse Intro.
La pantalla de ayuda, que puede consultar en cualquier momento pulsando F1, puede serle de mucha ayuda con los problemas que puede encontrarse al intentar compartir un disco duro entre varios sistemas operativos.
Si hay más de una unidad de disco el programa de instalación volverá a la pantalla «Select Drives» («selección de unidades») una vez elegido el gestor de arranque. Si quiere instalar FreeBSD en más de un disco seleccione aquí ese otro disco y repita el proceso con las «slices» mediante FDisk.
Si va a instalar FreeBSD en una unidad que no sea la primera tendrá que instalar el gestor de arranque de FreeBSD en ambas unidades.
El tabulador se usa para hacer pasar el cursor entre , .
Pulse tabulador para pasar el cursor a y pulse Enter para proseguir con la instalación.
Tendrá que crear particiones dentro de las
«slices» que haya creado. Recuerde que cada
partición está asociada a una letra entre la
a y la hy que las particiones
b, c y
d tienen significados heredados que tendrá
que respetar.
Ciertas aplicaciones pueden optimizar su rendimiento de un esquema de particiones concreto, sobre todo si hace particiones repartidas en más de un disco. Si embargo si esta es su primera instalación de FreeBSD no necesita dedicarle demasiado tiempo a decidir cómo partir el disco duro. Es mucho más importante que instale FreeBSD y empiece a aprender a usarlo. Siempre estáa tiempo de reinstalar FreeBSD y cambiar su esquema de particiones cuando esté más familiarizado con el sistema operativo.
El siguiente esquema consta de cuatro particiones: una para la swap y tres para los sistemas de ficheros.
| Partición | Sistema de ficheros | Tamaño | Descripción |
|---|---|---|---|
a | / | 512 MB | Este es el sistema de ficheros raíz. el resto
de sistemas de ficheros se montarán en algún
punto de este sistema raíz. 100 MB es un
tamaño razonable para él. No es el mejor sitio
para almacenar muchos datos y la instalación de FreeBSD
escribirá cerca de 40 MB de datos en ella.
El resto del espacio es para datos temporales y por si futuras
versiones de FreeBSD necesitan más espacio en
/. |
b | N/A | 2-3 x RAM | Esta partición es el espacio de memoria de intercambio (o «swap») del sistema. La elección de la cantidad correcta de swap es casi un arte en sí mismo. Hay una regla básica que es asignar a la swap el doble o el triple de MB de los que haya en la memoria física (RAM) del sistema. Debería tener al menos 64 MB de swap así que si tiene menos de 32 MB de RAM asígnele a su swap 64 MB. Si tiene más de un disco puede poner espacio swap en cada disco. FreeBSD usará ambas swap con el resultado de acelerar notablemente el intercambio de páginas de memoria. Calcule el total de swap que necesita (por ejemplo 128 MB) y divida esa cantidad por el número de discos que tenga (por ejemplo dos) y ya tiene la cantidad de espacio que debe destinar a swap en cada uno de sus discos. En nuestro ejemplo 64 MB de swap por disco. |
e | /var | 256 MB to 1024 MB | El directorio /var contiene
ficheros que están en continuo cambio, como
«logs» y otros ficheros
administrativos. Muchos de esos ficheros son una
consecuencia o son de gran ayuda para el correcto
funcionamiento diario de FreeBSD. FreeBSD ubica dichos ficheros
en ese sistema de ficheros para optimizar el acceso a
los mismos sin afectar a otros ficheros ni directorios que
tienen similar patrón de accesos. |
f | /usr | Resto del disco(al menos 2 GB) | El resto de sus ficheros pueden almacenarse en
/usr y sus subdirectorios. |
Los valores que se han mostrado son simples ejemplos y
se recomienda su uso exclusivamente a usuarios experimentados.
Recomendamos a los usuarios que utilicen la opción
Auto Defaults, que elegirá unas
proporciones adecuadas para el espacio que encuentre
disponible.
Si va a instalar FreeBSD en más de un disco puede crear particiones el las demás «slices» que haya creado. La forma más fácil de hacerlo es creando dos particiones en cada disco, una para la swap y la otra para los sistemas de ficheros.
| Partición | Sistema de ficheros | Tamaño | Descripción |
|---|---|---|---|
b | N/A | Ver descripción | Tal y como se ha explicado puede repartir su espacio swap
entre varios discos. Aunque piense que la partición
a está libre la costumbre (y se dice que
«las costumbres son leyes» dicta que el espacio
swap reside en la partición
b. |
e | /discon | Resto del disco | El resto del disco puede dejarse en una sola
partición. Esto podría ubicarse simplemente
en la partición a en lugar de en
la e. Sin embargo la costumbre dice que
la partición a de una
«slice» está reservada para el sistema de
ficheros que ha de albergar el sistema de ficheros
raíz (/). No tiene por qué
seguir la costumbre pero tenga en cuenta que
sysinstall sí que lo hace,
así que si la sigue sabe que está haciendo una
instalación más limpia. Puede montar los
sistemas de ficheros donde prefiera; este ejemplo le sugiere
que los monte como directorios
/disco, donde
n es un número que cambia en
cada disco. Por supuesto que puede usar el esquema que
prefiera. |
Una vez que haya elegido el esquema de particiones creelo en sysinstall. Verá este mensaje:
Es decir:
Al pulsar Intro arrancará el editor de particiones de FreeBSD, Disklabel.
La Figura 2.17, “El editor Disklabel” muestra lo que verá cuando arranque Disklabel. La pantalla se divide en tres secciones.
Las primeras líneas muestran el nombre del disco en el
que estamos haciendo cambios y el de la «slice» que
contiene las particiones que estamos creando
(Disklabel las muestra bajo
Partition name
(«nombre de partición») en lugar de hacerlo
como «slices»). Vemos también ahí la
cantidad de espacio libre en la «slice», esto es, el
espacio que hay asignado a la «slice» pero que
aún no ha sido asignado a ninguna partición.
En la mitad de la pantalla se muestran las particiones que se han creado, el nombre de los sistemas de ficheros que contiene cada partición, sus tamaños y algunas opciones relacionadas con la creación de sistemas de ficheros.
La tercera parte de la pantalla, la de más abajo, muestra los atajos de teclado que pueden usarse en Disklabel.
Disklabel puede crear automáticamente particiones y asignarles tamaños por omisión. Estos tamaños se calculan con la ayuda de un algoritmo interno de dimensionamiento de particiones que analiza el tamaño del disco. Puede probarlo pulsando A. Verá una pantalla similar a la que aparece en la Figura 2.18, “Editor Disklabel con valores por omisión”. Dependiendo del tama˜o del disco que esté usando los valores por omisión pueden o no ser los apropiados. Esto no es algo de lo que deba preocuparse dado que no está obligado a aceptar esos valores por omisión.
En el esquema de particiones por omisión el directorio
/tmp tiene su propia partición en lugar
de formar parte de /. Esto ayuda a evitar el
desbordamiento de / con ficheros
temporales.
Si decide no usar los valores por defecto para las particiones y quiere reemplazar tales valores por los suyos use las flechas: elija la primera partición y pulse D para borrarla. Repita el proceso para borrar todas las particiones que desee.
Vamos a crear la primera partición
(a, montada como /
o raíz). Seleccione la «slice» adecuada y
pulse C. Aparecerá un diálogo
pidiéndole que escriba el tamaño de la nueva
partición (como se muestra en la
in Figura 2.19, “Liberar espacio para la partición raíz”). Puede introducir
el tamaño expresado en bloques de disco o como un
número seguido de una M para expresarlo en
megabytes, una G para usar gygabytes o una
C si quiere expresarlo en cilindros.
El tamaño por omisión que se muestra creará una
partición que ocupe el resto de la «slice».
Si va a usar los tamaños de partición que se daban
en el ejemplo anterior borre el texto existente pulsando
Retroceso; escriba 64M, como
se puede ver en la
Figura 2.20, “Edición del tamaño de la partición raíz”. Después pulse
.
Una vez elegido el tamaño de la partición tendrá que elegir si esta partición ha de contener un sistema de ficheros o espacio swap y escribir lo que corresponda en una pantalla como la que se muestra en la Figura 2.21, “Elegir el tipo de partición raíz”. Esta primera partición contendrá un sistema de ficheros, así que seleccionamos y pulsamos Intro.
Para acabar, dado que está creando un sistema de ficheros,
tendrá que decirle a Disklabel
dónde hay que montarlo. La pantalla se muestra en la
Figura 2.22, “Elegir el punto de montaje del sistema de ficheros raíz”. El punto de montaje del sistema
de ficheros raíz es /, así que
tendrá que teclear /y luego pulsar
Intro.
La pantalla le mostrará ahora la partición que
acaba de crear. Repita el procedimiento todas las veces que
necesite con las demás particiones. Cuando cree la
partición swap no se le pedirá el punto de
montaje puesto que las particiones swap nunca se montan como
tales. Cuando cree la última partición
/usr, puede dejar el tamaño que se le
sugiere, esto es, usar el resto del espacio en la
«slice».
La última pantalla del editor Disklabel será muy parecida a la Figura 2.23, “Editor Disklabel”, aunque los valores pueden ser diferentes. Pulse Q para salir del editor.
La elección de qué tipo de instalación debe hacer depende enormemente del uso que se va a dar al sistema y del espacio de disco disponible. El rango de opciones predefinidas está entre hacer la instalación más pequeña posible o instalarlo todo. Las personas con poco o ninguna experiencia en UNIX® o FreeBSD deberán elegir alguna de las opciones predefinidas que se les ofrecen, a las que llamaremos distribuciones (de «distribution set») tal y como aparecen en el menú de sysinstall. Una instalación ·a medida es algo más adecuado para para usuarios con más experiencia.
Si pulsa F1 podrá acceder a más información sobre las opciones de tipo de instalación y qué contiene cada distribución. Cuando acabe de consultar la ayuda pulse Intro y volverá al al menú de selección de instalación de distribuciones.
Si tiene intención de instalar un interfaz gráfico de
usuario tendrá que instalar una de las distribuciones cuyo
nombre comienza por X. La configuración
del servidor X y la selección de un entorno de escritorio son
algunas de las tareas que tendrá una vez instalado FreeBSD. Tiene
más información sobre la configuración de un
servidor X en Capítulo 5, El sistema X Window.
La versión de X11 por omisión en FreeBSD es Xorg.
Si preve compilar un kernel a medida selecciones la opción que incluye el código fuente. Para más información sobre las razones por las que debe compilarse un kernel a medida y sobre cómo compilarlo consulte el Capítulo 8, Configuración del kernel de FreeBSD.
Evidentemente el sistema más versátil es aquél que lo tiene todo. Si dispone de espacio de disco suficiente seleccione , como se muestra en la Figura 2.24, “Elección de distribuciones”, usando las flechas y pulsando Intro. Si el espacio en disco es limitado piense en usar alguna de las otras opciones. No pierda con ello demasiado tiempo puesto que el resto de distribuciones pueden añadirse en cualquier momento tras la intalación.
Tras seleccionar la distribución elegida se le presentará la opción de instalar el árbol de ports, o Colección de Ports, de FreeBSD. Los ports son una forma fácil y cómoda de instalar software. El árbol de ports no contiene el código fuente necesario para compilar software; es una gran colección de ficheros que automatiza la descarga, la compilación y la instalación de paquetes de software de todo tipo. El Capítulo 4, Instalación de aplicaciones: «packages» y ports explica con detalle cómo utilizar los ports.
El programa de instalación no comprueba si tiene espacio suficiente. Seleccione esta opción si dispone de sitio en el disco. En FreeBSD 9.1 los ports ocupan cerca de 500 MB en disco. Puede asumir tranquilamente que en las nuevas versiones del sistema irán ocupando más y más.
Es decir:
Seleccione con las flechas e instale los ports o para obviar la pregunta. Pulse Intro para seguir con la instalación. Volvemos al menú de elección de distribuciones.
Si ya ha elegido todo lo que necesita seleccione con las flechas, asegúrese de que está seleccionado también y pulse Intro.
Si va a instalar FreeBSD desde CDROM o DVD seleccione con las flechas. Una vez está seleccionado pulse Intro y siga adelante con la instalación.
Si quiere usar otro método de instalación seleccione la opción correspondiente y siga las instrucciones.
Pulse F1 si necesita acceder a la ayuda del medio de instalación elegido. Pulse Intro para regresar al menú de selección de medios.
Hay tres tipos de instalación por FTP entre las que puede elegir: FTP activo, FTP pasivo o a través de un proxy HTTP.
Esta opción hará que todas las transferencias FTP usen el modo «Activo». No funcionará a través de cortafuegos pero seguramente funcionará con viejos servidores FTP que no soportan el modo pasivo. Si su conexión se cuelga cuando usa el modo pasivo (el modo por omisión) pruebe el modo activo.
Esta opción configura sysinstall para que use el modo «Pasivo» para todas las operaciones FTP. Esto permite al usuario pasar a través de cortafuegos que no permiten conexiones entrantes a puertos TCP aleatorios.
Esta opción configura sysinstall para que use el protocolo HTTP (como si fuera un navegador web) para conectarse a un proxy en todas las operaciones FTP. El proxy traducirá las peticiones del usuario de forma que pasarán a través de un cortafuegos que no permita ningún tipo de conexiones FTP pero ofrezca un proxy HTTP. Tendrá que configurar los datos del proxy además de los del servidor FTP.
Si quiere usar un servidor proxy FTP tendrá que usar
el nombre del servidor con el que realmente quiere conectar como
nombre de usuario seguido de un signo «@». Veamos un
ejemplo. Quiere usted instalar desde
ftp.FreeBSD.org a través del
servidor proxy FTP
talycual.ejemplo.com, que escucha en el
puerto 1024.
Vaya al menú opciones, ponga
ftp@ftp.FreeBSD.org como nombre de usuario FTP,
y su dirección de correo electrónico como
contraseña. El medio de instalación será FTP
(o FTP pasivo si el proxy lo permite) y la URL
ftp://talycual.ejemplo.com:1234/pub/FreeBSD.
Dado accede al directorio /pub/FreeBSD
de ftp.FreeBSD.org a través
del proxy talycual.ejemplo.com puede usted
instalar desde ésta máquina,
que irá descargando los ficheros que necesite desde
ftp.FreeBSD.org a medida que el
proceso de instalación los vaya requiriendo.
A partir de aquí entramos en la instalación propiamente dicha. Esta es la última oportunidad antes de empezar a escribir datos en el disco duro.
Es decir:
Seleccione y pulse Intro.
La instalación tardará más o menos tiempo según la distribución que haya elegido, el medio de instalación y la velocidad del sistema. Se le irán mostrando mensajes durante el proceso para irle informando de cómo van las cosas.
Cuando acabe la instalación verá un mensaje como este:
Es decir:
Pulse Intro; pasaremos a acometer ciertas tareas posteriores a la instalación.
Si selecciona y pulsa Intro la instalación se detendrá para evitar hacer más modificaciones en su sistema. Verá el el siguiente mensaje.
Es decir:
Este mensaje se ha generado porque no se ha instalado nada. Pulse Intro para volver al menún principal y salir de la instalación.
Para poder terminar una instalación de FreeBSD que merezca
tal nombre debemos responder todavía a unas cuantas preguntas.
Para ello debemos entrar en la
configuración antes de entrar en el nuevo sistema FreeBSD o
una vez en dentro del sistema desde
sysinstall, seleccionando
.
Si ha tenido que configurar PPP para poder instalar desde FTP esta pantalla no aparecerá. Puede modificar la configuración tal y como se ha explicado más arriba.
Si necesita información sobre redes de área local y la configuración de FreeBSD necesaria para que haga de «gateway/router» consulte el Advanced Networking chapter.
Si quiere configurar dispositivos de red seleccione y pulse Intro. Si no quiere seleccione .
Seleccione con las flechas el interfaz de red que desea configurar y pulse Enter.
En la red local del ejemplo el tipo de protocolo de Internet que había (IPv4) parecía más que suficiente, así que se eligió .
Si puede conectar con alguna red IPv6 mediante un servidor RA elija y pulse Intro. La búsqueda de servidores RA se hará en unos instantes.
Si no necesita DHCP seleccione con las flechas y pulse Intro.
Si selecciona ejecutará dhclient y, si ha funcionado, completará los datos de configuración automáticamente. Para más información consulte la Sección 29.10, “DHCP”.
La siguiente ilustración muestra la configuración de un dispositivo Ethernet en un sistema que cumplirá las funciones de «gateway» en una red local.
Use el tabulador para ir pasando de un campo al siguiente una vez que los vaya rellenando:
El nombre de la máquina; por ejemplo,
k6-2.ejemplo.com.
El nombre del dominio al que pertenece la máquina, en
este caso ejemplo.com.
La dirección IP del sistema que reenvia paquetes a destinos fuera de la red local. Debe rellenar este campo si esta función la realiza una máquina que forme parte de la red. Déjelo en blanco si el sistema es el enlace de su red con Internet. El «gateway» recibe también los nombres de puerta de enlace o ruta por omisión.
Dirección IP de su servidor local de DNS. En la red
del ejemplo no hay servidor DNS local así que se ha
introducido la dirección IP del servidor DNS del proveedor
de Internet:
208.163.10.2.
En este interfaz se usará la dirección IP
192.168.0.1
En esta red local se usa un bloque de redes de Clase C
192.168.0.0 -
192.168.0.255. La
máscara de red es, por tanto,
255.255.255.0.
Cualquiera de las opciones que quiera agregar a su interfaz
mediante ifconfig. En nuestro caso no
había ninguna.
Utilice el tabulador para seleccionar cuando haya acabado y pulseIntro.
Seleccione y pulse Enter si quiere conectar inmediatamente su sistema a la red mediante el o los interfaces que acaba de configurar, pero recuerde que aún tendrá que reiniciar la máquina.
Si el sistema hará de enlace de la red local y reenviará paquetes entre otras máquinas elija y pulse Intro. Si la máquina es un nodo de una red elija y pulse Intro.
Si selecciona varios servicios de la máquina, como telnetd y otros, no se activarán. Eso significa que los usuarios remotos no podrán acceder al sistema mediante telnet. Los usuarios locales, en cambio, podrán acceder a sistemas remotos mediante telnet.
Dichos servicios pueden activarse en cualquier momento
editando /etc/inetd.conf con el editor de
texto que prefiera. Para más información
consulte la
Sección 29.14.1, “Resumen”.
Seleccione si desea configurar estos servicios durante la instalación. Se le mostrará el siguiente mensaje:
Select to continue.
Es decir:
Si selecciona podrá añadir servicios
borrando caracteres # al comienzo de las
líneas correspondientes.
Una vez que haya añadido los servicios que quiera en el sistema pulse Esc y verá un menú en el que se le preguntará si quiere guardar los cambios.
Si selecciona activará sshd(8), el dæmon de OpenSSH. De este modo será posible el acceso remoto y seguro al sistema. Para más información sobre OpenSSH visite Sección 14.11, “OpenSSH”.
si acepta la respuesta por omisión () y pulsa Intro tenga en cuenta que los usuarios que tengan cuenta en la máquina podrán seguir accediendo al sistema.
Si decide aceptar conexiones FTP anónimas cualquiera podrá conectarse al sistema. Antes de activar esta opción debería meditar sobre las implicaciones de seguridad de esa decisión. Para más información sobre la seguridad y FreeBSD consulte el Capítulo 14, Seguridad.
Si ha decidido activar el FTP anónimo seleccione con las flechas y pulse Intro. Verá la siguiente pantalla (o una muy similar):
Es decir:
Por omisión el directorio raíz del ftp será
/var. Si no hay sitio suficiente para
lo que prevea que va a necesitar puede usar
/usr; puede poner el Directorio Raíz de
FTP en /usr/ftp.
Cuando haya terminado con la configuración pulse Intro.
Si selecciona y pulsa Intro arrancará automáticamente un editor y podrá crear un mensaje que verá los usuarios de FTP anónimo al conectarse a la máquina.
Vemos en acción un editor de texto llamado ee.
Puede modificar el mensaje ahora mismo o hacerlo en cualquier otro
momento con el editor de texto que prefiera. Observe el fichero y
su ubicación en la parte baja de la pantalla.
Pulse Esc, aparecerá una ventana flotante con la opción por omisión de to (salir del editor). Pulse Intro si quiere salir y seguir con lo que estaba haciendo. Pulse Intro de nuevo para guardar los cambios que hubiera hecho.
NFS («Network File System» (de Network File System, o Sistema de Ficheros en Red) le permitirá compartir ficheros a través de una red. Una máquina puede configurarse como servidor, como cliente o ambos. Para má información consulte la Sección 29.6, “NFS”.
Si no tiene necesidad de usar un servidor NFS seleccione y pulse Intro.
Si ha elegido verá un mensaje emergente
indicando que hay que crear el fichero
exports.
Es decir:
Pulse Intro para seguir adelante. Se
abrirá un editor de texto gracias al cual se podrá
editar y crear el fichero exports.
Puede editar el fichero ahora mismo o más tarde con el editor de texto que prefiera. Observe que el nombre del fichero y su ubicación aparecen en la parte de abajo de de la pantalla.
Pulse Escape; aparecerá un mensaje emergente que por omisión le ofrecerá (es decir, salir del editor). Pulse Intro para salir del editor y seguir adelante.
La consola del sistema tiene diversas opciones que puede usted adaptar a sus gustos o necesidades.
Si quiere ver y modificar las opciones seleccione y pulse Intro.
Una opción que suele elegirse es el uso del salvapantallas. Elija y luego pulse Intro.
Desplácese arriba y abajo con las flechas por la lista de salvapantallas y elija el que prefiera pulsando Intro sobre él. Se le mostrará de nuevo el menú de configuración de la consola.
El intervalo por defecto es de 300 segundos. Si quiere cambiarlo seleccione otra vez. Busque en el menú de opciones del salvapantallas y pulse Intro. Aparecerá un mensaje en pantalla:
Asigne el retardo del salvapantallas a su gusto, seleccione y pulse Intro para volver al menú de configuración de la consola del sistema.
Seleccione y pulse Intro para seguir adelante con la configuración necesaria tras la instalación.
Si su sistema tiene correctamente configurada la zona horaria podrá corregir cualquier automáticamente cualquier cambio horario regional, así como cumplir adecuadamente con otras funciones relacionadas con zonas horarias.
El ejemplo que se muestra en las capturas de pantalla es de una máquina ubicada en la zona horaria del Este de los EEUU.
Seleccione y pulse Intro. Vamos a configurar la zona horaria del sistema.
Seleccione y pulse Intro.
Seleccione o según esté configurado el reloj del sistema y pulse Intro.
Elija la zona adecuada mediante las flechas y pulse Intro.
Elija el país adecuado con las flechas y pulse Intro.
Elija la zona horaria adecuada con las flechas y pulse Intro.
Confirme si la abreviatura de la zona horaria es la correcta. Cuando todo esté correcto pulse Intro y siga adelante.
Si selecciona y pulsa Intro podrá ejecutar software Linux® en FreeBSD. La instalación añadirá los paquetes necesarios para poder tener compatibilidad binaria con Linux®.
Si realiza la instalación por FTP la máquina necesitará conectarse a Internet. A veces los servidores ftp no tienen todas las distribuciones, de forma que si no puede instalar la distribución de compatibilidad con Linux® no se preocupe, puede probar con otro servidor o instalarla más tarde.
Esta opción le permitirá cortar y pegar texto en consola y en otros programas mediante un ratón de tres botones. Consulte moused(8) si usa uno de 2 botones, es posible emular ese tercer botón. En el siguiente ejemplo veremos la configuración de un ratón «no USB» (es decir, PS/2 o de puerto COM):
Seleccione si tiene un ratón que no sea USB o por el contrario seleccione si tiene un ratón USB. Después pulse Intro.
Seleccione usando las flechas y pulse Intro.
En el ejemplo se ha usado un ratón PS/2, así que era correcto. Para cambiar el protocolo use las flechas para moverse por el menú y elegir otra opción. Para salir seleccione y pulse Intro.
Seleccione y pulse Intro.
El sistema de ejemplo tiene un ratóna , de forma que la configuración por omisión basta. Si quiere modificarla utilice las flechas y después pulseIntro.
Por último, utilice las flechas para elegir y pulse Intro; así se activa y prueba el dæmon del ratón.
Mueva el ratón un poco por la pantalla hasta asegurarse de que el cursor responde adecuadamente. Si todo es correcto seleccione y pulse Intro. Si hay algo que no funcione correctamente seleccione e inténtelo con otras opciones de configuración.
Seleccione y pulse Intro para volver a la configuración del sistema.
Los «packages» son binarios precompilados; son una forma muy cómoda de instalar software.
Veamos la instalación de un «package» Este
es un buen momento para instalar «packages» si
así lo desea. De todos modos una vez concluida la instalación
puede entrar cuando quiera a
sysinstall e instalar lo que necesite.
Elija y pulse Intro: verá la pantalla de selección de paquetes:
Los «packages» presentes en el medio de instalación que esté accesible en cada momento son los únicos que se pueden instalar.
Todos los «packages» disponibles en el medio se mostrarán al seleccionar la categoría . Elija una categoría y pulse Intro.
Al seleccionar una categoría aparecerá un menú con los paquetes disponibles existentes en la misma:
Hemos elegido la shell bash. Seleccione tantos «packages» como quiera instalar y pulse Espacio. Se mostrará una breve descripción de cada «package» en la esquina inferior izquierda de la pantalla.
Pulsando el Tabulador desplazará el cursor entre el último «package» que haya seleccionado, y .
Cuando haya seleccionado todos los «packages» que quiera instalar pulse Tabulador una sola vez para que el cursor pase a y pulse Intro, lo que le llevará al menú de selección de «packages».
Las flechas «izquierda» y «derecha» pueden usarse para mover el cursor entre y . Use esto para seleccionar y pulsar Intro para volver al menú de selección de «packages».
Utilice el tabulador y las flechas para seleccionar y pulse Intro. Se le pedirá que confirme que quiere instalar «packages»:
Si selecciona y pulsa Intro comenzará la instalación de «packages». Irán apareciendo mensajes relacionados con los diversos procesos de instalación hasta que se cumplan todos. Esté atento por si aparecieran mensajes de error.
Tras la instalación de «packages» nos quedan unos toques finales a la configuración. Si no ha elegido ningún «package» y quiere regresar al menú de configuración seleccione de todos modos.
Deberí al menos añadir un usuario al sistema
para poder usarlo para acceder al sistema una vez reiniciado sin
tener que recurrir a root. La partición
raíz suele ser pequeña y ejecutar aplicaciones como
root tiene a llenarla rápidamente.
Pero hay un peligro mucho mayor:
Es decir:
Seleccione y pulse Intro para añadir un usuario.
Seleccione con las flechas y y pulseIntro.
A medida que vaya seleccionando los campos ayudándose del Tabulador se le irán mostrando las siguientes descripciones en la parte baja de la pantalla:
El nombre del usuario (obligatorio).
El ID numérico del usuario Déjelo en blanco si quiere el que sistema lo asigne automáticamente.
El grupo al que pertenecerá el usuario. Déjelo en blanco si quiere que el sistema lo asigne automáticamente.
La contraseña del usuario. Rellene este campo con mucho cuidado.
El nombre completo del usuario (o un comentario descriptivo.
Los grupos a los que este usuario pertenece, es decir, de los que hereda sus derechos de acceso.
El directorio «home» del usuario; déjelo en blanco si quiere que el sistema lo asigne automáticamente.
La shell con la que el usuario accederá al
sistema. Déjela en blanco si le sirve
/bin/sh, la shell por
omisión.
En nuestro ejemplo no se eligió
/bin/sh sino
/usr/local/bin/bash, para lo cual hubo que
instalar previamente la shell bash
como «package». No intente usar una shell que no
existe o no podrá acceder al sistema con ese usuario. La
shell más habitual en el mundo BSD es
/bin/tcsh, la «C shell».
El usuario se añadió también al grupo
wheel para que pueda convertirse en
superusuario con privilegios de
root.
Cuando haya terminado pulse y volverá al menú de gestión de grupos y usuarios.
Los grupos también pueden añadirse en este
momento si fuera necesario. También puede hacerse desde
sysinstall una vez culminada la
instalación.
Cuando haya acabado de añadir usuarios seleccione con las flechas y pulse Intro y siga con la instalación.
Es decir:
Pulse Intro y asígnele una
contraseña a root.
Tendrá que escribir la contraseña correctamente dos veces. No hay necesidad de decirle que es importante que recuerde esa contraseña.
La instalación proseguirá una vez que introduzca la contraseña correctamente dos veces.
Si tiene que configurar servicios de
red o cualquier otra cosa, puede hacerlo ahora mismo
o tras terminar la instalación ejecutando
sysinstall.
Seleccione con las flechas y pulse Intro para volver al menú principal de la instalación.
Seleccione con las flechas y pulse Intro. Se le pedirá que confirme que quiere salir de la instalación:
Es decir:
Seleccione y extraiga el disquete si ha arrancado desde floppy. La unidad CDROM está bloqueada hasta que la máquina comience a reiniciarse. La unidad CDROM se desbloquea y (actuando con agilidad felina) puede extraerse el CDROM.
El sistema reiniciará. Esté atento por si aparece algún mensaje de error.
Seleccione y extraiga el disquete si ha arrancado desde floppy. La unidad lectora de CDROM está bloqueada hasta que la máquina comience a reiniciarse. La unidad CDROM se desbloquea y (actuando con agilidad felina) puede extraerse el CDROM.
Si apareciera algún error durante el arranque consulte la Sección 2.10.16, “El arranque de FreeBSD”.
La configuración de servicios de red puede ser una tarea peliaguda para usuarios inexpertos si no tienen demasiados conocimientos en la materia. Todo lo relacionado con las redes (y ahí entra Internet) tiene una importancia crítica en cualquier sistema operativo moderno y FreeBSD no es una excepción. Es por esta razón que le será muy útil saber un poco sobre la conectividad en general de FreeBSD desde el momento mismo de la instalación y los servicios de que puede disponer.
Los servicios de red son programas que aceptan entradas de
datos desde cualquier punto de la red. Se pone mucho empeño
en evitar que estos programas puedan ser «dañinos»
pero por desgracia los programadores no son perfectos y
de tanto en cuanto aparecen errores en los servicios de red
que algunos logran aprovechar para hacer maldades. Es crucial
que solamente active los servicios que sabe que va a necesitar.
Si tiene dudas con alguno lo mejor es que no lo active hasta
que no sea evidente que lo necesita. Puede activarlo cuando
sea necesario ejecutando
later by re-running sysinstall o
utilizando el fichero /etc/rc.conf file.
Si selecciona la opción verá un menú muy parecido a este:
La primera opción, , la hemos visto en la Sección 2.10.1, “Network Device Configuration”, así que podemos ignorarla.
Si selecciona la opción añadirá al sistema la aplicación montaje automático de dispositivos de BSD. Suele usarse junto con el protocolo NFS protocol (ver más adelante) para automatizar el montaje de sistemas de ficheros remotos. No es necesario que configure nada.
La siguiente opción es . Si la selecciona verá un menú emergente que le requerirá parámetros específicos de AMD. El menú dispone ya de un conjunto de opciones por omisión:
La opción -a fija el punto de montaje
por omisión, en este caso
/.amd_mnt. La opción -l
indica el log por omisió, aunque si
usa syslogd todos los datos de log se
enviarán al dæmon de logs del sistema. El directorio
/host se usa para montar
sistemas de ficheros exportados desde una máquina remota, mientras que
el directorio /net se usa
para montar sistemas de ficheros exportados desde una dirección
IP. El fichero
/etc/amd.map define las opciones de exportación
que AMD exporta por omisión.
La opción permite conexiones FTP anónimas. Seleccione esta opción si quiere utilizar la máquina como servidor servidor FTP anónimo. Tenga muy en cuenta los riesgos de seguridad que conlleva esta opción. Se le ofrecerá otro menú en el que se explican en profundidad los riesgos de seguridad y la configuración.
El menú de configuración preparará la máquina para que cumpla las funciones de pasarela, tal y como se ha explicado previamente. Puede utilizarlo también para desactivar la opción si la seleccionón sin querer durante la instalación.
La opción permite desactivar el dæmon inetd(8).
La opción se usa para configurar el MTA (de Mail Transfer Agent, agente de transferencia de correo) del sistema. Si selecciona esta opción llegará al siguiente menú:
Aquí se le pide que elija qué MTA quiere instalar en su sistema. Un MTA no es otra cosa que un servidor de correo que entrega correo electrónico a los usuarios del sistema o los que acceden a través de Internet.
Si selecciona instalará el célebre sendmail, el MTA de FreeBSD por omisión. La opción hará que sendmail sea el MTA del sistema pero desactivará la capacidad de recibir correo entrante desde Internet. Las demás opciones, y son en el fonodo similares a . Ambas aplicaciones gestionan correo aunque hay usuarios que los elegirían como su MTA antes que sendmail.
Tras elegir un MTA (o si ha elegido no usar ninguno) el menú de configuración de red nos muestra la siguiente opción:.
La opción configura el sistema para comunicarse con servidores NFS. Un servidor NFS permite que, mediante el uso del protocolo NFS, otras máquinas de la red puedan acceder a sus sistemas de ficheros. Si no hay más máquinas en su red puede dejar la opción sin seleccionar. El sistema puede necesitar más configuración; consulte la Sección 29.6, “NFS” para más información sobre cómo configurar el cliente y el servidor.
La siguiente opción es , que le permitirá configurar su sistema como servidor NFS. Con esta opción añadirá la información necesaria para el arranque de RPC, los servicios de llamada de procedimientos remotos. RPC se usa para coordinar conexiones entre sistemas y programas.
La siguiente opción es , la sincronización de la hora. Al seleccionarla verá un menú como este:
Elija en el menú el servidor más cercano al lugar donde está la máquina. De este modo la sincronozación será más precisa, puesto que un servidor más lejano puede padecer de conexiones con más latencia.
La siguiente opción es PCNFSD.
Esta opción instalará el «package»
net/pcnfsd desde la colección
de Ports. Es una aplicación muy útil que da
servicios de autentificación NFS a
sistemas que son incapaces de tenerlos por sí mismos,
como por ejemplo el sistema operativo MS-DOS® de
Microsoft.
Si usa las flechas podrá ver más opciones:
Las aplicaciones rpcbind(8), rpc.statd(8) y
rpc.lockd(8) utilities se utilizan en las llamadas de
procesos remotos (RPC).
rpcbind gestiona la comunicación
entre servidores y clientes NFS; los
servidores NFS lo necesitan para poder
funcionar correctamente. El dæmon rpc.statd
se comunica con el dæmon rpc.statd
de otras máquinas para facilitar seguimiento de estado. La
información de estado se deposita por omisión en
/var/db/statd.status. La siguiente opción
que vemos es ; si se selecciona
facilita servicios de bloqueo de ficheros. Se suele usar conjuntamente
con rpc.statd para monitorizar qué
máquina pide bloqueos y con qué frecuencia.
Si bien es cierto que estas dos útimas opciones son
fantásticas para depuración, también lo es
que no son necesarias para que clientes y servidores
NFS funcionen correctamente.
El siguiente elemento de la lista es
, un dæmon de encaminamiento.
routed(8) gestiona tablas de rutas, encuentra
«routers» multicast y, bajo petición, facilita
una copia de la tabla de rutas a cualquier máquina conectada
físicamente a la red. Suele usarse principalmente en
máquinas que hacen funciones de pasarela de una red
local. Si la selecciona verá un menú en el que se
le requerirá que indique la ubicación de la
aplicación. Por omisión ya está
configurada, así que basta que la confirme pulsando
Intro key. Se le presentará un menú
más, pidiendole esta vez parámetros que quiera
proporcionarle a routed. Por omisión
-q estará ya dispuesto y debería
aparecer así en pantalla.
La siguiente opción que aparece es
; si la selecciona arrancará
el dæmon rwhod(8) durante el arranque del sistema.
La aplicación rwhod envía mensajes
del sistema (en broadcast) periódicamente a través
de la red, o si está en modo «consumer» los
va recogiendo. Tiene más información en las
páginas de manual de ruptime(1) y rwho(1).
La siguiente opción del menú está relacionada con el dæmon sshd(8). Se trata del servidor de shell segura de OpenSSH y le recomendamos encarecidamente su uso en lugar de los servidores telnet y FTP. El servidor sshd se usa para crear una conexión segura de una máquina a otra mediante conexiones cifradas.
La última opción es , que activa las extensiones TCP definidas en las RFC 1323 y RFC 1644. En algunas máquinas puede acelerar conexiones, pero también puede haber conexiones que se pierdan. No se recomienda su uso en servidores, pero puede ser de utilidad en máquinas aisladas.
Una vez configurados los servicios de red, vaya al principio del menú ( )a o vuelva a sysinstall seleccionando dos veces y después .
Si todo ha ido bien debería ver una pantalla de mensajes pasando frente a usted hasta que llegue a lo que llamamos un «login prompt». Puede volver a ver los mensajes del arranque pulsando Bloq Deslp y usando RePág y AvPág. Pulsando Bloq Despl otra vez volverá al prompt.
El mensaje del arranque no puede mostrarse completo debido
a las limitaciones del búfer, pero puede consultarse desde
la shell mediante
dmesg.
Entre al sistema utilizando un nombre de usuario y
contraseña que haya creado durante la instalación
(en nuestro ejemplo rpratt). Evite entrar al
sistema como root salvo en los casos en los que
sea estrictamente necesario.
Este es un típico mensaje de arranque (se ha eliminado la información de la versión):
La generación de claves RSA y DSA puede llevar su tiempo en máquinas lentas. Esto solamente sucede en el primer arranque después de la instalación. Los demás arranques serán más rápidos.
Si ya hay un servidor X configurado y ha elegido un escritorio
por omisión puede arrancarlo tecleando
startx en la shell.
Una vez acabado el proceso de instalación podrá arrancar FreeBSD tecleando algo muy parecido a esto en el prompt de SRM:
Once the install procedure has finished, you will be able to start FreeBSD by typing something like this to the SRM prompt:
BOOT DKC0Esto hace que el firmware arranque desde el disco especificado. Para que FreeBSD arranque automáticamente de ahí en adelante utilice lo siguiente:
>>> SET BOOT_OSFLAGS A
>>> SET BOOT_FILE ''
>>> SET BOOTDEF_DEV DKC0
>>> SET AUTO_ACTION BOOTLos mensajes de arranque serán muy similares (aunque no iguales) a los que aparecen durante el arranque de FreeBSD en i386™.
Es importante apagar correctamente el sistema operativo. No
basta con darle al interruptor. Lo primero que debe hacer
es convertirse en superusuario tecleando en la shell
su e introduciendo la contraseña de
root. Tenga en cuenta que esto funcionará
solamente si el usuario es miembro del grupo
wheel. Si no lo es siempre puede
acceder al sistema como root y utilizar
shutdown -h now.
Una vez que vea el mensaje de «Please press any key to reboot » puede apagar la máquina. Si pulsa cualquier tecla en lugar de apagar la máquina el sistema reiniciará.
También puede usar la combinación de teclas Ctrl+Alt+Supr para reiniciar el sistema, aunque no le recomendamos que lo haga durante el funcionamiento normal del sistema.
Esta sección trata sobre la solución de problemas habituales durante la instalación que la comunidad de usuarios ha documentado. Hay también unas cuantas preguntas y respuestas para quienes quieren poder elegir en el arranque entre FreeBSD y MS-DOS®.
A causa de las diversas limitaciones de la arquitectura PC es imposible hacer que nada funcione con un 100% de probabilidades, pero al menos hay unas cuantas cosas que pueden hacerse si algo va mal.
Consulte la lista de hardware soportado de su versión de FreeBSD y asegúrese de que su hardware debería funcionar con ella.
Si su hardware está soportado y sigue experimentando
«cuelgues» u otro tipo de problemas tendrá que
compilar un kernel personalizado.
Esto le permitirá disponer de soporte que no está
incluido en el kernel GENERIC. El kernel
que se incluye en los discos de arranque está configurado
asumiendo que la mayoría de los dispositivos
van a funcionar con la configuración por omisión
de fábrica (en términos de IRQ, direcciones IO y
canales DMA). Si su hardware ha sido reconfigurado quizás
tendrá que usar el editor de configuración para
decirle a FreeBSD dónde encontrar cada cosa.
Es posible también que la prueba de un dispositivo que no está en el sistema cause problemas más tarde al probar un dispositivo que sí está en la máquina. Si ese puede ser su caso desactive las pruebas de controladores conflictivos.
Algunos problemas de instalación pueden evitarse o al menos aliviarse actualizando el firmware de ciertos tipos de hardware; esto es especialmente cierto en el caso de las placas El firmware de las placas base se llama también BIOS y la mayoría de las placas base y de los fabricantes de computadoras tienen un sitio web en el que suelen encontrarse actualizaciones e información sobre su uso.
La mayoría de los fabricantes recomienda que no se actualice la BIOS de la placa base a menos que tenga una buena razón para hacerlo, por ejemplo una actualización crítica. El proceso de actualización podría fallar, lo que puede acarrrear daños en el chip de la BIOS.
No puede usar sistemas de ficheros comprimidos con Double Space™. Deberá por lo tanto descomprimir el sistema de ficheros antes de acceder a los datos desde FreeBSD. Ejecute el Agente de compresión desde > > .
FreeBSD puede usar sistemas de ficheros MS-DOS®.
mount_msdos(8) inserta estos sistemas de ficheros en la
jerarquía de directorios del sistema, haciendo posible
el acceso a los datos. mount_msdos(8) no suele usarse
directamente; el sistema lo utiliza debido a alguna entrada
en /etc/fstab o porque mount(8) lo
invoque debido a que se le hayan dado los parámetros
adecuados para ello.
Veamos una de esas entradas en el fichero
/etc/fstab:
El directorio /dos debe existir previamente
o no funcionará. Tiene todos los detalles del formato correcto
de las entradas en /etc/fstab en
fstab(5).
Veamos ahora un ejemplo de llamada de mount(8) a un sistema de ficheros MS-DOS®:
# mount_msdos /dev/ad0s1 /mntEn el ejemplo el sistema de ficheros MS-DOS® está en la
primera partición del primer disco duro.
La situación en su sistema puede ser diferente: compruebe la
salida de dmesg y mount.
Deberían darle suficiente información como para
darle una idea completa de la estructura de particiones en la que
está trabajando.
FreeBSD suele numerar las las «slices» (que es como decir los sistemas de ficheros MS-DOS®) de un modo distinto al de otros sistemas operativos. Más concretamente, las particiones extendidas de MS-DOS® suelen tener un número mayor de «slice» que las particiones primarias de MS-DOS®. fdisk(8) le será de ayuda a la hora de determinar qué «slices» pertenecen a FreeBSD y cuáles a otros sistemas operativos.
Las particiones NTFS se montan de una forma muy similar gracias a mount_ntfs(8).
2.11.3.1. | Mi sistema se «cuelga» durante el arranque, o se comporta de modo extraño durante la instalación, o no llega a comprobar el funcionamiento del lector de disquetes. |
FreeBSD utiliza profusamente el servicio ACPI del sistema en las
plataformas i386, amd64 e ia64 con el fin de ayudar en
la configuración del sistema durante la detección
de hardware durante el arranque. Por desgracia todavía
hay errores tanto en el controlador ACPI como en algunas BIOS y
placas base. Puede desactivar ACPI en la tercera fase del cargador
de arranque del sistema haciendo que
set hint.acpi.0.disabled="1"Tenga en cuenta que tendría que volver a hacerlo cada vez que
el sistema arranque, así que añada
| |
2.11.3.2. | Cuando voy a arrancar FreeBSD por primera vez después de la instalación el kernel carga y prueba mi hardware, pero se detiene y muestra mensajes como este: changing root device to ad1s1a panic: cannot mount root ?Cuál es el problema? ?Qué es lo que significa este mensaje de
|
Hay un problema que ya lleva tiempo con nosotros cuando el disco desde el que se arranca no es el primero en el sistema. La BIOS utiliza un esquema de numeración distinto al que usa FreeBSD y a veces saber qué número es el que corresponde a qué resulta un poco complicado. Cuando el disco de arranque no sea el primer disco del sistema FreeBSD necesitará un poco de ayuda para poderlo encontrar. Puede haber dos escenarios donde suceda esto y en ambos hay que decirle a FreeBSD, dónde encontrar el sistema de ficheros raíz. Esto se hace especificando el número de disco según la BIOS, el tipo de disco y el número de disco que FreeBSD le dará a ese disco. El primer caso es cuando hay dos discos IDE, ambos
configurados como maestros de sus respectivos buses IDE
y quiere usted arrancar desde el segundo disco. La BIOS
dice que son el disco 0 y el disco 1, mientras que FreeBSD
los ve como
FreeBSD está en el disco BIOS 1, de tipo
1:ad(2,a)kernelTenga en cuenta que si tiene un disco esclavo en el bus primario esto no es necesario (de hecho es un error hacerlo). El segundo escenario es el arranque desde un disco
SCSI teniendo uno o más discos IDE en el sistema.
En este caso el número de disco FreeBSD es más
bajo que el número de disco BIOS. Si tiene dos
discos IDE además del disco SCSI, el disco SCSI
es el disco 2 de BIOS, del tipo
2:da(0,a)kernelpara decirle a FreeBSD que quiere arrancar desde el
disco 2 de BIOS, que es el primer disco SCSI del sistema.
Si solamente tiene un disco IDE tendrá que poner
Una vez que sabe con exactitud los valores que debe
usar póngalos exactamente como los ha tecleado
en | |
2.11.3.3. | Cuando voy a arrancar desde disco duro por primera
vez tras la instalación de FreeBSD el prompt del gestor
de arranque muestra |
La geometría del disco duro se configuró mal cuando se utilizó el editor de particiones durante la instalación. Ejecute el editor de particiones e introduzca la geometría del disco correctamente. Tendrá que reinstalar FreeBSD completamente dado que habrá cambiado la geometría del disco. Si no encuentra la manera de saber cuál es la geometría correcta pruebe con esto: Cree una pequeña partición DOS al principio del disco e instale FreeBSD en el espacio de disco inmediatamente contiguo. El programa de instalación verá la partición DOS e intentará deducir la geometría correcta a partir de ahí; esto suele funcionar. Le mostramos otra sugerencia que, aunque no es recomendable de seguir, se muestra para que sirva de referencia:
| |
2.11.3.4. | El sistema encuentra mi tarjeta de red ed(4) pero me dan errores de «timeout». |
Lo más probable es que su tarjeta esté
utilizando una IRQ distinta de la que debería
estar usando según lo que aparece en
Ponga el «jumper» de la tarjeta en
una configuración «dura» (es posible
que tenga que modificar la configuración del
kernel debido a esto) o modifique el valor de la IRQ
con el valor Hay otra posibilidad, que es cuando su tarjeta esté utilizando la IRQ 9, que suele compartir funciones con la IRQ 2, circunstancia que es con frecuencia causa de problemas (sobre todo cuando entra en escena una tarjeta VGA que utiliza justamente la IRQ 2). Le recomendamos encarecidamente que haga todo lo posible para no utilizar ni la IRQ 2 ni la IRQ 9. |
This section describes how to install FreeBSD in exceptional cases.
Es posible instalar FreeBSD en máquinas que no tengan teclado ni siquiera monitor conectado. De hecho no tienen por qué tener ni salida VGA. ?Cómo es posible?, se preguntará: Haciendolo todo a través de una consola serie. Una consola serie consiste básicamente en usar otro sistema como la pantalla y el teclado de una máquina. Siga las instrucciones de creación de los disquetes que se detallan en la Sección 2.3.7, “Preparación del medio de arranque”.
Tendrá que modificar esos disquetes para que arranquen en la consola serie; siga estas instrucciones:
Modificación de los disquetes de arranque para que permitan el arranque en la consola serie
Si arrancara con los disquetes que acaba de crear FreeBSD
arrancaría en el modo normal de instalación. Lo
que queremos es que FreeBSD arranque en una consola serie,
así que hemos de montar el disquete
kern.flp en un sistema FreeBSD mediante
mount(8).
# mount /dev/fd0 /mntUna vez montado el disquete entre en el directorio
/mnt :
# cd /mntAquí es donde enseñaremos al disquete a
arrancar en la consola serie. Debe crearse un fichero llamado
boot.config que contenga lo siguiente:
/boot/loader -h. Con esto le pasamos
cargador de arranque (el «bootloader»)
el parámetro necesario para que intente arrancar
en una consola serie.
# echo "/boot/loader -h" > boot.configUna vez configurado correctamente nuestro disquete lo desmontamos con umount(8):
# cd /
# umount /mntY podemos extraer el disquete de la unidad.
Conexión del cable modem
Tiene que conectar un cable módem nulo entre dos máquinas. Un cable serie normal no funcionará, necesitará un cable módem nulo porque tiene cruzado alguno de los hilos.
Arranque de la instalación
Podemos iniciar la instalación. Introduzca el
disquete kern.flp en la unidad de disquetes
de la máquina en la que quiere hacer la instalación
y encienda la máquina.
La conexión a su máquina sin teclado ni monitor
Conéctese usando cu(1):
# cu -l /dev/cuaa0?Ya está! Desde este momento ya puede controlar su
máquina sin monitor ni teclado desde la sesión
cu que acaba de abrir. El sistema le pedirá
que introduzca el disco kern1.flp y después
tendrá que elegir qué tipo de terminal va a utilizar. Elija
la consola en color de FreeBSD y buena suerte con la instalación.
Para evitar la repetición «disco FreeBSD» será en adelante un CDROM o un DVD de FreeBSD que haya comprado o hecho por sus propios medios.
Es posible que tengaque crear su propio medio de instalación de FreeBSD. Puede tratarse de un medio físico como una cinta o una fuente para que sysinstall pueda obtener los ficheros que vaya necesitando, como un sitio FTP local, o bien puede tratarse de una partición MS-DOS®.
Por ejemplo:
Tiene muchas máquinas conectadas a una red local y un sólo disco FreeBSD. Quiere crear un sitio FTP local con el contenido del disco FreeBSD y que desde él sus máquinas obtengan los ficheros en lugar de tener que conectarse a Internet.
Tiene un disco FreeBSD y FreeBSD no reconoce su unidad CD/DVD pero MS-DOS®/Windows® sí. Quiere copiar los ficheros de instalación de FreeBSD a una partición DOS en mismo sistema y luego instalar FreeBSD usando esos ficheros.
El sistema en el que quiere instalar FreeBSD no tiene unidad CD/DVD ni tarjeta de red pero puede conectar un cable paralelo o un cable serie «Laplink» a una computadora que sí que tiene.
Quiere crear una cinta desde la que se pueda instalar FreeBSD.
Con cada «release» el Proyecto FreeBSD libera dos imágenes de CDROM («imágenes ISO»). Dichas imágenes pueden copiarse a CD si dispone de una grabadora y usarse posteriormente para instalar FreeBSD. Si tiene una grabadora de CD y el ancho de banda no le supone un problema la forma más fácil de instalar FreeBSD es esta.
Descargar la imagen ISO correcta
Puede descargar las imágenes ISO de cada
«release» desde
ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-
o desde la réplica más próxima.
Sustituya arquitectura/versiónarquitectura y
versión por lo que
corresponda.
Ese directorio contendrá normalmente las siguientes imágenes:
X and 7.X| Nombre | Contenido |
|---|---|
| Todo lo necesario para arrancar un kernel de FreeBSD y ejecutar la interfaz de instalación. Los ficheros que vayan haciendo falta tendrán que irse descargando por FTP o por algún otro medio. |
| Todo lo necesario para instalar AFreeBSD y un «live filesystem», que le será muy útil (conjuntamente con la aplicación «Repair» de sysinstall. |
| Todas las aplicaciones que puedan caber en un disco. |
| La documentacióN de FreeBSD. |
Descargue la imagen ISO de arranque (si existe para su plataforma) o la imagen del disco uno. No descargue ambas, puesto que el disco uno contiene todo lo que hay en la imagen ISO de arranque.
Utilice la imagen ISO de arranque si su acceso a Internet es barato. Con ella podrá instalar FreeBSD e instalar todo tipo de software descargándolo como paquetes/ports (consulte el Capítulo 4, Instalación de aplicaciones: «packages» y ports) cuando lo precise.
Utilice la imagen del disco uno si quiere disponer en el propio disco de una selección bastante completa de software.
Si tiene acceso de alta velocidad a Internet las demás imágenes de disco son útiles pero no esenciales.
Escribir los CD
Si va a grabar los CD en un sistema FreeBSD consulte la Sección 18.6, “Creación y uso de medios ópticos (CD)” (en particular la Sección 18.6.3, “burncd” y la Sección 18.6.4, “cdrecord”).
Las imágenes se hacen en un formato ISO estándar; si va a grabarlas en cualquier otra plataforma no debería tener problemas para hacerlo cualquiera que sea la aplicación que use para grabar CD.
Si lo que quiere hacer es crear una «release» personalizada de FreeBSD consulte el artículo Release Engineering.
Los discos de FreeBSD tienen la misma estructura que los sitios FTP. Esa circunstancia le facilitará mucho la tarea de crear un sitio FTP local para uso de otras máquinas de su red durante la instalación de FreeBSD.
Monte el CDROM en el directorio /cdrom
del sistema que va a albergar el sitio FTP.
# mount /cdromCree una cuenta apta para FTP anónimo en
/etc/passwd editando
/etc/passwd con vipw(8).
Añádale lo siguiente:
Compruebe que el servicio FTP está activado en
/etc/inetd.conf.
Ahora cualquier máquina capaz de conectarse a su
sistema a través de una red puede elegir como medio de
instalación «FTP» y escribir
ftp://
tras seleccionar «Other» en el menú de sitios
FTP.su máquina
Acabamos de exponer una buena solución para usar en un sistema de su propia red y que además está protegido por un cortafuegos. Si ofrece servicios FTP a máquinas de Internet (y no de su red local) expone su sistema a caer bajo la atención de «crackers» y otras variedades de indeseable. Le recomendamos encarecidamente que siga a rajatabla políticas sensatas de seguridad.
Si quiere instalar FreeBSD desde disquetes (cosa que, de antemano, le sugerimos que no haga) bien sea porque FreeBSD no soporta cierto componente necesario de su sistema o sencillamente porque insiste en querer hacer las cosas de la manera más difícil, tendrá que tener a mano unos cuantos disquetes.
Como mínimo necesitará tantos disquetes de
1.44 MB o 1.2 MB como hagan falta para dar cabida a todos
los ficheros que hay en bin. Recuerde la
entrada «binary distribution» (distribución
binaria) durante la instalación. Si está generando
los disquetes en DOS debe formatearlos con
FORMAT de MS-DOS®. Si está usando
Windows® puede usar el Explorador para formatear disquetes:
botón derecho del ratón sobre la unidad
A: y elija «Formatear».
No confíe en el preformateo de fábrica de los disquetes. Formatéelos usted de nuevo, sólo para asegurarse. La mayoría de los problemas de los que se ha informado se han debido a formateos defectuosos, téngalo en cuenta.
Si puede crear los disquetes en una máquina FreeBSD un
formateo sigue sin ser una mala idea, pero no necesitará
crear un sistema de ficheros DOS en cada floppy. Use
disklabel y newfs
para crear un sistema de ficheros UFS en los disquetes tal y como
se muestra aquí (en un floppy de 1.44 MB y 3.5")
:
# fdformat -f 1440 fd0.1440
# disklabel -w -r fd0.1440 floppy3
# newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0 Tendrá que usar fd0.1200 y
floppy5 si usa discos de 5.25" y
1.2 MB.
Ahora puede montarlos y escribir en ellos igual que en cualquier otro sistema de ficheros del sistema.
Tras el formateo de los disquetes pasamos a llenarlos. Los
ficheros necesarios para crear la distribución se dividen en
partes de tamaño regular de modo que cinco de ellas entren
en otros tantos disquetes de 1.44 MB. Empaquete tantos ficheros
como pueda en cada uno hasta que tenga todas las distribuciones
que necesita listas para pasar a los disquetes.
Cada distribución
debería ir en un subdirectorio del floppy, por ejemplo
a:\bin\bin.aa,
a:\bin\bin.ab, etc.
Una vez en el menú de selección de medio de instalación elija y siga las instrucciones.
Copie los ficheros de la distribución en un directorio
llamado freebsd en el directorio raíz
de la partición, por ejemplo c:\freebsd.
La estructura de directorios del sitio FTP o el CDROM debe
reproducirse parcialmente en este directorio, así que le
sugerimos que use xcopy si está
copiando los datos desde un CD. En el siguiente ejemplo vamos a
preparar una instalación mínima de FreeBSD:
C:\> md c:\freebsd
C:\> xcopy e:\bin c:\freebsd\bin\ /s
C:\> xcopy e:\manpages c:\freebsd\manpages\ /sSe ha asumido que C: es donde tiene
espacio libre y E: es donde tiene montada
su unidad CDROM.
Si no tiene unidad CDROM puede descargar la distribución desde ftp.FreeBSD.org. Cada distribución dispone de su propio directorio; por ejemplo, la distribución base está en el directorio9.1/base/.
La única distribución
imprescindible es BIN.
Guarde esta y todas las distribuciones que quiera instalar desde
una partición MS-DOS® bajo
c:\freebsd.
La instalación desde cinta es probablemente el método más fácil, casi tanto como una instalación desde una réplica FTP o desde un CDROM. Lo único que el programa de instalación necesita es que los ficheros estén empaquetados con tar y en una cinta. Veamos un ejemplo:
# cd /freebsd/distdir
# tar cvf /dev/rwt0 dist1 ... dist2Cuando esté preparando la instalación tenga la precaución de dejar sitio suficiente en algún directorio temporal (accesible en ese momento) para dejar todos los ficheros que hubiera en la cinta de instalación. A causa del acceso secuencial propio del diseño de las cintas este método de instalación requiere un poco de almacenamiento temporal.
Recuerde que antes de arrancar desde el disquete de arranque la cinta debe estar en la unidad. La prueba de hardware de la instalación no encontraría la cinta.
Hay tres tipos de instalación a través de una red disponibles en FreeBSD: Puerto serie (SLIP o PPP), puerto paralelo (PLIP (cable «laplink»)) y Ethernet.
El adaptador Ethernet es, debido a su velocidad de transferencia, la mejor elección. FreeBSD soporta la mayoría de los adaptadores Ethernet. Tiene una lista de dispositivos soportados en las notas de hardware de cada «release» de FreeBSD. Si disponde alguno de los adaptadores Ethernet PCMCIA soportados por FreeBSD recuerde que debe estar presente en el sistema antes de que el sistema arranque. Por desgracia FreeBSD no soporta aún la inserción en caliente de tarjetas PCMCIA durante la instalación.
Tendrá que saber también la dirección IP de la red, la máscara de red correcta para la clase de su red y el nombre de su máquina. Si va a instalar mediante una conexión PPP y no tiene IP estática no se preocupe, su ISP puede asignarle una IP temporal dinámicamente. Su administrador de sistemas seguramente puede ayudarle con la configuración de su red. Si va a intentar conectarse con otras máquinas mediante sus nombres en lugar de sus direcciones IP necesitará los datos de un servidor de nombres y es posible que necesite también la dirección de un «gateway» (si usa PPP vale con la dirección IP de su proveedor). Si va a instalar por FTP a través de un proxy HTTP necesitará la dirección del proxy. Si no sabe qué pueden significar todas (o la mayoría) de estas preguntas hable con su administrador de sistemas o con su ISP antes de intentar instalar FreeBSD de esta forma.
La instalación por NFS es bastante sencilla. Sólo tendrá que copiar los ficheros de la distribución a un servidor NFS, seleccionar NFS como medio de instalación y apuntar a los contenidos a donde los haya copiado.
si el servidor sólo soporta
«puertos privilegiados» (que suele ser la
configuración por omisión en estaciones de trabajo
Sun) tendrá que seleccionar la opción
NFS Secure en el menú
«Options» antes de comenzar con la
instalación.
Si usa tarjeta Ethernet de mala calidad y está
experimentando velocidades de transferencia muy bajas puede
probar con el parámetro NFS Slow.
Para que la instalación via NFS funcione el servidor
debe permitir el montaje de subdirectorios. Por ejemplo, si su
distribución FreeBSD 9.1 está en
ziggy:/usr/archive/stuff/FreeBSD el servidor
ziggy tendrá que permitir que pueda
montarse /usr/archive/stuff/FreeBSD, no
simplemente como /usr o
/usr/archive/stuff.
En el fichero /etc/exports de FreeBSD
eso puede controlarse mediante la opción
-alldirs. Puede que otros servidores NFS
requieran de parámetros diferentes. Si ve mensajes
de permission denied seguramente no ha
activado esto correctamente.
El siguiente capítulo comprende la funcionalidad y órdenes básicas del sistema operativo FreeBSD. Gran parte de este material es relevante para cualquier sistema operativo tipo UNIX®. Puede saltarse este capítulo si considera que ya conoce el funcionamiento de UNIX®. Si no tiene experiencia previa con FreeBSD debería leer este capítulo con mucha atención.
Después de leer este capítulo, usted sabrá:
Cómo usar las «consolas virtuales» de FreeBSD.
Cómo funcionan los permisos de fichero UNIX® en relación con las banderas de fichero en FreeBSD.
La disposición de sistemas de ficheros por omisión en FreeBSD.
La organización de disco de FreeBSD.
Cómo montar y desmontar sistemas de ficheros.
Qué son los procesos, dæmons y señales.
Qué es una shell, cómo modificar sus variables de entorno por omisión.
Cómo utilizar editores de texto básicos.
Qué son los dispositivos y nodos de dispositivos.
Qué formato binario se usa en FreeBSD.
Cómo buscar información en las páginas de manual.
FreeBSD puede utilizarse de muchas maneras. Una de ellas es tecleando órdenes en una terminal de texto. De este modo, mucha de la flexibilidad y poder de un sistema operativo UNIX® está inmediatamente en sus manos cuando usa FreeBSD. Esta sección describe qué son «terminales» y «consolas» y cómo puede usarlas en FreeBSD.
Si no ha configurado FreeBSD para ejecutar automáticamente un entorno gráfico en el arranque, el sistema le presentará un «prompt» de entrada después del arranque, inmediatamente después de que los «scripts» de inicio terminen de ejecutarse. Verá algo similar a esto:
Los mensajes pueden ser un poco diferentes en su sistema, pero verá algo similar. Las últimas dos líneas son las que nos interesan por el momento. La penúltima línea dice:
Esta línea contiene información
acerca del sistema que acaba de arrancar. Esta usted ante una
consola «FreeBSD» que se ejecuta en un procesador Intel
o compatible de la arquitectura x86[1].
El nombre de esta máquina (todas las máquinas UNIX®
tiene un nombre) es pc3.ejemplo.org, y usted
está ahora ante su consola de sistema (la
terminal ttyv0).
Para acabar, la última línea siempre es:
Este es el lugar donde se usted tecleará su «nombre de usuario» para entrar en FreeBSD. La siguiente sección describe cómo hacerlo.
FreeBSD es un sistema multiusuario multiprocesador. Esta es la descripción formal que se suele dar a un sistema que puede ser utilizado por muchas personas diferentes, que simultáneamente ejecutan muchos programas en un sola máquina.
Cada sistema multiusuario necesita algún modo de distinguir a un «usuario» del resto. En FreeBSD (y en todos los sistemas operativos de tipo UNIX®) esto se logra requiriendo que cada usuario «acceda» al sistema antes de poder ejecutar programas. Cada usuario tiene un nombre único (el «nombre de usuario») y una clave secreta, personal (la «contraseña»). FreeBSD preguntará por ambos antes de permitirle a un usuario ejecutar cualquier programa.
Justo después de que FreeBSD arranque y termine de ejecutar sus «scripts» de inicio [2], le presentará un «prompt» y solicitará un nombre válido de usuario:
En este ejemplo vamos a asumir que su nombre de
usuario es john. Teclée
john en el «prompt» y pulse
Intro. Debería presentársele un
«prompt» donde introducir una
«contraseña»:
john
Password:Teclée ahora la contraseña de john
y pulse Enter. La contraseña
no se muestra en pantalla, pero no debe
preocuparse por ello. Esto se hace así por motivos de
seguridad.
Si ha tecleado su contraseña correctamente ya está usted en un sistema FreeBSD, listo para probar todas las órdenes disponibles.
Verá el MOTD (mensaje del día)
seguido por un «prompt» (un caracter #,
$ o %). Esto confirma
que ha validado con éxito su usuario en FreeBSD.
Ejecutar órdenes UNIX® en una consola está bien, pero FreeBSD puede ejecutar muchos programas a la vez. Tener una consola donde se pueden teclear órdenes puede ser un desperdicio cuando un sistema operativo como FreeBSD puede ejecutar docenas de programas al mismo tiempo. Aquí es donde las «consolas virtuales» muestran su potencial.
FreeBSD puede configurarse para presentarle diferentes consolas virtuales. Puede cambiar de una de ellas a cualquier otra consola virtual pulsando un par de teclas en su teclado. Cada consola tiene su propio canal de salida, y FreeBSD se ocupa de redirigir correctamente la entrada del teclado y la salida al monitor cuando cambia de una consola virtual a la siguiente.
Se han reservado ciertas combinaciones especiales de teclas para pasar de unas consolas virtuales a otras en FreeBSD [3]. Puede utilizar Alt+F1, Alt+F2 y así sucesivamente hasta Alt+F8 para cambiar a una consola virtual diferente en FreeBSD.
Mientras está cambiando de una consola a la siguiente, FreeBSD se ocupa de guardar y restaurar la salida de pantalla. El resultado es la «ilusión» de tener varias pantallas y teclados «virtuales» que puede utilizar para teclear órdenes para que FreeBSD los ejecute. El programa que usted lanza en una consola virtual no deja de ejecutarse cuando la consola no está visible. Continúan ejecutándose cuando se cambia a una consola virtual diferente.
La configuración por omisión de FreeBSD iniciará
con ocho consolas virtuales. No es una configuración
estática por hardware, así que puede personalizar
fácilmente su sistema para arrancar con más o menos
consolas virtuales. El número y propiedades de las consolas
virtuales están detallados en
/etc/ttys.
En /etc/ttys es donde se configuran
las consolas virtuales de FreeBSD. Cada línea no
comentada de este fichero (líneas que no comienzan con un
caracter #) contiene propiedades para una sola
terminal o consola virtual. La versión por omisión de
este fichero en FreeBSD configura nueve consolas
virtuales y habilita ocho de ellas. Son las líneas que
comienzan con ttyv:
Consulte ttys(5) si quiere una descripción detallada de cada columna en este fichero y todas las opciones que puede usar para configurar las consolas virtuales.
En la Sección 12.6.2, “Modo monousuario” encontrará una
descripción detallada de lo que es «modo
monousuario».
No importa que sólo exista una consola cuando ejecuta FreeBSD en
modo monousuario. No hay otra consola virtual disponible. Las
configuraciones de la consola en modo monousuario se pueden encontrar
también en /etc/ttys. Busque la
línea que comienza por console:
Tal y como indican los comentarios por encima de la
línea console, puede editar esta
línea y cambiar secure por
insecure. Si lo hace, cuando FreeBSD arranque
en modo monousuario el sistema le pedirá la
contraseña de root.
Tenga cuidado si cambia esto a
insecure. Si olvida la
contraseña de root arrancar
en modo monousuario será con seguridad más
complicado. Sigue siendo posible, pero será un poco
difícil para alguien que no esté familiarizado
con le proceso de arranque de FreeBSD y los programas involucrados
en dicho proceso.
La consola FreeBSD por omisión tiene un modo de video que puede ajustarse a 1024x768, 1280x1024 o cualquier otra resolución que admita su chip gráfico y su monitor. Si quiere utilizar uno diferente tendrá que recompilar su kernel con estas dos opciones añadidas:
Una vez recompilado el kernel con esas dos opciones en él determine qué modos de video admite su hardware; para ello use vidcontrol(1). Con lo siguiente le mostrará una lista de modos de video soportados:
# vidcontrol -i modeLa salida de esta orden es una lista de los modos de
que admite su tarjeta. Para elegir uno de ellos tendrá
que ejecutar vidcontrol(1) en una consola como
root:
# vidcontrol MODE_279Si el modo de video que ha elegido le parece adecuado puede
configurarlo de forma permanente haciendo que funcione desde el
momento del arranque; para ello debe editar /etc/rc.conf
file:
FreeBSD, cuya raíz histórica es el UNIX® BSD, se fundamenta en varios conceptos clave de UNIX. El primero y más importante es que FreeBSD es un sistema operativo multi-usuario. El sistema puede gestionar múltiples usuarios trabajando simultáneamente y en tareas que no guarden relación entre sí. El sistema se encarga de compartir y administrar peticiones de dispositivos de hardware, periféricos, memoria y tiempo de CPU de manera equitativa para cada usuario.
Debido a que el sistema es capaz de soportar múltiples usuarios, todo lo que el sistema administra tiene un conjunto de permisos que usa para decidir quién puede leer, escribir y ejecutar un recurso. Estos permisos se guardan como octetos divididos en tres partes: una para el propietario del fichero, otra para el grupo al que el fichero pertenece, y otra para todos los demás grupos y usuarios. Veamos una representación numérica de esto:
| Valor | Permiso | Listado de directorio |
|---|---|---|
| 0 | No leer, no escribir, no ejecutar | --- |
| 1 | No leer, no escribir, ejecutar | --x |
| 2 | No leer, escribir, no ejecutar | -w- |
| 3 | No leer, escribir, ejecutar | -wx |
| 4 | Leer, no escribir, no ejecutar | r-- |
| 5 | Leer, no escribir, ejecutar | r-x |
| 6 | Leer, escribir, no ejecutar | rw- |
| 7 | Leer, escribir, ejecutar | rwx |
Puede utilizar el parámetro de línea de órdenes
-l de ls(1) para ver un listado
largo que incluya una columna con información acerca
de los permisos de fichero para el propietario, grupo y
los demás. Por ejemplo, un ls -l en
un directorio puede mostrar algo como esto:
% ls -l
total 530
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 mifichero
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 otrofichero
-rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt
...Aquí está como se divide la primera columna
de ls -l:
El primer caracter (más a la izquierda) indica si
este fichero es un fichero regular, un directorio, un
dispositivo especial de caracter, un socket o cualquier otro
dispositivo especial pseudo-ficheroa . En este caso, el
- un fichero regular. Los siguientes tres
caracteres, rw- en este ejemplo, dan los permisos
para el propietario del fichero. Los siguientes tres caracteres,
r--, dan los permisos para el grupo al que
el fichero pertenece. Los últimos tres caracteres,
r--, dan los permisos para el resto del
mundo. Un guión indica que el permiso está desactivado.
En el caso de este fichero, los permisos están
asignados de tal manera que el propietario puede leer y escribir
en el fichero, el grupo puede leer el fichero, y el resto del
mundo sólo puede leer el fichero. De acuerdo con la tabla
de arriba, los permisos para este fichero serían
644,
donde cada dígito representa las tres partes de los
permisos del fichero.
Todo ésto está muy bien, pero ?cómo
controla el sistema los permisos de los dispositivos? FreeBSD en
realidad trata la mayoría de los dispositivos hardware como un
fichero que los programas pueden abrir, leer y en los que pueden
escribir datos como si de cualquier otro fichero se tratara. Estos
ficheros especiales de dispositivo se encuentran en el directorio
/dev.
Los directorios también son tratados como ficheros. Tienen permisos de lectura, escritura y ejecución. El bit de ejecución en un directorio tiene un significado ligeramente distinto que para los ficheros. Cuando un directorio está marcado como ejecutable significa que se puede mirar dentro, se puede hacer un «cd» (cambiar directorio) a él. Esto también significa que dentro del directorio es posible acceder a ficheros cuyos nombres son conocidos (sujeto, claro está, a los permisos de los ficheros mismos).
En particular, para poder realizar un listado de directorio, el permiso de lectura debe ser activado en el directorio, mientras que para borrar un fichero del que se conoce el nombre es necesario tener permisos de escritura y ejecución en el directorio que contiene el fichero.
Existen más permisos, pero se usan principalmente en circunstancias especiales como los binarios ejecutables de tipo setuid y los los directorios de tipo «sticky». Si desea más información acerca de los permisos de ficheros y cómo establecerlos, consulte chmod(1).
Los permisos simbólicos, también conocidos como expresiones simbólicas, utilizan caracteres en lugar de valores octales para asignar permisos a ficheros o directorios. Las expresiones simbólicas utilizan la sintaxis de (quién) (acción) (permisos) mediante los siguientes valores:
| Opción | Letra | Representa |
|---|---|---|
| (quién) | u | Usuario |
| (quién) | g | Grupo propietario |
| (quién) | o | Otro |
| (quién) | a | Todos («todo el mundo») |
| (acción) | + | Añadir permisos |
| (acción) | - | Quitar permisos |
| (acción) | = | Activar permisos explícitamente |
| (permisos) | r | Lectura |
| (permisos) | w | Escritura |
| (permisos) | x | Ejecución |
| (permisos) | t | Bit Sticky («pegajoso») |
| (permisos) | s | Activar UID o GID |
Estos valores se aplican con chmod(1)
de la misma manera que los anteriores, pero con letras. Por
ejemplo, podría usar la siguiente orden para
bloquear a otros usuarios el acceso a FICHERO:
% chmod go= FICHEROPuede usarse una lista separada por comas cuando
se quiera aplicar más de un conjunto de cambios a un fichero.
Por ejemplo la siguiente orden eliminará los permisos de
escritura de grupo y «mundo» a
FICHERO, y añade permisos de
ejecución para todos:
% chmod go-w,a+x FILEAdemás de los permisos de fichero previamente expuestos, FreeBSD permite el uso de «banderas de fichero». Estas banderas añaden un nivel de seguridad y control adicional a los ficheros, pero no a los directorios.
Las banderas de fichero añaden un nivel adicional
de control sobre los ficheros ayudando a asegurar que en algunos
casos ni siquiera root pueda eliminar
o alterar ficheros.
Las banderas de fichero se modifican mediante
chflags(1), gracias a una interfaz muy sencilla. Por ejemplo,
para habilitar la bandera imborrable de sistema en
fichero1, escriba lo siguiente:
# chflags sunlink fichero1Y para dehabilitar la bandera imborrable de sistema,
simplemente escriba la orden previa con «no»
antes de sunlink. Observe:
# chflags nosunlink fichero1Para ver las banderas de este fichero, utilice
ls(1) con las opciones -lo:
# ls -lo fichero1
La salida debería ser como esta:
Varias banderas solo pueden ser añadidas o retiradas
de ficheros por el usuario root. En
otros casos, el propietario del fichero puede activar estas
banderas. Se recomienda que para más información
la persona encargada de la administración del sistema
consulte las páginas de manual chflags(1) y
chflags(2).
Además de los permisos que se han explicado hay
más, hay tres tipos más que todos los administradores
deberían conocer. Son los permisos
setuid,
setgid y sticky.
Estos permisos juegan un papel clave en ciertas operaciones UNIX® puesto que facilitan funcionalidades que no se suelen permitir a los usuarios normales. Para comprenderlas totalmente hay que comprender la diferencia entre el ID real del usuario y el ID efectivo.
El ID del usuario real es el
UID que arranca (y el propietario) del
proceso. El UID efectivo es el ID bajo
el que se ejecuta el proceso. Veamos un ejemplo; el programa
passwd(1) se ejecuta con el ID real del usuario puesto que
el usuario está cambiando su contraseña. Pero para
poder manipular la base de datos de contraseñas debe
ejecutarse con el ID efectivo del usuario
root. De este modo es posible que los usuarios
cambien su contraseña sin llegar a ver un error de
Permission Denied (permiso denegado).
La opción nosuid de mount(8)
hace que estos binarios den errores silenciosos, es decir,
fallarán pero el usuario no recibirá ningún
mensaje de error por ello. Esta opción no funciona
siempre, pues, según la página man de
mount(8), un «wrapper»
nosuid puede sortear esta limitación.
El permiso setuid puede asignarse colocando un número cuatro (4) antes de los permisos. Se ve mejor con un ejemplo:
# chmod 4755 ejemplosuid.shLos permisos de
deberían ser así:ejemplosuid.sh
Fíjese atentamente en la
s que ha aparecido en los permisos
del fichero, en la parte de los permisos del propietario;
esa s está en donde estaría
el bit de ejecución. Gracias a esto el funcionamiento
de aplicaciones que necesitan permisos elevados, como
passwd, pueden funcionar.
Si quiere ver un ejemplo con sus propios ojos abra dos
terminales. En una arranque un proceso (ejecute)
passwd con un usuario normal. Mientras la
aplicación espera a que le de una nueva contraseña
busque la información de usuario del proceso
passwd en la tabla de procesos.
En la terminal A:
En la terminal B:
# ps aux | grep passwdTal y como se ha dicho, un usuario normal puede ejecutar
passwd, pero en realidad está
utilizando el UID efectivo de
root.
El permiso setgid actúa del mismo
modo que el setuid, pero afecta a los permisos
del grupo. Cuando una aplicación funciona con esta
configuración lo hace con los permisos del grupo al
que pertenece el fichero, no los del usuario que ha
arrancado el proceso.
Si quiere utilizar el permiso setgid
debe situar un núnmero dos (2) al principio de los
permisos que vaya a asignar mediante
chmod.
# chmod 2755 ejemplosuid.shLa nueva configuración tiene un aspecto muy
similar a la que tenía antes, pero observe que la
s de antes está ahora en el campo
de los permisos de grupo:
En ambos ejemplos, incluso si el «script» en cuestión es ejecutable, no se va a ejecutar con un EUID distinto o un ID efectivo de usuario porque los «scripts» de shell no pueden acceder a la llama del sistema setuid(2).
Los dos permisos que acabamos de mostrar
los bits de permisos (setuid
y setgid) pueden reducir el nivel
de seguridad haciendo que se escalen los permisos.
Pero hay un tercer bit especial de permisos que puede
ser de mucha ayuda para reforzar la seguridad del
sistema:
el sticky bit.
El sticky bit( que podríamos
traducir como «bit pegajoso») aplicado a un
directorio hace que solamente el propietario de un fichero
pueda borrarlo. Esto evita el borrado de ficheros ajenos
en directorios públicos como
/tmp. Si quiere
usarlo coloque un uno (1) antes de los permisos. Veamos
un ejemplo:
# chmod 1777 /tmpPara ver el ;sticky bit en acción usamos
ls:
# ls -al / | grep tmpEl sticky bit es la letra
t al final de los permisos.
La jerarquía del sistema de ficheros de FreeBSD es fundamental para obtener una compresión completa del sistema. El concepto más importante a entender es el del directorio raíz, «/». Este directorio es el primero en ser montado en el arranque y contiene el sistema básico necesario para preparar el sistema operativo para su funcionamiento en modo multiusuario. El directorio raíz también contiene puntos de montaje para cualquier otro sistema de ficheros que se pretenda montar.
Un punto de montaje es un directorio del que se pueden
colgar sistemas de ficheros adicionales en un sistema padre
(que suele ser el directorio raíz).
Esto se explica con detalle en la Sección 3.5, “Organización de disco”.
Los puntos de montaje estándar son, por ejemplo,
/usr, /var,
/tmp,
/mnt y /cdrom. Estos
directorios suelen corresponderse con entradas en
/etc/fstab. /etc/fstab
es una tabla que sirve de referencia al sistema y contiene
los diferentes sistemas de ficheros y sus respectivos
puntos de montaje. La mayoría de los sistemas de ficheros
en /etc/fstab se montan automáticamente
en el arranque gracias al «script» rc(8),
a menos que contengan la opción noauto.
Si quiere más información consulte la Sección 3.6.1, “El fichero fstab”.
Veremos ahora una descripción de los directorios más comunes. Si desea información más completa consulte hier(7).
| Directorio | Descripción |
|---|---|
/ | Directorio raíz del sistema de ficheros. |
/bin/ | Utilidades de usuario fundamentales tanto para el ambiente monousuario como para el multiusuario. |
/boot/ | Programas y ficheros de configuración necesarios durante el arranque del sistema operativo. |
/boot/defaults/ | Ficheros de configuración por omisión del arranque; ver loader.conf(5). |
/dev/ | Nodos de dispositivo; ver intro(4). |
/etc/ | Ficheros de configuración y «scripts» del sistema. |
/etc/defaults/ | Ficheros de configuración por omisión del sistema; ver rc(8). |
/etc/mail/ | Ficheros de configuración para agentes de transporte de correo como sendmail(8). |
/etc/namedb/ | Ficheros de configuración de named;
ver named(8). |
/etc/periodic/ | «Scripts» que se ejecutan diariamente, semanalmente y mensualmente mediante cron(8); ver periodic(8). |
/etc/ppp/ | Ficheros de configuración de ppp;
ver ppp(8). |
/mnt/ | Directorio vacío utilizado de forma habitual por administradores de sistemas como punto de montaje temporal. |
/proc/ | Sistema de ficheros de procesos; ver procfs(5), mount_procfs(8). |
/rescue/ | Programas enlazados estáticamente para restauraciones de emergencia; ver rescue(8). |
/root/ | Directorio local para la cuenta root. |
/sbin/ | Programas del sistema y utilidades fundamentales de administración para ambientes monousuario y multiusuario. |
/tmp/ | Ficheros temporales. El contenido de
/tmp
NO suelen conservarse después
de un reinicio del sistema.
Los sistemas de ficheros basados en memoria suelen montarse
en /tmp
Puede automatizarse mediante variables de
tmpmfs en rc.conf(5) (o con una entrada en
/etc/fstab; ver mdmfs(8),
o para FreeBSD 4.X, mfs(8)). |
/usr/ | La mayoría de utilidades y aplicaciones de usuario. |
/usr/bin/ | Aplicaciones comunes, herramientas de programación y otras aplicaciones. |
/usr/include/ | Ficheros «include» estándar de C. |
/usr/lib/ | Bibliotecas. |
/usr/libdata/ | Ficheros de datos con diversas funciones. |
/usr/libexec/ | Dæmons del sistema y utilidades del sistema (ejecutados por otros programas). |
/usr/local/ | Ejecutables locales, bibliotecas, etc.
también se usa como destino por omisión
de la infraestructura de ports de FreeBSD. Dentro de
/usr/local debe seguirse el esquema
general definido en hier(7) para
/usr. Las
excepciones son el directorio man, que está
directamente bajo /usr/local en
lugar de debajo de /usr/local/share,
y la documentación de los ports está en
share/doc/.
|
/usr/obj/ | Arbol destino dependiente de arquitectura fruto de
la compilación del árbol
/usr/src. |
/usr/ports | La colección de Ports de FreeBSD (opcional). |
/usr/sbin/ | Dæmons del sistema y utilidades del sistema (ejecutados por usuarios del sistema). |
/usr/share/ | Ficheros independientes de arquitectura. |
/usr/src/ | Ficheros fuente BSD y/o local. |
/usr/X11R6/ | Ejecutables de la distribución X11R6, bibliotecas, etc (opcional). |
/var/ | Ficheros multipropósito de log, temporales, en
tránsito y de «spool».
En ocasiones se monta en
/var un sistema de
ficheros basado en memoria. |
/var/log/ | Diversos ficheros de log del sistema. |
/var/mail/ | Ficheros de buzones de correo de usuarios. |
/var/spool/ | Directorios diversos del sistema de spool de impresora y correo. |
/var/tmp/ | Ficheros temporales. Suelen conservarse tras el
Estos ficheros suelen conservarse tras el reinicio del
sistema, a menos que
/var sea un
sistema de ficheros basado en memoria. |
/var/yp | Mapas NIS. |
La unidad más pequeña que FreeBSD utiliza para
ubicar ficheros es el nombre de fichero. Los nombres de fichero
son sensibles a las mayúsculas, lo que significa que
readme.txt y README.TXT
son dos ficheros distintos. FreeBSD no utiliza la extensión
(.txt) de un fichero para determinar si
es un programa, o un documento o alguna otra forma de datos.
Los ficheros se almacenan en directorios. Un directorio puede estar vacío, o puede contener cientos de ficheros. Un directorio también puede contener otros directorios, permitiéndole contruir una jerarquía de directorios dentro de otro. Esto hace mucho más fácil la organización de sus datos.
Para referirse a ficheros o directorios se usa el nombre
de archivo o de directorio, seguido por una barra,
/, seguido por cualquier otro nombre de
directorio que sea necesario. Si tiene un directorio
tal, el cual contiene el directorio
cual, el cual contiene el fichero
readme.txt, entonces el nombre completo
o ruta al fichero es
tal/cual/readme.txt.
Los directorios y ficheros se almacenan en un sistema de ficheros. Cada sistema de ficheros contiene un sólo directorio en el nivel más elevado, que es el directorio raíz de ese sistema de ficheros. Este directorio raíz puede contener otros directorios.
Lo visto hasta ahora probablemente sea similar a cualquier otro
sistema operativo que pueda haber utilizado, pero hay unas cuantas
diferencias; por ejemplo, MS-DOS® utiliza \ para
separar nombres de fichero y directorio, mientras que Mac OS® usa
:.
FreeBSD no utiliza letras de unidades, u otro nombre de unidad
en la ruta. Por tanto, no podrá escribir
c:/tal/cual/readme.txt
en FreeBSD.
En FreeBSD, en cambio, un sistema de ficheros recibe el nombre de
sistema de ficheros raíz. El
directorio raíz del sistema de ficheros raíz se
representa como /. Cualquier otro sistema
de ficheros, por tanto, se monta bajo el
sistema de ficheros raíz. No importa cuántos discos
tenga en su sistema FreeBSD, cada directorio parecerá ser parte del
mismo disco.
Suponga que tiene tres sistemas de ficheros, denominados
A,
B y C. Cada sistema de
ficheros tiene un directorio raíz, el cual contiene
otros dos directorios, llamados
A1, A2 (y de la misma manera
B1, B2 y
C1, C2).
Usaremos A como sistema de ficheros
raíz. Si usara ls para ver el contenido de
este directorio vería dos subdirectorios, A1
y A2. El árbol de directorios sería
como este:

Un sistema de ficheros debe montarse en un directorio
de otro sistema de ficheros. Ahora suponga que monta el
sistema de ficheros B en el directorio
A1. El directorio raíz de
B reemplaza a A1,
y los directorios en B aparecen de
esta manera:

Cualquier fichero que esté en el directorio
B1 o B2 puede
encontrarse con la ruta /A1/B1 o
/A1/B2 según sea necesario.
Cualquier fichero que esté en /A1
ha desaparecido temporalmente. Aparecerán de nuevo
si B se desmonta
de A.
Si B se monta en A2
entonces el diagrama se vería así:

y las rutas serían /A2/B1 y
/A2/B2 respectivamente.
Pueden montarse sistemas de ficheros uno sobre otro. Continuando
con el ejemplo anterior, el sistema de ficheros C
podría montarse en el directorio B1
en el sistema de ficheros B, lo que nos
llevaría a esto:

O C podría montarse directamente
en el sistema de ficheros A, bajo el directorio
A1:

Si está familiarizado con MS-DOS® esto es similar,
aunque no idéntico, a utilizar join.
Esto no es algo a lo deba usted dedicar tiempo de forma habitual. Normalmente creará sistemas de ficheros al instalar FreeBSD y decidirá dónde montarlos; lo más habitual es que no los cambie de sitio a menos que agregue un disco nuevo.
Es perfectamente posible tener un sistema de ficheros raíz extenso y no necesitar crear otros. Este esquema tiene unos cuantos inconvenientes y una ventaja:
Si dispone de varios sistemas de ficheros puede optar por
usar distintas opciones de montaje.
Por ejemplo, gracias a una planificación cuidadosa, el
sistema de ficheros raíz puede montarse como
sólo-lectura, haciendo imposible borrar sin querer o
editar un fichero crítico. Al mantener separados
sistemas de ficheros en los que los usuarios pueden escribir,
como /home, de otros sistemas de ficheros
también le permite montar con la opción
nosuid; dicha opción previene
que los bits suid/guid
en los ejecutables almacenados en el sistema de ficheros
tengan efecto, mejorando en cierto modo la seguridad.
FreeBSD optimiza automáticamente el esquema de ficheros en un sistema de ficheros, dependiendo de cómo el sistema de ficheros esté siendo utilizado. Uno que contenga muchos ficheros pequeños tendrá una optimización distinta de uno que contenga menos ficheros y más grandes. Si sólo tiene un gran sistema de ficheros no hay manera de aplicar esta optimización.
Los sistemas de ficheros de FreeBSD son muy robustos en caso de sufrir un caída eléctrica. De todas maneras, un fallo eléctrico en un momento crítico puede dañar la estructura del sistema de ficheros. Si reparte sus datos en múltiples sistemas de ficheros hará que sea más probable que el sistema arranque después de uno de esos fallos, haciéndole además más fácil la tarea de restaurarlo desde un respaldo si fuera necesario.
Los sistemas de ficheros son de un tamaño fijo. Si crea un sistema de ficheros cuando instala FreeBSD y le da un tamaño específico, tal vez descubra más tarde que necesita hacer la partición más grande. Esto no es fácil de realizar sin hacer una copia de seguridad, crear de nuevo el sistema de ficheros con el nuevo tamaño y entonces restaurar los datos respaldados.
FreeBSD dispone de growfs(8), que permite incrementar el tamanño de un sistema de ficheros «al vuelo», eliminando esta limitación.
Los sistemas de ficheros están alojados en particiones.
Este es un detalle muy importante, puesto que el
término partición no significa
aquí lo mismo que en otros entornos (por ejemplo, en MS-DOS®)
debido a la herencia UNIX® de FreeBSD. Cada partición se
identifica con una letra desde a hasta
h. Cada partición puede contener solamente
un sistema de ficheros, lo que significa que los sistemas de
ficheros suelen definirse mediante su punto de montaje en la
jerarquía del sistema de ficheros o por la letra de la
partición en la que están alojados.
FreeBSD también utiliza espacio de disco como espacio de intercambio (swap). El espacio de intercambio le brinda a FreeBSD memoria virtual. Esto permite al su sistema comportarse como si tuviera más memoria de la que realmente tiene. Cuando a FreeBSD se le agota la memoria mueve algunos de los datos que no está utilizando en ese momento al espacio de intercambio, y los vuelve a poner donde estaban (desplazando alguna otra cosa) cuando los necesita.
Algunas particiones tienen ciertas convenciones heredadas.
| Partición | Representación |
|---|---|
a | Normalmente contiene el sistema de ficheros raíz |
b | Normalmente contiene el espacio de intercambio (swap) |
c | Suele tener el mismo tamaño de la
«slice» que la encierra. Esto permite
a las utilidades que necesitan trabajar en toda la
«slice» entera (por ejemplo durante una
búsqueda de bloques dañados) trabajar en
la partición c. Normalmente no
debería usted crear un sistema de ficheros en esta
partición. |
d | La partición d solía
tuvo un significado especial asociado pero ya no lo
tiene. |
Cada partición que contiene un sistema de ficheros se almacena en lo que FreeBSD llama una «slice». «slice» es en FreeBSD lo que en otros ámbitos se denomina partición; es un hecho que deriva de los orígenes de FreeBSD como ya sabemos basado en UNIX®.
Los números de «slice» muestran
el nombre de dispositivo, al que precede una
s y un número que puede ser un
1 u otro número mayor. Por lo tanto
«da0s1» es la
primera slice en la primera unidad SCSI. Sólo
puede haber cuatro «slice» físicas en un
disco, pero puede haber «slice» lógicas dentro
«slice» físicas del tipo apropiado. Estas
«slice»extendidas se numeran a partir de 5,
así que «ad0s5»
es la primera «slice» extendida en el primer
disco IDE. Estos dispositivos se usan en sistemas de ficheros
que se preve que ocupen una slice.
Tanto las «slice» y las unidades físicas
«peligrosamente dedicadas», como otras unidades
contienen particiones, que se designan
mediante letras desde la a
hasta h. Esta letra se añade al nombre
del dispositivo. Se verá mucho mejor mediante ejemplos:
«da0a» es la partición
a en la primera unidad da y es una de esas a las que llamamos
«peligrosamente dedicada».
«ad1s3e» es la quinta
partición en la tercera slice de la segunda
unidad de disco IDE.
Para terminar, cada disco en el sistema tiene también su designación. El nombre de disco comienza por un código que indica el tipo de disco, luego un número, que indica qué disco es. A diferencia de las «slice», la numeración de discos comienza desde 0. Puede las numeraciones más comunes en el Tabla 3.1, “Códigos de dispositivos de disco”.
Cuando se hace referencia a una partición, FreeBSD
necesita que también se nombre la «slice»
y el disco que contiene la partició. Esto se hace
con el nombre de disco, s, el número
«slice» y por último la letra de la
partición. Tiene varios casos en el
Ejemplo 3.1, “Ejemplo de nombres de disco, «slice» y partición”.
En el Ejemplo 3.2, “Modelo conceptual de un disco” muestra un modelo conceptual del esquema de un disco que debería ayudarle a aclarar las cosas.
Antes de instalar FreeBSD tendrá que configurar las «slice» de disco, después crear particiones dentro de las «slice» que vaya a usar en FreeBSD y luego crear un sistema de ficheros (o swap) en cada partición y luego decidir cuál va a ser el punto de montaje del sistema de ficheros.
| Código | Significado |
|---|---|
ad | Disco ATAPI (IDE) |
da | Disco de acceso directo SCSI |
acd | CDROM ATAPI (IDE) |
cd | CDROM SCSI |
fd | Disquete (floppy) |
| Nombre | Significado |
|---|---|
ad0s1a | La primera partición (a) en
la primera slice (s1) en el
primer disco IDE (ad0). |
da1s2e | La quinta partición (e) en
la segunda slice (s2) en el
segundo disco SCSI (da1). |
Este diagrama muestra cómo ve FreeBSD el primer disco IDE
en el sistema. Se asume que el disco es de 4 GB,
y contiene dos «slices» de 2 GB (particiones MS-DOS®).
La primera partición contiene un disco MS-DOS®,
C:,
y la segunda partición contiene una instalación de FreeBSD.
Esta instalación de ejemplo tiene tres particiones, y una
partición swap.
Cada una de las tres particiones tiene un sistema de ficheros.
La partición a se utilizará
para el sistema de ficheros raíz, e
para la jerarquía del directorio /var,
y f para la jerarquía del directorio
/usr.

El sistema de ficheros se visualiza mejor como un
árbol enraizado, tal y como esá, en
/.
/dev, /usr y todos
los demás directorios en el directorio raíz son
raamas, las cuales pueden tener sus propias ramas, como
/usr/local y así sucesivamente.
Existen varias razones para albergar algunos de
estos directorios en sistemas de ficheros separados.
/var contiene los directorios
log/, spool/ y
varios tipos de ficheros temporales y pueden llegar a desbordarse.
Agotar el espacio del sistema de ficheros raíz
no es nada bueno desde cualquier punto de vista, así que
separar /var de
de / es algo que debería
hacerse siempre que sea posible.
Otra razón para meter ciertos árboles de directorios en otros sistemas de ficheros es si van a estar albergados en discos físicos separados, o si son discos virtuales separados, como un montaje por NFS en el caso de unidades de CDROM.
Durante el proceso de arranque
los sistemas de ficheros listados en /etc/fstab
se montan automáticamente (a menos que estén
listados con la opción noauto).
/etc/fstab contiene una
lista de líneas con el siguiente formato:
dispositivo /punto-de-montaje punto de montaje opciones dumpfreq passnodispositivoUn nombre de dispositivo (debe existir).
punto-de-montajeUn directorio (que debe existir) en el que montar el sistema de ficheros.
tipo de sistema ficherosEl tipo de sistema de ficheros es un parámetro
que interpretará mount(8). El sistema de
ficheros por omisión de FreeBSD es
ufs.
opcionesYa sea rw para sistemas
de ficheros de lectura-escritura, o ro
para sistemas de ficheros de sólo lectura, seguido
de cualquier otra opción que sea necesaria.
Una opción muy habitual es noauto,
que se suele usar en sistemas de ficheros que no se deben
montar durante la secuencia de arranque. Tiene otras
opciones en la página de manual de
mount(8).
dumpfreqdump(8) la usa para determinar qué sistema de ficheros requieren volcado. Si el campo no está declarado se asume un valor de cero.
passnoDetermina el orden en el cual los sistemas de
ficheros deben revisarse. Los sistemas de ficheros
que hayan de saltarse deben tener su passno
a cero. El sistema de ficheros raíz (que obviamente
debe ser revisado antes que cualquier otro) debe tener
su passno puesto a uno, y los demás
sistemas de ficheros deben tener valores mayores que uno.
Si más de un sistema de ficheros tiene el mismo
passno fsck(8) tratará
de revisarlos en paralelo en caso de ser posible.
Consulte la página de manual de fstab(5) para
mayor información sobre el formato del fichero
/etc/fstab y las opciones que contiene.
mount(8) es al fin y al cabo quien monta los sistemas de ficheros.
En su forma más básica se usa lo siguiente:
# mount dispositivo punto-de-montajeExiste una gran cantidad de opciones (las encontrará todas en mount(8)) pero las más comunes son:
-aMontar todos los sistemas de ficheros
que aparezcan en /etc/fstab,
excepto aquellos marcados como «noauto»,
excluidos por el parámetro -t o
aquellos que ya estén montados.
-dRealizar todo excepto la llamada real de montaje del
sistema. Esta opción es muy útil en caso
de problemas si se combina con la opción
-v para determinar qué es lo que
mount(8) está haciendo realmente.
-fForzar el montaje de un sistema de ficheros inestable (por ejemplo uno que da errores tras un reinicio súbito, algo que es bastante peligroso), o forzar la revocación de accesos de escritura cuando se cambia el estado de un sistema de ficheros de lectura-escritura a solo lectura.
-rMontar el sistema de ficheros como sólo lectura.
Esto es idéntico a utilizar el argumento
ro
(rdonly para versiones anteriores a
FreeBSD 5.2) en la opción -o.
-t
tipo de sistema de ficherosMontar un sistema de ficheros dado con el tipo de
sistema de ficheros, o montar solamente sistemas
de ficheros del tipo dado si se proporciona la
opción -a.
«ufs» es el sistema de ficheros por omisión.
-uActualizar puntos de montaje en el sistema de ficheros.
-vMostrar mayor información.
-wMontar el sistema de ficheros como lectura-escritura.
La opción -o toma una lista las siguientes
opciones separada por comas:
No interpretar dispositivos especiales en el sistema ficheros. Es una opción de seguridad que puede ser muy útil.
No permitir la ejecución de binarios en este sistema de ficheros. Esta también es una opción de seguridad útil.
No interpretar bits setuid o setgid en el sistema de ficheros. Esta también es una opción de seguridad útil.
umount(8) toma como parámetro un
punto de montaje, un nombre de dispositivo, o la opción
-a o -A.
Todas las formas toman -f para forzar
el desmontaje y -v para mostrar más
información. Tenga muy en cuenta que usar -f
no suele ser una forma recomendable de proceder. Desmontar a la
fuerza los sistemas de ficheros puede acarrear el congelar la
máquina o dañar los datos en el sistema de
ficheros.
-a y -A se usan para
desmontar todos los sistemas de ficheros montados,
con la ventaja de poder elegir el tipo de sistema de ficheros
que se use tras -t. De todas maneras
-A no trata de desmontar el sistema de
ficheros raíz.
FreeBSD es un sistema operativo multitarea. Esto significa que parece como si más de un programa se estuviera ejecutando al mismo tiempo. Cada programa uno de esos programas que se está ejecutando en un momento dado se denomina proceso. Cada orden que ejecuta iniciará al menos un proceso nuevo, y hay muchos procesos que se están que se están ejecutando en todo momento, manteniendo el sistema en funcionamiento.
Cada proceso tiene un identificador individual consistente en
un número llamado ID del proceso,
o PID, y al igual que sucede con los
ficheros, cada proceso tiene un propietario y un grupo. La
información de propietario y grupo se usa para determinar
qué ficheros y dispositivos puede abrir el proceso
mediante los permisos de fichero explicados anteriormente. La
mayoría de los procesos también tiene un proceso
padre. El proceso padre es el proceso que los inició. Por
ejemplo, si está tecleando órdenes en la shell,
la shell es un proceso, y cualquier orden que usted ejecute
también lo será. De este modo cada proceso que ejecute
tendrá como proceso padre a su shell. La excepción
es un proceso especial llamado init(8). init
es siempre el primer proceso, así que su PID siempre es 1.
El kernel arranca automáticamente init
en el arranque de FreeBSD.
Hay dos órdenes particularmente útiles para ver
los procesos en el sistema, ps(1) y top(1).
ps se usa para mostrar una lista estática
de los procesos que se ejecutan en el sistema en es momento, y
puede mostrar sus PID, cuánta memoria está usando,
la línea de órdenes con la que fueron iniciados y
muchas más cosas. top despliega todos
los procesos que se están ejecutando y actualiza la
pantalla cada pocos segundos para que pueda ver lo que
está haciendo su sistema.
Por omisión ps solo le muestra las
órdenes que están ejecutando
y que sean propiedad de su usuario.
Por ejemplo:
% ps
PID TT STAT TIME COMMAND
298 p0 Ss 0:01.10 tcsh
7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
48730 p0 IW 0:00.00 (dns helper) (navigator-linux-)
72210 p0 R+ 0:00.00 ps
390 p1 Is 0:01.14 tcsh
7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y
6688 p3 IWs 0:00.00 tcsh
10735 p4 IWs 0:00.00 tcsh
20256 p5 IWs 0:00.00 tcsh
262 v0 IWs 0:00.00 -tcsh (tcsh)
270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc
285 v0 S 0:38.45 /usr/X11R6/bin/sawfishComo puede ver en este ejemplo la salida de ps(1) está
organizada en columnas. PID
es el ID de proceso anteriormente expuesto. Los PIDs se asignan
a partir del 1 y hasta 99999, y vuelven a comenzar desde el 1 otra
cuando se terminan los números. La columna
TT muestra la tty en la que el programa se está
ejecutando; podemos ignorarla tranquilamente por el momento.
STAT muestra el estado del programa; de momento
también podemos ignorarlo. TIME es la
cantidad de tiempo que el programa ha se ha estado ejecutando en la
CPU (generalmente no es el tiempo transcurrido desde que se
inició el programa, ya que la mayoría de los
programas pasan mucho tiempo esperando antes
de que necesiten gastar tiempo en la CPU. Finalmente,
COMMAND es la línea de órdenes que
se empleó para ejecutar el programa.
ps(1) admite muchas opciones sobre la información
que se desea ver. Uno de los conjuntos más
útiles es auxww. a
muestra información acerca de todos los procesos
ejecutándose, no solamente los suyos. u
despliega el nombre de usuario del propietario del proceso, así
como el uso de memoria. x despliega información
acerca de los procesos dæmon y ww hace que
ps(1) despliegue la línea de órdenes completa, en lugar
de truncarla cuando es demasiado larga para caber en la pantalla.
La salida de top(1) es similar. Veamos un ejemplo:
% top
last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
47 processes: 1 running, 46 sleeping
CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle
Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top
7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14
281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA
296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu
175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
...La salida está dividida en dos secciones. La cabecera (las primeras cinco líneas) muestra el PID del último proceso en ejecutarse, la carga promedio del sistema (una medida de la carga del sistema), el «uptime» del sistema (tiempo desde el último reinicio) y la hora actual. Las otras cifras en la cabecera se relacionan con cuántos procesos hay en ejecución en el sistema (47 en este caso), cuánta memoria y espacio de intercambio (swap) está en uso, y cuánto tiempo está el sistema en diferentes estados de CPU.
Más abajo hay una serie de columnas con información similar a la salida de ps(1). Igual que antes, puede usted ver el PID, el nombre de usuario, la cantidad de tiempo de CPU en uso y la orden que se ejecutó. top(1) también mostrará por omisión la cantidad de espacio de memoria que emplea cada proceso. Está dividido en dos columnas, una para el tamaño total y otra para el tamaño residente (el tamaño total es cuánta memoria ha necesitado la aplicación y el tamaño residente es cuánta se está usando en ese momento concreto). En este ejemplo puede verse que Netscape® requerido casi 30 MB de RAM, pero actualmente solo está usando 9 MB.
top(1) actualiza automáticamente el listado cada
dos segundos, pero este lapso puede cambiarse mediante la
opción s.
cuando ejecuta un editor es fácil controlarlo, decirle que cargue ficheros y demás. Puede hacerse porque el editor permite ese control y porque el editor depende de una terminal. Algunos programas no están diseñados para ejecutarse entradas continuas por parte del usuario, así que se desconectan de la terminal a la primera oportunidad. Por ejemplo, un servidor web pasa todo el dia respondiendo peticiones web y normalmente no necesita que usted le haga caso. Los programas que transportan correo electrónico de un sitio a otro son otro ejemplo de esta clase de aplicación.
Llamamos a estos programas dæmons. Los Dæmons eran personajes de la mitología griega; no eran ni buenos ni malos, eran pequeños espíritus sirvientes que, en gran medida, hacían cosas útiles por la humanidad. Algo muy parecido a cómo los servidores web y los servidores de correo hacen hoy día tantas cosas útiles para nosotros. Por eso, desde hace mucho tiempo la mascota de BSD es ese dæmon de aspecto tan ufano con su tridente y su cómodo calzado deportivo.
Hay una norma según la cual se da nombre a los programas que
suelen ejecutarse como dæmons con una «d» final.
BIND es el dæmon de nombres de
Berkeley (y el programa que en realidad se ejecuta se llama
named); el servidor web
Apache se llama
httpd, el dæmon de «spool» de
impresora de línea es lpd y así
sucesivamente. Se trata de un acuerdo, no una ley férrea; por
ejemplo el dæmon principal de correo de
Sendmail se llama
sendmail, y no maild,
como podría suponerse visto lo precedente.
Algunas veces necesitará comunicarse con un dæmon.
Estas comunicaciones se denominan señales;
es posible comunicarse con un dæmon (o con cualquier otro proceso
ejecutándose) mandándole una señal. Existen
diversos tipos de señales diferentes que puede mandar: algunas
tienen un significado especial, otras son interpretadas por
la aplicación y la documentación de la aplicación
le dirá cómo interpreta la señal esa
aplicación). Solamente puede enviar una señal a un
del que sea usted propietario. Si manda una señal a un proceso
de otro usuario con kill(1) o kill(2) verá un mensaje
del sistema en el que se le comunica que no tiene permiso para hacer
tal cosa. La excepción a esto es el usuario
root, que puede mandar señales a los
procesos de cualquier usuario del sistema.
FreeBSD también enviará señales de
aplicación en determinados casos. Si una aplicación
está mal escrita y trata de acceder a memoria a la que no
está previsto que acceda FreeBSD manda al proceso la señal
Violación de segmento
(SIGSEGV). Si una aplicación ha utilizado
la llamada de sistema alarm(3) para ser avisada después
de que un periodo de tiempo haya transcurrido se le
mandará la señal de alarma (SIGALRM),
y así sucesivamente.
Hay dos señales que pueden usarse para detener un proceso,
SIGTERM y SIGKILL.
SIGTERM es la manera amable de matar un proceso;
el proceso puede recibir la señal,
darse cuenta que usted quiere que se apague, cerrar cualquier
fichero de log que pueda tener abierto y generalmente terminar
cualquier tarea que esté realizando en ese momento antes
de apagarse. En algunos casos un proceso puede incluso ignorar
SIGTERM si se encuentra inmerso en una
tarea que no puede ser interrumpida.
Por el contrario, un proceso no puede ignorar una señal
SIGKILL.
Esta es la señal «No me importa lo que estás
haciendo, detente ahora mismo». Si manda un
SIGKILL a un proceso FreeBSD detendrá ese
proceso inmediatamente.[4].
Otras señales que puede usar:
SIGHUP, SIGUSR1 y
SIGUSR2. Son señales de propósito
general, y aplicaciones diferentes pueden hacer cosas diferentes
cuando se utilicen.
Suponga que ha cambiado el fichero de configuración de su
servidor web; es un buen momento para decirle al servidor
web que lea y aplique la configuración. Podría detener y
reiniciar httpd, pero esto implicaría
un período breve de suspensión del servicio de su
servidor web, lo cual puede no ser asumible. La mayoría de
los dæmons fueron creados pensando en que fueran capaces de
responder a la señal
SIGHUP releyendo su fichero de configuración.
En lugar de matar y reiniciar httpd
le podría mandar la señal SIGHUP.
Dado que no hay una manera estándar para responder a estas
señales, diferentes dæmons tendrán diferente
comportamiento, así que asegúrese de leer la
documentación del dæmon en cuestión.
Las señales se envian mediante kill(1), como puede verse en el siguiente ejemplo.
Este ejemplo muestra como enviar una señal a
inetd(8). El fichero de configuración de
inetd es
/etc/inetd.conf e inetd
releerá dicho fichero de configuración cuando
se le envíe un SIGHUP.
Identifique el ID de proceso del proceso al que quiere
enviarle la señal mediante ps(1) y
grep(1). grep(1) se usa para buscar cadenas de
texto de su elección en la salida estándar.
Puede ejecutarse como un usuario normal, mientras que
inetd(8) se ejecuta como root,
así que debe pasarle los parámetros
ax a ps(1).
% ps -ax | grep inetd
198 ?? IWs 0:00.00 inetd -wWVemos que el PID de inetd(8) es 198. En algunos casos
grep inetd también
puede aparecer en esta salida. Esto se debe a la manera en que
ps(1) tiene que encontrar la lista de procesos
ejecutándose.
Utilice kill(1) para enviar la señal. Debido a que
inetd(8) está siendo ejecutado po
root tendrá que usar primero
su(1) para volverse root.
% su
Password:
# /bin/kill -s HUP 198Del mismo modo que la mayoría de órdenes UNIX®
kill(1) no imprimirá ninguna salida si ha funcionado
bien.
Si envía una señal a un proceso del que no es
el propietario verá lo siguiente: kill:
PID: Operation not permitted.
Si no teclea bien el PID puede enviar la señal a un
proceso equivocado, lo cual puede ser malo, o si tiene suerte,
habrá enviado la señal a un proceso que no está
en uso y verá el sistema le dir´ kill:
PID: No such process.
/bin/kill?: Muchas shells incorporan su propio kill;
esto es, el shell mandará la señal directamente,
en lugar de ejecutar
/bin/kill. Esto puede ser útil
pero las diferentes shells tienen diferentes sintaxis para
especificar el nombre de la señal que envían. En
lugar de tratar de aprederse todas ellas, es más
fácil simplemente usar
/bin/kill
sea la que sea la shell que prefiera usar....
El envío de otras señales es muy similar;
sustituya TERM o KILL
en la línea de órdenes según sea necesario.
En FreeBSD gran parte del trabajo diario se hace en una
interfaz de línea de órdenes llamada shell. El trabajo
principal de la shell es ir recibiendo órdenes mediante un
canal de entrada y ejecutarlos.
Muchas shells también tienen funciones integradas para ayudar
ayudar con las tareas diarias como manipulación de ficheros,
gestión de archivos con expresiones regulares,
edición en la propia línea de órdenes, macros de
órdenes y variables de entorno.
FreeBSD incluye diversas shells, como sh,
el shell Bourne y tcsh, el shell C mejorado.
Hay muchas otras shells disponibles en la colección de
ports de FreeBSD, como zsh y
bash.
?Qué shell usar? es una cuestión
de gustos. Si va a programar en C puede preferir usar una shell
tipo C, como tcsh.
Si viene del mundo Linux o si es nuevo en la interfaz de línea
de órdenes de UNIX® puede probar con bash.
Tenga en cuenta que cada shell posee unas propiedades únicas que
pueden o no funcionar con su entorno de trabajo preferido y que
puede usted elegir qué shell usar.
Una de las propiedades comunes de las shell es que completan los
nombres de fichero. Una vez que ha introducido las primeras letras
de una orden o del nombre de un fichero, se puede hacer que la shell
complete automáticamente el resto de la orden o nombre de fichero
pulsando la tecla Tab.
Veamos un ejemplo. Suponga que tiene dos ficheros
llamados talcual y tal.cual.
Usted quiere borrar tal.cual. Lo que
habría que teclear es:
rm ta[tabulador].[tabulador].
La shell mostraría en pantalla rm
ta[BIP].cual.
El [BIP] es la campana de la consola, es decir, la shell
está diciéndome que no pudo completar totalmente el nombre
de fichero porque hay más de una coincidencia.
Tanto talcual como tal.cual
comienzan por ta, pero solo se pudo completar
hasta tal. Si se teclea .,
y de nuevo tabulador la shell es capaz de
añadir el resto del nombre de fichero.
Otra función de la shell son las variables de entorno. Las variables de entorno son parejas de valores clave almacenados en el espacio de entorno del shell. Este espacio puede ser leído por cualquier programa invocado por la shell y por lo tanto contiene mucha configuración de programas. Esta es una lista de las variables de entorno más comunes y su significado:
| Variable | Descripción |
|---|---|
USER | Nombre de usuario en el sistema. |
PATH | Lista de directorios, separados por punto y coma, en los que se buscan ejecutables. |
DISPLAY | Nombre de red de la pantalla X11 a la que conectarse, si está disponible. |
SHELL | La shell actual. |
TERM | El nombre de la terminal del usuario. Se usa para determinar las características de la terminal. |
TERMCAP | Base de datos donde encontrar los códigos de escape necesarios para realizar diferentes funciones en la terminal. |
OSTYPE | Tipo de sistema operativo. Por ejemplo, FreeBSD. |
MACHTYPE | Arquitectura de CPU en la que se está ejecutando el sistema. |
EDITOR | El editor de texto preferido por el usuario. |
PAGER | El paginador de texto preferido por el usuario. |
MANPATH | Lista de directorios separados por punto y coma en los que se buscan páginas de manual. |
Establecer una variable de entorno difiere ligeramente
de shell a shell. Por ejemplo, en las shells al estilo C
como tcsh y csh,
se usa setenv para establecer
las variables de entorno. Bajo shells Bourne como
sh y bash, se
usa export para establecer
las variables de entorno actuales. Por ejemplo, para
establecer o modificar la variable de entorno
EDITOR (bajo csh o
tcsh) la siguiente orden establece
EDITOR como
/usr/local/bin/emacs:
% setenv EDITOR /usr/local/bin/emacsBajo shells Bourne:
% export EDITOR="/usr/local/bin/emacs"También se puede hacer que la mayoría de las shells
muestren el contenido de una variable de entorno situando el
carácter $ delante del nombre de la variable
en la línea de órdenes. Por ejemplo,
echo $TERM
mostrará cualquiera que sea el valor que
haya establecido para $TERM, porque la shell
expande el valor de $TERM y se lo pasa al
programa echo.
Las shells manejan muchos caracteres especiales, llamados
metacaracteres, como representaciones especiales de datos. El más
común es el caracter *, que representa
cualquier número de caracteres en un nombre de fichero. Estos
metacaracteres especiales se pueden usar para la expansión de
nombres de fichero. Por ejemplo, teclear echo * es
casi lo mismo que introducir ls porque la shell
toma todos los ficheros que coinciden con * y se
los pone en la línea de órdenes para que
echo los vea.
Para evitar que la shell interprete estos caracteres especiales
pueden escamotearse anteponiéndoles una contrabarra
(\). echo $TERM imprime
el nombre de terminal que esté usando.
echo \$TERM imprime $TERM,
literalmente.
La manera más fácil de cambiar de shell es
mediante chsh. chsh
le colocará dentro del editor que esté configurado en
la variable de entorno EDITOR; si no la ha modificado,
el sistema ejecutará vi, el editor por
omisión. Cambie la línea «Shell:» según
sus gustos.
También se le puede suministrar a chsh
la opción -s; ésto establecerá la
shell sin necesidad de entrar en el editor de texto.
Si por ejemplo quiere que bash sea su shell por
omisión puede configurarlo del siguiente modo:
% chsh -s /usr/local/bin/bashEjecutar chsh sin parámetros y
editar la shell desde ahí también funciona.
La shell que se desee usar debe estar
incluida en /etc/shells.
Si se ha instalado una shell desde la
colección de ports
esto deberí estar hecho automáticamente. Si ha
instalado la shell manualmente, tendrá usted que
realizar el cambio oportuno en
/etc/shells.
Por ejemplo, si instaló manualmente bash
y lo ubicó en /usr/local/bin
debería hacer lo siguiente:
# echo "/usr/local/bin/bash" >> /etc/shellsHecho esto vuelva a ejecutar chsh.
Gran parte de la configuración de FreeBSD se realiza modificando ficheros de texto, así que le conviene familiarizarse con alguno de ellos. FreeBSD viene con unos cuantos como parte del sistema base y encontrará muchos más en la colección de ports.
El editor de textos más sencillo y fácil de
aprender es uno llamado ee, cuyo nombre
proviene del inglés «easy editor» (editor fácil).
Para iniciar ee se debe teclear en la
línea de órdenes
ee ,
donde nombre-de-ficheronombre-de-fichero es el nombre
del fichero que se quiere editar. Por ejemplo, para editar
/etc/rc.conf
teclée ee /etc/rc.conf. Una vez dentro
de ee todas las órdenes para manipular
las funciones del editor están listadas en la parte
superior de la pantalla. El caracter ^ representa
la tecla Ctrl del teclado, por lo tanto
^e significa la combinación de teclas
Ctrl+e.
Para salir de ee pulse la tecla
Esc y elija abandonar («leave») el editor.
El editor preguntará entonces si quiere conservar los
cambios si el fichero hubiera sido modificado.
FreeBSD viene también con editores de texto mucho más
potentes, como vi, como parte del
sistema base, mientras que otros editores, como
Emacs
y vim son parte de la colección
de ports de FreeBSD
(editors/emacs y
editors/vim).
Estos editores son muchísimo más poderosos, pero tienen
la desventaja de ser un poco más complicados de aprender a
manejar.
De cualquier manera si planea hacer mucho trabajo de edición
de texto, aprender a usar un editor de texto más poderoso
como vim o Emacs
le ahorrará muchísimo más tiempo a la larga.
Dispositivo es un término utilizado
la mayoría de las veces para actividades relacionadas
con hardware del sistema, como discos, impresoras, tarjetas
gráficas y teclados. Cuando FreeBSD arranca, la
mayoría de lo que FreeBSD despliega son dispositivos
en el momento de ser detectados. Si lo desea, puede volver a
ver todos los mensajes que el sistema emite durante el arranque
consultando
/var/run/dmesg.boot.
Por ejemplo, acd0 es la
primera unidad CDROM IDE, mientras que kbd0
representa el teclado.
En un sistema operativo UNIX® debe accederse a la mayoría
de estos dispositivos a través de ficheros especiales llamados
nodos de dispositivo, que se encuentran en el directorio
/dev.
Cuando agregue un nuevo dispositivo a su sistema, o compile soporte para dispositivos adicionales, puede que necesite crear uno o más nodos de dispositivo.
El dispositivo de sistema de ficheros, o DEVFS,
ofrece acceso a dispositivos del espacio de nombres del kernel en el
espacio de nombres del sistema de ficheros global.
En lugar de tener que crear y modificar nodos de dispositivo,
DEVFS se encarga del mantenimiento
dinámico de este sistema de fichero.
Consulte devfs(5) si quiere más información.
Para poder entender por qué FreeBSD utiliza el formato elf(5) primero debe saber ciertas cosas sobre los tres formatos de ejecutables «dominantes» en UNIX®:
El formato objeto de UNIX® más antiguo y «clásico». Utiliza una cabecera corta y compacta con un número mágico al inicio que se usa frecuentemente para identificar el formato (vea a.out(5) para más información). Contiene tres segmentos cargados: .text, .data, y .bss además de una tabla de símbolos y una tabla de cadena («strings»).
COFF
El formato objeto de SVR3. La cabecera consiste en una tabla de sección, para que pueda tener más contenido además de las secciones .text, .data, y .bss.
Es el sucesor de COFF; dispone de secciones múltiples y valores posibles de 32-bits o 64-bits. Una gran desventaja: ELF fué también diseñado asumiendo que solamente existiría una ABI por cada arquitectura de sistema. Esa suposición es en realidad bastante incorrecta y ni siquiera en el mundo comercial SYSV (el cual tiene al menos tres ABIs: SVR4, Solaris y SCO) se puede dar por buena.
FreeBSD trata de solucionar este problema de alguna manera ofreciendo una herramienta para marcar un ejecutable ELF conocido con información acerca de la ABI con la que funciona. Si quiere más información consulte la página de manual de brandelf(1).
FreeBSD viene del campo «clásico» y ha
utilizado el formato a.out(5), una tecnología usada
y probada en muchas de muchas generaciones de versiones de
BSD hasta el inicio de la rama 3.X. Aunque era posible
compilar y ejecutar binarios nativos ELF
(y kernels) en un sistema FreeBSD desde algún tiempo
antes de esto, FreeBSD al principio se mantuvo
«contra corriente» y no cambió a
ELF como formato por defecto.
?Por qué? Bueno, cuando el mundo Linux
efectuó su dolorosa transición a
ELF no fué tanto por huir del formato
a.out como por su inflexible mecanismo de
bibliotecas compartidas basado en tablas de saltos, que
hacía igual de difícil la construcción de
bibliotecas compartidas tanto para los desarrolladores como para
los proveedores.
Ya que las herramientas ELF
disponibles ofrecían una solución al problema de
las bibliotecas compartidas y eran vistas por mucha gente como
«la manera de avanzar», el costo
de migración fué aceptado como necesario y se
realizó la transición. El mecanismo de
bibliotecas compartidas de FreeBSD está diseñado de
manera más cercana al estilo del sistema de
bibliotecas compartidas de SunOS™ de Sun y, como tal, es
muy sencillo de utilizar.
Entonces, ?por qué existen tantos formatos diferentes?
En un tiempo muy, muy lejano, existía hardware simple.
Este hardware tan simple soportaba un sistema pequeño, simple.
a.out era idóneo para el trabajo
de representar binarios en este sistema tan simple (un PDP-11). A
medida que la gente portaba UNIX® desde este sistema simple,
retuvieron el formato a.out debido a que
era suficiente para los primeros portes de UNIX® a arquitecturas
como 68k de Motorola, VAXen, etc.
Entonces algún brillante ingeniero de hardware decidió
que si podía forzar al software a hacer algunos trucos
sucios podría sortear ciertos obstáculos del
diseño y permitir al núcleo de su CPU correr más
rápidamente. Aunque estaba hecho para trabajar con este nuevo
tipo de hardware (conocido entonces como RISC),
a.out no estaba bien adaptado para este
hardware, así que varios formatos fueron desarrollados
para obtener un rendimiento mayor de este hardware que el
podía extraerse del limitado y simple formato
a.out.
Así fué cómo COFF,
ECOFF y algunos otros formatos más
extraños fueron inventados y sus limitaciones exploradas hasta
que se fué llegando a la elección de
ELF.
Además, el tamaño de los programas estaba
volviendose gigante y los discos (y la memoria física)
eran relativamente pequeños, así que el concepto
de una biblioteca compartida nació. El sistema
VM también se volvió más sofisticado.
A pesar de que todos estos avances se hicieron utilizando
el formato a.out, su utilidad se iba reduciendo
paulatinamente con cada nueva opción. Además,
la gente quería cargar cosas dinámicamente en el momento
de ejecución, o descartar partes de su programa después de
que el código de inicio se ejecutara para ahorrar memoria
principal y espacio de swap. Al volverse más sofisticados los
lenguajes, la gente empezó a ver la necesidad de introducir
código antes del inicio del programa de forma automática.
Se hicieron muchos hacks al formato a.out para
permitir que todas estas cosas sucedieran y lo cierto es que por un
tiempo funcionaron. Pero a.out no estaba
para solucionar todos estos problemas sin incrementar la carga
y complejidad del código. Aunque ELF
resolvía muchos de estos problemas, en ese momento hubiera sido
terrible dejar de lado un sistema que funcionaba,
así que
ELF tuvo que esperar hasta que fué más
doloroso permanecer con a.out que migrar a
ELF.
De todas maneras, con el paso del tiempo las herramientas de compilación de las que FreeBSD derivó las suyas (en especial el ensamblador y el cargador) evolucionaron en dos árboles paralelos. El árbol FreeBSD FreeBSD añadió bibliotecas compartidas y corrigió algunos errores. La gente de GNU (que fueron quienes escribieron estos programas) los reescribió y añadieron una forma más simple de disponer de compiladores cruzados («cross compilers»), el uso de diferentes formatos, etc. Aunque mucha gente quería compiladores cruzados con FreeBSD como «blanco» no hubo suerte, porque los fuentes que que FreeBSD tenía para as y ld no estaban listos para cumplir esa tarea. La nueva cadena de herramientas GNU (binutils) soporta compilación cruzada, ELF, bibliotecas compartidas, extensiones C++, etc. Además, muchos proveedores están liberando binarios ELF y es algo muy bueno que FreeBSD los pueda ejecutar.
ELF es más expresivo que
a.out
y permite un sistema base más extensible.
Las herramientas ELF están mejor
mantenidas y ofrecen soporte de compilación cruzada,
muy importante para mucha gente.
ELF puede ser un poco más lento que
a.out, pero tratar de medirlo puede ser
difícil. También existen numerosos detalles
que son diferentes entre los dos en cómo gestionan páginas,
cómo gestionan código de inicio, etc. Ninguna
es muy importante, pero las diferencias existen. Con el tiempo,
el soporte para a.out será eliminado
del kernel GENERIC y es muy posible que
se elimine del kernel la posibilidad de ejecutar tales binarios
una vez que la necesidad de usar programas
a.out haya pasado.
La documentación más exhaustiva de FreeBSD
está en las páginas de manual. Casi todos los
programas del sistema vienen con un breve manual de referencia
explicando el funcionamiento básico y sus diferentes argumentos.
Estos manuales pueden revisarse mediante man.
El uso de man es simple:
% man ordenorden es el nombre de la orden sobre la que
que desea saber más. Por ejemplo, para más información
sobre ls escriba:
% man lsEl manual en línea está dividido en secciones numeradas:
Comandos de usuario.
Llamadas al sistema y números de error.
Funciones en las bibliotecas de C.
Controladores de dispositivo.
Formatos de fichero.
Juegos y demás pasatiempos.
Información sobre temas diversos.
Comandos relacionados con el mantenimiento del sistema y su funcionamiento.
Desarrolladores del Kernel.
En algunos casos, el mismo tema puede aparecer en más de
una sección del manual en línea. Por ejemplo,
existe una orden de usuario chmod y una
llamada del sistema chmod(). En este caso
se le puede decir a man
cuál desea consultar especificando la sección:
% man 1 chmodEsto desplegará la página de manual de la
orden de usuario chmod. Las referencias
a una sección concreta del manual en línea
tradicionalmente suelen colocarse entre paréntesis
en la documentación escrita, por lo tanto chmod(1)
se refiere a la orden de usuario chmod y
chmod(2) se refiere a la llamada de sistema.
Esto está muy bien si se conoce el nombre del programa y
simplemente se quiere saber como usarlo. Pero ?y si no
puede recordar el nombre de la orden? Se puede usar man para que
realice una búsqueda mediante palabras clave en las descripciones
de programas utilizando el argumento -k:
% man -k mailDicha orden mostrará una lista de
órdenes que contengan la palabra clave «mail»
en sus descripciones. Esto es funcionalmente
equivalente a usar apropos.
Así que, ¿está viendo todos esos programas
tan atractivos en /usr/bin pero no tiene
ni la menor idea de lo que la mayoría de ellos hace?
Haga lo siguiente:
% cd /usr/bin
% man -f *o
% cd /usr/bin
% whatis *que hace exactamente lo mismo.
FreeBSD incluye muchas aplicaciones y utilidades producidas
por la FSF (Free Software Foundation). Además de con
las correspondientes páginas de manual, estos programas
vienen con documentos de hipertexto más detallados,
llamados ficheros info, los
cuales pueden ser visualizados con info,
o si tiene instalado emacs, con
el modo info de emacs.
Si quiere utilizar la orden info(1) teclée:
% infoPara una breve introducción teclée h.
Cuando necesite una referencia rápida, teclée
?.
[1] Esto es lo que i386 significa. Tenga en
cuenta que incluso si no está ejecutando FreeBSD en una CPU
Intel 386, éste va a ser i386.
No es el tipo de su procesador, sino la
«arquitectura» la que se muestra aquí.
[2] Los «scripts» de inicio son programas que FreeBSD ejecuta automáticamente cuando arranca. Su función principal es preparar todo lo necesario para que todo lo demás se ejecute, e iniciar cualquier servicio que tenga configurado para ejecutarse en segundo plano algo útiles.
[3] Tiene una descripción bastante técnica y correcta de todos los detalles de la consola FreeBSD y los controladores de teclado pueden encontrarse en las páginas de manual de syscons(4), atkbd(4), vidcontrol(1) y kbdcontrol(1). No nos extenderemos en los detalles aquí, pero el lector interesado siempre puede consultar dichas páginas de manual si quiere una explicación más detallada y profunda de cómo funcionan estas cosas.
[4] Esto no es del todo cierto (ciertas cosas no pueden ser interrumpidas. Por ejemplo, si el proceso está tratando de leer desde un fichero que está en otro sistema de la red, y el otro sistema no está disponible por alguna razón (por estar apagada, o que la red tenga un fallo), tenemos un caso de lo que llamamos «proceso ininterrumpible». Más tarde, al proceso se le acabará el tiempo de espera, generalmente pasados dos minutos. Tan pronto como esto ocurra el proceso será liquidado.
FreeBSD viene con 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 «packages»(paquetes) binarios. Cualquiera de los dos sistemas puede usarse para instalar las versiones más recientes, de forma local o directamente desde la red.
Después de leer este capítulo usted sabrá:
Cómo instalar packages binarios de software de terceros.
Cómo compilar software de terceros desde la Colección de Ports.
Cómo eliminar packages o ports instalados previamente.
Cómo sobreescribir los valores por omisión que utiliza la colección de ports.
Cómo encontrar la aplicación adecuada.
Cómo actualizar aplicaciones.
Si 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.
Desempaquetar el software de su formato de distribución (normalmente en un «tarball» comprimido con compress(1), gzip(1) o bzip2(1)).
Consultar 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 se distribuye como fuente, compilarlo. Esto
puede requerir que editemos el fichero Makefile
o que ejecutemos el «script»
configure, entre otras cosas.
Instalar y probar el software.
Y esto solamente si todo marcha bien. Si está instalando un software que no ha sido portado específicamente para FreeBSD, puede que sea necesario editar el código para que funcione correctamente.
Si lo desea puede continuar instalando software de la forma «tradicional» en FreeBSD, aunque FreeBSD dispone de dos tecnologías que le pueden ahorrar gran cantidad de tiempo y esfuerzo: los packages y los ports. En el momento de escribir esto existen más de 24,000 aplicaciones de terceros.
En cualquier aplicación el paquete de FreeBSD es un solo fichero que tiene que descargar. Los paquetes contienen copia de los programas binarios precompilados de la aplicación, así como cualquier fichero de configuración o documentación. Los paquetes descargados se pueden manipular con las herramientas de gestión de paquetes de FreeBSD: pkg_add(1), pkg_delete(1), pkg_info(1), etc. Instalar una aplicación nueva puede realizarse con una sola orden.
Un port de FreeBSD es una colección de ficheros diseñada para automatizar el proceso de compilación desde el código fuente.
Recuerde que existen ciertos pasos que deberá llevar a cabo para compilar un programa por usted mismo (descargar, desempaquetar, parchear, compilar e instalar). Los ficheros que conforman un port permiten que el sistema se encargue de todo esto. Usted ejecuta un conjunto simple de órdenes y el código fuente se descarga, desempaqueta, parchea, compila e instala.
De hecho el sistema de ports también se puede usar para crear
paquetes que posteriormente se pueden manipular con
pkg_add y las
demás utilidades de gestión de packages 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 biblioteca
específica esté instalada. Tanto la biblioteca como la
aplicación existen en FreeBSD como paquete o port. Si utiliza
pkg_add o el sistema de ports para instalar
la aplicación ambos notarán que la biblioteca no
está instalada y procederán a instalarla antes que
nada.
Dado que ambas tecnologís son similares quizás se pregunte por qué FreeBSD se toma la molestía de contar con ambas. Los Packages y los Ports tienen sus propias ventajas, así que cuál utilizar dependerá de su elección en cada momento.
El fichero tarball de un package es normalmente más pequeño que el tarball con el código fuente de la aplicación.
Los paquetes no requieren compilación. En el caso de aplicaciones grandes, como Mozilla, KDE, o GNOME este detalle puede ser importante, especialmente si usa un equipo lento.
Los paquetes no requieren que comprenda el proceso que envuelve el compilar software bajo FreeBSD.
Normalmente los paquetes se compilan con opciones conservadoras, en virtud del gran número de equipos donde se instalarán. Al instalar como port puede usted editar las preferencias para (por ejemplo) generar código específico para un procesador Pentium IV o Athlon.
Algunas aplicaciones tienen opciones sobre lo que pueden y lo que no pueden hacer. Por ejemplo Apache se puede configurar con una gran variedad de opciones. Al compilarlo desde los ports usted no tiene por que aceptar las opciones predefinidas, puede seleccionar que opciones desea.
En algunos casos existen varios paquetes para la misma
aplicación con diferentes opciones. Por ejemplo,
Ghostscript está disponible
como paquete
ghostscript y como paquete
ghostscript-nox11, dependiendo de si usted
cuenta o no con servidor X11. En este caso decidir puede ser
sencillo e incluso pueden facilitarse packages con ambas opciones,
pero elegir se puede volver un problema si hay más de
una o dos opciones de compilación.
Las condiciones de la licencia de algunas aplicaciones prohiben la distribución de binarios. Solo permiten la distribución del código fuente.
Existe gente que no confía en los binarios. Al menos puede usted (en teoría) revisar el código fuente y localizar problemas potenciales.
Si tiene parches locales necesitará el código fuente para poder aplicarlos.
Hay gente a la que le gusta tener el código fuente para poder leerlo en ratos de ocio, modificarlo, tomar partes prestadas (cuando la licencia lo permite, claro está), etc.
Para tener constancia de los ports actualizados, suscríbase a la lista de correo sobre los ports de FreeBSD y a la lista de correo sobre errores en los ports de FreeBSD.
Antes de instalar cualquier aplicación consulte http://vuxml.freebsd.org para comprobar los posibles problemas de seguridad relacionados con ella.
También puede instalar security/portaudit que automáticamente
comprobará las vulnerabilidades conocidas de todas las
aplicaciones instaladas; también lo comprobará antes de
compilar cualquier port. Mientras tanto, puede usar
portaudit -F -a después de instalar
algunos packages.
El resto de este capítulo le explicará cómo usar los ports y los packages para instalar software de terceros en FreeBSD.
Antes de poder instalar cualquier software debe saber qué es lo que quiere instalar y cómo se llama la 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 lista (actualizada y que admite búsquedas) de todas las aplicaciones disponibles para FreeBSD en la dirección http://www.FreeBSD.org/ports/ . Esta base esta dividida en categorías, y puede buscar por nombre (si lo sabe) o bien listar las aplicaciones disponibles en cierta categoría.
Dan Langille mantiene FreshPorts en http://www.FreshPorts.org/. FreshPorts verifica los cambios en las aplicaciones del árbol de ports, y le permite «seguir» uno o más ports, sobre los que le enviarán un correo cada vez que se actualicen.
Si no conoce el nombre de la aplicación que desea pruebe a usar un sitio como FreshMeat (http://www.freshmeat.net/) para encontrar una aplicación; después consulte el sitio web de FreeBSD para ver si la aplicación ha sido portada.
Si sabe el nombre exacto del port y solo necesita saber
en qué categoria está puede usar
whereis(1). Simplemente escriba whereis
, donde
ficherofichero es el programa que quiera
instalar. Si está en su sistema, le dirá dónde
está:
# whereis lsof
lsof: /usr/ports/sysutils/lsofEsto nos dice que lsof (una utilidad de
sistema) está en el directorio
/usr/ports/sysutils/lsof.
Otra forma de encontrar un port en particular es usando
el mecanismo de búsqueda integrado en la colección de
ports. Para poder usar esta opción de búsqueda
debe estar en el directorio /usr/ports. Una
vez en ese directorio ejecute make search
name=, donde
nombre-del-programanombre-del-programa es el nombre
del programa que desea encontrar. Por ejemplo, si busca
lsof:
# cd /usr/ports
# 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: Debe prestar especial atención a la línea «Path:»de la salida, porque es la que indica dónde puede encontrar el port. El resto de información no se necesita para instalar el port.
Si quiere hacer una búsqueda más a fondo
utilice make
search key= donde
cadenacadena es el término que busca.
Podrá buscar nombres de ports, comentarios,
descripciones y dependencias; también se puede usar
para encontrar ports que tengan relación con
algún tema en particular si no conoce el nombre del
programa que busca.
En ambos casos la cadena de búsqueda no distingue entre mayúsculas y minúsculas. Buscar «LSOF» dará los mismos resultados que buscar «lsof».
Puede usar pkg_add(1) para instalar un package de FreeBSD desde un fichero local o desde un servidor remoto vía red.
# 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
# pkg_add lsof-4.56.4.tgzSi no tiene una fuente local de packages (por ejemplo
un CDROM de FreeBSD) probablemente la mejor
opción sea utilizar el argumento -r de
pkg_add(1), que hará que determine
automáticamente el formato del objeto correcto, para
posteriormente descargarlo e instalarlo desde un FTP.
# pkg_add -r lsofEn el ejemplo anterior el package correspondiente se
descargará e instalará sin intervención
del usuario. Si desea utilizar una réplica
(«mirror») de packages que no sea el sitio principal
de FreeBSD solo tiene configurar la variable de entorno
PACKAGESITE correctamente para
sobreescribir el sitio predefinido. pkg_add(1) utiliza
fetch(1) para descargar los ficheros, tomando como
referencia varias variables de entorno, como
FTP_PASSIVE_MODE, FTP_PROXY y
FTP_PASSWORD. Quizás deba modificar alguna de
estas si se encuentra detrás de un cortafuegos, o usa un
proxy FTP/HTTP. Consulte fetch(3) si quiere ver una lista
completa. Observe también que en el ejemplo anterior
usamos lsof en vez de
lsof-4.56.4.
Cuando usamos la opción de descarga remota no es
necesario especificar la versión del paquete.
pkg_add(1) descargará automáticamente la
última versión de la aplicación.
pkg_add(1) descargará la última
versión de su aplicación si usa FreeBSD-CURRENT o
FreeBSD-STABLE, pero si usa una versión -RELEASE,
descargará la versión del package que se
construyó con dicha versión. Es posible configurar
esto sobreescribiendo la variable de entorno
PACKAGESITE.
Los packages se destribuyen en formatos
.tgz y .tbz.
Puede encontrarlos en ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/,
o en la distribución de FreeBSD en CD-ROM. Todos los
CDs en el set de 4 CDs de FreeBSD (y en el PowerPak, etc.)
contienen packages en el directorio
/packages. La estructura de los
packages es similar a la del arbol de
/usr/ports. Cada categoría
tiene su propio directorio, y todos los paquetes se pueden
encontrar dentro del directorio All.
La estructura del directorio de packageckages es idéntica a la de los ports, y funcionan como un todo para conformar el sistema de paquetes/ports.
La siguiente sección incluye las instrucciones básicas para instalar o eliminar programas mediante la Colección de Ports de su sistema.
Para poder instalar ports primero debe hacerse, obviamente, con
la Colección de Ports—; en esencia está compuesta
por Makefiles, parches y ficheros con la
descripción de los ports y está en
/usr/ports.
Cuando instaló su sistema FreeBSD el programa sysinstall le preguntó si querí instalar la Colección de Ports. Si contestó que no siga estas instrucciones:
Este es un método rápido de conseguir y mantener una copia de la Colección de Ports al dia mediante el protocolo CVSup. Si quiere saber más sobre CVSup consulte Uso de CVSup.
La implementación del protocolo
CVSup que se incluye en FreeBSD se llama
csup. Apareció en FreeBSD 6.2.
Los usuarios de releases anteriores de FreeBSD puden instalar net/csup como port o package.
Asegúrese de que /usr/ports
está vacío antes de ejecutar csup
por primera vez. Si ya tiene la Colección de Ports porque la
ha instalado por otros medios csup
no purgará los parches de ports eliminados.
Ejecute csup:
# csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfileCambie
cvsup.FreeBSD.org por algún
otro servidor CVSup que tenga cerca.
Consulte Réplicas CVSup (Sección 30.2.2, “Servidores”), donde encontrará una lista
completa de las réplicas CVSup.
Puede usar una versión de
ports-supfile confeccionada a su gusto,
por ejemplo para evitar tener que indicarle el nombre del
servidor CVSup a mano.
Haga lo siguiente: como root copie
/usr/share/examples/cvsup/ports-supfile
en otro sitio, por ejemplo
/root o su directorio /home.
Edite ports-supfile.
Reemplace
CHANGE_THIS.FreeBSD.org
por un servidor CVSup que
esté cerca de donde esté usted. Consulte
Réplicas
CVSup (Sección 30.2.2, “Servidores”) si necesita
ver una lista completa de las mismas.
Ejecute csupdel siguiente
modo:
# csup -L 2 /root/ports-supfileAl ejecutar csup(1) descargará y aplicará todos los cambios recientes que haya sufrido la Colección de Ports, pero tenga en cuenta que no actualizará ninguno de los ports que ya tenga instalados en su sistema.
Portsnap es un método
alternativo de distribuir la Colección de Ports. Se
incluyó por primera vez en FreeBSD 6.0. Puede
instalar portsnap(8) en versiones anteriores de FreeBSD
como port (ports-mgmt/portsnap) o como
package:
# pkg_add -r portsnapPuede saltarse esta paso a partir de FreeBSD 6.1-RELEASE
y en versiones recientes de
Portsnap (port o package).
/usr/ports se creará
automáticamente la primera vez que ejecute
portsnap(8). En versiones anteriores de
portsnap había que crear
un /usr/ports vacío si
no existía previamente:
# mkdir /usr/portsDescargue una instantánea comprimida de la
Colección de Ports en
/var/db/portsnap. Hecho esto
puede desconectar de Internet si quiere.
# portsnap fetchSi está ejecutando Portsnap por
vez primera debe extraer la instantánea en /usr/ports:
# portsnap extractSi ya tiene un /usr/ports y solamente está
actualizando su árbol de ports ejecute lo siguiente:
# portsnap updateEste método implica el uso de sysinstall para instalar la Colección de Ports.
Como usuario root ejecute
sysinstall
(/stand/sysinstall en cualquier versión
previa a FreeBSD 5.2); del siguiente modo:
# sysinstallPosiciónese en la opción y pulse Intro.
Seleccione la opción y pulse Intro.
Seleccione la opción y pulse la barra espaciadora.
Seleccione el medio de instalación deseado (CDROM, FTP, etc.)
Diríjase a la opción y pulse Intro.
Pulse X para salir de sysinstall.
Al hablar de la Colección de Ports lo primero que hay que explicar es a qué nos referimos cuando hablamos de un «esqueleto» (skeleton). El esqueleto de un port es un conjunto mínimo de ficheros que indican a FreeBSD cómo compilar e instalar un programa. Cada esqueleto incluye:
Un Makefile. Este
Makefile contiene diversas sentencias
que le indican al sistema cómo compilarlo y dónde
instalarlo en su sistema.
Un fichero distinfo. Este fichero
contiene información sobre los ficheros que se debe
descargar para poder compilar el programa, así como el
identificador «checksum», que se usa para comprobar
mediante md5(1) que la descarga ha sido correcta y que el
la integridad del fichero está garantizada.
Un directorio files. Este directorio
contiene los parches necesarios para compilar e instalar
el programa en su sistema FreeBSD. Básicamente los parches
son pequeños ficheros que especifican cambios en ficheros
concretos. Su formato es en texto plano y suelen decir cosas
como «borra la línea 10» o
«Cambia la línea 26 por esto».
Estos parches también se conocen como
«diffs» ya que se generan con
diff(1).
Es posible que este directorio tambié contenga algún otro fichero necesario para compilar e instalar el port.
Un fichero pkg-descr. Es una
descripción más detallada del programa.
En algunas ocasiones ocupa varias líneas.
Un fichero pkg-plist. Es una lista de
todos los ficheros que instalará el port.
También le indica al sistema de ports qué ficheros
eliminar durante la desinstalación del programa.
Algunos ports tienen otros ficheros, como
pkg-message. El sistema de ports los usa para
gestionar situaciones especiales. Si desea conocer los detalles,
incluso sobre los ports en general, consulte el libro FreeBSD Porter's Handbook.
El port incluye las instrucciones necesarias para obtener software a partir del código fuente, pero no incluye el código. Puede obtener el código desde un CDROM o desde Internet. El código se distribuye del modo que el autor estime oportuno. Normalmente es un fichero tar comprimido con gzip, pero puede comprimirse con otra herramienta o incluso no estar comprimido. El código del programa, venga como venga, se llama «distfile». A continuación veremos los dos métodos de instalación de un port.
Debe ser el usuario root para
instalar ports.
Antes de instalar cualquier port asegúrese de tener la Colección de Ports actualizada y de comprobar en http://vuxml.freebsd.org/ la existencia de posibles problemas de seguridad que pudiera tener el port.
Puede realizar la comprobación de seguridad
con portaudit antes de instalar
cualquier aplicación. Esta herramienta está
en la Colección de Ports (security/portaudit). Le rogamos
que al menos considere ejecutar
portaudit -F antes de instalar un port nuevo
para que descargue la nueva base de datos de vulnerabilidades.
Durante la comprobación diaria de seguridad
actualizará la base de datos y hará una
auditoría del sistema. Para más información
lea las páginas de manúal de
portaudit(1) y periodic(8).
La Colección de Ports asume que tiene usted conexión
con Internet. Si no es así tendrá que disponer de una
copia del distfile en /usr/ports/distfiles.
El primer paso es ubicarse en el directorio del port que desea instalar:
# cd /usr/ports/sysutils/lsofUna vez en el directorio lsof puede
ver el esqueleto del port. El siguiente paso es compilar el
port. Solamente tiene que teclear
make en el prompt. Una vez hecho
verá algo como esto:
# make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===> Extracting for lsof-4.57
...
[La salida de la descompresión se ha eliminado]
...
>> 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
...
[La salida de la configuración se ha eliminado]
...
===> Building for lsof-4.57
...
[La salida de la compilación se ha eliminado]
...
#Una vez que acabe la compilación
se le devolverá el control del prompt. El siguiente
paso es instalar el port. Para ello bastará con que
añada una palabra a la orden
make: esa palabra es
install:
# make install
===> Installing for lsof-4.57
...
[La salida de la instalación se ha eliminado]
...
===> 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.
#Una vez que vuelva usted al prompt podrá ejecutar la
aplicación que acaba de instalar. Dado que
lsof es un programa que se ejecuta con
privilegios altos se le ha mostrado una advertencia de
seguridad. Durante la compilación e instalación
es posible que hayan aparecido otros.
Le recomendamos que borre el directorio que contiene todos los ficheros temporales necesarios durante la compilación. No solo consume valioso espacio en disco sino que puede dar problemas cuando vaya a actualizar el port a una versión más reciente.
# make clean
===> Cleaning for lsof-4.57
#Puede ahorrarse teclear dos pasos si para instalar un port
teclea make
en lugar de
install cleanmake,
make y
installmake
como tres pasos separados.clean
Algunas shells mantienen una caché de
órdenes disponibles en los directorios que aparecen
en la variable de entorno
PATH con el fin de acelerar las operaciones
de búsqueda de ejecutables de esas órdenes.
Si usa una de esas shells tendrá que utilizar la
orden rehash tras instalar un port o
no podrá ejecutar aplicaciones recién
instaladas. Esta orden funciona en shells como
tcsh. Utilice hash -r
en shells sh. Para más
información consulte la documentación de
su shell.
Algunos DVD-ROM de terceros, como el FreeBSD Toolkit
de FreeBSD
Mall contienen distfiles. Puede usarlos con la Colección
de Ports. Monte el DVD-ROM en /cdrom. Si
utiliza un punto de montaje diferente asigne a
CD_MOUNTPTS el valor adecuado. Los
distfiles se irán copiando automáticamente
a medida que vayan siendo necesarios.
Por favor, tenga en cuenta que la licencia de unos cuantos ports muy concretos no permite su distribución en CD-ROM. Puede deberse a que es necesario rellenar un formulario de registro antes de descargarlo, porque la redistribución no esté permitida o por otra razón. Si quiere instalar un port que no está en el CD-ROM tendrá que tener salida a Internet.
El sistema de ports utiliza fetch(1) para descargar
ficheros; en este proceso intervienen varias variables de
entorno, como FTP_PASSIVE_MODE, FTP_PROXY,
y FTP_PASSWORD. Si está detrás de
un cortafuegos tendrá que asignar valores a una o
más de estas variables, así como si necesita
utilizar un proxy FTP/HTTP. Consulte fetch(3), donde
econtrará una lista detallada.
La opción make
se creó para
los usuarios que no disponen de conexión contínua.
Ejecute esta orden en el directorio raíz
(fetch/usr/ports) y se descargarán todos
los ficheros necesarios. Esta orden también funciona en
directorios situados más abajo, por ejemplo
/usr/ports/net. Tenga en cuenta que si un
port depende de librerías u otros ports éstos
distfiles no se descargarán, a
menos que reemplace fetch por
fetch-recursive, que se encargará
de descargar todas las dependencias de cada port.
Si quiere compilar todos los ports de una
categoría y de una sola vez ejecutando la orden
make en el directorio raíz, de muy
similar manera que lo que se acaba de ver con
make. Tenga en
cuenta que esto es bastante peligroso porque algunos ports no
pueden coexistir. También se dan casos de ports que
instalan instalan dos ficheros diferentes con el mismo
nombre.fetch
En algunos casos (raros) el usuario tendrá que
descargar los tarball de un sitio que no es el que se guarda
en la variable de entorno MASTER_SITES
(el sitio desde el que se descargan todos los demás
normalmente). Puede sobreescribir la opción
MASTER_SITES con la siguiente
orden:
# cd /usr/ports/directory
# make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetchEn este ejemplo vamos a darle a la opción
MASTER_SITES el valor ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Algunos ports permiten (o incluso exigen) que se le
faciliten opciones de compilación para activar o desactivar
partes de la aplicación que no se necesiten, determinadas
opciones de seguridad, etc. Casos típicos de esto son
www/mozilla, security/gpgme, and mail/sylpheed-claws. Cuando debe
usted tomar este tipo de decisiones se le muestra un mensaje
con las opciones disponibles.
Algunas veces es útil (u obligatorio) utilizar un
directorio de trabajo o un «target» distinto al
que tenemos por omisión. Las variables de entorno
WRKDIRPREFIX y PREFIX
pueden sobreescribirse según nuestra conveniencia. Veamos
un ejemplo:
# make WRKDIRPREFIX=/usr/home/ejemplo/ports installcompilará el port en
/usr/home/ejemplo/ports y lo instalará
en /usr/local.
# make PREFIX=/usr/home/ejemplo/local installlo compilará en /usr/ports y lo
instalará en
/usr/home/ejemplo/local.
Y por supuesto,
# make WRKDIRPREFIX=../ports PREFIX=../local installcombinará ambas; (ocupa demasiado para mostrarlo en una página, pero la idea general queda clara).
Puede asignar valores a estas variables del mismo modo que a cualquier otra de su entorno. Consulte la documentación de su shell para más información.
Algunos ports que usan imake
(un componente del Sistema X Window) no funcionan correctamente
con PREFIX e insistirán en instalarse
en /usr/X11R6. Del mismo modo
algunos ports de Perl ignoran PREFIX y se
instalan en el árbol de Perl. Hacer que estos ports
respeten PREFIX es difícil y a veces
imposible.
Al compilar ciertos ports se le presentará un
menú basado en ncurses en el cual podrá elegir
entre más o menos opciones de compilación. No es
raro que los usuarios quieran volver a usar ese menú para
añadir, quitar o cambiar opciones una vez que el port ya
está compilado. Hay bastantes formas de hacerlo. Una
manera es entrar al directorio que contiene el port y teclear
make
, que hará que se
le presente de nuevo el menú con las opciones que estuvieran
seleccionadas previamente. Otra opción es usar la orden
configmake , que
le mostrará todas las opciones de configuración del
port. Hay otra opción más, showconfigmake
, que borrará
todas las opciones que estuvieran seleccionadas y le permitirá
por tanto empezar desde cero. Todas estas opciones y muchas
más las encontrará descritas con gran detalle en
ports(7).rmconfig
Ahora que sabe instalar ports probablemente quiera saber
cómo eliminarlos; puede que haya instalado alguno y
posteriormente se haya dado cuenta de que ha instalado el port
incorrecto. Vamos a desinstalar el port del ejemplo anterior
(que, para todos aquellos que no estaban atentos, era
lsof). Igual que al instalar ports, lo primero
que debemos hacer es ubicarnos en el directorio del port que
deseamos eliminar del sistema, en nuestro caso
/usr/ports/sysutils/lsof. Los ports se
desinstalan exactamente igual que los packages; esto se
explica en la sección de packages) utilizando
la orden pkg_delete(1):
# pkg_delete lsof-4.57Antes de nada necesita ver una lista de ports instalados de los cuales exista una nueva versión en la Colección de Ports. Utilice pkg_version(1):
# pkg_version -vUna vez actualizada la Colección de Ports (y
antes de intentar actualizar ningún
port) debe consultar
/usr/ports/UPDATING. Este fichero describe
todas las novedades, problemas que pueden encontrarse y pasos que
deben seguir los usuarios al actualizar un port; hay cambios de
formato, cambios de ubicación de ficheros de
configuración o incompatibilidades con versiones
anteriores.
Si UPDATING se contradice de cualquier modo
con lo que lea aquí tenga muy encuenta que lo que aparezca en
UPDATING tiene prioridad absoluta.
La aplicación portupgrade
se diseñó para actualizar fácilmente los ports
instalados en un sistema. Puede instalarla desde el port ports-mgmt/portupgrade. La
instalación es como al de cualquier otro port, use la orden
make command:install
clean
# cd /usr/ports/ports-mgmt/portupgrade
# make install cleanCompruebe la lista de ports instalados con pkgdb
-F y arregle todas las inconsistencias que aparezcan. Le
recomendamos que haga esta comprobación de forma regular y
siempre antes de una actualización.
Si ejecuta portupgrade -a
portupgrade intentará actualizar
todos y cada uno de los ports instalados en su sistema. Utilice el
parámetro -i si quiere que le pida
confirmación antes de actualizar cada uno de los ports.
# portupgrade -aiSi solamente quiere actualizar una sola aplicación (y no
absolutamente todos los ports) utilice la orden portupgrade
.
Añada el modificador nombre-de-aplicación-R si quiere que
portupgrade actualice antes todos los
ports de los que depende la aplicación en cuestión.
# portupgrade -R firefoxSi quiere usar packages en lugar de ports use el modificador
-P flag. Con esta opción
portupgrade busca en los directorios
locales que aparezcan en PKG_PATH o descarga los
packages desde un sitio remoto si es que no los encuentra en
local. Si es imposible encontrar los packages ni en local ni en
remoto portupgrade utilizará
ports. Si no quiere usar ports pase lo que pase utilice el
modificador -PP.
# portupgrade -PP gnome2Si quiere solamente descargar los distfiles (o los packages,
usando -P) sin compilar ni instalar nada,
use -F. Para más información
consulte portupgrade(1).
Portmanager es otra aplicación
pensada para la actualización sencilla de ports instalados
en el sistema. Puede encontrarla en
ports-mgmt/portmanager:
# cd /usr/ports/ports-mgmt/portmanager
# make install cleanPuede actualizar todos los ports que tenga instalados con una sola orden:
# portmanager -uSi usa el modificador -ui se le pedirá
confirmación a cada paso que Portmanager
vaya a dar. Portmanager también
puede usarse para instalar nuevos ports. A diferencia del habitual
make
actualizará todos los ports que dependan antes de compilar e
instalar ese port que queramos instalar.install clean
# portmanager x11/gnome2Si aparecen problemas con las dependencias del port que quiere instalar puede usar Portmanager para recompilar todos ello en el orden correcto. Una vez que acabe el port que estaba dando problemas será también recompilado.
# portmanager graphics/gimp -fPara más información consulte portmanager(1).
Portmaster es otra aplicación
para actualizar ports. Portmaster se
diseñó para que utilizara las herramientas del sistema
«base» (es decir, no depende de otros ports) y utiliza
la información que se almacena en el directorio
/var/db/pkg/ para determinar
qué port es el que hay que actualizar. Puede encontrarlo en
ports-mgmt/portmaster:
# cd /usr/ports/ports-mgmt/portmaster
# make install cleanPortmaster agrupa los ports en cuatro categorías:
«Root ports» (no tienen dependencias, ningún port depende de ellos)
«Trunk ports» (no tienen dependencias, otros ports dependen de ellos)
«Branch ports» (tienen dependencias, otros ports dependen de ellos)
«Leaf ports» (tienen dependencias, ningún port depende de ellos)
Puede ver una lista de los ports instalados y
buscar actualizaciones para ellos usando el modificador
-L :
# portmaster -L
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
===>>> New version available: apache-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports
===>>> 137 total installed ports
===>>> 83 have new versions available
Con la siguiente orden puede actualizar todos los ports del sistema:
# portmaster -aPor omisión Portmaster
guardará una copia de seguridad (un package) de cada port
antes de borrarlo. Si la instalación de la nueva versión
funciona Portmaster borrará el package.
Si utiliza -b le dirá a
Portmaster que no borre automáticamente
el package. Si usa el modificador -i arrancará
Portmaster en modo interactivo, lo que significa
que le pedirá confirmación antes de actualizar cada
port.
Si se encuentra con errores durante el proceso de
actualización puede utilizar el modificador
-f para actualizar o recompilar todos
los ports:
# portmaster -afTambién puede usar Portmaster para instalar nuevos ports en el sistema, actualizando todas sus dependencias antes de compilar e instalar el nuevo port:
# portmaster shells/bashPor favor, consulte portmaster(8) para más información.
Usar la Colección de Ports consume mucho espacio de
disco según pasa el tiempo. Por culpa de la tendencia del
árbol de ports a crecer sin parar le recomendamos
que después de compilar e instalar sofware desde los ports
recuerde limpiar los directorios temporales work mediante la orden
make . Puede
limpiar de un plumazo los directorios temporales de toda la
Colección de Ports con la siguiente orden:clean
# portsclean -CRápidamente acumulará gran cantidad de viejas
distribuciones de código en
distfiles. Puede borrarlos
a mano, pero también puede usar la siguiente orden para
borrar todos los distfiles que no tengan relación con
ningún port:
# portsclean -DTambién puede borrar todos los distfiles sin relación con ningún port instalado en el sistema:
# portsclean -DDportsclean forma parte de la
«suite» portupgrade.
No olvide borrar los ports instalados una vez que deja de
necesitarlos. Hay una herramienta muy útil para ayudar
a automatizar esta tarea:
ports-mgmt/pkg_cutleaves.
Una vez que ha instalado una nueva aplicación normalmente deberáa leer toda la documentación que incluya, editar los ficheros de configuración necesarios, asegurarse de que la aplicación se ejecute al arrancar el sistema (si es un dæmon)etc.
Obviamente los pasos exactos para configurar cada aplicación son distintos de una a otra. De cualquier forma, si acaba de instalar aplicación y se pregunta «?Y ahora qué?» estos consejos puede que le ayuden:
Use pkg_info(1) para ver qué ficheros se instalaron y dónde. Por ejemplo, si instalón el paquete Un-Package 1.0.0, lo siguiente:
# pkg_info -L un-package-1.0.0 | lessmostrará 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; bajo el directorio doc/
podrá encontrar información más
detallada.
Si no está seguro de qué versión del paquete ha instalado, teclée:
# pkg_info | grep -i un-packagey verá todos los paquetes que se llaman
un-package. Reemplace
un-package en la línea de
órdenes que tenga que usar en su caso.
Una vez que ha identificado las páginas de manual de la aplicación revíselas mediante man(1). Revise también los ficheros de configuración, así como cualquier otro tipo de documentación que venga con el software.
Si la aplicación tiene sitio web visítelo. Es muy posible que encuentre más documentación, listas de preguntas frecuentes (FAQ), etc. Si no sabe cuál puede ser la dirección del sitio web examine la salida de la orden
# pkg_info un-package-1.0.0a veces incluye una línea WWW:, que
contiene la dirección del sitio web de la
aplicación.
Los ports que deben arrancar con el sistema (como los
servidores de Internet) normalmente instalaran un
«script» de
ejemplo en /usr/local/etc/rc.d. Debe
revisar este «script» para comprobar que todo sea
correcto, editarlo o renombrarlo si fuera necesario. Consulte
Cómo arrancar
servicios para más información.
Si encuentra un port que no funciona hay varias cosas que puede hacer:
Consulte en la Base de datos de informes de error si ya se ha publicado un parche que lo solucione. Si es el caso puede aplicar aplicar el parche en su sistema.
Pida ayuda al responsable del mantenimiento
(conocido como «mantainer») del port.
Teclée make maintainer o
consulte el
Makefile del port si no sabe cuál
es la dirección de correo del «mantainer».
Recuerde que debe incluir el nombre y la versión del
port. Envíe la línea que contiene
$FreeBSD: al principio del
Makefile del port y salida
con el error que obtiene al intentar usar la
aplicación.
Algunos ports no son responsabilidad de un individuo
sino de una lista de correo.
Muchas, aunque no todas, tienen un aspecto parecido a
<freebsd-nombredelalista@FreeBSD.org>.
Por favor, téngalo en cuenta cuando envie ese correo
sobre el port que no funciona.
Hay un caso especial: Los ports que tienen como
«mantainer»
<freebsd-ports@FreeBSD.org> en
realidad no son responsabilidad de nadie. Los parches
y el soporte, en caso de existir, vienen de la comunidad de
usuarios y desarrolladores que están suscritos
a la lista. Por cierto, siempre hacen falta más
voluntarios.
Si no recibe respuesta utilice send-pr(1) para enviar un informe de errores. Consulte Cómo escribir informes de error) [5]
Arreglarlo. El «Porter's Handbook» incluye información detallada sobre la infraestructura de los ports, así que puede arreglar un port roto o incluso enviar su propio port.
Descargue el paquete de algún sitio FTP. El
servidor «principal» de la colección
de paquetes está en el
directorio
de paquetes de
ftp.FreeBSD.org
pero asegúrese de mirar antes en la
réplica más próxima.
Esta es una forma de instalar aplicaciones más
fácil y más rápida.
Instale el paquete mediante pkg_add(1).
[5] Hay traducción al castellano de este artículo. Está aquí: http://www.freebsd.org/doc/es_ES.ISO8859-1/articles/problem-reports/article
FreeBSD usa X11 para proporcionar una potente interfaz gráfica. X11 es una implementación de código abierto del sistema X Window que incluye Xorg y XFree86™. En las versiones de FreeBSD hasta FreeBSD 4.10-RELEASE y FreeBSD 5.3-RELEASE el sistema X window que se instalará por defecto es XFree86™, el servidor X11 distribuido por el proyecto XFree86™. Después de FreeBSD 5.3-RELEASE el sistema X Window pasó a ser Xorg, el servidor X11 distribuido por la Fundación X.Org.
Este capítulo cubre la instalación y configuración de X11 poniendo énfasis en Xorg. Si quiere información sobre la configuración de XFree86™ o versiones anteriores de Xorg consulte las versiones archivadas del «Handbook» de FreeBSD en http://docs.FreeBSD.org/doc/.
Para mas información del hardware de vídeo que X11 soporta consulte la página web de Xorg.
Después de leer este capítulo usted sabrá:
Cuáles son los diferentes componentes del sistema X Window y como interoperan.
Cómo instalar y configurar X11.
Cómo instalar y usar diferentes gestores de ventanas.
Cómo usar tipos de letra TrueType® en X11.
Como preparar su sistema para iniciar la sesión de forma gráfica (XDM).
Antes de leer este capítulo debería:
Saber cómo instalar software de terceros (Capítulo 4, Instalación de aplicaciones: «packages» y ports).
Este capítulo cubre la instalación y configuración de los servidores X11 Xorg y XFree86™. La mayoría de los ficheros de configuración, órdenes y sintaxis son idénticos. En los casos en que haya diferencias se mostrará la sintaxis de Xorg y XFree86™.
Usar X por primera vez puede resultar chocante para alguien familiarizado con otros entornos gráficos, como Microsoft® Windows® o Mac OS®.
No es necesario entender todos los detalles de los diferentes componentes de X y como interactúan, pero un conocimiento básico hace posible el sacarle más provecho a la potencia de X.
X no es el primer sistema de ventanas escrito para UNIX® pero es el más popular de todos ellos. El equipo original que desarrolló X trabajó en otro sistema de ventanas antes de escribir X. Ese sistema se llamó «W» (de «Window» que significa ventana en inglés). X era solo la siguiente letra en el alfabeto Romano.
X se puede llamar «X» «X Window System», «X11» y de otras formas. También puede usar el término «X Windows» para describir X11 si lo que quiere es ofender a algunas personas; si quiere saber más sobre esto consulte X(7).
X fue diseñado desde el principio pensando en redes y adoptó un modelo «cliente-servidor».
En el modelo de X el «servidor X» se ejecuta en la máquina que tiene el teclado, monitor y ratón. El servidor es responsable de manejar la pantalla, la entrada de datos a través del teclado, el ratón, etc. Cada aplicación X (como una XTerm o Netscape®) es un «cliente». Un cliente manda mensajes al servidor como «Por favor dibuja una ventana en estas coordenadas» y el servidor devuelve mensajes como «El usuario ha pulsado el botón OK».
Sí solo hay un ordenador involucrado, como en una casa o una pequeña oficina, el servidor X y los clientes X seguramente se ejecutarán en el mismo sistema. Sin embargo, es perfectamente posible ejecutar el servidor X en un sistema de escritorio menos potente y ejecutar las aplicaciones X (los clientes) en, por ejemplo, la potente y cara máquina que sirve la oficina. En este panorama la comunicación entre el cliente X y el servidor tiene lugar a través de la red.
Esto confunde a algunas personas, porque la terminología es exactamente opuesta a lo que ellos esperan. Ellos esperan que el «servidor X» sea la máquina grande que hay en el sótano y que el «cliente X» sea la máquina de su mesa.
Es importante que recuerde que el servidor X es la máquina con el monitor y el teclado y que los clientes X son los programas que muestran las ventanas.
No hay nada en el protocolo que obligue a que el cliente y el servidor tengan que usar el mismo sistema operativo o incluso que estén en el mismo sistema. Es posible ejecutar un servidor X en Microsoft® Windows® o en el Mac OS® de Apple; de hecho hay varias aplicaciones libres y comerciales que hacen exactamente eso.
A partir de FreeBSD 5.3-RELEASE, el servidor X que se instala con FreeBSD es Xorg, que es libre y se distribuye bajo una licencia muy similar a la de FreeBSD. También hay servidores X comerciales para FreeBSD.
La filosofía de diseño de X es más parecida a la de UNIX®: «herramientas, no normas». Esto significa que X no impone cómo debe hacerse una tarea. En lugar de eso proporciona herramientas al usuario y es responsabilidad suya decidir qué hacer con ellas.
Esta filosofía se extiende a X; no impone como deben verse las ventanas en la pantalla, cómo moverlas con el ratón, qué teclas deberían usarse para moverse entre ventanas (por ejemplo Alt+Tab, en Microsoft® Windows®), cómo deben ser las barras de título en cada ventana, si tienen o no botón de cierre, etc.
En lugar de eso X delega esta responsabilidad en una
aplicación llamada «gestor de ventanas». Hay
docenas de gestores de ventanas disponibles para X:
AfterStep,
Blackbox, ctwm,
Enlightenment,
fvwm, Sawfish,
twm,
Window Maker, etc. Cada uno de estos
gestores de ventanas tiene un aspecto diferente; algunos soportan
«escritorios virtuales»; otros permiten personalizar las
teclas para manejar el escritorio; otros tienen un botón de
«Inicio» o algo similar; otros tienen
«diseños modificables», permitiendo un cambio
completo del aspecto mediante un nuevo diseño. Estos gestores
de ventanas, y muchos otros, están en la
categoría x11-wm de los ports.
Además, los entornos de escritorio KDE y GNOME tienen sus propios gestores de ventanas integrados con el escritorio.
Cada gestor de ventanas tiene diferentes mecanismos de configuración; en algunos debe escribir el fichero de configuración a mano, otros tienen herramientas gráficas para la mayor parte de la configuración; y al menos uno (Sawfish) tiene un fichero de configuración escrito en un dialecto del lenguaje Lisp.
Otra responsabilidad del gestor de ventanas es la «política de foco» del ratón. Todos los sistemas de ventanas necesitan algo para elegir una ventana activa que recibirá los eventos y también debieran indicar claramente qué ventana está activa.
Una política muy popular es la de «click to focus». Este es el modelo que utiliza Microsoft® Windows®, en el que una ventana se convierte en activa al recibir un clic del ratón.
X no tiene ninguna política de foco. En lugar de eso el gestor de ventanas controla qué ventana tiene el foco en todo momento. Los diferentes gestores de ventanas tienen diferentes políticas de foco. Todos soportan la política «clic-para-foco» y la mayoría de ellos también soportan otros métodos.
Las políticas de foco más populares son:
focus-follows-mouse)La ventana que esta bajo el puntero del ratón es la ventana que tiene el foco. No es necesario que la ventana esté encima de las demás ventanas. El foco se cambia al apuntar a otra ventana, aunque no es necesario hacer clic en ella.
sloppy-focusEsta política es una pequeña extensión de «el-foco-sigue-al-ratón». En «el-foco-sigue-al-ratón» si el ratón se mueve sobre la ventana raíz (o fondo) ninguna ventana tiene el foco y las pulsaciones del teclado se perderán. Con la política «foco-descuidado» el foco sólo cambia cuando el cursor entra en una nueva ventana y no cuando sale de la ventana actual.
click-to-focusLa ventana activa se selecciona con un clic del ratón. La ventana se puede «levantar» y aparecer delante de las demás ventanas. Todas las pulsaciones de teclado serán redirigidas a esa ventana aunque el cursor se mueva a otra ventana.
Muchos gestores de ventanas soportan otras políticas o variaciones de estas. Consulte la documentación del propio gestor de ventanas.
La idea de X de hacer herramientas en vez de normas y se extiende a los «widgets» que se ven en la pantalla de cada aplicación.
«Widget» es un término que abarca todos los objetos en el interfaz de usuario que pueden pulsarse con el ratón manipularse de alguna manera: botones, «check boxes», listas, etc. Microsoft® Windows® los llama «controles».
Microsoft® Windows® y Mac OS® de Apple tienen una política de «widgets» muy rígida. Se supone que los desarrolladores de aplicaciones comparten el aspecto. En X no se consideró imponer un estilo gráfico o un conjunto de «widgets» al que adherirse.
Como resultado no se puede esperar que las aplicaciones de X tengan un aspecto homogéneo. Hay varios conjuntos de «widgets» y variaciones muy populares como el «widget» Athena creado en el MIT, Motif® (donde los «widgets» de Microsoft® Windows® fueron modelados, con todos los bordes biselados y tres tonos de gris), OpenLook, y otros.
Las aplicaciones más modernas de X usan un conjunto de «widgets» con mejor aspecto, o Qt, utilizado por KDE, o GTK+, que usa el proyecto GNOME. Se intenta que el aspecto del escritorio de UNIX® sea parecido, lo que hace la vida más fácil al usuario novato.
Xorg es la implementación de X11 por omisión en FreeBSD. Xorg está basado en código de XFree86™ 4.4RC2 y X11R6.6. La versión de Xorg que se distribuye actualmente en la Colección de Ports de FreeBSD es la 7.7.
Para compilar e instalar Xorg desde la colección de ports:
# cd /usr/ports/x11/xorg
# make install cleanSi quiere compilar e instalar Xorg entero, asegúrese de tener como mínimo 2GB de espacio disponible.
Si lo prefiere puede instalar Xorg con packages. Cuando utilice la capacidad de pkg_add(1) para instalar packages que descargue remotamente recuerde que no debe escribir el número de versión. pkg_add(1) descargará automáticamente la última versión de la aplicación..
Veamos qué es lo que hay que hacer para descargar e instalar el package de Xorg:
# pkg_add -r xorgEl anterior ejemplo instala la distribución X11 completa, es decir, servidores, clientes, tipos de letra, etc. Hay packages y ports con cada uno de esos elementos por separado.
En el resto del capítulo se explica cómo configurar X11 y cómo configurar un entorno de escritorio que le resulte productivo.
Antes de configurar X11 necesitará la siguiente información sobre el sistema:
Especificaciones del monitor
Chipset de la tarjeta de vídeo
Memoria de la tarjeta de vídeo
X11 usa las especificaciones del monitor para determinar la resolución y la frecuencia de refresco a la que funcionará. Estas especificaciones se pueden encontrar normalmente en la documentación que viene con el monitor o en la web del fabricante. Se necesitan dos rangos de números: la frecuencia de refresco horizontal y la vertical.
El chipset de la tarjeta de vídeo define qué controlador utilizará X11 para comunicarse con el hardware gráfico. Con la mayoría de chipsets es posible detectarlo automáticamente pero es útil saberlo en caso de que la detección automática no funcione.
La memoria de la tarjeta gráfica determina la resolución y la profundidad de color a la que el sistema funcionará. Es importante saberlo para que el usuario conozca las limitaciones del sistema.
A partir de la versión 7.3 Xorg puede funcionar sin utilizar fichero de configuración; basta con teclear en el prompt:
% startxSi no funciona, o si la configuración por omisión no es aceptable, hay que configurar X11 a mano.
Ciertos entornos de escritorio como GNOME, KDE o XFce tienen herramientas que permiten al usuario configurar fácilmente parámetros de la pantalla como la resolución. Si la configuración por omisión no sirve y tiene idea de instalar un entorno de escritorio puede seguir adelante tranquilamente con la instalación del entorno de escritorio y utilice la herramienta que el software que instale le facilite.
La configuración de X11 es un proceso que consta de múltiples pasos. El primero es generar un fichero inicial de configuración. Como superusuario teclee:
# Xorg -configureEsto generará un fichero de configuración
bastante esquemático pero completo en
/root llamado
xorg.conf.new (si ha utilizado su(1) o
ha entrado directamente como superusuario afectará al valor
que tenga la variable de directorio
$HOME). X11 intentará probar el hardware
gráfico del sistema y escribir un fichero de
configuración en el que registrar los controladores de
dispositivo adecuados para hacer funcionar el harware que haya
detectado.
El siguiente paso es probar el fichero generado para verificar si Xorg puede funcionar con el hardware gráfico del sistema. Para ello teclee:
# Xorg -config xorg.conf.newSi aparece una rejilla negra y gris junto con el cursor del ratón con forma de X es que la configuración ha tenido éxito. Para salir de la prueba pulse simultáneamente Ctrl+Alt+Retroceso.
Si el ratón no funciona tendrá que configurarlo antes de continuar. Consulte la Sección 2.10.10, “Configuración del ratón” en el capítulo de instalación de FreeBSD.
Después modifique el fichero xorg.conf.new
a su gusto. Abra el fichero con un editor de texto (como
emacs(1) o ee(1)). Primero añada las frecuencias
del monitor. Estas suelen estar expresadas en frecuencia de refresco
horizontal y vertical. Estos valores se añaden al fichero
xorg.conf.new en la sección
"Monitor":
Las palabras HorizSync y
VertRefresh podrían no existir en el
fichero de configuración. Si no existen es necesario
añadirlas con la frecuencia horizontal correcta puesta
después de la palabra HorizSync y la
frecuencia vertical correcta después de la palabra
VertRefresh. En el ejemplo anterior se pusieron
las frecuencias del monitor.
X permite usar las características DPMS (Energy Star)
con los monitores que lo soportan. El programa xset(1) controla
el «timeout», y puede forzar los modos
«standby», suspendido o apagado. Si desea habilitar las
características DPMS para su monitor tendrá que
añadir la siguiente línea en la sección
monitor:
Agrege a su
xorg.conf.new
la resolución por omisión y la profundidad de
color deseada. Esto se define en la sección
"Screen":
La palabra DefaultDepth describe la profundidad
de color a la que arrancará por omisión. Esto puede
sobrescribirse con el argumento -bpp de
Xorg(1) (o XFree86(1)). La palabra Modes
describe la resolución a la que funcionará para esa
profundidad de color. Observe que sólo los modos
estándar VESA están soportados por el hardware
gráfico. En el ejemplo anterior la profundidad de color es
24 bits por pixel. En esta profundidad de color la resolución
aceptada es 1024 por 768 pixels.
Para acabar guarde el fichero de configuración y pruébelo usando el modo de prueba descrito anteriormente
Una de las herramientas disponibles para ayudarle con el
proceso de solución de problemas es el fichero de
«logs», que contiene información de cada
dispositivo al que el servidor X11 se conecta. Los
«logs» (o bitácoras) de
Xorg se pueden encontrar en
/var/log/Xorg.0.log
El nombre exacto del fichero de «log» puede variar
entre Xorg.0.log y
Xorg.8.log y así
sucesivamente.
Si todo ha ido bien ha llegado el momento de ubicar el
fichero de configuración donde Xorg(1) pueda
encontrarlo. Puede dejarlo en
/etc/X11/xorg.conf o
/usr/local/etc/X11/xorg.conf.
# cp xorg.conf.new /etc/X11/xorg.confEl proceso de configuración de X11 ha concluido. Arranque Xorg mediante startx(1). Puede también arrancar el servidor X11 utilizando xdm(1).
Existe también una herramienta gráfica de
configuración en X11, xorgcfg(1). Permite definir de
forma interactiva su configuració mediante la elección
de los controladores y las opciones adecuadas. Este programa
también puede usarse desde consola mediante la orden
xorgcfg -textmode. Para más
información consulte la página de manual de
xorgcfg(1).
Puede usar también xorgconfig(1). Este programa es una herramienta orientada a consola que es bastante menos atractiva para el usuario, pero que puede funcionar en situaciones en las que otras herramientas no sirven.
Para configurar los chipsets integrados Intel® i810 es
necesario el interfaz de programación AGP
agpart para que
X11 pueda usarla. Consulte la página de manual de
agp(4) para más información.
Hecho esto podrá configurar el hardware como cualquier
otra tarjeta gráfica. Tenga en cuenta que si en un
sistema que no tenga el controlador agp(4) intenta cargar
el módulo del kernel con kldload(8) no va a
funcionar. El controlador tiene necesariamente que estar en el
kernel desde el mismo momento del arranque, cosa que puede
obtenerse bien compilando un nuevo kernel, bien utilizando
/boot/loader.conf.
A lo largo de esta sección se asumen unos mínimos de soltura con ciertos aspectos de configuración avanzada. Si Si las herramientas estándar de configuración que se han descrito previamente no le ayudan a tener una configuración funcional busque en los ficheros de log, ahí encontrará información suficiente para lograrlo. Tendrá que utilizar un editor de texto a lo largo de estas instrucciones.
Los formatos actuales de pantalla panorámica, (también conocidas como «Widescreen», WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, etc, soportan formatos de 16:10 y 10:9 o aspectos-tasa que pueden ser problemáticos. Veamos algunos ejemplos de resoluciones de pantalla en formatos 16:10:
2560x1600
1920x1200
1680x1050
1440x900
1280x800
At some point, it will be as easy as adding one of these
resolutions as a possible Mode in the Section
"Screen" as such:
Xorg se basta y se sobra para recabar la información de resolución de su pantalla panorámica mediante la información I2C/DDC, así que sabe qué frecuencias y resoluciones puede manejar el monitor.
Si esas ModeLines no existen en los
controladores tendrá usted que ayudar un poco a
Xorg. Lea atentamente el contenido
de /var/log/Xorg.0.log; de él
podrá extraer suficiente información como para
crear un ModeLine que funcione. Todo lo que
tiene que hacer es buscar información que se parezca
a esta:
Esta información se llama información EDID. Para
crear una ModeLine a partir de estos datos solamente
tiene que poner los números en el orden correcto:
Así que la ModeLine
en la Section "Monitor" del ejemplo
tendría este aspecto:
Como ve, con un poco de edición hemos culminado la tarea y X debería ya poder arrancar sin problemas en su nuevo monitor panorámico.
Los tipos que X11 incluye por omisión no son precisamente
ideales para las aplicaciones típicas. Los tipos grandes para
presentaciones
aparecen dentados y con un aspecto poco profesional, mientras
que los tipos pequeños en
Netscape® son prácticamente
ilegibles. Sin embargo hay varios tipos de letra libres
Type1 de alta calidad (PostScript®) que se pueden usar con
X11. Por ejemplo los tipos URW
(x11-fonts/urwfonts) incluyen
una versión de alta calidad de los tipos estándar Type
1 (Times Roman®,
(Helvetica®,
(Palatino®, y muchas otras).
Las Freefonts (x11-fonts/freefonts
) incluyen muchas más pero la mayoría están
pensadas para usarse con software gráfico como el
Gimp y no son lo bastante completos para
usarse como tipos de pantalla. Además X11 se
puede configurar para usar tipos TrueType® con un
esfuerzo mínimo. Para más detalles sobre esto consulte
la página del manual X(7) o la
sección de tipos TrueType®.
Para instalar los tipos Type1 desde los ports ejecute las siguientes órdenes:
# cd /usr/ports/x11-fonts/urwfonts
# make install cleanProceda del mismo modo con los FreeFonts o cualesquiera otras.
Para que el servidor X las detecte añada la siguiente
línea al fichero de configuración de X
(/etc/X11/xorg.conf:
o bien desde una emulación de terminal durante una sesión X ejecute
% xset fp+ /usr/X11R6/lib/X11/fonts/URW
% xset fp rehashEsto funcionará hasta que la sesión X se cierre a
menos que lo añada a su fichero de inicio
(~/.xinitrc en el caso de una sesión
startx normal o ~/.xsession
si hace login desde un gestor gráfico como
XDM). Una tercera forma sería
usando el nuevo fichero
/usr/X11R6/etc/fonts/local.conf:
consulte la sección de anti-aliasing.
Xorg se diseñó
pensando en que utilizara tipos TrueType®. Hay dos
módulos diferentes que pueden habilitar esta opción. El
módulo freetype se usa en en este ejemplo porque es más
consistente con el resto de «back-ends» de
representación. Para habilitar el módulo freetype debe
añadir la siguiente línea a la sección
"Module" del fichero
/etc/X11/xorg.conf.
Ahora haga un directorio para los tipos TrueType® (por ejemplo
/usr/X11R6/lib/X11/fonts/TrueType) y copie todos
los tipos TrueType® en este directorio. Recuerde que los
tipos TrueType® no se pueden coger directamente de
un Macintosh®; tienen que estar en formato UNIX®/MS-DOS®/Windows®
para usarlas con X11. Una vez que los ficheros
se hayan copiado en este directorio use
ttmkfdir para crear un fichero
fonts.dir, para que el representador de tipos
de X sepa que se han instalado estos ficheros
nuevos. ttmkfdir forma parte de la Colección
de Ports de FreeBSD: x11-fonts/ttmkfdir.
# cd /usr/local/lib/X11/fonts/TrueType
# ttmkfdir -o fonts.dirAhora añada el directorio TrueType® a la ruta de tipos. Esto es igual que lo anteriormente descrito sobre los tipos Type1. Ejecute:
% xset fp+ /usr/local/lib/X11/fonts/TrueType
% xset fp rehasho añada una línea FontPath en su
/etc/X11/xorg.conf.
Esto es todo. Ahora Netscape®, Gimp, StarOffice™ y el resto de aplicaciones X debieran reconocer los tipos TrueType® instalados. Los tipos muy pequeños (como el texto en una pantalla con alta resolución viendo una página web) y los tipos muy grandes (Dentro de StarOffice™) se verán muchísimo mejor ahora.
Los «tipos anti-aliasing» han estado en
X11 desde
XFree86™ 4.0.2. Aunque la
configuración de los tipos era incómoda
antes de
XFree86™ 4.3.0. A partir de
XFree86™ 4.3.0 todos los
tipos de X11 que se encuentren en
/usr/local/lib/X11/fonts/ y
~/.fonts/ están disponibles
automáticamente para aplicaciones que soporten Xft. No todas
las aplicaciones soportan Xft pero muchas ya tienen soporte
Xft. Ejemplos de aplicaciones que lo soportan son Qt 2.3 o superior
(el «toolkit» del escritorio
KDE), GTK+ 2.0 o superior (el
«toolkit» del escritorio GNOME
) y Mozilla 1.2 o superior.
Para controlar qué tipos
«anti-aliasing» o configurar las propiedades
«anti-aliasing» crée (o edite, si ya existe)
el fichero
/usr/local/etc/fonts/local.conf. Se pueden
modificar diversas opciones avanzadas del sistema de tipos Xft
usando este fichero; esta sección describe solo algunas
posibilidades simples. Para más detalles consulte
fonts-conf(5).
Este fichero tiene que estar en formato XML. Preste especial
atención a las mayúsculas y minúsculas y
asegúrese de que las etiquetas están cerradas
correctamente. El fichero empieza con la típica cabecera XML
seguida de una definición DOCTYPE y después la etiqueta
<fontconfig>:
Como se ha dicho antes todos los tipos en
/usr/local/lib/X11/fonts/ y en
~/.fonts/ están ya disponibles para las
aplicaciones que soporten Xft. Si usted desea añadir otro
directorio además de estos dos árboles de directorios
añada una línea similar a esta en el fichero
/usr/local/etc/fonts/local.conf:
Después de añadir los nuevos tipos, y en especial los nuevos directorios de tipos, debe ejecutar la siguiente orden para reconstruir la caché de tipos:
# fc-cache -fLos «tipos anti-aliasing» hacen los bordes ligeramente borrosos, lo que hace que el texto muy pequeño sea más legible y elimina los escalones del texto grande pero puede causar fatiga visual aplicada al texto normal. Para excluir los tipos de menos de 14 puntos del «anti-aliasing» incluya las siguientes líneas:
El espacio entre algunos tipos también podría ser inapropiado con «anti-aliasing», por ejemplo en el caso de KDE. Una posible solución para esto es forzar que el espacio entre los tipos sea 100. Añada las siguientes líneas:
(Esto selecciona los otros nombres comunes para
«tipos fixed» como "mono");
añada también lo siguiente:
Algunos tipos, como Helvetica, podrían
tener problemas con «anti-aliasing». Normalmente esto
se manifiesta en tipos que parecen cortados verticalmente por la
mitad. En el peor de los casos podría causar que el
funcionamiento de aplicaciones como
Mozilla se interrumpiese. Para evitar
esto puede añadir lo siguiente a
local.conf:
Una vez que haya terminado de editar
local.conf asegúrese de que el fichero
termina con la etiqueta </fontconfig>. Si no
lo hace los cambios que haya hecho serán ignorados.
Los tipos por omisión que vienen con
X11 no son los ideales para «anti-aliasing».
Puede encontrar otros mucho mejores en el port
x11-fonts/bitstream-vera. Este
port instalará el fichero
/usr/local/etc/fonts/local.conf si aun no se ha
creado. Si el fichero existe el port creara el fichero
/usr/local/etc/fonts/local.conf-vera. Combine
el contenido de este fichero con
/usr/local/etc/fonts/local.conf y los tipos
Bitstream reemplazarán automáticamente los
tipos por defecto por X11 Serif, Sans Serif y
Monospaced.
Por si esto fuera poco los usuarios pueden añadir sus
propios ajustes mediante sus ficheros personales
.fonts.conf. Los usuarios que deseen hacerlo
deberán crear un fichero ~/.fonts.conf.
Este fichero tiene que estar también en formato XML.
Un último punto: con pantallas LCD sería
deseable un muestreo de subpixel, que consiste en configurar los
componentes (separados horizontalmente) rojo, verde y azul para
mejorar la resolución horizontal; los resultados pueden ser
impresionantes. Para habilitarlo añada la siguiente
línea a
local.conf:
Dependiendo del tipo de pantalla rgb
podría ser bgr o vrgb o
vbgr: experimente y elija cuál de ellos funciona
mejor.
Una vez concluido el proceso «anti-aliasing» se
debería activar la próxima vez que arranque X, aunque
los programas necesitan saber como utilizarlo. En
este momento el «toolkit» Qt es capaz de hacerlo, así
que KDE entero puede usar
«tipos anti-aliasing». GTK+ y
GNOME también pueden usar
«tipos anti-aliasing» mediante el «applet»
«Font» (consulte Sección 5.7.1.3, “Tipos «Anti-aliased» en GNOME” para más detalle). Por
omisión Mozilla
1.2 y versiones siguientes usarán automáticamente
«tipos anti-aliasing». Para deshabilitarlos
recompile Mozilla usando el
parámetro -DWITHOUT_XFT.
El gestor de pantalla X (XDM) es una parte opcional del sistema X Window que se usa para la gestión de sesiones. Esto es útil en diferentes situaciones, como «Terminales X» con escritorios mínimos y grandes servidores de red. Como X Window System es independiente del protocolo y de la red hay muchas configuraciones posibles para ejecutar clientes y servidores X en diferentes equipos conectados a una red. XDM dispone de un interfaz gráfico para elegir a qué pantalla se quiere conectar y pedir la información de autentificación como el nombre de usuario y le contraseña.
XDM ac6túa como proveedor de la misma funcionalidad que getty(8) (consulte Sección 24.3.2, “Configuración” para más detalles). Esto quiere decir que se encarga de las entradas al sistema en la pantalla a la que está conectado y arranca el gestor de sesiones para que lo utilice el usuario (normalmente un gestor de ventanas X). XDM espera a que el programa termine, envía la señal de que el usuario ha terminado y que se le debería desconectar de la pantalla. En este punto XDM puede mostrar las pantallas de entrada al sistema y de selección de pantalla para que el siguiente usuario intente acceder al sistema.
El dæmon XDM está en
/usr/local/bin/xdm. Este programa se puede
arrancar en cualquier momento como root y
empezará a gestionar la pantalla X en la máquina
local. Si se quiere que XDM arranque cada
vez que la máquina se encienda puede hacerlo añadiendo
una entrada a /etc/ttys. Para más
información sobre el formato y uso de este fichero consulte la
Sección 24.3.2.1, “Agregando una entrada a /etc/ttys”. Por omisión hay una línea en
/etc/ttys que permite arrancar el
dæmon XDM en una terminal virtual:
Por omisión esta entrada está deshabilitada; para habilitarla
cambie el campo 5 de off a on y
reinicie init(8) usando los pasos descritos en la Sección 24.3.2.2, “Forzar init a que relea
/etc/ttys”. El primer campo es el nombre de la terminal que
que gestiona el programa, ttyv8. Es decir,
XDM empezará a
ejecutarse en la terminal virtual número 9.
El directorio de configuración de
XDM está en
/usr/local/lib/X11/xdm. En este directorio hay
varios ficheros que se usan para intervenir en el comportamiento y la
apariencia de XDM. Normalmente tendrá
estos ficheros:
| Fichero | Descripción |
|---|---|
Xaccess | Reglas de acceso para clientes. |
Xresources | Recursos de X por omisión. |
Xservers | Lista de pantallas locales y remotas a gestionar. |
Xsession | «script» por omisión para el acceso al sistema. |
Xsetup_* | «script» para lanzar aplicaciones antes del acceso al sistema. |
xdm-config | Configuración de todas las pantallas de este equipo. |
xdm-errors | Errores generados por el programa servidor. |
xdm-pid | El ID de proceso del XDM que está funcionando. |
En este directorio también hay unos cuantos programas y «scripts» que se usan para arrancar el escritorio cuando XDM se está ejecutando. El objetivo de cada uno de estos ficheros será descrito brevemente. La sintaxis exacta y el uso de todos estos ficheros se describe en xdm(1).
La configuración por omisión es una simple ventana rectangular de acceso al sistema con el nombre de la máquina en la parte superior en un tipo de letra grande y unos campos para que introduzca«Login:» y «Password:» debajo. Este es un buen punto de partida para aprender a cambiar el aspecto de las pantallas de XDM.
El protocolo para conectar con las pantallas controladas por
XDM se llama «X Display Manager Connection
Protocol» (XDMCP). Este fichero es un conjunto de reglas para
controlar las conexiones XDMCP desde otros equipos. Por defecto
permite a cualquier cliente conectar, pero eso no importa a menos
que xdm-config se cambie para escuchar
conexiones remotas. La configuración básica no
permite conexiones desde ningún cliente.
Este es el fichero de opciones por defecto para el selector de pantalla y acceso al sistema. Aquí es donde se puede modificar la apariencia del programa de «login». El formato es idéntico al fichero de opciones por defecto descrito en la documentación de X11.
Este es el «script» de sesión que por
defecto XDM arrancará
después de que el usuario acceda al sistema. Normalmente
cada usuario tendrá una versión personalizada del
«script» de sesión en
~/.xsession que sobreescribe el
«script» por defecto.
Estos se arrancarán automáticamente antes de que
se muestre el interfaz de selección o de acceso al sistema.
Hay un «script» por cada gestor de ventanas disponible
llamados Xsetup_ seguido por el número
de pantalla local (por ejemplo Xsetup_0).
Normalmente estos «scripts» arrancan uno o dos
programas en segundo plano, por ejemplo xconsole.
Este fichero contiene las opciones por defecto aplicables a todas las pantallas que gestiona la instalación.
Este fichero contiene la salida de los servidores X que
XDM intente arrancar. Si alguna pantalla
que XDM intente arrancar se cuelga por
alguna razón este es un buen sitio para buscar los mensajes
de error. Estos mensajes también se escriben en el fichero
~/.xsession-errors del usuario en cada
sesión.
Para que otros clientes puedan conectar al servidor de pantalla
edite las reglas de acceso y habilite la escucha en la
conexión. Por omisión se aplican restricciones. Si quiere
que XDM escuche conexiones
comente la siguiente línea en el fichero
xdm-config:
y después reinicie XDM.
Recuerde que los comentarios en los ficheros de opciones por defecto
comienzan con el carácter«!» en
vez del típico «#». Puede aplicar controles
más restrictivos. Consulte las opciones de ejemplo en
Xaccess y la página de manual de
xdm(1).
Hay algunas alternativas al programa por defecto XDM. Una de ellas, kdm (que se incluye con KDE) se describe más adelante en este capítulo. kdm ofrece muchas ventajas visuales y funcionalidad para permitir a los usuarios elegir su gestor de ventanas en el momento del acceso al sistema.
Está sección describe los diferentes entornos de escritorio disponibles para X en FreeBSD. Un «entorno de escritorio» puede ser cualquier cosa que vaya desde un simple gestor de ventanas hasta una completa «suite» de aplicaciones de escritorio como KDE o GNOME.
GNOME es un entorno de escritorio amigable que permite a los usuarios una configuración fácil de sus sistemas. GNOME incluye un panel (para iniciar las aplicaciones y mostrar su estado), un escritorio (donde pueden colocarse los datos y las aplicaciones), un conjunto de herramientas y aplicaciones de escritorio estándar y un conjunto de convenciones para facilitar la creación de aplicaciones que sean consistentes y colaboren unas con otras. Los usuarios de otros sistemas operativos o entornos pueden sentirse como en casa utilizando el poderoso entorno gráfico GNOME. Encontrará más información sobre GNOME en FreeBSD en la página del Proyecto FreeBSD GNOME.
GNOME puede instalarse fácilmente utilizando packages precompilados o desde la Colección de Ports:
Para instalar el paquete de GNOME desde la red, simplemente teclee:
# pkg_add -r gnome2Para compilar GNOME a partir del código fuente, es decir, como port:
# cd /usr/ports/x11/gnome2
# make install cleanUna vez GNOME esté instalado debe indicarle al servidor X como iniciar GNOME para convertirlo en el gestor de ventanas predeterminado.
La manera más fácil de arrancar
GNOME es con
GDM, el gestor de pantalla de GNOME.
GDM, que se instala con el escritorio
GNOME al ser parte del mismo (aunque venga
desactivado por omisión) se activa añadiendo
gdm_enable="YES" a
/etc/rc.conf. Tras reiniciar,
GNOME arrancará automáticamente
al acceder al sistema; no es necesario configurar nada
más.
Puede arrancar GNOME también
desde la línea de órdenes configurando adecuadamente
un fichero llamado .xinitrc. Si ya tiene un
.xinitrc personalizado tendrá que
reemplazar la línea que arranca el gestor de ventanas anterior
por otra que contenga
/usr/local/bin/gnome-session. Si no ha
modificado el fichero previamente basta con que teclée lo
siguiente:
% echo "/usr/local/bin/gnome-session" > ~/.xinitrcDespués teclée startx y debería
iniciarse el entorno de escritorio
GNOME.
Si utiliza un gestor de pantalla antíguo,
como XDM, lo anteriormente descrito no
funcionará. Cree un fichero ejecutable
.xsession con la misma orden en
él. Edite el fichero y sustituya la orden
para iniciar su actual gestor de ventanas por
/usr/local/bin/gnome-session:
% echo "#!/bin/sh" > ~/.xsession
% echo "/usr/local/bin/gnome-session" >> ~/.xsession
% chmod +x ~/.xsessionOtra opción es configurar el gestor de pantalla para que permita seleccionar el gestor de ventanas durante el acceso; la sección de detalles de KDE explica cómo hacerlo para kdm, el gestor de pantalla de KDE.
X11 soporta «anti-aliasing» a
través de la extensión «RENDER». Gtk+
2.0 y superiores (el «toolkit» utilizado por
GNOME) disponen de esta funcionalidad.
La configuración del «anti-aliasing» se describe
en la Sección 5.5.3, “Tipos Anti-Aliasing”. Una vez configurado el software es
posible utilizar «anti-aliasing» en el entorno de
escritorio GNOME. Sólamente tiene
que ir a
→ → ,
y seleccione entre
,
, o
. En el caso de una
aplicación Gtk+ que no forme parte del escritorio
GNOME asigne a la variable de entorno
GDK_USE_XFT un valor de 1 antes de
arrancar el programa.
KDE es un entorno de escritorio contemporáneo y fácil de usar. Veamos alguna de las cosas que KDE brinda al usuario:
Un bello escritorio contemporáneo.
Un escritorio completamente transparente en red.
Un sistema de ayuda integrado que facilita un acceso adecuado y consistente a la ayuda durante el uso del escritorio KDE y sus aplicaciones.
Un aspecto consistente de todas las aplicaciones KDE.
Menús y barras de herramientas estándares, teclas programables, esquemas de color, etc.
Internacionalización: KDE está disponible en más de 40 idiomas.
Un diálogo de configuración del escritorio centralizado y consistente.
Un gran número de útiles aplicaciones KDE.
KDE incluye un navegador web llamado Konqueror, que es un sólido competidor del resto de navegadores web existentes en sistemas UNIX®. Puede encontrar más información sobre KDE en el sitio web de KDE. Si quiere información específica y recursos sobre KDE en FreeBSD consulte el sitio web del equipo de KDE en FreeBSD.
Hay dos versiones de KDE en FreeBSD: la versión 3 lleva ya bastante tiempo en el sistema y es muy estable en todos los sentidos. La versión 4, la nueva generación de KDE, también está en los ports. Si quiere puede instalar ambas versiones simultáneamente.
Igual que sucede con GNOME o cualquier otro entorno de escritorio puede instalarlo como package o desde la Colección de Ports:
Si quiere instalar como package KDE3 (desde la red) escriba:
# pkg_add -r kdeSi quiere instalar como package KDE4 (desde la red) escriba:
# pkg_add -r kde4pkg_add(1) descargará automáticamente la versión más reciente de la aplicación.
Si lo que desea es compilar KDE3 desde el código fuente utilice el árbol de ports:
# cd /usr/ports/x11/kde3
# make install cleanSi lo que desea es compilar KDE4 desde el código fuente utilice el árbol de ports:
# cd /usr/ports/x11/kde4
# make install cleanUna vez instalado KDE
debe indicarle al servidor X cómo iniciar la aplicación
para que se convierta en el gestor de ventanas por defecto. Edite
.xinitrc:
Para KDE3:
% echo "exec startkde" > ~/.xinitrcPara KDE4:
% echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrcA partir de ahora cuando se llame al sistema X Window con
startx el escritorio será
KDE.
Si utiliza un gestor de pantalla, como por ejemplo
xdm, la configuración es
ligeramente diferente. En vez de lo antedicho edite
.xsession. Las instrucciones para
kdm se decribirán más
adelante en este capítulo.
Una vez KDE está instalado en el sistema la mayoría de las cosas se pueden ir descubriendo utilizando las páginas de ayuda o sencillamente a golpe de ratón en los diversos menús. Los usuarios de Windows® y Mac® se sentiráan como en casa.
La mejor referencia para KDE es la documentación «on-line». KDE incluye su propio navegador, Konqueror, docenas de útiles aplicaciones y una extensa documentación. El resto de esta sección trata sobre cuestiones técnicas que son difíciles de aprender mediante una exploración al azar.
El administrador de un sistemas multiusuario puede querer ofrecer a sus usuarios una pantalla de bienvenido que se les presente al acceder al sistema. Tal y como se ha explicado previamente puede usar XDM. De todos modos KDE incluye su propia alternativa, alternative, kdm, diseñado pensando en ser más atractivo y tener más opciones que ofrecer en el momento del acceso al sistema. Más concretamente ofrece a los usuarios la posibilidad de elegir mediante un menú qué entorno de escritorio (KDE, GNOME, o cualquier otro) quiere ejecutar el usuario una vez validado.
Si quiere activar kdm debe modificar
la entrada de ttyv8 en
/etc/ttys. La línea debe quedar
del siguiente modo:
Si va a usar KDE3:
En el caso de KDE4:
XFce es un entorno de escritorio basado en el «toolkit» GTK utilizado por GNOME pero es mucho más ligero y está pensado para aquellos que quieran un escritorio sencillo, eficiente y fácil de utlizar y configurar. Visualmente es muy parecido a CDE, que podemos encontrar en sistemas UNIX® comerciales. Alguna de las caracterésticas de XFce son:
Un escritorio sencillo y fácil de utilizar.
Completamente configurable utilizando el ratón, con arrastrar y soltar, etc.
Panel principal similar al de CDE, con menús, «applets» y accesos directos a las aplicaciones.
Gestor de ventanas integrado, gestor de ficheros, gestor de sonido, módulo de compatibilidad con GNOME, y muchas cosas más.
Aspecto configurable (utiliza GTK).
Rápido, ligero y eficiente: ideal para máquinas viejas, lentas o máquinas con memoria limitada.
Puede encontrar más información sobre XFce en el sitio web de XFce.
En el momento de escribir este texto existe un paquete binario para XFce. Para instalarlo escriba:
# pkg_add -r xfce4También puede compilarlo desde el código gracias a la Colección de Ports:
# cd /usr/ports/x11-wm/xfce4
# make install cleanPara indicar al servidor X que use XFce la próxima vez que arranque simplemente escriba lo siguiente:
% echo "/usr/X11R6/bin/startxfce4" > ~/.xinitrcLa próxima vez que arranque X
XFce será el escritorio.
Como antes, si se usa un gestor de pantalla como
xdm cree un .xsession tal
y como se ha descrito en la anterior sección en GNOME, pero con la orden
/usr/local/bin/startxfce4; puede configurar el
gestor de pantalla para permitir elegir el escritorio en el momento
de acceder al sistema tal y como se ha explicado en la
sección de kdm.
Una vez tratados los aspectos más básicos, pasaremos a detallar alguna de las características más utilizadas de FreeBSD:
Introducción a algunas de las aplicaciones de escritorio más útiles y extendidas: navegadores, herramientas de productividad, visores de documentos, etc.
Introducción a algunas de las herramientas multimedia de FreeBSD.
Explicación de cómo crear un kernel personalizado en FreeBSD, lo que le permitirá añadir nuevas funcionalidades al sistema.
Descripción en detalle del sistema de impresión, tanto en entornos de escritorio como en impresoras conectadas en red.
Cómo ejecutar aplicaciones de Linux® en FreeBSD.
Algunos de los capítulos recomiendan lecturas de capítulos anteriores, lo que se indica al inicio de cada capítulo.
FreeBSD puede ejecutar gran número de aplicaciones de escritorio, como navegadores y procesadores de texto. La mayoría de ellas están disponibles como packages o se pueden compilar automáticamente desde la colección de ports. Muchos usuarios nuevos esperan encontrar este tipo de aplicaciones en su escritorio. Este capítulo mostrará cómo instalar de forma fácil algunas aplicaciones populares, bien como packages o desde la colección de ports.
Tenga en cuenta que cuando se instalan programas desde los ports se compilan desde el código fuente. Esto puede tardar muchísimo tiempo, dependiendo de qué esté compilando y la potencia de proceso de su máquina. Si compilar una o más aplicaciones le requiere una cantidad de tiempo desmesurada para sus necesidades recuerde que puede instalar la mayoría de programas de la Colección de Ports como packages precompilados.
FreeBSD tiene compatibilidad binaria con Linux®, así que muchas aplicaciones originariamente desarrolladas para Linux existen también para su escritorio. Le recomendamos encarecidamente que lea el Capítulo 10, Compatibilidad binaria con Linux antes instalar aplicaciones Linux. Muchos de los ports que usan la compatibilidad binaria de Linux empiezan por «linux-». Recuérdelo cuando busque un port en particular, por ejemplo con whereis(1). En el siguiente texto se asume que ha habilitado usted la compatibilidad binaria de Linux antes de instalar aplicaciones de Linux.
Estas son las categorías que cubre este capítulo:
Navegadores (como Mozilla, Netscape®, Opera, Firefox, Konqueror)
Productividad (como KOffice, AbiWord, The GIMP, OpenOffice.org)
Visores de documentos (como Acrobat Reader®, gv, Xpdf, GQview)
Finanzas (como GnuCash, Gnumeric, Abacus)
Antes de leer este capítulo, usted debería:
Saber como instalar software de terceros (Capítulo 4, Instalación de aplicaciones: «packages» y ports).
Saber como instalar software de Linux (Capítulo 10, Compatibilidad binaria con Linux).
Si quiere más información sobre cómo conseguir un entorno un entorno multimedia en FreeBSD consulte el Capítulo 7, Multimedia. Si quiere configurar y usar el correo electrónico consulte el Capítulo 27, Correo Electrónico.
FreeBSD no trae ningún navegador preinstalado, pero en el directorio www de la colección de ports tiene muchos navegadores listos para instalar. Si no tiene tiempo para compilarlo todo (esto puede requerir muchísimo tiempo en algunos casos) muchos de ellos están disponibles como packages.
KDE y GNOME ya proporcionan navegadores HTML. Consulte la Sección 5.7, “Entornos de escritorio” para más información sobre cómo configurar estos escritorios.
Si busca navegadores ligeros tiene en la
colección de ports
www/dillo,
www/links, o
www/w3m.
Esta sección cubre estas aplicaciones:
| Nombre de aplicación | Recursos necesarios | Instalación desde los Ports | Dependencias importantes |
|---|---|---|---|
| Mozilla | pesado | pesado | Gtk+ |
| Opera | ligero | ligero | Versiones para FreeBSD y Linux disponibles. La versión de Linux depende de la compatibiliad binaria de Linux y de linux-openmotif. |
| Firefox | medio | pesado | Gtk+ |
| Konqueror | medio | pesado | KDE Librerís |
Mozilla es una navegador moderno y estable que dispone de soporte completo en FreeBSD: dispone de un motor de presentación de HTML muy ajustado a los estándares, tiene cliente de correo electrónico, lector de noticias e incluso ofrece un editor de páginas HTML por si quiere crear páginas web. Los usuarios de Netscape® encontrarán semejanzas con la suite Communicator, dado que ambos navegadores comparten parte de la base de desarrollo.
En máquinas lentas, con una CPU de velocidad inferior a 233MHz o con menos de 64MB de RAM, Mozilla puede consumir demasiados recursos para poder utilizarse. Puede usar el navegador Opera, mucho más ligero, que se describe más adelante en este mismo capítulo.
Si no puede o no quiere compilar Mozilla por algún motivo, el equipo de FreeBSD GNOME ya lo ha hecho por usted. Instale el package desde la red del siguiente modo:
# pkg_add -r mozillaSi no hay package disponible y tiene suficiente tiempo y espacio en el disco puede obtener el código de Mozilla, compilarlo e instalarlo en su sistema. Esto se hace con:
# cd /usr/ports/www/mozilla
# make install cleanEl port de Mozilla se asegura
de que se inicialice adecuadamente ejecutando la
configuración del registro «chrome» con
privilegios de root, aunque si quiere instalar
algún añadido como «mouse gestures»
(gestos del ratón) tendrá que ejecutar
que correr Mozilla como
root para que se instale correctamente.
Una vez efectuada la instalación de
Mozilla no es necesario ser
root por más tiempo. Puede arrancar
Mozilla como navegador
escribiendo:
% mozillaPuede arrancarlo directamente como lector de correo y noticias del siguiente modo:
% mozilla -mailFirefox es un navegador de nueva generación basado en el código fuente de Mozilla. Mozilla es una suite completa de aplicaciones en la que encontrará un navegador, un cliente de correo, un cliente de chat y muchas otras. Firefox es solamente un navegador, lo que hace que sea mucho más pequeño y ligero.
Puede instalarlo como package del siguiente modo:
# pkg_add -r firefoxSi prefiere compilar el código fuente e instalarlo desde los ports puede hacer esto otro:
# cd /usr/ports/www/firefox
# make install cleanEn esta sección y en la siguiente asumiremos que ya ha instalado Firefox o Mozilla.
La FreeBSD Foundation disponde una licencia de Sun Microsystems que le permite distribuir binarios FreeBSD del Java Runtime Environment (JRE™) y del Java Development Kit (JDK™). Puede descargar packages binarios para FreeBSD desde el sitio webde la FreeBSD Foundation.
Para añadir soporte Java™ a
Firefox o
Mozilla tiene que instalar el port
the java/javavmwrapper. Después
descargue el package Diablo JRE™
desde http://www.freebsdfoundation.org/downloads/java.shtml
e instálelo con pkg_add(1).
Arranque su navegador, introduzca
about:plugins en la barra de navegación
y pulse Intro. Verá una página
con una lista de los «plugins» que tenga instalados; el
«plugin» Java™ debería
ser uno de los que aparezcan. Si no es así ejecute
(como root) lo siguiente
# ln -s /usr/local/diablo-jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/local/lib/browser_plugins/y reinicie su navegador.
Opera es un navegador muy rápido, completo y que cumple con los estándares. Hay dos versiones: la versión «nativa» de FreeBSD y la versión que se ejecuta bajo la emulación de Linux. Para cada sistema operativo hay una versión gratuita que muestra publicidad y otra sin publicidad que se puede comprar en la página web de Opera.
Para navegar por la web con la versión para FreeBSD de Opera tendrá que instalar el package:
# pkg_add -r operaAlgunos sitios FTP no tienen todos los paquetes, pero puede instalarlo desde la Colección de Ports:
# cd /usr/ports/www/opera
# make install cleanSi quiere instalar la versión de Linux de
Opera ponga
linux-opera en lugar de
opera en los atnteriores ejemplos. La
versión de Linux es útil en situaciones donde se
necesitan «plugins» de los que sólo hay
versiones para Linux, como
Adobe Acrobat Reader®. En todos los
demás aspectos las versiones de FreeBSD y Linux son iguales.
Konqueror forma parte de
KDE pero también se puede
instalar y usar independienmente de
KDE instalando
x11/kdebase3.
Konqueror es mucho más que un
navegador, también es gestor de ficheros y visor
multimedia.
Konqueror también trae
un conjunto de «plugins», disponibles en misc/konq-plugins.
Konqueror también soporta Flash™, hay un tutorial en http://freebsd.kde.org/howto.php.
Cuando se trata de productividad, normalmente los nuevos usuarios piensan en una buena suite ofimática o un procesador de textos amigable. Mientras que algunos entornos de escritorio como KDE ofrecen una suite ofimática propia, no hay una aplicación por defecto. FreeBSD permite usar todo lo que se necesite sin importar qué entorno de escritorio use.
Esta sección cubre estas aplicaciones:
| Nombre de la aplicación | Recursos necesarios | Instalación desde los ports | Dependencias importantes |
|---|---|---|---|
| KOffice | ligero | pesado | KDE |
| AbiWord | ligero | ligero | Gtk+ o GNOME |
| The Gimp | ligero | pesado | Gtk+ |
| OpenOffice.org | pesado | enorme | GCC 3.1, JDK™ 1.3, Mozilla |
La comunidad de KDE ha dotado su entorno de escritorio con una suite ofimática totalmente independiente de KDE. Incluye los 4 componentes estándar que se pueden encontrar en otras suites ofimáticas. KWord es el procesador de textos, KSpread es la hoja de cálculo, KPresenter se encarga de las presentaciones y Kontour le permite dibujar documentos gráficos.
Antes de instalar el último KOffice asegúrese de que tiene una versión actualizada de KDE.
Para instalar KOffice como un paquete ejecute la siguiente orden:
# pkg_add -r kofficeSi el paquete no está disponible puede usar la colección de ports. Por ejemplo, para instalar KOffice para KDE3 haga lo siguiente:
# cd /usr/ports/editors/koffice-kde3
# make install cleanAbiWord es un procesador de textos libre con un aspecto parecido a Microsoft® Word. Es útil para escribir documentos, cartas, informes, notas, etc. Es muy rápido, tiene muchas opciones y es muy amigable.
AbiWord puede importar o
exportar muchos formatos de fichero, incluyendo algunos
propietarios como Microsoft .doc.
AbiWord está disponible como package. Si quiere instalarlo haga lo siguiente:
# pkg_add -r AbiWord2Si el package no está disponible por el motivo que fuere puede instalarlo desde la colección de Ports. La colección de ports debería estar más actualizada:
# cd /usr/ports/editors/AbiWord2
# make install cleanGIMP es un programa de manipulación de imágenes muy sofisticado que le permitirá también crearlas y retocarlas. Puede usarlo como un programa de dibujo sencillo o como una sofisticada herramienta de retoque fotográfico. Admite una gran cantidad de «plug-ins» y tiene opciones tan interesantes como una interfaz para «scripts». GIMP puede leer y escribir un gran número de formatos de fichero. Soporta escáners y tabletas gráficas.
Instale el package mediante la siguiente orden:
# pkg_add -r gimpSi su servidor FTP no tiene este package puede usar la colección de ports. El directorio graphics de la colección de ports también contiene The Gimp Manual. Si quiere instalarlo haga lo siguiente:
# cd /usr/ports/graphics/gimp
# make install clean
# cd /usr/ports/graphics/gimp-manual-pdf
# make install cleanEl directorio
graphics
de la colección de ports tiene la versión de
desarrollo de GIMP en
graphics/gimp-devel.
Hay una versión en HTML de
The Gimp Manual en
graphics/gimp-manual-html.
OpenOffice.org incluye todas las aplicaciónes esenciales en una completa suite ofimática: un procesador de textos, una hoja de cálculo, un gestor de presentaciones y un programa de dibujo. Su interfaz de usuario es muy parecida a otras suites ofimáticas y puede importar y exportar diversos formatos muy extendidos. Está disponible en diversos idiomas; el proceso de internacionalización incluye interfaces, correctores ortográficos y diccionarios.
El procesador de textos de OpenOffice.org usa un fichero XML nativo para aumentar la portabilidad y la eficiencia. El programa de hojas de cálculo tiene un lenguaje de macros y puede usarse desde bases de datos externas. OpenOffice.org es estable y hay versiones nativas para Windows®, Solaris™, Linux, FreeBSD, y Mac OS® X. Tiene más información sobre OpenOffice.org en la página web de OpenOffice. Si quiere información específica para FreeBSD, o si quiere bajar directamente los packages use la página web de FreeBSD OpenOffice Porting Team.
Para instalar OpenOffice.org ejecute:
# pkg_add -r openofficeSi usa una versión -RELEASE de FreeBSD todo lo antedicho funcionará. Si usa cualquier otra versión visite el sitio web del FreeBSD OpenOffice.org Porting Team, desde el cual podrá descargar e instalar el package más adecuado e instalarlo mediante pkg_add(1). En este sitio web encontrará tanto una versión current como la de desarrollo.
Una vez instalado el package escriba la siguiente orden para ejecutar OpenOffice.org:
% openoffice.orgEn el primer arranque se le harán diversas preguntas
se creará un directorio
.openoffice.org2 en su
«home».
Si no hay packages de OpenOffice.org disponibles siempre tiene la opción de compilar el port. Tenga muy en cuenta que necesitará gran cantidad de espacio en disco y que este port necesita una cantidad de tiempo monstruosa para efectuar la compilación.
# cd /usr/ports/editors/openoffice.org-2
# make install cleanSi quiere compilar una de las muchas versiones que existen en idiomas distintos del inglés sustituya la orden anterior por la que se muestra a continuación:
# make LOCALIZED_LANG=su_idioma install cleanSustituya
su_idioma por el código ISO
del idioma que quiera. Tiene una lista de códigos de
idioma disponibles dentro del directorio del port en
files/Makefile.localized.
Hecho esto puede ejecutar OpenOffice.org con la orden:
% openoffice.orgDesde la aparición de UNIX® han ido apareciendo formatos de documento de lo más diverso, alguno de los cuales se ha hecho muy popular. Los visores de documentos estándar que requieren no tienen por qué estar en el sistema base. En esta sección veremos cómo instalar estos visores.
Esta sección cubre las siguientes aplicaciones:
| Nombre de la aplicación | Recursos necesarios | Instalación desde los ports | Dependencias importantes |
|---|---|---|---|
| Acrobat Reader® | ligero | ligero | Compatibilidad binaria de Linux |
| gv | ligero | ligero | Xaw3d |
| Xpdf | ligero | ligero | FreeType |
| GQview | ligero | ligero | Gtk+ o GNOME |
Muchos documentos se distribuyen en formato PDF, siglas de «Portable Document Format». Uno de los visores recomendados para este tipo de ficheros es Acrobat Reader®, un producto de Adobe para Linux. Dado que FreeBSD puede ejecutar binarios de Linux también existe para FreeBSD.
Para instalar Acrobat Reader® 7 desde la Colección de Ports ejecute:
# cd /usr/ports/print/acroread7
# make install cleanNo hay package debido a las restricciones que impone la licencia del software.
gv es un visor de PostScript® y PDF. Tiene su origen en ghostview pero tiene un aspecto bastante mejorado gracias a la librería Xaw3d. Es rápido y tiene una interfaz limpia. gv tiene muchas opciónes como orientación, tamaño del papel, escalado o antialias. Casi todas las operaciones se pueden realizar desde el teclado o desde el ratón.
Para instalar gv como package ejecute:
# pkg_add -r gvSi no puede obtener el package puede usar la colección de ports:
# cd /usr/ports/print/gv
# make install cleanSi quiere un visor de PDF pequeño, Xpdf es un visor ligero y eficiente. Requiere muy pocos recursos y es muy estable. Usa los tipos estándar de X y no depende de Motif® ni de ningún otro «toolkit» de X.
Para instalar el package de Xpdf use la siguiente orden:
# pkg_add -r xpdfSi el paquete no está disponible o prefiere usar la colección de ports ejecute:
# cd /usr/ports/graphics/xpdf
# make install cleanUna vez que la instalación haya concluido puede lanzar Xpdf; use el botón derecho del ratón para activar el menú.
GQview es un visor de imágenes. Puede ver un fichero con un click, lanzar un editor externo, obtener imágenes de previsualización y muchas cosas más. También tiene un modo de presentación y admite algunas opciones básicas de manipulación de ficheros. Puede gestionar colecciones de imágenes y encontrar ficheros duplicados con facilidad. GQview puede mostrar las imágenes a pantalla completa y está preparado para la internacionalización.
Si quiere instalar el paquete de GQview ejecute:
# pkg_add -r gqviewSi el paquete no está disponible o prefiere usar la colección de ports ejecute:
# cd /usr/ports/graphics/gqview
# make install cleanSi por algun motivo quisiera gestionar sus finanzas personales en su escritorio FreeBSD hay algunas aplicaciones potentes y sencillas de utilizar que puede instalar. Algunas de ellas son compatibles con formatos muy extendidos como documentos de Quicken® o Excel.
Esta sección cubre las siguientes aplicaciones:
| Nombre de aplicación | Recursos necesarios | Instalación desde los ports | Dependencias importantes |
|---|---|---|---|
| GnuCash | ligero | pesado | GNOME |
| Gnumeric | ligero | pesado | GNOME |
| Abacus | ligero | pesado | Tcl/Tk |
| KMyMoney | ligero | pesado | KDE |
GnuCash es parte del afán de GNOME por ofrecer aplicaciones de uso sencillo pero a la vez potentes a los usuarios. Con GnuCash, puede gestionar sus ingresos y sus gastos, sus cuentas bancarias o sus acciones. Tiene una interfaz intuitiva pero muy profesional.
GnuCash dispone de un registro elegante, un sistema jerárquico de cuentas, muchos atajos de teclado y métodos de autocompletado. Puede dividir una transacción en varias partes más detalladas. GnuCash puede importar y mezclar ficheros QIF de Quicken. También admite muchos formatos internacionales de fecha y moneda.
Para instalar GnuCash en su sistema ejecute:
# pkg_add -r gnucashSi el paquete no está disponible puede usar la colección de ports:
# cd /usr/ports/finance/gnucash
# make install cleanGnumeric es una hoja de
cálculo que forma parte del entorno de escritorio
GNOME. Implementa una
«predicción» automática de la entrada
del usuario de acuerdo con el formato de celda y un sistema de
completado automático para múltiples secuencias. Puede
importar ficheros de un gran número de formatos muy
extendidos, como Excel, Lotus
1-2-3 o Quattro Pro.
Gnumeric soporta gráficas
mediante el programa de gráficas math/guppi. Tiene un gran
n´mero de funciones internas y permite todos los
formatos normales de celda como número, moneda, fecha,
hora y muchos más.
Para instalar Gnumeric como package ejecute:
# pkg_add -r gnumericSi el package no está disponible puede usar la colección de ports del siguiente modo:
# cd /usr/ports/math/gnumeric
# make install cleanAbacus es una hoja de cálculo pequeña y fácil de usar. Tiene muchas funciones útiles en varios ámbitos como la estadística, las finanzas y las matemáticas. Puede importar y exportar ficheros con formato Excel. Abacus puede generar ficheros PostScript®.
Para instalar Abacus como package ejecute:
# pkg_add -r abacusSi no hay package al alcance puede usar la colección de ports:
# cd /usr/ports/deskutils/abacus
# make install cleanFreeBSD está muy extendido en ISP por su alto rendimiento y estabilidad, pero también se puede usar a diario como escritorio. Hay miles de aplicaciones disponibles como packages o ports con las que puede crear un escritorio que cubra todas sus necesidades.
Aqui hay un resumen de todas las aplicaciones cubiertas en este cápitulo:
| Nombre De La Aplicación | Nombre Del Paquete | Nombre Del Port |
|---|---|---|
| Mozilla | mozilla | www/mozilla |
| Opera | opera | www/opera |
| Firefox | firefox | www/firefox |
| KOffice | koffice-kde3 | editors/koffice-kde3 |
| AbiWord | AbiWord2 | editors/AbiWord2 |
| GIMP | gimp | graphics/gimp |
| OpenOffice.org | openoffice | editors/openoffice-1.1 |
| Acrobat Reader® | acroread | print/acroread7 |
| gv | gv | print/gv |
| Xpdf | xpdf | graphics/xpdf |
| GQview | gqview | graphics/gqview |
| GnuCash | gnucash | finance/gnucash |
| Gnumeric | gnumeric | math/gnumeric |
| Abacus | abacus | deskutils/abacus |
| KMyMoney | kmymoney2 | finance/kmymoney2 |
FreeBSD admite una gran variedad de tarjetas de sonido, lo que permite disfrutar de sonido de alta fidelidad en su sistema. Ésto incluye la posibilidad de grabar y reproducir ficheros de audio tanto en los formatos MPEG Audio Layer 3 (MP3), WAV y Ogg Vorbis, así como muchos otros. La Colección de Ports de FreeBSD contiene también aplicaciones que le permitirán editar audio previamente grabado, añadir efectos y controlar dispositivos MIDI.
Tras unas cuantas pruebas podrá reproducir ficheros de
video y DVD en FreeBSD. La cantidad de aplicaciones disponibles
para codificar, convertir y reproducir los diversos soportes de
video es más limitada que lo que hay disponible para
el sonido. Por ejemplo, en el momento de escribir este texto
no hay en la Colección de Ports de FreeBSD una buena
aplicación que permita pasar datos de un formato a
otro, el equivalente a lo que hay en el campo del sonido con
audio/sox. A pesar de eso
la situación en este área está cambiando
rápidamente.
Este capítulo muestra los pasos necesarios para configurar una tarjeta de sonido. La configuración e instalación de X11 (Capítulo 5, El sistema X Window) habrá solucionado ya todos los problemas que hubiera podido darle su tarjeta gráfica, aunque quizás haya algún pequeño detalle que añadir para mejorar la reproducción.
Tras leer éste capítulo sabrá usted:
Cómo configurar su sistema de modo que su tarjeta de sonido sea reconocida por el mismo.
Confirmar el funcionamiento de su tarjeta usando herramientas de muestreo.
Cómo enfrentarse a problemas de configuración de sonido.
Cómo reproducir y crear ficheros MP3 y otros.
Cómo gestiona el video el servidor X.
Identificar unos cuantos ports para reproducir y codificar video que le darán muy buenos resultados.
Cómo reproducir DVD y ficheros
.mpg y
.avi.
Cómo convertir CD y DVD en ficheros de datos.
Cómo configurar una tarjeta de TV.
Cómo configurar un escáner de imágenes.
Antes de leer éste capítulo debería:
Saber configurar e instalar un nuevo kernel (Capítulo 8, Configuración del kernel de FreeBSD).
Si intenta montar un cd con mount(8) provocará (como mínimo) un error en el sistema, pero puede llegar a provocar un kernel panic. Dichos soportes tienen codificaciones especiales sustancialmente diferentes de los típicos sistemas de ficheros ISO.
Antes de nada tendrá que saber a ciencia cierta el modelo de tarjeta que tiene, qué chip utiliza y si es PCI o ISA. FreeBSD admite una amplia variedad de tarjetas, tanto PCI como ISA. Consulte la lista de dispositivos de sonido que puede usar en FreeBSD en las Hardware Notes. Las «Hardware Notes» le dirán también qué controlador es el que hace funcionar su tarjeta.
Para poder usar su dispositivo de sonido en FreeBSD tiene que cargar el controlador de dispositivo adecuado, cosa que puede hacerse de dos maneras. La forma más fácil es cargar el módulo del kernel correspondiente a su tarjeta de sonido mediante kldload(8). Puede hacerlo en su shell con la siguiente orden
# kldload snd_emu10k1o añadiendo la línea apropiada al fichero
/boot/loader.conf:
Ambos ejemplos son para una tarjeta de sonido
Creative SoundBlaster® Live!. Encontrará una lista de
módulos de sonido que puede cargar del mismo modo en
/boot/defaults/loader.conf. Si no está
del todo seguro sobre el controlador que debe usar pruebe con el
módulo snd_driver:
# kldload snd_driverSe trata de un «metacontrolador» que carga en
memoria todos los controladores más habituales. De este modo
acelerará notablemente el proceso de detectar cuál es
el controlador perfecto para su hardware. También
puede cargar todos los controladores de sonido desde
/boot/loader.conf.
Si quiere saber qué controlador se corresponde
con su tarjeta de sonido una vez cargado el «metadriver»
snd_driver debe comprobar el contenido de
/dev/sndstat mediante la orden
cat /dev/sndstat.
El segundo método es compilar de forma estática el soporte para su tarjeta de sonido dentro de un kernel personalizado. En la siguiente sección encontrará la información necesaria para añadir a su kernel el soporte que necesita su hardware. Para más información sobre la compilación de un kernel consulte el Capítulo 8, Configuración del kernel de FreeBSD.
Lo primero que hay que hacer es añadir el controlador del «framework» de sonido sound(4) al kernel; tendrá que añadir la siguiente línea a su fichero de configuración del kernel:
Una vez hecho esto tiene que añadir el soporte para su tarjeta de sonido. Evidentemente tendrá que saber exactamente qué controlador es el que hace funcionar su tarjeta. Consulte la lista de dispositivos de sonido soportados que encontrará en las Hardware Notes y elija el controlador perfecto para su tarjeta. Por ejemplo una una tarjeta de sonido Creative SoundBlaster® Live! usará el controlador snd_emu10k1(4). Siguiendo con el ejemplo, si queremos añadir soporte para esta tarjeta agregaremos lo siguiente:
Por favor, lea la página de manual del controlador
si tiene dudas con la sintaxis. La sintaxis específica
para la configuración en el kernel de cada tarjeta de
sonido soportada existente puede encontrarse también
en /usr/src/sys/conf/NOTES.
Las tarjetas ISA no PnP pueden requerir que se le
facilite al kernel la información de la
configuración de la tarjeta (IRQ, puerto de E/S, etc). Esto
se hace modificando el fichero
/boot/device.hints. Durante el proceso de
arranque loader(8) leerá este fichero y le
pasará los parámetros al kernel. Veamos un ejemplo:
una vieja tarjeta Creative SoundBlaster® 16 ISA no PnP
utilizará el controlador snd_sbc(4) junto con
snd_sb16. En el caso de esta tarjeta
habrá que añadir las siguientes líneas
al fichero de configuración del kernel
y añadir lo siguiente a
/boot/device.hints:
La tarjeta del ejemplo usa el puerto de E/S 0x220
I/O port y la IRQ 5.
La sintaxis a utilizar en
/boot/device.hints se explica en
la página de manual de sound(4) y en la del
controlador en cuestión.
En el ejemplo se muestran los parámetros por omisión. En ciertos casos habrá que usar otra IRQ o usar otros parámetros para hacer funcionar la tarjeta de sonido. Consulte la página de manual de snd_sbc(4) para más información sobre esta tarjeta.
Una vez que haya reiniciado con su kernel personalizado, o tras cargar el mólo del kernel necesario la tarjeta de sonido aparecerá en el búfer de mensajes del sistema (dmesg(8)); deberí ser algo muy parecido a esto:
Puede comprobar el estado de la tarjeta de sonido en
el fichero /dev/sndstat:
# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)El resultado en su sistema seguramente será distinto. Si
no aparecen dispositivos pcm revise todo el
proceso a ver dónde está el error. Revise su fichero
de configuración del kernel nuevamente y compruebe que
eligió el controlador de dispositivo adecuado. Tiene una
lista de problemas habituales en la Sección 7.2.2.1, “Problemas habituales”.
Si todo ha ido bien ya tiene una tarjeta de sonido funcionando en su sistema. Si los pins de salida de sonido de su CD-ROM o DVD-ROM están colocados correctamente puede poner un CD en la unidad y reproducirlo con cdcontrol(1).
% cdcontrol -f /dev/acd0 play 1Hay muchas aplicaciones como audio/workman que le ofrecerán
un interfaz más amigable. Si quiere escuchar ficheros MP3
puede instalar, por ejemplo,
audio/mpg123.
Hay otra via aún más rápida de probar su
tarjeta de sonido. Envíe datos a
to /dev/dsp del siguiente modo:
% cat fichero > /dev/dspdonde
puede ser cualquier fichero. Esta orden producirá ruido,
lo que confirmará que la tarjeta de sonido funciona.fichero
Puede manejar los niveles de la tarjeta de sonido con mixer(8). Tiene todos los detalles en la página de manual de mixer(8).
| Error | Solution |
|---|---|
| sb_dspwr(XX) timed out | El puerto de E/S no ha sido configurado correctamente. |
| bad irq XX | No ha elegido correctamente la IRQ. Asegúrese de que la IRQ que ha elegido y la IRQ del sonido son la misma. |
| xxx: gus pcm not attached, out of memory | No queda memoria suficiente en el sistema para poder usar el dispositivo. |
| xxx: can't open /dev/dsp! | Compruebe si hay otra aplicación utilizando
(y por tanto ocupando) el dispositivo. Escriba
|
Disponer de múltiples fuentes de sonido puede ser muy útil, por ejemplo cuando esound o artsd no permiten compartir el dispositivo de sonido con otra aplicación.
FreeBSD permite hacerlo gracias a los Virtual Sound
Channels (canales virtuales de sonido),
que se activan mediante sysctl(8). Los canales virtuales
permiten multiplexar la reproducción de sonido de su tarjeta
mezclando el sonido en el kernel.
El número de canales virtuales se configura utilizando
dos sysctl; como root escriba lo siguiente:
# sysctl hw.snd.pcm0.vchans=4
# sysctl hw.snd.maxautovchans=4En el ejemplo anterior se han creado cuatro canales virtuales, una
cantidad muy razonable para el uso normal.
hw.snd.pcm0.vchans es el número de canales
virtuales de que dispone pcm0; puede configurarlo
en cuanto el dispositivo sea reconocido por el sistema.
hw.snd.maxautovchans es el número de canales
virtuales que se le asignan a un nuevo dispositivo de audio cuando se
conecta al sistema mediante kldload(8). Puesto que el
módulo pcm puede cargarse independientemente
de los controladores de hardware
hw.snd.maxautovchans puede almacenar cuántos
canales virtuales tienen asignados los dispositivos que se vayan
conectando al sistema.
No es posible modificar el número de canales virtuales de un dispositivo que esté en marcha. Cierre antes todos los programas que estén utilizando el dispositivo, como reproductores de música o dæmons de sonido.
Si no usa devfs(5) tendrá que configurar sus
aplicaciones para que apunten a
/dev/dsp0.x,
donde x es un número entre 0 y 3 si
hw.snd.pcm.0.vchans tiene un valor de 4 como en el
ejemplo anterior. Si se estuviera usando
devfs(5) en el ejemplo anterior cualquier programa que pidiera
/dev/dsp0 sería atendido de
forma totalmente transparente.
Los valores por defecto de los distintos canales de mezcla
están fijados en el código del controlador
pcm(4). Hay distintas aplicaciones y dæmons
que le permitirán asignar valores al mezclador y que
permanezcan entre uso y uso, pero no es una solución
demasiado limpia. Puede asignar valores por omisión a
las mezclas a nivel de controlador definiendo los valores
apropiados en /boot/device.hints. Veamos
un ejemplo:
Esto asignará al canal de volumen un valor por omisión de 50 al cargar el módulo pcm(4).
El formato MP3 (MPEG Layer 3 Audio) llega casi al nivel de calidad del CD, por lo que no hay motivo por el deba faltar en su escritorio FreeBSD.
El reproductor de MP3 para X11 más extendido es, de lejos, XMMS (X Multimedia System). Puede usar en él «skins»de Winamp puesto que el interfaz gráfico de XMMS es casi idéntico al de Nullsoft Winamp. XMMS incluye también soporte nativo para «plug-ins».
Puede instalar XMMS como port
(multimedia/xmms) o como package.
La interfaz de XMMS es intuitiva e incluye una lista de reproducción, un ecualizador gráfico y muchas otras cosas. Si está acostumbrado a Winamp XMMS le será muy fácil de usar.
El port audio/mpg123
es un reproductor MP3 que se usa desde la shell.
Puede especificarle desde la misma línea de órdenes a mpg123 el dispositivo de sonido que debe usar y el fichero MP3 que debe reproducir. Veamos un ejemplo:
# mpg123 -a /dev/dsp1.0 ASaber-GrandesÉxitos.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Playing MPEG stream from ASaber-GrandesÉxitos.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
Sustituya
por el dispositivo /dev/dsp1.0dsp que haya en su
sistema.
Antes de convirtir una pista o todo un CD a MP3 la información sonido debe volcarse al disco duro. Esto se hace convirtiendo los datos «raw CDDA» (CD Digital Audio) a ficheros WAV.
La herramienta cdda2wav, que forma parte
del port sysutils/cdrtools,
permite la extracción de información de sonido en
CD así como la información asociada a él.
Con el CD en la unidad la siguiente orden
(como root) un CD entero en ficheros WAV
individuales, uno por pista:
# cdda2wav -D 0,1,0 -Bcdda2wav soporta unidades CDROM ATAPI (IDE). En el caso de unidades IDE especifique el número de dispositivo en el lugar correspondiente al núro de unidad SCSI. Por ejemplo, para extraer la pista 7 desde una unidad IDE:
# cdda2wav -D /dev/acd0 -t 7La opción
-D
indica el dispositivo SCSI 0,1,00,1,0,
que corresponde con la salida de cdrecord
-scanbus.
Para extraer pistas de forma selectiva use la opción
-t:
# cdda2wav -D 0,1,0 -t 7Esta opción extrae la séptima pista de un CDROM de sonido. Si quiere extraer un rango de pistas, por ejemplo las pistas de la uno a la siete, declare el rango del siguiente modo:
# cdda2wav -D 0,1,0 -t 1+7La herramienta dd(1) le permite también extraer pistas de sonido desde unidades ATAPI; consulte la Sección 18.6.5, “Copiar CD de audio” para más información.
Hoy por hoy el codificador de MP3 por antonomasia es
lame.
Puede encontrar lame en
audio/lame.
Partiendo de ficheros WAV previamente extraidos la
siguiente orden convierte
en
audio01.wav:audio01.mp3
# lame -h -b 128 \
--tt "Título de copla o cantar" \
--ta "Grupo, solista o coral sinfónica" \
--tl "Título del álbum" \
--ty "2001" \
--tc "Autor de la extracción y paso a MP3" \
--tg "Estilo" \
audio01.wav audio01.mp3Los 128 kbits pasan por se el estándar de ratio
de bits de los MP3, aunque puede que usted sea de los que prefieren
calidades más altas, 160 o incluso 192. A mayor ratio
de bits, más espacio en disco necesitará, aunque
la calidad también será mayor. La opción
-h usa el modo «más calidad pero
algo más lento». Las opciones que empiezan por
--t indican etiquetas ID3, que suelen contener
información de la canción que contiene el fichero
MP3. Tiene información sobre otras opciones de
codificación en la página de manual de
lame.
Para grabar un CD de sonido desde ficheros MP3 hay que convertirlos a formato WAV no comprimido. Tanto XMMS como mpg123 soportan la conversión de MP3 a un formato de fichero no comprimido.
Escritura a disco desde XMMS:
Arranque XMMS.
Botón derecho del raón en la ventana para acceder al menú de XMMS.
Elija Preferences en
Options.
Cambie el «Output Plugin» a «Disk Writer Plugin».
Pulse Configure.
Elija un directorio en el que guardar los ficheros descomprimidos.
Cargue el fichero MP3 en XMMS de la forma habitual, pero asegúrese de tener el volumen al 100% y las opciones de ecualización desactivadas.
Pulse Play — parecerá
que XMMS está reproduciendo
música pero no sonará nada. Lo que está
haciendo es volcar el MP3 a un fichero.
Recuerde que antes de poder volver a escuchar ficheros MP3 de nuevo tendrá que devolver el «Plugin de salida» por omisión a la posición inicial.
Escritura de la salida estándar en mpg123:
Ejecute mpg123 -s audio01.mp3
> audio01.pcm
XMMS genera un fichero WAV,
mientras que mpg123 convierte MP3 a
datos de sonido raw PCM. Puede usar
cdrecord con ambos formatos para crear
CD de sonido. Tendrá que usar burncd(8) para raw PCM.
Si lo que tiene son ficheros WAV escuchará un ligero clic
al principio de cada pista: se trata de la cabecera del fichero
WAV. Puede eliminar esta cabecera mediante
SoX (que puede instalar como port desde
audio/sox o si lo prefiere como
package):
% sox -t wav -r 44100 -s -w -c 2 pista.wav pista.rawConsulte la Sección 18.6, “Creación y uso de medios ópticos (CD)” para más información sobre el uso de grabadoras de CD en FreeBSD.
La reproducción de vídeo es un área muy nueva y en la que se producen grandes cambios a gran velocidad. Tenga paciencia. Aquí no va a ser todo tan sencillo como al configurar el sonido.
Antes de comenzar es imprescindible que sepa con certeza cuál es el modelo de su tarjeta gráfica y qué chip usa. Tanto Xorg como XFree86™ soportan gran cantidad de tarjetas gráficas, pero de pocas se puede decir que den un buen rendiemiento de reproducción. Puede consultar una lista de extensiones que el servidor X puede hacer funcionar en su tarjeta ejecutando xdpyinfo(1) desde una sesión X11.
Le recomendamos que tenga a mano un fichero MPEG no muy
grande para usarlo en las pruebas que haga con los diversos
reproductores y opciones. Algunos reproductores de DVD
buscarán por omisión soportes DVD en
/dev/dvd (algunos incluso tienen fijado en
el código el nombre de dicha unidad) seguramente le
resultará útil ejecutar los siguientes enlaces
simbólicos:
# ln -sf /dev/acd0 /dev/dvd
# ln -sf /dev/acd0 /dev/rdvdTenga en cuenta que debido al diseño de devfs(5)
los enlaces creados a mano no sobrevivirán a un reinicio
del sistema. Para que así suceda tras cada reinicio debe
añadir las siguientes líneas a
/etc/devfs.conf:
Además, el descifrado de DVD (una tarea que hará necesario llamar a funciones especiales de los DVD-ROM) requiere permisos de escritura en unidades DVD.
Le recomendamos que aumente la memoria compartida del interfaz X11, para lo cual tendrá que incremente los valores asignados a varias sysctl(8):
Hay varias formas de reproducir vídeo en X11, pero cuál de ellas sea la que funcione depende en gran medida del hardware que intervenga. Cada uno de los métodos que se describen más son mejores o peores según en qué hardware se ejecute. Además el procesamiento de video en X11 es un asunto que está recibiendo mucha atención últimamente y en cada nueva versión de Xorg y de XFree86™ no es extraño encontrar avances significativos.
Veamos una lista de interfaces de vídeo muy comunes:
X11: salida normal de X11 utilizando memoria compartida.
XVideo: una extensión del interfaz X11 que permite la reproducción de vídeo en las ventanas de X11.
SDL: Simple Directmedia Layer.
DGA: Direct Graphics Access (acceso directo
a gráficos.
SVGAlib: capa de consola de gráficos a bajo nivel.
Xorg y XFree86™ 4.X tienen una extensión llamada XVideo (también conocida como Xvideo, Xv o xv) que permite reproducir vídeo en ventanas del sistema X11 a través de un tipo de aceleración especial. Dicha extensión ofrece una calidad de reproducción muy alta incluso en máquinas muy cortas de recursos.
Utilice xvinfo para saber qué
extensión está utilizando:
% xvinfoXVideo is supported for your card if the result looks like:
Tenga en cuenta que los formatos que aparecen en el listado (YUV2, YUV12, etc) no aparecen en todas las implementaciones de de XVideo y su ausencia puede despistar a algunos reproductores.
Si el resultado se parece mucho a esto
lo más probable es que su tarjeta no soporte XVideo.
Si su tarjeta gráfica no soporta XVideo lo único que significa es que para su sistema será más complicado alcanzar los requisitos computacionales necesarios para el procesamiento de vídeo. Dependiendo de la tarjeta gráfica y el procesador que tenga es posible que de todos modos pueda salvar la papeleta. Consulte la sección sobre recursos avanzados en la Sección 7.4.3, “Lecturas adicionales”.
SDL (Simple Directmedia Layer) se creó pensando en una capa que permitiera aplicaciones fáciles de portar entre las plataformas Microsoft® Windows®, BeOS y UNIX® y que permitiera al mismo tiempo un uso eficiente del sonido y el vídeo. La capa SDL ofrece abstracción de hardware a bajo nivel, lo que a veces puee ser más eficiente que la propia interfaz X11.
SDL está en devel/sdl12.
«Direct Graphics Access» es una extensión
de X11 que permite que un programa sortée el servidor X y
acceda directamente al «framebuffer». Utiliza memoria
de bajo nivel, así es imprescindible que se ejecute como
root.
Puede probar y analizar el rendimiento de la extensión
DGA con dga(1). Al ejecutar dga la pantalla
cambia de color cada vez que pulsa una tecla. Para salir de la
aplicación pulse q.
Esta sección expone el software existente en la Colección de Ports de FreeBSD que puede usar para la reproducción de vídeo. La reproducción de vídeo es un área del desarrollo de software donde hay muchísima actividad, de manera que las características de más de una de las aplicaciones que vamos a describir pueden ser distintas.
Lo primero que hay que conocer es el importante detalle de que la mayoría de las aplicaciones de vídeo que funcionan en FreeBSD se desarrollaron para Linux. Muchas de esas aplicaciones todavía están en versiones beta. Estos son algunos de los problemas que puede encontrarse durante el uso de software de vídeo en FreeBSD:
Una aplicación no puede reproducir un fichero que ha generado otra aplicación distinta.
Una aplicación no puede reproducir un fichero que ella misma a generado.
La misma aplicación ejecutándose en dos máquinas distintas, compilada en cada una de esas máquinas; la reproducción del mismo fichero da resultados diferentes.
El uso de un filtro aparentemente trivial como es redimensionar una imagen aplicando una escala da como fruto un resultado horroroso debido a que la rutina encargada de aplicarla es defectuosa.
Que una aplicación de volcados de memoria («core dumps»).
La documentación no se instala con el port, pero
sí que existe en la web o en el directorio
work del port.
La mayoría de estas aplicaciones muestra síntomas evidente de «Linuxismo», es decir, hay problemas derivados del modo en el que se implementan las bibliotecas en las distribuciones de Linux, o del hecho de que ciertas características del kernel de Linux han sido dadas por omnipresentes por los autores de las aplicaciones. Estos problemas no siempre han sido advertidas y solucionadas de algún modo por los responsables de los ports, lo que puede desembocar en problemas como:
El uso de /proc/cpuinfo para detectar
las características del procesador.
El uso erróneo de los hilos puede causar que ciertos programas se cuelguen al intentar cerrarse en lugar de cerrarse correctamente.
Software que aún no está en la Colección de Ports de FreeBSD usado frecuentemente con la aplicación.
Hasta ahora los autores de las aplicaciones han colaborado de buen grado con los responsables de los ports para hacer más sencillo el trabajo de portar estas aplicaciones a FreeBSD.
MPlayer es un reproductor de vídeo desarrollado muy recientemente y con un desarrollo rapidísimo. Los objetivos del equipo MPlayer son la velocidad y la flexibilidad en Linux y otros sistemas Unix. El proyecto comenzó cuando el fundador del equipo se cansó de padecer el pobre rendimiento de los reproductores de vídeo que había disponibles en ese momento. Hay quien dice que el interfaz gráfico fue sacrificado en pos de un diseño más ligero, aunque una vez que se acostumbre a las opciones desde la línea de órdenes y a los atajos de teclado todo irá como la seda.
Encontrará MPlayer en multimedia/mplayer.
MPlayer ejecuta una serie de
pruebas de hardware durante el proceso de compilación,
dando como resultado un binario que no tiene por qué
funcionar en otros sistemas. Recuerde, por tanto, compilar
la aplicación como port y no utilice el package
binario. Además hay múltiples parámetros
que puede pasarle a make, tal y como
verá al comenzar la compilación:
# cd /usr/ports/multimedia/mplayer
# make
N - O - T - E
Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.html
Las opciones por omisión del port deberían
bastar para la mayoría de los usuarios, aunque si
va a necesitar el codec XviD tendrá que especificar
WITH_XVID en la línea de
órdenes. La unidad de DVD por defecto se puede
definir con la opción
WITH_DVD_DEVICEsi la opción por omisión,
/dev/acd0, no le sirve.
En el momento de escribir esto el port de
MPlayer genera la documentación
en formato HTML y dos ejecutables:
mplayer y
mencoder, que es una herramienta para
recodificar vídeo.
La documentación en HTML de MPlayer es muy informativa. Si el lector no cubre todas sus dudas sobre hardware de vídeo e interfaces con el contenido de este capítulo la documentación de MPlayer es el sitio donde debe buscar. Si quiere más información sobre el soporte de vídeo en UNIX® el mejor sitio para consultar es, sin duda alguna, la documentación de MPlayer.
Los usuarios de MPlayer deben
crear un subdirectorio .mplayer en su
«home». Para crear este directorio (necesario
para el funcionamiento de la aplicación) teclée
lo siguiente:
% cd /usr/ports/multimedia/mplayer
% make install-userLas opciones de mplayer para la línea
de órdenes se detallan en la página de manual. Si
necesita todavía más detalles consulte la
documentación en HTML. En esta sección se
va a explicar solamente lo más básico.
Para reproducir el fichero
,
mediante una de las diversas interfaces de vídeo utilice la
opción ficherodeprueba.avi-vo:
% mplayer -vo xv ficherodeprueba.avi% mplayer -vo sdl ficherodeprueba.avi% mplayer -vo x11 ficherodeprueba.avi# mplayer -vo dga ficherodeprueba.avi# mplayer -vo 'sdl:dga' ficherodeprueba.aviMerece la pena que pruebe todas, puesto que el rendimiento relativo depende en gran medida de muchos factores y será muy distinto el resultado dependiendo del hardware.
Si quiere reproducir un DVD sustituya
por ficherodeprueba.avidvd://, donde
N -dvd-device
DISPOSITIVON es
el número de título que quiere reproducir y
es el
nodo de dispositivo del DVD-ROM. Veamos un ejemplo: para reproducir el
título 3 desde DISPOSITIVO/dev/dvd
ejecutaremos:
# mplayer -vo xv dvd://3 -dvd-device /dev/dvdLa unidad de DVD por omisión puede definirse
durante la compilación del port de
MPlayer con la opción
WITH_DVD_DEVICE. Por defecto apunta a
/dev/acd0. Tiene todos los
detalles en el
Makefile del port.
Consulte los atajos de teclado para parar la
reproducción, ponerla en pausa, etc. consulte la
salida de mplayer -h o mejor aún
lése la página de manual.
Hay otras opciones que le resultarán de interés
para la reproducción:
-fs -zoom, para la reproducción a pantalla
completa y -framedrop, que mejora el
rendimiento.
Para evitar que la línea de órdenes se
haga demasiado larga puede crear un fichero
.mplayer/config e introducir en él
las opciones que quiera usar desde el arranque de la
aplicación:
Para terminar, puede usar mplayer
para extraer un título de un DVD a un fichero
.vob. Por ejemplo, si quiere extraer
el segundo título de un DVD escriba esto:
# mplayer -dumpstream -dumpfile salida.vob dvd://2 -dvd-device /dev/dvdEl fichero de salida, salida.vob,
un MPEG y puede manipularlo con las aplicaciones que se
describen en esta sección.
Antes de empezar a usar
mencoder le recomendamos que se familiarice
con las opciones que se detallan en la documentación
HTML. Hay también una página de manual, pero no
es de mucha utilidad sin la documentación HTML. Hay una
ingente cantidad de formas de mejorar la calidad, reducir el
ratio de bits y cambiar formatos; alguno de esos pequeños
trucos pueden marcar la diferencia entre un buen y un mal
rendimiento. Le mostramos un par de ejemplos por los que
puede empezar. El primero es una simple copia:
% mencoder entrada.avi -oac copy -ovc copy -o salida.aviCiertas combinaciones erróneas de opciones en la
línea de órdenes pueden dar como fruto un fichero
de salida que no puede reproducir ni siquiera el propio
mplayer, así que si lo que quiere es
extraer datos a un fichero siga usando tranquilamente la opción
-dumpfile de
mplayer.
Para convertir
con
codificación MPEG4 y audio con codificación MPEG3
(necesitará entrada.aviaudio/lame):
% mencoder entrada.avi -oac mp3lame -lameopts br=192 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq -o salida.aviEl fichero de salida puede verse con mplayer
y con xine.
Si sustituye
por entrada.avidvd://1 -dvd-device /dev/dvd y lo ejecuta
como root puede recodificar un título
de DVD directamente. Es posible que el resultado no sea
muy satisfactorio tras los primeros intentos, así que
le recomendamos que vuelque el título a un fichero
y haga todas las pruebas que necesite sobre ese fichero.
El reproductor de vídeo
xine es un ambicioso proyecto que
tiene como meta ofrecer no solamente una aplicación de
vídeo «todo en uno», sino crear una
biblioteca base reutilizable y un ejecutable modular que
puede ampliarse mediante «plugins». Existe como
package y también como port: multimedia/xine.
El reproductor xine está todavía en mantillas, pero sus primeros pasos están siendo muy interesantes. xine requiere o una CPU rápida o una tarjeta gráfica, o bien soporte para la extensión XVideo. El GUI es intuitivo, aunque un tanto pedestre.
En el momento de escribir esto xine no incorpora ningún módulo de entrada que sirva para reproducir DVD codificados con CSS. Hay versiones compiladas por terceros que tienen módulos que lo permiten, pero ninguna de ellas está en la Colección de Ports de FreeBSD.
Comparado con MPlayer xine deja las cosas más hechas para el usuario, pero al mismo tiempo pone más difícil el control exhaustivo sobre todo lo que pasa. El reproductor xine da un mejor rendimiento en interfaces XVideo.
Por omisión xine arranca con un intefaz gráfico de usuario. Los menús pueden usarse para abrir un fichero en concreto:
% xineTambién puede invocar la aplicación desde la línea de órdenes para que reproduzca un fichero inmediatamente y sin utilizar el GUI:
% xine -g -p fichero.avitranscode no es un reproductor,
sino una suite de herramientas para recodificar (también
se podría usar la palabra «transcodificar», de
ahí su nombre) ficheros de sonido y de vídeo.
Con transcode es posible fundir ficheros
de video y reparar ficheros deteriorados desde la línea de
órdenes y en las interfaces de flujo
stdin/stdout.
Puede configurar gran cantidad de opciones en el
momento de la compilación de multimedia/transcode; le
recomendamos que use la siguiente línea de
órdenes para compilar
transcode:
# make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
WITH_MJPEG=yes -DWITH_XVID=yesLa configuración que le proponemos deberí satisfacer a la mayoría de los usuarios.
Veamos un ejemplo ilustrativo de las posibilidades de
transcode: convertir un fichero DivX
en un fichero PAL MPEG-1 (PAL VCD):
% transcode -i input.avi -V --export_prof vcd-pal -o output_vcd
% mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpaPuede reproducir el fichero MPEG resultante,
,
con MPlayer. Si quiere también
puede grabar el fichero en un CD-R y tendrá un VideoCD,
aunque para eso tendrá que instalar output_vcd.mpgmultimedia/vcdimager y sysutils/cdrdao.
Consulte la página de manual de transcode,
pero no olvide consultar también el wiki de
transcode, en el que encontrará
más información y muchos ejemplos.
El desarrollo de las diversas aplicaciones de vídeo disponibles en FreeBSD avanza rápidamente. Es muy posible que en un futuro cercano la mayoría de los problemas de los que hemos hablado aquí hayan sido resueltos. Mientras tanto quien quiera exprimir las capacidades de FreeBSD en las áreas del sonido y el vídeo tendrán que recopilar la información repartida en varias FAQ y tutoriales y utilizar unos cuantos programas diferentes. En esta sección se le proponen al lector interesado varias fuentes de información adicional.
La documentación de MPlayer contiene una gran cantidad de información técnica. Cualquiera que quiera alcanzar un alto grado de conocimiento en vídeo sobre UNIX® debe consultar esa documentación. La lista de correo de MPlayer es sumamente hostil hacia quien no se ha molestado en leer la documentación antes de preguntar, así que si va a enviar informes de errores a esa lista, por favor, léase la documentación..
El texto xine HOWTO contiene un capítulo sobre mejora del rendimiento que afecta a todos los reproductores.
Hay unas cuantas aplicaciones muy prometedoras que el lector debería al menos probar:
Las tarjetas de TV le permiten ver en su sistema emisiones de TV tradicionales o incluso por cable. La mayoría aceptan vídeo compuesto mediante RCA o una entrada de S-video; algunas de estas tarjetas incorporan también un sintonizador de radio FM.
FreeBSD puede utilizar tarjetas de TV PCI que tengan el chip Brooktree Bt848/849/878/879 o el chip de captura de vídeo Conexant CN-878/Fusion 878a gracias al controlador bktr(4). Asegúrese de que la tarjeta tiene un sintonizador que esté soportado: consulte la lista de sintonizadores soportados que encontrará en la página de manual de bktr(4).
Poder usar la tarjeta tendrá que cargar el
controlador bktr(4). Una forma de hacerlo es
añdir la siguiente línea al fichero
/boot/loader.conf:
También puede hacerlo compilando estáticamente el soporte para la tarjeta de TV en su kernel; añada las siguientes líneas al fichero de configuración de su kernel:
Es necesario incluir todas esas lineas adicionales porque los componentes de la tarjeta están conectados entre sí por un bus I2C. Hecho esto compile e instale su nuevo kernel.
Una vez añadido el soporte de la tarjeta al sistema tendrá que reiniciar. Durante el arranque deberían aparecer rastros de su tarjeta de TV. Veamos un ejemplo:
Es obvio que estos mensajes serán distintos según sea el hardware del que se trate. Asegúrese de que el sistema detecta correctamente el sintonizador. Se puede sobreescribir alguno de los parámetros detectados por el sistema mediante MIB sysctl(8) y opciones del fichero de configuración del kernel. Si por ejemplo quiere obligar al sintonizador para que se comporte como un Phillips SECAM añada lo siguiente al fichero de configuración de su kernel:
Puede utilizar directamente sysctl(8):
# sysctl hw.bt848.tuner=6Consulte en bktr(4) y en
/usr/src/sys/conf/NOTES si necesita
más detalles sobre las opciones disponibles.
Tendrá que instalar una de estas aplicaciones para poder utilizar su tarjeta de TV:
multimedia/fxtv
ofrece «TV en una ventana» y captura de
imagen/sonido/vídeo.
multimedia/xawtv:
otra aplicación de TV; ofrece lo mismo que
fxtv.
misc/alevt decodifica
y reproduce videotexto y teletexto.
audio/xmradio permite
utilizar el sintonizador de radio FM que incorporan algunas
tarjetas de TV.
audio/wmtune, una
aplicación de escritorio muy útil para
el uso de sintonizadores de radio.
Hay más aplicaciones útiles en la Colección de de Ports de FreeBSD.
Si tiene algún problema con su tarjeta de TV compruebe en primer lugar que el chip de captura de vídeo y el sintonizador realmente funcionan con el controlador bktr(4) y si ha utilizado las opciones de configuración más adecuadas. Si necesita más ayuda o necesita respuestas sobre su tarjeta de TV puede recurrir a la lista de correo freebsd-multimedia.
El acceso a escáneres de imágenes en FreeBSD funciona gracias a la API SANE (siglas de «Scanner Access Now Easy», «el acceso a escáneres ahora es fácil»), disponible en la Colección de Ports de FreeBSD. SANE utiliza también ciertos controladores de FreeBSD para acceder al hardware del escáner.
FreeBSD puede utilizar tanto escáneres SCSI como USB. Asegúrese de que el suyo funciona con SANE antes de intentar ningún tipo de configuración. SANE tiene una lista de dispositivos soportados donde encontrará información actualizada sobre hasta dónde funciona el escáner y su estatus. La página de manual de uscanner(4) incluye una listas de escáneres USB que funcionan con SANE.
Como ya se ha dicho tanto los interfaces USB como las SCSI funcionan. Según sea el interfaz de su escáner necesitará un tipo diferente de controlador:
El kernel GENERIC incluye por
omisión los controladores de dispositivo necesarios
para poder usar escáneres USB. Si va a personalizar
su kernel asegúrese de que esto está en el
fichero de configuración del mismo:
Según cual sea el chipset de su placa base
tendrá que usar device uhci o
device ohci, aunque si tiene ambos
no tendrá problemas por eso.
Si por cualquier motivo no quiere recompilar su
kernel y su kernel no es el
GENERIC puede cargar el módulo
controlador de dispositivo uscanner(4) con
kldload(8):
# kldload uscannerSi quiere cargar este módulo cada vez que arranque
el sistema debe añadir la siguiente
línea a
/boot/loader.conf:
Tras reiniciar con el kernel correcto (o una vez que el módulo esté cargado) conecte su escáner USB. Debe aparecer en el «buffer» de mensajes del sistema (dmesg(8)) un mensaje una línea como la siguiente:
La línea del ejemplo muestra que nuestro
escáner está utilizando el nodo de
dispositivo/dev/uscanner0.
Si su escáner tiene un interfaz SCSI es importante
saber qué controladora SCSI incorpora.
El chipset SCSI que tenga influirá en la
configuración del kernel que tenga que
personalizar. El kernel GENERIC
tiene controladores de dispositivo para las controladoras
SCSI más comunes. Consulte el fichero
NOTES y añada la
línea correcta al fichero de configuración
de su kernel. Tendrá que añadir
también la siguiente línea:
Una vez compilado e instalado el kernel correctamente tiene ya que ver sus nuevos dispositivos en el «buffer» de mensajes del sistema:
Si su escáner estaba apagado durante el arranque puede forzar manualmente la detección si ejecuta una búsqueda de buses SCSI con camcontrol(8):
# camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successfulEl escáner aparecerá en la lista de dispositivos SCSI:
# camcontrol devlist
<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)Tiene todos los detalles sobre los dispositivos SCSI en las páginas de manual de scsi(4) y camcontrol(8).
El sistema SANE se divide
en dos partes: los «backends» (graphics/sane-backends) y los
«frontends» (graphics/sane-frontends). Los
«backends» facilitan el acceso al escáner
propiamente dicho. La
lista
de dispositivos que funcionan con
SANE le dirá qué
«backend» hará funcionar su escáner
de imágenes. No hay más remedio que identificar
correctamente el «backend» de su escáner
para poder usarlo. Los «frontends» ofrecen
una interfaz gráfica para escanear
(xscanimage).
Lo primero que hay que hacer es instalar el port
o package de graphics/sane-backends. Después
ejecute la orden sane-find-scanner
para comprobar el funcionamiento de la detección
de escáneres del sistema
SANE:
# sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3En la salida de la orden anterior se le mostrará el tipo de interfaz del escáner y el nodo de dispositivo a través del cual el sistema accede a él. Es posible que no aparezcan la marca y el modelo, pero eso no tiene importancia.
Algunos escáneres USB necesitan que les instale un «firmware»; esto se explica en la página de manual del «backend» correspondiente. También debe leer las páginas de manual sane-find-scanner(1) y sane(7).
Ahora hay que comprobar que el «frontend» de
escaneo puede identificar el escáner. Por omisión
los «backends» de
SANE incorporan una herramienta de
línea de órdenes llamada scanimage(1), que
le mostrará una lista de dispositivos e incluso una
captura de imagen desde la shell. La opción
-L muestra una lista de escáners:
# scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scannerSi el software no lanza ningún mensaje, o si
el mensaje indica que no se han encontrado escáneres
significa que scanimage(1) no puede identificar su
escáner. Si este es el caso tendrá que
editar el fichero de configuración del
«backend»y definir en él el
escáner que quiera utilizar. Encontrará
todos los ficheros de configuración de los
«backends» en el directorio /usr/local/etc/sane.d/. Este
problema con la identificación del hardware
es relativamente frecuente con ciertos modelos de
escáneres USB.
Por ejemplo, con el escáner que hemos usado en
la Sección 7.6.2.1, “Interfaz USB” la orden
sane-find-scanner nos da la siguiente
información:
# sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0El escáner ha sido detectado sin problemas, utiliza el
interfaz USB y está conectado al nodo de dispositivo
/dev/uscanner0 . Ahora comprobaremos
que podemos identificar correctamente el escáner:
# scanimage -L
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).No hemos podido identificar el escáner, así
que hemos de editar el fichero
/usr/local/etc/sane.d/epson.conf. Estamos
usando el modelo de escáner EPSON
Perfection® 1650,
así que ya sabemos que el escáner utilizará
el «backend» epson. Lea
atentamente los comentarios que hay en los ficheros de
configuración de los «backends». Lo que
hay que hacer es muy sencillo: basta con comentar las
líneas en las que aparecen interfaces que no sean el
perfecto para su escáner. En nuestro caso comentaremos
todas las líneas que comiencen por
scsi puesto que nuestro escáner
tiene interfaz USB. Después de esto hay que
añadir una lína al final del fichero declarando
el interfaz y el nodo de dispositivo que se van a usar. En
el caso del ejemplo esto es lo que añadimos:
Por favor, lea los comentarios que encontrará en el fichero de configuración del «backend» y la pángina de manual de del «backend» si necesita más información sobre la sintaxis que debe usar. Hecho esto podemos verificar si ya podemos identificar el escáner:
# scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scannerHemos identificado nuestro escáner USB. Ni tiene
importancia si la marca y modelo que hemos visto no coinciden
con nuestro escáner. Lo único realmente
importante es el campo
`epson:/dev/uscanner0', que nos da
el nombre correcto del «backend» y el
nodo de dispositivo correcto.
Una vez que scanimage -L llega a ver
al escáner hemos terminado con la configuración.
El dispositivo está listo para escanear
imángenes.
scanimage(1) permite ejecutar una captura de
imágen desde la línea de órdenes,
pero siempre es mejor utilizar un interfaz gráfico de
usuario para estas tareas.
SANE ofrece un interfaz
gráfico simple pero eficiente:
xscanimage
(graphics/sane-frontends).
Otro «frontend» gráfico para
escanear que se ha hecho muy popular es
Xsane (graphics/xsane). Este
«frontend» tiene características muy
avanzadas como varios modos de escaneo (fotocopia, fax, etc.),
corrección de color, escaneo de imágenes por
lotes, etc. Ambas aplicaciones pueden utilizarse además
como «plugins» de
GIMP.
Todo lo que se ha mostrado en esta sección
se ha ejecutado con privilegios de
root. Lo normal es que haya otros usuarios
que tengan que tener acceso al escáner. Un usuario
que quiera usar el escáner tiene que tener acceso
de lectura y escritura al nodo de dispositivo que usa
el escáner. Por ejemplo, nuestro escáner
USB utiliza el nodo de dispositivo
/dev/uscanner0 propiedad del grupo
operator. Al añadir al usuario
al
grupo joeoperator éste podrá
acceder al esc´ner:
# pw groupmod operator -m joePara más información sobre el uso de
pw(8) lea su página de manual. Tendrá
también que configurar correctamente los permisos de
escritura (0660 o 0664) en el nodo de dispositivo
/dev/uscanner0; por omisión los
miembros del grupo operator sólo
tienen acceso de lectura en este nodo de dispositivo.
Añada las siguientes líneas al fichero
lines to the /etc/devfs.rules:
Ahora añada lo siguiente a
/etc/rc.conf y reinicie la
máquina:
Para más información sobre lo que acaba de leer consulte la página de manual de devfs(8).
Por seguridad debería pensarse dos veces
el hecho mismo de añadir cualquier usuario
a un grupo y muy especialmente al grupo
operator.
El kernel de FreeBSD es el corazón del sistema operativo. Es el responsable de la gestión y control de la memoria, reforzamiento de los controles de seguridad, gestión de redes, acceso a dispositivos y muchas cosas más. FreeBSD es un sistema dinámico y configurable, pero a veces sigue siendo necesario reconfigurar y recompilar un kernel hecho a la medida de nuestras necesidades.
Una vez leido este capítulo sabrá usted:
Por qué puede ser necesario que compile un kernel personalizado.
Cómo crear un fichero de configuración del kernel, o bien editar un fichero existente.
Cómo utilizar el fichero de configuración para crear y compilar un nuevo kernel.
Cómo instalar su nuevo kernel.
Cómo resolver algunos problemas si algo sale mal.
Tradicionalmente FreeBSD ha contado con lo que se conoce como un kernel “monolítico”. Esto quiere decir que el kernel era un gran y único programa que se comunicaba con una lista previa de dispositivos, y que si se deseaba modificar el comportamiento del kernel se debía compilar un nuevo kernel y reiniciar el sistema con el nuevo kernel.
Hoy en día FreeBSD evoluciona muy rápidamente hacia un modelo donde la funcionalidad del kernel se basa en módulos, los cuales pueden cargarse y descargarse dinámicamente de acuerdo a las necesidades del kernel. Esto permite al kernel adaptarse al nuevo hardware que sale al mercado (como las tarjetas PCMCIA en sistemas portátiles), o bien añadir nuevas funcionalidades al kernel que no eran al compilarlo la vez anterior. Esto es lo que conocemos como kernel modular.
A pesar de lo dicho aún es necesario llevar a cabo cierta configuración estática en la configuración del kernel. A veces se debe a que la funcionalidad del sistema está tan ligada al kernel que no puede hacerse mediante carga dinámica de módulos. En otros casos puede tratarse simplemente de que nadie ha programado un módulo para esa funcionalidad concreta que pueda cargarse dinámicamente en el kernel.
Compilar un kernel personalizado es uno de los ritos de
iniciación más importantes a los que los usuarios de
casi todos los BSD han de enfrentarse. Este proceso lleva su
tiempo, pero le aportará grandes beneficios a su
sistema FreeBSD. A diferencia del kernel
GENERIC, con el que puede funcionar una cantidad
apabullante de hardware disponible en el mercado, un kernel personalizado
contiene únicamente lo necesario para que funcione el hardware de
su sistema. Obviamente esto tiene sus
ventajas:
Mayor rapidez en el arranque del sistema. Dado que el kernel sólo tiene que probar el hardware que realmente está en el sistema el tiempo que necesitará para arrancar se reducirá visiblemente.
Menor uso de memoria. Generalmente un kernel personalizado
utiliza menos memoria que un kernel
GENERIC, lo cual es importante ya que el
kernel debe encontrarse siempre en memoria real. Por ésta
razón un kernel personalizado puede ser de gran utilidad
en sistemas con una cantidad limitada de memoria RAM.
Hacer funcionar hardware específico. Un kernel personalizado
le permite añadir al sistema dispositivos como tarjetas de sonido,
que no están incluidas en el kernel GENERIC.
Antes de aventurarnos en la configuración del kernel nunca está de más disponer de un inventario completo del hardware que hay en la máquina. En los casos en los que FreeBSD no es el sistema operativo principal de la máquina puede conseguir el inventario consultando la configuración de otro sistema operativo. Por ejemplo, el Gestor de dispositivos de Microsoft® suele contener información importante sobre los dispositivos que haya en la máquina. El Gestor de dispositivos está en el panel de control.
Algunas versiones de Microsoft® Windows® tienen un icono de Sistema con forma de pantalla desde el que se puede acceder al Gestor de dispositivos.
Si no hay otro sistema operativo en la máquina el
administrador tendrá que conseguir la información
por su cuenta. Una forma de hacerlo es mediante dmesg(8) y
man(1). La mayoría de los controladores de dispositivo
que hay en FreeBSD tienen una página de manual, que suele
incluir una lista del hardware que puede hacer funcionar. En
la prueba del sistema durante el arranque va apareciendo una
lista del harware que hay en la máquina. Por ejemplo,
las siguientes líneas indican que el controlador
psm ha encontrado un ratón:
Puede añadir este controlador al fichero de configuración de su kernel personalizado o cargarlo utilizando loader.conf(5).
A veces los datos que muestra dmesg
solamente muestran mensajes del sistema en lugar de la
salida de la prueba de arranque. En esos casos puede
ver la verdadera salida de dmesg en el
fichero /var/run/dmesg.boot.
Otro método para identificar el hardware del sistema es usar pciconf(8), que tiene una salida mucho más verbosa. Veamos un ejemplo:
Este fragmento, obtenido con
pciconf muestra cómo
el controlador -lvath ha encontrado un
dispositivo Ethernet inalámbrico. Escriba
man para
consultar la página de manual de ath(4).ath
La opción -k de man(1) le
suministrará valiosa información. Sigamos
con el ejemplo anterior:
# man -k AtherosCon esto obtendremos una lista de páginas de manual que contienen esa palabra en particular:
Una vez que tenemos nuestra flamante lista de hardware del sistema el proceso de compilar un kernel personalizado debería parecer un poco menos inquietante.
Antes de compilar un kernel personalizado conviene pensar antes los motivos. Si lo que se necesita es añadir hardware específico al sistema es posible que sea posible utilizarlo mediante un módulo.
Los módulos del kernel están en el directorio
/boot/kernel y se
pueden cargar dinámicamente en un kernel en funcionamiento
con kldload(8). La mayoría, por no decir todos, los
controladores del kernel tienen un módulo específico
y una página de manual. Por ejemplo, en la sección
anterior hablábamos del controlador Ethernet inalámbrico
ath. La página de manual
de este dispositivo contiene la siguiente
información:
Si hace lo que dice ahí, es decir, añadir
la línea if_ath_load="YES" al fichero
/boot/loader.conf hará que el
módulo se cargue dinámicamente cada vez
que el sistema arranque.
Hay casos, no obstante, en los que no existe el módulo correspondiente. Esto sucede con ciertos subsistemas y con controladores muy importantes, como por ejemplo el de FFS, que necesita el kernel. Igual sucede con la posibilidad de utilizar redes (INET). Por desgracia, en estos casos la única forma de saber si hace falta un controlador es buscar el módulo.
Es sumamente fácil quitar un dispositivo o una
opción del kernel y encontrarse de manos a boca con
un kernel que no funciona. Por ejemplo, si elimina el
controlador ata(4) del fichero de configuración
del kernel un sistema que utilice unidades de disco
ATA no podrá arrancar a menos que
se añada la línea correspondiente al fichero
loader.conf. Si tiene dudas busque el
módulo y deje el kernel como está.
En primer lugar, hagamos un breve recorrido por el directorio
donde se lleva a cabo la compilación del kernel. Todos los
directorios mencionados hacen referencia al directorio principal,
que es /usr/src/sys, al que también
podemos acceder desde /sys. Existen gran
cantidad de subdirectorios que representan diferentes partes del
kernel, pero el más importante para lo que deseamos hacer son
y
arch/conf, que es donde se llevara a cabo la
edición del fichero de configuración y la
compilación propiamente dicha del mismo,
el punto de partida para la personalización del kernel. El
directorio
representa la arquitectura del sistema, por lo que puede ser
archi386, alpha,
amd64, ia64,
powerpc, sparc64 o
pc98 (una arquitectura alternativa, similar a PC
y muy popular en Japón). Todo lo que existe dentro de un
directorio de una arquitectura en particular, es específico
para dicha arquitectura; el resto del código es común
para todas las plataformas en las que FreeBSD puede funcionar.
Observe la organización lógica de la estructura
de los directorios, con cada dispositivo utilizable en el sistema,
sistema de ficheros y opciones, cada cosa en su propio
subdirectorio.
A lo largo de este capítulo asumiremos que está utilizando la arquitectura i386, puesto que sobre ella son los ejemplos que vamos a ir exponiendo. Si no es este su caso debe hacer los cambios adecuados a su arquitectura de hardware en las rutas que vayamos utilizando.
Si no existe el directorio
/usr/src/sys en su sistema quiere
decir que no están instaladas las fuentes del
kernel. La forma más sencilla de tenerlas es
mediante /stand/sysinstall. Como
usuario root seleccione
Configure, luego
Distributions, después
src y finalmente sys.
Si no le gusta mucho
sysinstall y tiene acceso a un
CDROM “oficial” de FreeBSD puede
instalar las fuentes por medio de la siguiente línea
de órdenes:
# mount /cdrom
# mkdir -p /usr/src/sys
# ln -s /usr/src/sys /sys
# cat /cdrom/sys/ssys.[a-d]* | tar -xzvfAhora vaya al al directorio
y copie el fichero de configuración arch/confGENERIC
con el nombre que desee. Por ejemplo:
# cd /usr/src/sys/i386/conf
# cp GENERIC MIKERNELPor tradición el nombre se escribe con mayúsuculas y
si tiene varias maquinas FreeBSD, con diferente hardware es recomendable
darle a cada kernel el mismo nombre que la máquina en la que va
a ejecutarse. En este ejemplo usaremos el nombre de
MIKERNEL .
Guardar su fichero de configuración directamente bajo
el directorio /usr/src, puede que no sea una
idea muy astuta. Si empieza a tener problemas puede ser muy tentador
borrar /usr/src y comenzar desde cero.
Cinco segundos después de haber hecho esto se dará
cuenta de que ha eliminado el fichero de configuración de
su kernel, en el que quizás llevaba horas trabajando.
Le proponemos una alternativa: guardar su fichero de configuración
cualquier otro sitio y crear un enlace simbólico al fichero
que hay en el directorio i386.
Por ejemplo:
# cd /usr/src/sys/i386/conf
# mkdir /root/kernels
# cp GENERIC /root/kernels/MIKERNEL
# ln -s /root/kernels/MIKERNELAhora edite el fichero de configuración
MIKERNEL con su editor de textos favorito.
Si se trata de una instalación reciente probablemente el
único editor disponible sea vi,
del cual es complicado explicar su uso detallado en este
documento, pero existen bastantes libros que detallan su uso; puede
ver algunos en la bibliografía.
FreeBSD dispone de un editor de uso muy sencillo, llamado
ee; si es usted principiante le será
de mucha ayuda. Cambie los comentarios al principio del fichero
con algo que refleje los cambios realizados o al menos para
diferenciarlo del fichero GENERIC.
Si ha compilado un kernel en SunOS™ o algún otro sistema operativo
BSD seguramente la mayor parte de fichero le será muy
familiar. Si viene usted de otros sistemas
operativos como DOS, el fichero GENERIC puede
parecerle intimidante, así que siga las instrucciones descritas
en El Fichero de Configuración
detenidamente y con sumo cuidado.
Asegúrese siempre de verificar el fichero
/usr/src/UPDATING antes de realizar cualquier
actualización del sistema si ha
sincronizado sus fuentes
para disponer de la última versión de los mismos.
En el fichero /usr/src/UPDATING está toda
la información importante sobre las actualizaciones.
Al distribuirse con FreeBSD dicha información deberá
estar más actualizada que la que hay en este mismo
texto.
Ahora es momento de llevar a cabo la compilación del código fuente del kernel.
Vaya al directorio /usr/src:
# cd /usr/srcCompile el kernel:
# make buildkernel KERNCONF=MIKERNELInstale el nuevo kernel:
# make installkernel KERNCONF=MIKERNELEs imprescindible que disponga del código fuente completo de FreeBSD para poder compilar el kernel.
Por omisión, si compila un kernel personalizado
todos los módulos del kernel
serán recompilados también. Si quiere
que la actualización de su kernel sea mucho más
rápida o compilar solamente ciertos módulos
personalizados, edite kernel modules will be rebuilt as well.
/etc/make.conf antes de compilar el
kernel:
Esta variable crea una lista de módulos listos para ser compilados, sin tocar los demás.
Esta variable crea una lista de módulos que serán excluidos del proceso de compilación. Hay otras variables que pueden resultarle útiles durante este proceso; consulte la página de manual de make.conf(5).
El nuevo kernel se copiará al directorio raíz
como /kernel y el kernel viejo tendrá
el nombre de /kernel.old. Ahora
reinicie su sistema para poder probar su nuevo kernel. En caso de que se
presente algun problema hay algunos consejos para la resolución de problemas al
final de este capítulo. Asegúrese de leer la sección
que explica cómo recuperar el sistema en caso de que su kernel no quiera arrancar.
Ciertos ficheros relacionados con el proceso de
arranque, como loader(8)y su configuración,
se guardan en /boot. Los módulos
personalizados o de terceros se suelen guardar en
/boot/kernel,
aunque debe tener presente que es muy importante que
los módulos y el kernel estén
sincronizados. Si intenta usar módulos con un
kernel para el que no están destinados puede
haber errores o incluso producirse intesatabilidades.
El formato de un fichero de configuración es
bastante simple. Cada línea contiene una palabra
clave con uno o más argumentos. Para simplificar,
hay muchas líneas que solamente contienen un
argumento. Cualquier cosa detrás de un
# se considerará un comentario y
en consecuencia será ignorado. Las siguientes
secciones describen todas las palabras clave en el orden
en el que aparecen en
GENERIC.
Si quiere una lista exhaustiva de
de opciones dependientes de arquitectura y de dispositivos
puede consultar el fichero NOTES
en el mismo directorio donde está el fichero
GENERIC. Si quiere ver las
opciones independientes de arquitectura consulte
/usr/src/sys/conf/NOTES.
Puede generar un fichero que contenga todas las opciones
disponibles en un kernel. Esto es algo que solamente se
usa para hacer pruebas. Si quiere generarlo ejecute, como
root, lo siguiente:
# cd /usr/src/sys/i386/conf && make LINTA continuación veremos un ejemplo de fichero de
configuración de un kernel GENERIC
al que se han añadido comentarios adicionales donde se
ha visto que era necesario abundar un poco para mayor
claridad. Este ejemplo es igual (o, en el
peor de los casos, casi igual) que la copia del mismo
que tiene usted en
/usr/src/sys/.
i386/conf/GENERIC
Esta es la arquitectura de la máquina. Debe ser
alpha, amd64,
i386, ia64,
pc98, powerpc o
sparc64.
Las opciones anteriores definen el tipo de CPU que
haya en su sistema. Puede dejar varias líneas
de CPU (si, por ejemplo, no está seguro de usar
I586_CPU o I686_CPU),
pero si está personalizando su kernel es mucho mejor
que solamente ponga la CPU que tenga. Si no está
seguro de la CPU que tiene busque en los mensajes de arranque
que se guardan en
/var/run/dmesg.boot.
Este es el identificador del kernel. Modifíquelo
para que cuadre con el nombre que le haya dado a su kernel,
es decir,
si ha seguido los ejemplos anteriores. El valor que asigne
a la cadena MIKERNELident será el que
se muestre cuando arranque con su kernel, así que
es útil darle a su kernel un nombre distintivo que
permita distinguirlo fácilmente de otros, por ejemplo,
si está compilando un kernel experimental.
device.hints(5) se usa para configurar opciones
de controladores de dispositivo. La ubicación por
defecto en la que loader(8) buscará durante
el arranque es /boot/device.hints. Si usa
la opción hints puede compilar el
contenido de device.hints en su kernel,
lo que hará innecesario crear ese fichero en
/boot.
El proceso normal de compilación en FreeBSD
incluye información de depuración de
errores si se compila un kernel con la opción
-g, que activa la información
de depuración de errores al pasar a
gcc(1).
El planificador de tareas tradicional y por omisión de FreeBSD. Déjelo como está.
Permite que hilos que están en el kernel puedan asociarse con hilos cuya prioridad sea más alta. Ayuda con la interactividad y permite que los hilos interrumpidos puedan ejecutarse antes en lugar de tener que esperar.
Networking. Deje esto como está, incluso si no tiene en mente conectar la máquina a una red. Muchos programas necesitan al menos disponer de lo que se llama «loopback networking» (esto es, poder efectuar conexiones de red con su propia máquina) así que tener esto es obligatorio.
Activa los protocolos de comunicación IPv6.
El sistema de ficheros básico para discos duros. Debe dejarlo como está si pretende poder arrancar desde disco duro.
Activa Soft Updates en el kernel, lo que acelerará
los accesos de escritura a sus discos. Esta funcionalidad
la facilita el kernel, pero debe activarse para cada disco
de forma específica. Revise la salida de
mount(8) y verá si Soft Updates está
activado en los discos de su sistema. Si no aparece la
opción soft-updates actívela
mediante tunefs(8) (para sistemas de ficheros ya
existentes) o newfs(8) (en el caso de sistemas
de ficheros nuevos).
Esta opción activa en el kernel las listas de control de acceso. Consiste en el uso de atributos extendidos y UFS2 junto con las características que se describen detalladamente en la Sección 14.12, “Listas de control de acceso a sistemas de ficheros”. Las ACL por omisión están activadas, y no deben desactivarse del kernel una vez que hayan sido usadas en un sistema de ficheros puesto que eliminará las listas de control de acceso y el modo en el que se protegen esos ficheros de un modo totalmente fuera de control.
This option includes functionality to speed up disk operations on large directories, at the expense of using additional memory. You would normally keep this for a large server, or interactive workstation, and remove it if you are using FreeBSD on a smaller system where memory is at a premium and disk access speed is less important, such as a firewall.
Esta opción permite que la partición raíz esté en un disco virtual basado en memoria.
NFS, el sistema de ficheros en red. Salvo que tenga intención de montar particiones de sistemas de ficheros UNIX® de un servidor a través de TCP/IP puede comentar estas opciones.
El sistema de ficheros MS-DOS®. Salvo que tenga en mente
montar particiones de disco duro con formato DOS durante el
arranque puede comentar esta opción. En caso de
necesidad esta funcionalidad se cargará
automáticamente. También tiene a su
emulators/mtools,
que le permitirá acceder a disquetes DOS sin tener
que montarlos y desmontarlos (y ni siquiera requiere
MSDOSFS).
El sistema de ficheros ISO 9660 para CDROM. Coméntelo si no tiene unidad CDROM o solamente monta CD muy de vez en cuando; cuando lo necesite el sistema lo cargará dinámicamente. Los CD de sonido no utilizan este sistema de ficheros.
El sistema de ficheros de procesos. Es un sistema
de ficheros “simulado” que se monta en
/proc y permite a programas como
ps(1) suministrar más información
sobre qué procesos están
ejecutándose. En la mayoaría de los casos
no es necesario usar PROCFS,
puesto que la mayoría de las herramientas de
monitorización y depuración han sido
adaptadas para que funcionen sin
PROCFS. De hecho aunque lo instale
el sistema no lo montará por omisión.
Los kernel 6.X pueden usar PSEUDOFS
al utilizar PROCFS.
Con esta opción se puede tener una gran cantidad de particiones en un único disco.
Compatibilidad con 4.3BSD. Déjelo como está; ciertos programas pueden comportarse de formas muy extrañas si comenta esta opción.
FreeBSD 5.X en sistemas i386™ y Alpha necesita esta opción para poder usar aplicaciones compiladas en versiones antiguas de FreeBSD que utilizan, por tanto, llamadas al sistema más antiguas. Esta opción no es necesaria en plataformas en las que funciona FreeBSD desde 5.X, como ia64 y Sparc64®.
Esta opción hace falta en sistemas FreeBSD 6.X y versiones posteriores para poder ejecutar aplicaciones compiladas en FreeBSD 5.X, que usan interfaces de llamada al sistema FreeBSD 5.X.
Hace que el kernel haga una pausa de 5 segundos antes de probar los dispositivos SCSI del sistema. Si solamente tiene discos IDE puede ignorar esta opción, o también puede asignarle un valor menos para evitar el retardo en el arranque. Si lo hace y FreeBSD tiene problemas para reconocer dispositivos SCSI en el sistema es obvio que tendrá que incrementar el valor.
Activa las trazas en el kernel, algo muy útil para la depuración de errores.
Facilita memoria compartida System V. El uso más habitual es la extensión XSHM de X, que utiliza la mayoría de programas que hacen uso intensivo de los gráficos para incrementar la velocidad. Si usa X es casi seguro que le vendrá bien esta opción.
Mensajes System V. Esta opción añade solamente unos cuantos bytes al kernel.
Semáforos System V. No es demasiado frecuente que se utilicen, pero solamente añaden unos cuantos cientos de bytes al kernel.
La opción -p de ipcs(1)
le mostrará una lista de procesos que estén
utilizando características
System V.
Extensiones en tiempo real añadidas en 1993 POSIX®. Ciertas aplicaciones de la Colección de Ports las utilizan, por ejemplo StarOffice™.
This option is required to allow the creation of keyboard device
nodes in /dev.
Giant es un mecanismo de exclusión mutua
(«sleep mutex») que protege un gran conjunto
de recursos del kernel. Hoy en dia no es asumible tener
un cuello de botella así por el impacto que tiene
en el rendimiento, así que está siendo
reemplazado por bloqueos que protegen los recursos de
manera individual. ADAPTIVE_GIANT
hace que Giant sea incluido en un conjunto de
«mutextes» que va rotando
Esto es, cuando un hilo quiere
bloquear el Giant mutex (pero ya está bloqueado
por un hilo de otra CPU) el primer hilo seguirá
ejecutándose a la espera de que se libere el
bloqueo. Generalmente el hilo volverá al estado
de reposo y esperará hasta que aparezca otra
oportunidad de ejecutarse. Si no está seguro de
lo que está haciendo es mejor que deje esta
opción tal y como está.
Tenga en cuenta que en FreeBSD 8.0-CURRENT y
versiones siguientes todos los «mutexes»
son adaptables por omisión, salvo que se use
la opción
NO_ADAPTIVE_MUTEXES. El resultado
evidente que es Giant es adaptable por omisión,
así que la opción
ADAPTIVE_GIANT ha sido eliminada de
la configuración.
El dispositivo apic activa la E/S APIC en la entrega
de interrupciones. El dispositivo apic puede usarse tanto en
kernels para un procesador (UP) como para sistemas
multiprocesador (SMP). Si añada
options SMP funcionará en
sistemas multiprocesador.
El dispositivo apic existe solamente en la arquitectura i386, de modo que no debe usarse esta línea en otras arquitecturas.
Use esta opción si tiene una placa base EISA. Activa la detección automática y permite la configuración de todos los dispositivos que estén en el bus EISA.
Use esta opción si tiene una placa PCI. Permite la detección automática de tarjetas PCI y permite la configuración entre el bus ISA y el PCI.
Este dispositivo es el controlador de la unidad de disquetes.
Este controlador permite utilizar dispositivos ATA
y ATAPI. Si añade al kernel
one device ata éste detectará
cualquier dispositivo ATA/ATAPI PCI que conecte a una
máquina moderna.
Si usa device ata tendrá que
añadir también esto para poder usar unidades
de disco ATA.
Si usa device ata tendrá que
añadir también esto para poder usar unidades
de disco ATA RAID.
Si usa device ata tendrá que
añadir también esto para poder usar unidades
ATAPI CDROM.
Si usa device ata tendrá que
añadir también esto para poder usar unidades
de disquete ATAPI.
Si usa device ata tendrá que
añadir también esto para poder usar unidades
de cinta ATAPI.
Con esta opción hace que el número de controladores sea estático; si no se usa los números de dispositivo se asignan dinámicamente.
Controladoras SCSI. Coméntelas si no las tiene
en su sistema. Si en su sistema tiene solamente unidades IDE
puede borrarlas todas.
Las líneas *_REG_PRETTY_PRINT son
opciones de depuración de errores de sus
respectivos controladores de dispositivo.
Periféricos SCSI. Estos también puede borrarlos sin problemas si no los tiene en su sistema o si solamente tiene hardware IDE.
El controlador USB umass(4) (y unos cuantos controladores más) utilizan el subsistema SCSI aunque no sean dispositivos SCSI reales. No elimine el subsistema SCSI del kernel si va a utilizar cualquiera de estos controladores.
Controladoras RAID que pueden utilizarse en FreeBSD. Si no las tiene en su sistema puede borrarlas.
El controlador de teclado (atkbdc)
ofrece servicios de E/S con teclados AT y ratones PS/2. El
controlador de teclado
(atkbd) y el controlador de ratón PS/2
(psm) necesitan este dispositivo.
El controlador atkbd, junto con el
controlador atkbdc, permiten utilizar el
teclado AT 84 u otros tipos de teclados AT mejorados que se
conecten mediante el controlador de teclado AT.
Utilice este dispositivo si conecta su ratón en el puerto PS/2.
Funcionalidad básica para múltiples teclados. Si no tiene en mente usar más de un teclado en el sistema puede borrar esta línea sin mayor problema.
El controlador de la tarjeta gráfica.
«Splash screen» en el arranque. Los salvapantallas necesitan este dispositivo.
sc por omisión es el controlador
de dispositivo de la consola; se parece mucho a una consola de
SCO. Dado que muchos programas de pantalla completa acceden
a la consola a través de la biblioteca de bases de datos
de terminal
termcap no tiene demasiada importancia si
usa vt, el controlador de consola compatible
VT220. Cuando acceda al sistema asigne a
su variable TERM el valor
scoansisi los programas a pantalla completa
tienen algún problema para acceder a la consola.
El controlador de dispositivo VT220-compatible;
es compatible con VT100/102, anterior a él. Funciona
bien en ciertos sistemas portátiles que adolecen de
incompatibilidad de harware con
sc. Asigne a su variable de entorno
TERM el valor vt100 o
vt220 cuando acceda al sistema. Este
controlador le puede ser de utilidad si tiene que acceder
a gran cantidad de máquinas a través de una
red, una situación en la que suele suceder que
termcap o
terminfo no están ahí
para que las use sc.
vt100, por el contrario, debería
aparecer en práticamente cualquier
plataforma.
Utilice esta opción si tiene en el sistema una tarjeta AGP. Activará AGP y también AGP GART si su tarjeta puede usarla.
Gestión avanzada de la energía. Muy
útil en sistemas portátiles. Viene
desactivada por omisión en el kernel
GENERIC .
Controlador del reloj para eventos de gestión de la energía, como APM y ACPI.
Dispositivos PCMCIA. Si el sistema es portátil necesita tener esto activado.
Estos son los puertos serie a los que se conoce como
puertos COM en entornos
MS-DOS®/Windows®.
Si tiene un módem interno en
COM4 un puerto serie en
COM2 tendrá que
asignar a la IRQ del módem el 2 (por razones
técnicas ignotas IRQ2 = IRQ 9) para que pueda
acceder al dispositivo desde FreeBSD. Si tiene una tarjeta
serie multipuerto consulte la página de manual de
sio(4) si quiere más detalles sobre los
valores que debe añadir a
/boot/device.hints. Algunas tarjetas
gráficas (sobre todo las que usan chips S3) utilizan
direcciones IO del tipo
0x*2e8 y dado que muchas tarjetas serie
de baja calidad no decodifican correctamente el espacio de
direcciones de 16 bits chocan con estas tarjetas, haciendo
que el puerto COM4 sea
prácticamente inútil.
Es necesario que cada puerto serie tenga una IRQ
única (salvo que use una tarjeta multipuerto que
permita compartir interrupciones), así que las
IRQ de COM3 y de
COM4 no se pueden
utilizar.
El interfaz del puerto paralelo de bus ISA.
El bus del puerto paralelo.
Permite usar el puerto paralelo para conectar impresoras.
Necesitará disponer de los tres anteriores para poder utilizar impresoras mediante el puerto paralelo.
Este controlador es para la interfaz de red a través del puerto paralelo.
La E/S de propósito general (conocida también como “puerto geek”) + E/S IEEE1284.
Este dispositivo se usa con unidades Iomega Zip. Necesita
scbus y da . El mejor
rendimiento se alcanza con el uso de los puertos en modo
EPP 1.9.
Puede utilizar este dispositivo si tiene una tarjeta PCI “tonta” (por puerto serie o paralelo) que funcione mediante el controlador puc(4).
Diversos controladores para tarjetas de red PCI. Puede borrar todas las que no estén en su sistema.
El poder utilizar bus MII es necesario para ciertas tarjetas
Ethernet PCI 10/100, más concretamente las que usan
transceptores compatibles con MII o implementan interfaces
de control de transceptores que funcionan como si fueran
MII. Si incluye device miibus al kernel
dispondrá de la API miibus genérica y todos los
controladores PHY, incluyendo uno que hará funcionar
hardware que, siendo del tipo PHY, no está bajo ninguno
de los controladores PHY específicos.
Controladores que utilizan el código del controlador de bus MII.
Controladores Ethernet ISA. Consulte
/usr/src/sys/
para más detalles sobre qué tarjetas hace funcionar
qué controlador.i386/conf/NOTES
802.11 genérico. Necesitará esta línea si va a usar redes inalámbricas.
Criptografía en dispositivos 802.11. Necesita estas líneas si quiere utilizar criptografía y protocolos de seguridad 802.11.
Diversas tarjetas inalámbricas.
El dispositivo de «loopback» para
TCP/IP. Si accede por telnet o FTP
or FTP to localhost también
conocido como 127.0.0.1) lo hará a
través de este dispositivo. Es
imprescindible tenerlo en el
sistema.
Generador de números criptográficamente seguro.
ether solo es necesario si tiene
alguna tarjeta Ethernet. Incluye código
genérico del protocolo Ethernet.
sl permite utilizar SLIP. Ha sido
sustituido casi totalmente por PPP, que es más
fácil de usar, está mejor capacitado para
la conexión de módem a módem y es,
en general, claramente mejor.
Este dispositivo incluye en el kernel la capacidad de
gestionar conexiones de llamada entrante
«dial-up». Hay también una versión
de PPP implementada como aplicación de usuario; utiliza
tun y ofrece más flexibilidad y
características como la llamada bajo
petición.
Este dispositivo lo usa el software PPP de usuario. Consulte la sección sobre PPP de este mismo libro.
Este dispositivo es una “pseudoterminal”,
o un puerto de entrada al sistema simulado. Se usa en
sesiones entrantes de telnet y
rlogin; también lo usan
xterm y otras aplicaciones, entre
las que encontramos a Emacs.
Pseudodispositivos de disco basados en memoria.
Este dispositivo implementa túneles de IPv6
sobre IPv4, IPv4 sobre IPv6, IPv4 sobre IPv4 e
IPv6 sobre IPv6. El dispositivo
gif se puede clonar a sí mismo,
así que los nodos de dispositivo se van creando a
medida que van haciendo falta.
Este pseudodispositivo captura paquetes que se le hayan enviado y los dirige hacia el dæmon de traducción IPv4/IPv6.
El filtro de paquetes de Berkeley. Este pseudodispositivo permite poner interfaces de red en modo promíscuo, lo que significa que capturan todos los paquetes que circulen por una red broadcast (por ejemplo una Ethernet). Dichos paquetes pueden guardarse en disco para su posterior examen mediante tcpdump(1) (el análisis con tcpdump(1) no puede hacerse directamente también).
El dispositivo bpf(4) también lo usa dhclient(8) para obtener direcciones IP del encaminador (gateway) por omisión. Si usa DHCP deje esta opción como está.
Diversos dispositivos USB.
Diversos dispositivos Firewire.
Tiene más información y una lista
con más dispositivos que funcionan en FreeBSD
consulte
/usr/src/sys/.i386/conf/NOTES
Las máquinas que tienen configuraciones con grandes cantidades de memoria necesitan acceder a más de 4 gigabytes de espacio de direcciones KVA (User+Kernel Virtual Address). Debido a esta limitación Intel añadió a las CPU Pentium® Pro y modelos posteriores la posibilidad de acceso al espacio de direcciones físicas de 36 bits.
PAE (Physical Address Extension)
a las CPU Intel® Pentium® Pro y los modelos posteriores
configuraciones de memoria de hasta 64 gigabytes.
Para poder aprovechar esto en FreeBSD existe la
opción del kernel
PAE, disponible en todas las versiones
modernas de FreeBSD. A causa de esta limitación de
memoria en los Intel no hay nada que distinga de
algún modo la memoria situada por debajo del
límite de los 4 gigabytes. La memoria que
esté por encima de los 4 gigabytes se coloca
en el «pool» de memoria disponible.
Si quiere activar PAE en el kernel tiene que añadir la siguiente liínea al fichero de configuración del kernel:
En FreeBSD PAE solamente existe en procesadores Intel® IA-32. Hemos de advertirle de que PAE no ha sido probado todo lo necesario, así que debe considerarse de calidad beta, sobre todo si se le compara con otras características de FreeBSD.
PAE en FreeBSD tiene varias limitaciones:
Un solo proceso no puede acceder a más de 4 gigabytes de espacio VM.
No puede cargar módulos KLD en un kernel que tenga PAE activado debido a las diferencias existentes entre el «framework» de compilación del módulo y el del kernel mismo.
Los controladores de dispositivo que utilizan
el interfaz bus_dma(9) pueden provocar
corrupción de datos en un kernel con
PAE activado, una excelente
razón para no utilizarlos. Esta es
la razón de que FreeBSD incorpore un fichero
de configuración de un kernel
PAE del que se han
extraído todos los módulos que
se sabe que no funcionan en un kernel con
PAE activado.
Algunos «system tunables» determinan el
uso de recursos de memoria basándose en la
memoria física disponible. Estos «tunables»
pueden asignar más memoria de la que realmente
debieran debido a que el sistema PAE
está íntimamente ligado a cantidades
bastante importantes de memoria. Un ejemplo de esto
es la sysctl kern.maxvnodes, que
controla el número máximo de vnodes
permitidos en el kernel. Le recomendamos que
ajuste este y otros tunables dentro valores
razonables.
Es posible que tenga que aumentar el espacio virtual
de direcciones del kernel (el KVA)
o reducir la cantidad de recursos exclusivos del kernel
que se utilicen exhaustivamente (ver más
arriba) para evitar que KVA literalmente
se ahogue. La opción del kernel
KVA_PAGES permite incrementar el
espacio KVA.
Si quiere saber más sobre la estabilidad del sistema consulte la página de manual de tuning(7). La página de manual de pae(4) contiene información actualizada sobre PAE y FreeBSD.
Hay cuatro categorías de problemas que podemos encontrarnos en el proceso de compilación de un kernel personalizado:
config:Si config(8) falla cuando le pasa la descripción de su kernel seguramente ha cometido algún pequeño error. Por suerte config(8) les mostrará el número de la línea que le está dando problemas, así que no tendrá mayor problema para localizarla. Veamos un ejemplo:
Si ve algo así asegúrese de que
ha tecleado la palabra clave que hay en esa
lína. Compare la de su fichero de
configuración del kernel con la de
GENERIC.
make:If the make command fails, it usually
signals an error in your kernel description which is not severe
enough for config(8) to catch. Again, look
over your configuration, and if you still cannot resolve the
problem, send mail to the lista de correo para preguntas generales sobre FreeBSD with your kernel
configuration, and it should be diagnosed quickly.
Si su nuevo kernel no arranca o no reconoce sus
dispositivos de hardware no desespere. FreeBSD
dispone de excelentes mecanismos de
recuperación ante kernels defectuosos. Elija
el kernel con el que quiere arrancar en el gestor
de arranque de FreeBSD. Puede acceder al gestor de
arranque en el momento en el que aparece el
menú de arranque. Elija la opción
número seis, “Escape to a loader
prompt” option, Escriba en el prompt
unload kernel
y después escriba
boot /boot/,
o el nombre de cualquier otro kernel que tenga en el sistema
y del que sepa que puede fiarse. Si va a reconfigurar un
kernel es una buenísima idea guardar un kernel
que sepa que funciona.kernel.old/kernel
Tras arrancar con un kernel de fiar verifique el
fichero de configuración e intente de nuevo
una compilación. El fichero
/var/log/messages es una fuente de
información muy valiosa puesto que registra, entre
otras cosas, todos los mensajes que deja el kernel cada
vez que hay un arranque satisfactorio. dmesg(8)
le mostrará los mensajes que el kernel ha
generado durante el último arranque.
Si tiene problemas compilando un kernel recuerde que
es de vital importancia que guarde una copia de un kernel
GENERIC u otro del que pueda fiarse
y que (esto es muy importante) tenga un nombre distinto de
kernel.old para evitar que el sistema
lo borre una vez que termine una nueva
compilación. No puede confiar en su kernel
kernel.old porque al instalar un nuevo
kernel (que aún no sabe si será el que
funcione tal y como espera de él) el kernel
kernel.old se sobreescribe con el
kernel que instale. Otra cosa importante es que copie
ese kernel de fiar a
/boot/kernel, o
ciertas herramientas como ps(1) no
funcionarán. Basta con que haga lo
siguiente:
# mv /boot/kernel /boot/kernel.malo
# mv /boot/kernel.bueno /boot/kernelSi el kernel que tiene instalado es de una versión de FreeBSD y las utilidades del sistema son de otra, por ejemplo un kernel -CURRENT en una -RELEASE, hay muchas herramientas de monitorización del sistema como ps(1) y vmstat(8) no funcionarán. Ejecute un make buildworld y un make install world con la misma versión de código fuente con la que ha compilado su kernel. Esta es una de las razones por las que no es una idea demasiado buena utilizar versiones diferentes de kernel y de sistema operativo.
FreeBSD puede utilizarse para imprimir en una gran variedad de impresoras, desde las antiguas impresoras de matriciales hasta las más modernas impresoras laser y todo lo que existe entre unas y otras, con lo que podrá imprimir con una calidad muy alta desde cualquier aplicación.
FreeBSD puede usarse también como servidor de impresión en red; FreeBSD puede recibir peticiones de impresión de una gran cantidad de sistemas, bien sean FreeBSD, Windows® y Mac OS®. FreeBSD se encarga de los trabajos se vayan imprimiendo uno tras otro y puede mantener estadísticas sobre qué usuarios y qué máquinas están imprimiendo más, generar páginas de «encabezado» para colocarlas antes de cada trabajo y distinguir así de quién es la impresión, etc.
Tras leer el presente capítulo sabrá usted:
Cómo configurar la cola de impresión en FreeBSD.
Cómo instalar filtros de impresión para gestionar diversos trabajos especiales como la conversión de documentos a formatos aptos para su impresora.
Cómo habilitar encabezados en sus impresiones.
Cómo imprimir en impresoras conectadas a otras máquinas.
Cómo imprimir en impresoras conectadas directamente a la red.
Cómo controlar restricciones de impresión, como por ejemplo limitaciones del tamaño de trabajos o evitar que ciertos usuarios puedan imprimir.
Cómo mantener estadísticas de impresión y cuentas de usuario de impresión.
Cómo solucionar los problemas de impresión más comunes.
Antes de leer este capítulo usted debería:
Saber cómo compilar e instalar un kernel personalizado (Capítulo 8, Configuración del kernel de FreeBSD).
Si quiere utilizar impresoras con FreeBSD debe configurarlas de forma que funcionen con el sistema de cola de impresión de Berkeley, también conocido como sistema de cola LPD. Es el sistema de control de impresión estándar en FreeBSD. Este capítulo trata sobre el sistema LPD, al que en adelante nos referiremos simplemente como LPD, y le introducirá en la configuración del mismo.
Si está familiarizado con el sistema de cola de impresión LPD, o bien con algún otro sistema de impresión, puede pasar a la sección Configuración del sistema de cola de impresión.
LPD se encarga de controlar todo lo relacionado con la impresión, lo que en consecuencia implica encargarse de lo siguiente:
Controlar el acceso a las impresoras conectadas directamente al sistema y a impresoras conectadas a otras máquinas de la red.
Permitir que ciertos usuarios puedan enviar ficheros para su impresión; estos envíos reciben el nombre de trabajos (“jobs”).
Evita que usuarios diferentes accedan a la impresora al mismo tiempo manteniendo un orden estricto en la cola de impresión de cada impresora.
Imprimir encabezados de forma que los usuarios puedan distinguir fácilmente los trabajos que han impreso.
Se ocupa de los parámetros para impresoras conectadas a puertos serie.
Enviar trabajos de impresión a través de una red a la cola LPD de una máquina remota.
Ejecutar filtros especiales para formatear trabajos que requieren la gestión de lenguajes de impresión o impresoras de diferentes características.
Mantener un registro del uso de la impresora.
Gracias al fichero de configuración
(/etc/printcap) y mediante programas
especiales de filtrado puede hacerse que el sistema
LPD cumpla todas las tareas citadas o
si lo prefiere solo unas cuantas; además puede hacerlo
en una gran variedad de impresoras.
Si es usted la única persona que usa el sistema se estará por qué preocuparse de utilizar un sistema de cola de impresión si es evidente que no necesita restricciones de acceso, encabezados ni cuentas de impresión. Puede utilizar el acceso directo a impresión, pero debería utilizar una cola de impresión por las siguientes razones:
El sistema LPD ejecuta los trabajos en segundo plano, esto es, no tiene que esperar a que la impresora procese los datos para seguir trabajando.
LPD puede procesar un trabajo de forma que pase por filtros, añadir cabeceras de fecha y hora o convertir un fichero de formato especial (por ejemplo TeX DVI) a un formato que la impresora entienda y que no tenga usted que ocuparse de ello manualmente.
Muchos programas, tanto libres como comerciales, desde los que se puede imprimir están hechos pensando en que haya disponible un sistema de impresión. Una vez que configure un sistema de colas podrá utilizar software que ya tiene instalado y preparar el campo para el que instale en el futuro.
FreeBSD proporciona compatibilidad de binarios con muchos otros sistemas operativos tipo UNIX®, incluyendo Linux. Puede estarse preguntando ?por qué necesita FreeBSD ejecutar binarios de Linux? La respuesta a esa pregunta es muy simple. Muchos desarrolladores y compañías desarrollan sólo para Linux, ya que últimamente es el blanco de todas las miradas dentro del mundo de las tecnologís de la información. Esto hace que la comunidad FreeBSD tenga que exigir a esas compañías y desarrolladores que produzcan versiones nativas de sus aplicaciones para FreeBSD. El problema es que la mayoría de esas compañías no suelen saber realmente cuánta gente utilizaría su producto si existieran esas versiones para FreeBSD, y la mayoría continúa desarrollando únicamente para Linux. Vista la situación ?que puede hacer un usuario de FreeBSD? Aquí es donde entra en juego la compatibilidad binaria con Linux.
Para expresarlo en pocas palabras, dicha compabitilidad permite a los usuarios de FreeBSD cerca del 90% de las aplicaciones de Linux sin tener que modificarlas en absoluto. Entre estas está StarOffice™, la versión Linux de Netscape®, Adobe® Acrobat®, RealPlayer®, VMware™, Oracle®, WordPerfect®, Doom, Quake y muchas más. En determinados casos los binarios Linux rinden mejor en FreeBSD que en Linux.
Existen, por desgracia, ciertas características específicas de Linux que no funcionan en FreeBSD. Los binarios Linux no funcionarán en FreeBSD si recurren a llamadas específicas de i386™ como la activación del modo virtual 8086.
Tras leer este capítulo sabrá usted:
cómo activar la compatibilidad binaria con Linux en su sistema.
cómo instalar bibliotecas compartidas de Linux que pueda necesitar.
cómo instalar aplicaciones de Linux en su sistema FreeBSD.
cuáles son los detalles de la implementación de compatibilidad binaria con Linux en FreeBSD.
Antes de leer este capítulo es necesario que sepa:
cómo instalar software de terceros (Capítulo 4, Instalación de aplicaciones: «packages» y ports).
La compatibilidad binaria con Linux no viene activada
por omisión. La forma más sencilla de habilitarla
es cargar el KLD (“objeto cargable en el kernel”)
linux. Como usuario
root proceda del siguiente modo:
# kldload linuxSi quiere que la compatibilidad con Linux esté
siempre activada tendrá que añadir la siguiente
línea en /etc/rc.conf:
Utilice kldstat(8) para verificar que el KLD esté cargado:
% kldstat
Id Refs Address Size Name
1 2 0xc0100000 16bdb8 kernel
7 1 0xc24db000 d000 linux.koSi por alguna razón no desea o no puede cargar el KLD,
entonces puede enlazar estáticamente la compatibilidad de binarios
Linux en el kernel agregando options COMPAT_LINUX
a su fichero de configuración del kernel. Luego instale
su nuevo kernel como se describe en
Capítulo 8, Configuración del kernel de FreeBSD.
Puede hacerse de dos maneras, ya sea usando el port linux_base, o instalándolas de forma manual.
Este es con mucho el método mas sencillo para instalar bibliotecas de ejecución. Es como instalar cualquier otro port de la Colección de Ports. Es tan sencillo como esto:
# cd /usr/ports/emulators/linux_base
# make install distcleanHecho esto debería disponer de compatibilidad binaria con Linux. Algunos programas pueden “quejarse” por la presencia de versiones antiguas de algunas bibliotecas del sistema. Generalmente esto no suele ser un problema muy grave.
Pueden coexistir múltiples versiones
del port emulators/linux_base
disponibles correspondientes a distintas versiones de diversas
distribuciones de Linux. Tendrá que instalar el port
que más se ajuste a las necesidades de las aplicaciones
de Linux que quiera instalar.
Si, por el motivo que fuese, no tiene instalada
la colección de ports puede instalar las bibliotecas
que necesite de forma manual.
Necesitará las bibliotecas compartidas Linux de
las que depende el programa y el enlazador en tiempo de
ejecución (“runtime linker”).
Necesitará también
crear un directorio
/compat/linux donde alojar las bibliotecas
Linux en su sistema FreeBSD Cualquier biblioteca compartida a la
que haya recurrido un programa de Linux ejecutado en FreeBSD
buscará en primer lugar en dicho directorio.
Por lo tanto, si se carga un
programa Linux, por ejemplo /lib/libc.so,
FreeBSD intentará en primer lugar abrir
/compat/linux/lib/libc.so y, si no
existe, lo intentará con
/lib/libc.so. Las bibliotecas
compartidas deben instalarse en
/compat/linux/lib en lugar de las rutas que
el ld.so de Linux proporcione.
En general, necesitará buscar las bibliotecas compartidas de las que los binarios Linux dependen sólamente las primeras veces que instale un programa Linux en su FreeBSD. Más adelante tendrá un conjunto suficiente de bibliotecas compartidas Linux en su sistema para poder ejecutar binarios Linux sin que tenga que hacer nada más.
?Que pasaría si instalara el port
linux_base y su aplicación
todavía tuviera problemas debido a bibliotecas compartidas
que no encuentra en el sistema?
?Cómo saber qué bibliotecas compartidas
necesitan los binarios Linux? Básicamente hay dos
posibilidades (para poder ejecutar las siguientes instrucciones
necesitará estar como root
Si tiene acceso a un sistema Linux busque en él qué bibliotecas necesita la aplicación, y cópielas a su sistema FreeBSD. Veamos unos ejemplos:
Asumiremos que utilizó FTP para conseguir los
binarios Linux de Doom y los
puso en un sistema Linux.
Para ver qué bibliotecas compartidas necesitará
ejecute ldd linuxdoom:
% ldd linuxdoom
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29Necesitaría todos los ficheros de la
segunda columna, y tendrá que ponerlos en
/compat/linux con los nombres de
la primera columna como enlaces
simbólicos apuntando hacia ellos. De este modo
tendría en su sistema FreeBSD los siguientes ficheros:
Nota:
Recuerde que si ya tiene una biblioteca compartida Linux con un número de versión mayor que coincida con la primera columna de la salida de
lddno necesitará copiar el fichero que aparece en la última columna; el que tiene debería funcionar, aunque se aconseja copiar la biblioteca compartida de todas maneras si es una nueva versión. Puede eliminar la vieja siempre que haga que el enlace simbólico apunte a la nueva. Si tiene estas bibliotecas en su sistema:/compat/linux/lib/libc.so.4.6.27 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27y un binario requiere una versión más reciente (como indica la siguiente salida de
ldd):libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29si solo ve una o dos versiones desfasadas en los últimos dígitos no se preocupe de copiar
/lib/libc.so.4.6.29, el programa debería funcionar bien con una versión ligeramente antigua. De todas formas, si así lo prefiere, puede actualizarlibc.so; el resultado sería este:/compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Nota:
El mecanismo de enlazado simbólico sólamente es necesario con binarios Linux. El enlazador en tiempo de ejecución de FreeBSD se encarga de buscar él mismo las versiones correctas, así que no tendrá que preocuparse usted de hacerlo.
Los binarios ELF algunas veces requieren un paso extra de “marcado”. Si trata de ejecutar un binario ELF no marcado recibirá un mensaje de error como el siguiente:
% ./mi-binario-elf
ELF binary type not known
AbortPara ayudar al kernel de FreeBSD a distinguir entre un binario ELF de FreeBSD y uno de Linux utilice brandelf(1).
% brandelf -t Linux mi-binario-elf-de-linuxLas herramientas GNU se encargan de ubicar automáticamente la marca apropiada en los binarios ELF, por lo tanto este paso será innecesario en un futuro próximo.
Si el DNS no funciona u obtiene este mensaje:
Necesitará un fichero
/compat/linux/etc/host.conf
con el siguiente contenido:
Significa que
/etc/hosts seráanalizado en primer lugar
y después se usará DNS.
Si /compat/linux/etc/host.conf no
está instalado, las aplicaciones Linux usan el
/etc/host.conf de FreeBSD y chocan con la
sintaxis (incompatible) de FreeBSD. Borre
bind de su /etc/resolv.conf
si no tiene configurado un servidor de nombres.
Este documento describe el proceso de instalación de la versión para Linux de Mathematica® 5.X en un sistema FreeBSD.
Puede pedir a Wolfram, el fabricante, La versión para para Linux de Mathematica® o la versión de Mathematica® para estudiantes en su sitio web, http://www.wolfram.com/.
Lo primero que tiene que hacer es decirle a FreeBSD que los binarios de Mathematica® para Linux utilizan la ABI Linux. La forma más sencilla de hacerlo es marcar por omisión todos los binarios sin marcas como Linux ELF.
# sysctl kern.fallback_elf_brand=3Hecho esto FreeBSD asumirá que cualquier binario sin marca que encuentre utiliza la ABI Linux; de este modo podrá ejecutar el binario directamente desde el CDROM.
Copie el fichero MathInstaller en su
disco duro
# mount /cdrom
# cp /cdrom/Unix/Installers/Linux/MathInstaller /directoriolocal/Edite este fichero y sustituya la primera línea,
/bin/sh, por
/compat/linux/bin/sh para asegurarnos de
que lo que ejecute el instalador sea la verión
de sh(1) de Linux. El siguiente paso es sustituir todos
los Linux) por FreeBSD)
con un editor de texto on con el script que encontrará
en la siguiente sección. Esto se hace para ayudar al
instalador de Mathematica®,
el cual en un cierto momento invoca a
uname -s para determinar el sistema operativo,
a tratar a FreeBSD como si fuera un sistema operativo muy similar
a Linux. Hecho todo esto, cuando ejecute
MathInstaller podrá instalar
Mathematica®.
Debe modificar los scripts de shell que
Mathematica® creó durante
la instalación antes de usarlos. Si eligió
ubicar en
/usr/local/bin
los ejecutables de
Mathematica® verá que
en ese directorio hay enlaces simbólicos a ficheros
como math, mathematica,
Mathematica y
MathKernel. En cada uno de esos ficheros debe
sustituir Linux) por FreeBSD)
con un editor de texto o bien con el siguiente script de
shell:
Cuando arranque Mathematica®
por primera vez se le pedirá una contraseña. Si
Wolfram no le ha enviado ya necesita un “machine ID”,
para lo cual debe ir al directorio de instalación y ejecutar
mathinfo. Este “machine IDE”
se obtiene de la dirección MAC de la primera tarjeta
Ethernet de la máquina y tiene como objetivo que no
pueda ejecutar Mathematica® en
más de una máquina.
Durante el proceso de registro en Wolfram (ya sea por correo electrónico, teléfono o fax) les dará el “machine ID” y Wolfram le enviará una contraseña relacionada con él, consistente en grupos de números.
Mathematica® usa unos cuantos
tipos especiales para mostrar caracteres que no están
en ningún conjunto estándar de tipos: integrales,
sumas, letras griegas, etc. El protocolo X exige que los
tipos estén instalados
en local, es decir, tiene que copiar los
tipos del CDROM o la máquina desde la que ha instalado
Mathematica® a su
máquina. Los tipos están en el directorio del CDDROM
/cdrom/Unix/Files/SystemFiles/Fonts y se
supone que deben estar en su disco duro en el directorio
/usr/local/mathematica/SystemFiles/Fonts. Los
tipos están realmente en los subdirectorios
Type1 y X. Hay varias
formas de utilizarlos.
La primera es copiarlos en uno de los directorios de tipos
que hay en /usr/X11R6/lib/X11/fonts, antes
de lo cual tendrá que añadir a
fonts.dir los nombres de los tipos;
tendrá también que cambiar el número de
tipos en la primera línea. Por otra parte, todo esto
puede hacerse ejecutando mkfontdir(1) en el directorio
donde haya copiado los tipos.
La segunda forma de utilizar estos tipos es copiarlos
bajo
/usr/X11R6/lib/X11/fonts:
# cd /usr/X11R6/lib/X11/fonts
# mkdir X
# mkdir MathType1
# cd /cdrom/Unix/Files/SystemFiles/Fonts
# cp X/* /usr/X11R6/lib/X11/fonts/X
# cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1
# cd /usr/X11R6/lib/X11/fonts/X
# mkfontdir
# cd ../MathType1
# mkfontdirAñada los nuevos directorios de tipos a su ruta de tipos:
# xset fp+ /usr/X11R6/lib/X11/fonts/X
# xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
# xset fp rehashSi usa el servidor Xorg
puede cargar los tipos automáticamente
añadiéndolos al fichero
xorg.conf.
En servidores XFree86™
el fichero de configuración es
XF86Config.
Si no tiene ya en su sistema un
directorio /usr/X11R6/lib/X11/fonts/Type1
puede cambiarle el nombre al directorio
MathType1 del ejemplo anterior
por Type1.
Maple™ es un programa comercial de matemáticas similar a Mathematica®. Puede adquirir este software en http://www.maplesoft.com/; tras registrarlo recibirá un fichero de licencia. Si quiere instalar este software en FreeBSD siga los siguienes pasos:
Ejecute el “script” de shell
INSTALL
desde el lugar de instalación del producto. Elija
la opción “RedHat” cuando
le pregunte el programa de instalación.
/usr/local/maple
es un buen sitio para instalar el software.
Si no lo ha hecho ya, solicite una licencia
para Maple™
a Maple Waterloo Software (http://register.maplesoft.com/)
y cópiela a
/usr/local/maple/license/license.dat.
Instale el gestor de licencias
FLEXlm
ejecutando el “script” de shell de instalación
INSTALL_LIC
que viene con Maple™. Introduzca
el nombre de su máquina (el servidor de licencias
lo necesita).
Parchée el fichero
/usr/local/maple/bin/maple.system.type
con lo siguiente:
Tenga muy presente que después de
"FreeBSD"|\
no debe haber ningún espacio en blanco.
Este parche le dice a Maple™
que interprete “FreeBSD” como un tipo de sistema
Linux. El “script” de shell
bin/maple
llama al “script” de shell
bin/maple.system.type,
que a su vez recurre a uname -a para
dictaminar el nombre del sistema operativo. Dependiendo de
cuál sea sabrá qué binarios
utilizar.
Inicio del servidor de licencias.
El siguiente “script”, sito en
/usr/local/etc/rc.d/lmgrd.sh, le
permitirá arrancar lmgrd:
Prueba de arranque de Maple™:
% cd /usr/local/maple/bin
% ./xmapleTodo debería funcionar perfectamente. Si es así aún le queda un último paso: escribir a Maplesoft y decirles que sería genial una versión nativa para FreeBSD.
El gestor de licencias FLEXlm puede ser un tanto difícil de usar. En caso de necesitarla tiene más información en http://www.globetrotter.com/.
lmgrd tiene una reconocida fama
de ser muy meticuloso en todo lo relacionado con el fichero de
licencia; suele generar volcados de memoria si se encuentra con
algún problema. Un fichero de licencia correcto tiene
que parecerse mucho a este:
El número de serie y la clave han sido
sobreescritos con X.
chillig es el nombre de un equipo.
Puede editar el fichero de licencia siempre que no toque la línea “FEATURE” (que está protegida por la clave de la licencia).
Este documento describe el proceso de instalación de la versión para Linux de MATLAB® version 6.5 en FreeBSD. En general funciona bastante bien, excepción hecha de Java Virtual Machine™ (consulte la Sección 10.5.3, “Enlace del entorno de ejecución Java™”).
La versión Linux de MATLAB® puede pedirse directamente en el sitio de The MathWorks, http://www.mathworks.com. Tiene que recibir también el fichero de licencia o instrucciones de cómo crearlo. Al hacer su pedido aproveche para decirles que sería muy buena idea que ofrecieran una versión nativa de su software para FreeBSD.
Para instalar MATLAB® haga lo siguiente:
Inserte el CD de instalación y móntelo.
Conviértase en root e
inicie la instalación:
# /compat/linux/bin/sh /cdrom/installEl instalador es gráfico. Si obtiene errores
acerca de no ser capaz de abrir un display teclée
setenv HOME ~,
donde USUARIOUSUARIO es el nombre del
usuario con el que hizo su(1).
Teclée
/compat/linux/usr/local/matlab
donde el instalador le pida el directorio raíz de
MATLAB®.
Esto último le facilitará la entrada de datos
durante el resto de la instalación. Introduzca lo
siguiente en el “prompt” de su shell:
set MATLAB=/compat/linux/usr/local/matlab
Edite el fichero de licencia tal y como consta en las instrucciones de la licencia de MATLAB®.
Puede tenerlo ya editado y copiado a
$MATLAB/license.dat desde antes de que
el instalador se lo pida.
Complete el proceso de instalación.
La instalación MATLAB® ha finalizado. Los siguientes pasos aplicarán el “pegamento” necesario para conectarlo a su sistema FreeBSD.
Crée los enlaces simbólicos que necesitan los “scripts” del administrador de licencias:
# ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
# ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMWCrée un fichero de inicio en
/usr/local/etc/rc.d/flexlm.sh.
El siguiente ejemplo es una versión modificada de
$MATLAB/etc/rc.lm.glnx86 que viene con
la distribución de MATLAB®.
Los cambios que se han hecho en él obedecen a la
ubicación de los ficheros y el arranque del
administrador de licencias bajo emulación de Linux.
nombre-de-usuario && echo 'MATLAB_lmgrd'
fi
;;
stop)
if [ -f /usr/local/etc/lmdown_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1
fi
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0El fichero debe ser ejecutable:
# chmod +x /usr/local/etc/rc.d/flexlm.shTendrá que reemplazar la entrada
nombre-de-usuario de
nuestro ejemplo por un nombre de usuario
válido en su sistema
(que no sea root).
Arranque el administrador de licencias:
# /usr/local/etc/rc.d/flexlm.sh startCambie el enlace del entorno de ejecución Java™ (JRE) a uno que funcione en FreeBSD:
# cd $MATLAB/sys/java/jre/glnx86/
# unlink jre; ln -s ./jre1.1.8 ./jreColoque el siguiente “script” de arranque en
/usr/local/bin/matlab:
Escriba
chmod +x /usr/local/bin/matlab.
Dependiendo de su versión de
emulators/linux_base tal
vez obtenga errores al ejecutar este “script”.
Para evitarlo edite
/compat/linux/usr/local/matlab/bin/matlab
y cambie la línea en la que aparece:
(en la versión 13.0.1 es en la línea 410) por esta otra línea:
Este “script” solucionará las dificultades que pueda tener para detener MATLAB® correctamente.
Crée un fichero llamado
$MATLAB/toolbox/local/finish.m y
ponga en él una sola línea con este
texto:
$MATLAB debe escribirse
tal cual.
En el mismo directorio encontrará los
ficheros finishsav.m y
finishdlg.m, que le
permiten guardar su trabajo antes de
salir de la aplicación. Si quiere usar alguno de ellos,
inserte la línea de arriba inmediatamente
después de
save.
Crée un fichero
$MATLAB/bin/finish.sh con el siguiente
contenido:
El fichero tiene que ser ejecutable:
# chmod +x $MATLAB/bin/finish.shEste texto describe el proceso de instalación de Oracle® 8.0.5 y Oracle® 8.0.5.1 Enterprise Edition para Linux en una máquina FreeBSD.
Debe tener instalados los ports
emulators/linux_base
y devel/linux_devtools.
Si tiene dificultades con estos ports es posible que tenga que
usar los paquetes o quizás versiones más antiguas
de dichas aplicaciones que encontrará en la Colección
de Ports.
Si quiere usar el agente inteligente también
tendrá que instalar el paquete Tcl de Red Hat,
tcl-8.0.3-20.i386.rpm. La orden
genérica para instalar paquetes con el port oficial
de RPM
(archivers/rpm) es:
# rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm paqueteLa instalación de dicho paquete no debe generar ningún error.
Antes de instalar Oracle® tendrá que configurar un entorno apropiado. Este documento solamente explica lo que hay que hacer especialmente para utilizar la versión de Linux para Oracle® FreeBSD, no lo que figura en la guía de instalación de Oracle®.
Tal y como consta en la guía de instalación de
Oracle®, debe configurar
la cantidad máxima de memoria compartida.
No utilice SHMMAX en FreeBSD.
SHMMAX se calcula a partir de
SHMMAXPGS y PGSIZE,
así que defina SHMMAXPGS. Todas
las demás opciones pueden usarse tal y como se describen
en la guía. Por ejemplo:
Configure estas opciones para que se ajusten al uso que pretenda darle a Oracle®.
Asegúrese también de que las siguientes opciones están en el fichero de configuración de su kernel:
Crée una cuenta oracle según
el procedimiento habitual de creación de usuarios.
La cuenta oracle, empero, tiene algo
especial puesto que debe teer una shell de
Linux. Añada
/compat/linux/bin/bash a
/etc/shells y asigne a la
cuenta oracle
/compat/linux/bin/bash como shell
por omisión.
Además de las variables normales para
Oracle®,
como ORACLE_HOME y ORACLE_SID, debe
configurar las siguientes variables de entorno:
| Variable | Valor |
|---|---|
LD_LIBRARY_PATH | $ORACLE_HOME/lib |
CLASSPATH | $ORACLE_HOME/jdbc/lib/classes111.zip |
PATH | /compat/linux/bin
/compat/linux/sbin
/compat/linux/usr/bin
/compat/linux/usr/sbin
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
$ORACLE_HOME/bin |
Le aconsejamos configurar todas las variables de entorno
en .profile. Veamos un ejemplo
completo:
Debido a una pequeña inconsistencia en el emulador
Linux tendrá que crear un directorio llamado
.oracle
en /var/tmp antes de iniciar el instalador.
Haga que sea propiedad del usuario oracle.
Hecho esto deberí poder instalar
Oracle®
sin ningún problema. Si no es así
revise su distribución
Oracle® y su
configuración. Una vez finalizada la instalación de
Oracle® aplique los parches
que se detallan en las dos siguientes subsecciones.
Un problema que se da con una cierta frecuencia es que el adaptador del protocolo TCP no está correctamente instalado. Como consecuencia no puede iniciarse ninguna escucha TCP, a las que también se les llama directamente «listeners». Esto le ayudará a resolver el problema.:
# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk ntcontab.o
# cd $ORACLE_HOME/lib
# ar r libnetwork.a ntcontab.o
# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk installNo se olvide de ejecutar root.sh
de nuevo.
Durante la instalación de
Oracle® algunas
acciones que requieren ser ejecutadas como
root deben almacenarse en un
“script” de shell llamado
root.sh. Dicho “script”
está en el directorio orainst.
Aplique el siguiente parche a root.sh para
que utilice la ruta correcta de chown o
ejecute el “script” bajo una shell nativa
de Linux.
Si no está instalando
Oracle® desde un CD puede parchear
las fuentes de root.sh. Se llama
rthd.sh y está en el directorio
orainst del árbol de fuentes.
El “script” genclntsh se usa
para crear una biblioteca de cliente compartida y para
construir los demos. Al aplicar el siguiente parche
comentará la definición de PATH:
Las instalaciones de sistemas SAP® en FreeBSD no reciben soporte técnico de SAP®. SAP® solamente lo ofrece si se usan plataformas certificadas.
Este texto expone una forma de instalar un SAP® R/3® System con una Oracle® Database para Linux en una máquina FreeBSD, incluyendo la instalación de FreeBSD y Oracle®. Se muestran dos configuraciones diferentes:
SAP® R/3® 4.6B (IDES) con Oracle® 8.0.5 en FreeBSD 4.3-STABLE
SAP® R/3® 4.6C con Oracle® 8.1.7 en FreeBSD 4.5-STABLE
Aunque este documento trate de describir todos los pasos importantes con detalle no ha sido escrito como sustituto de las guías de instalación de Oracle® y SAP® R/3®.
Por favor, consulte la documentación de SAP® R/3® que se incluye en la edición para Linux de SAP® y las preguntas específicas sobre Oracle®, así como los recursos que estén a su disposición sobre Oracle® y SAP® OSS.
Durante la instalación de SAP® se han utilizado los siguientes CD-ROM:
| Nombre | Número | Descripción |
|---|---|---|
| KERNEL | 51009113 | SAP Kernel Oracle / Installation / AIX, Linux, Solaris |
| RDBMS | 51007558 | Oracle / RDBMS 8.0.5.X / Linux |
| EXPORT1 | 51010208 | IDES / DB-Export / Disco 1 de 6 |
| EXPORT2 | 51010209 | IDES / DB-Export / Disco 2 de 6 |
| EXPORT3 | 51010210 | IDES / DB-Export / Disco 3 de 6 |
| EXPORT4 | 51010211 | IDES / DB-Export / Disco 4 de 6 |
| EXPORT5 | 51010212 | IDES / DB-Export / Disco 5 de 6 |
| EXPORT6 | 51010213 | IDES / DB-Export / Disco 6 de 6 |
También utilizamos el CD de Oracle® 8 Server (versión pre-producción 8.0.5 para Linux, versión de kernel 2.0.33), que no es realmente necesario y FreeBSD 4.3-STABLE (a unos cuantos días de la liberación de 4.3-RELEASE).
| Nombre | Número | Descripción |
|---|---|---|
| KERNEL | 51014004 | SAP Kernel Oracle / SAP Kernel Version 4.6D / DEC, Linux |
| RDBMS | 51012930 | Oracle 8.1.7/ RDBMS / Linux |
| EXPORT1 | 51013953 | Release 4.6C SR2 / Export / Disco 1 de 4 |
| EXPORT1 | 51013953 | Release 4.6C SR2 / Export / Disco 2 de 4 |
| EXPORT1 | 51013953 | Release 4.6C SR2 / Export / Disco 3 de 4 |
| EXPORT1 | 51013953 | Release 4.6C SR2 / Export / Disco 4 de 4 |
| LANG1 | 51013954 | Release 4.6C SR2 / Language / DE, EN, FR / Disco 1 de 3 |
Según los idiomas que quiera usar es posible que necesite otros CD de idiomas. Sólo hemos utilizado DE y EN, así que nos bastó con el primer CD. Para su información, los números de los cuatro CD EXPORT son idénticos. Los tres CD de idiomas también tienen el mismo número, aunque esto es distinto en los CD de la versión 4.6B IDES. Al escribir este texto (20.03.2002) ejecutamos la instalación en FreeBSD 4.5-STABLE (20.03.2002).
Las siguientes notas han resultado ser muy útiles durante la instalación, así que le recomendamos encarecidamente que las lea antes de instalar SAP® R/3®:
| Número | Título |
|---|---|
| 0171356 | SAP Software on Linux: Essential Comments |
| 0201147 | INST: 4.6C R/3 Inst. on UNIX - Oracle |
| 0373203 | Update / Migration Oracle 8.0.5 --> 8.0.6/8.1.6 LINUX |
| 0072984 | Release of Digital UNIX 4.0B for Oracle |
| 0130581 | R3SETUP step DIPGNTAB terminates |
| 0144978 | Your system has not been installed correctly |
| 0162266 | Questions and tips for R3SETUP on Windows NT / W2K |
| Número | Título |
|---|---|
| 0015023 | Initializing table TCPDB (RSXP0004) (EBCDIC) |
| 0045619 | R/3 with several languages or typefaces |
| 0171356 | SAP Software on Linux: Essential Comments |
| 0195603 | RedHat 6.1 Enterprise version: Known problems |
| 0212876 | The new archiving tool SAPCAR |
| 0300900 | Linux: Released DELL Hardware |
| 0377187 | RedHat 6.2: important remarks |
| 0387074 | INST: R/3 4.6C SR2 Installation on UNIX |
| 0387077 | INST: R/3 4.6C SR2 Inst. on UNIX - Oracle |
| 0387078 | SAP Software on UNIX: OS Dependencies 4.6C SR2 |
El siguiente equipo es suficiente para la instalación de un sistema SAP® R/3®. Si pretende darle uso productivo necesitará hacer un estudio detallado de sus necesidades:
| Componente | 4.6B | 4.6C |
|---|---|---|
| Procesador | Pentium® III 800MHz x 2 | Pentium® III 800MHz x 2 |
| Memoria | 1GB ECC | 2GB ECC |
| Espacio en disco | 50-60GB (IDES) | 50-60GB (IDES) |
Para su uso en producción le recomendamos procesadores Xeon™ con una caché grande, discos de alta velocidad (SCSI, controlador de RAID por hardware), USV y ECC-RAM. Un espacio en disco tan grande se debe al sistema IDES preconfigurado, que crea ficheros de bases de datos de 27 GB durante la instalación. Este espacio también es suficiente para sistemas de producción iniciales y datos de aplicación.
Este es el hardware que utilizamos al escribir este texto: placa base dual con 2 procesadores Pentium® III a 800 MHz, adaptador SCSI Adaptec® 29160 Ultra160 (para acceder a una unidad de cinta 40/80 GB DLT y CDROM), Mylex® AcceleRAID™ (2 canales, firmware 6.00-1-00 con 32 MB RAM). La controladora Mylex® RAID tiene conectados dos discos duros de 17 GB (replicados) y cuatro discos duros de 36 GB (RAID nivel 5).
Para esta instalación se usó un Dell™ PowerEdge™ 2500: placa base dual con 2 procesadores Pentium® III a 1000 MHz (256 kB de Caché), 2 GB PC133 ECC SDRAM, controladora RAID PERC/3 DC PCI con 128 MB y una unidad EIDE DVD-ROM. La controladora RAID tiene conectados dos discos duros 18 GB (replicados) y cuatro discos duros de 36 GB (RAID nivel 5).
Lo primero que tiene que hacer es instalar FreeBSD. Hay muchas formas de hacerlo. Nosotros instalamos FreeBSD 4.3 desde un FTP y FreeBSD 4.5 desde el CD de la distribución. Si necesita más información sobre los medios de instalación de FreeBSD consulte la Sección 2.13, “Cómo preparar su propio medio de instalación”.
Quisimos hacer el proceso lo más simple posible,
así que usamos el esquema de disco de
SAP® R/3® 46B y SAP® R/3® 46C
SR2. Solo cambiamos los nombres
de dispositivo debido a que las instalaciones tuvieron lugar en
hardware diferente (/dev/da y
/dev/amr respectivamente. Si
utiliza una AMI MegaRAID® verá en pantalla
/dev/amr0s1a en lugar de
/dev/da0s1a):
| Sistema de ficheros | Tamaño (bloques de 1k) | Tamaño (GB) | Montado en |
|---|---|---|---|
/dev/da0s1a | 1.016.303 | 1 | / |
/dev/da0s1b | 6 | swap | |
/dev/da0s1e | 2.032.623 | 2 | /var |
/dev/da0s1f | 8.205.339 | 8 | /usr |
/dev/da1s1e | 45.734.361 | 45 | /compat/linux/oracle |
/dev/da1s1f | 2.032.623 | 2 | /compat/linux/sapmnt |
/dev/da1s1g | 2.032.623 | 2 | /compat/linux/usr/sap |
Configure e inicialice antes que nada las dos unidades lógicas con el software Mylex® o PERC/3 RAID. El software puede iniciarse durante la fase de arranque de BIOS.
Por favor, tenga en cuenta que el esquema de disco que utilizamos difiere ligeramente de las recomendaciones de SAP®, ya que SAP® sugiere montar los subdirectorios Oracle® (y algunos otros) por separado. Decidimos crearlos como subdirectorios reales para simplificar.
Descargue las fuentes -STABLE más recientes.
Ejecute make world y compile su kernel
personalizado. Recuerde incluir en él tanto los
parámetros del kernel
requeridos por SAP® R/3®
como los que necesita
Oracle®.
Primero instale el port
linux_base
(como root):
# cd /usr/ports/emulators/linux_base
# make install distcleanEl entorno de desarrollo Linux es imprescindible si quiere instalar Oracle® en FreeBSD según se explica en la Sección 10.6, “Instalación de Oracle®”:
# cd /usr/ports/devel/linux_devtools
# make install distcleanEl entorno de desarrollo Linux solo ha de instalarse si sigue el proceso para instalar SAP® R/3® 46B IDES. No es necesario si Oracle® DB no está reenlazado («relinked») con el sistema FreeBSD. Este sería su caso si está usa el fichero comprimido tar de Oracle® de un sistema Linux.
Necesitará soporte PAM para iniciar el programa
R3SETUP.
Durante la primera instalación de
SAP®
en FreeBSD 4.3-STABLE intentamos instalar PAM con todas
las dependencias y finalmente forzamos la
instalación del paquete PAM, y funcionó.
En SAP® R/3® 4.6C SR2 forzamos
la instalación del RPM PAM, que también
funcionó, así que parece que las dependencias
no lo son tanto:
# rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \
pam-0.68-7.i386.rpmPara que Oracle® 8.0.5 pueda
lanzar el agente inteligente también tendremos que
instalar el paquete Tcl de RedHat
tcl-8.0.5-30.i386.rpm (si no,
cuando lo reenlace durante la instalación de
Oracle® no funcionará).
Existen otros aspectos relacionados con el
reenlazado de Oracle® a tener en
cuenta durante la instalación, pero
atañen a la versión para Linux de
Oracle® y no son específicos
de FreeBSD.
Le recomendamos añadir
linprocfs a /etc/fstab.
Consulte linprocfs(5) para más información.
Otro parámetro que debería configurar es
kern.fallback_elf_brand=3 en
/etc/sysctl.conf.
Para una instalación sencilla es suficiente con crear los siguientes sistemas de ficheros:
| punto de montaje | tamaño en GB |
|---|---|
/compat/linux/oracle | 45 GB |
/compat/linux/sapmnt | 2 GB |
/compat/linux/usr/sap | 2 GB |
También es necesario crear algunos enlaces. Si no, el instalador SAP® tendrá problemas ya que buscará los siguientes enlaces:
# ln -s /compat/linux/oracle /oracle
# ln -s /compat/linux/sapmnt /sapmnt
# ln -s /compat/linux/usr/sap /usr/sapVeamos unos cuantos errores que se le pueden presentar durante la instalación (en este caso con el sistema PRD y la instalación de SAP® R/3® 4.6C SR2):
SAP® R/3® necesita dos usuarios
y tres grupos. Los nombres de usuario dependen del
“SAP® system ID”
(SID), y consisten en tres letras.
Algunos de estos SID
están reservados por SAP®
(por ejemplo SAP y NIX.
Tiene una lista completa de ellos en la documentación
de SAP®).
Para la instalación de IDES usamos IDS
y para la instalación de 4.6C SR2 PRD,
dado que ese sistema está pensado para un uso de
producción. Tenemos por lo tanto los siguientes
grupos (Los ID de grupo pueden ser diferentes, estos son
solamente los valores que utilizamos en nuestra
instalación):
| ID de grupo | nombre de grupo | descripción |
|---|---|---|
| 100 | dba | Administrador de base de datos |
| 101 | sapsys | Sistema SAP® |
| 102 | oper | Operador de base de datos |
En una instalación por omisión de
Oracle® solo se usa el
grupo dba.
Puede usar el grupo
oper como grupo
dba (consulte la
documentación de
Oracle® y
SAP®
para más información).
También necesitaremos los siguientes usuarios:
| ID de usuario | nombre de usuario | nombre genérico | grupo | grupos adicionales | descripción |
|---|---|---|---|---|---|
| 1000 | idsadm/prdadm | sidadm | sapsys | oper | Administrador SAP® |
| 1002 | oraids/oraprd | orasid | dba | oper | Administrador Oracle® |
Al añadir dichos usuarios mediante adduser(8) tenga en cuenta que debe incluir las siguientes entradas (observe la shell y el directorio home) al crear el “administrador SAP®”:
sidadm
Password: ******
Fullname: SAP Administrator SID
Uid: 1000
Gid: 101 (sapsys)
Class:
Groups: sapsys dba
HOME: /home/sidadm
Shell: bash (/compat/linux/bin/bash)y para el “Administrador Oracle®”:
sid
Password: ******
Fullname: Oracle Administrator SID
Uid: 1002
Gid: 100 (dba)
Class:
Groups: dba
HOME: /oracle/sid
Shell: bash (/compat/linux/bin/bash)Esto también incluye al grupo
oper en caso de que esté
usando el grupo dba y
el grupo oper.
Estos directorios se crean como sistemas de ficheros independientes. Esto depende totalmente de sus necesidades. Nosotros decidimos crearlos como directorios ya que todos están en el mismo RAID 5:
Primero vamos a configurar los propietarios y los
derechos de algunos directorios (como
root):
# chmod 775 /oracle
# chmod 777 /sapmnt
# chown root:dba /oracle
# chown sidadm:sapsys /compat/linux/usr/sap
# chmod 775 /compat/linux/usr/sapLuego vamos a crear directorios como el
usuario ora.
Estos serán todos subdirectorios de
sid/oracle/:SID
# su - orasid
# cd /oracle/SID
# mkdir mirrlogA mirrlogB origlogA origlogB
# mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6
# mkdir saparch sapreorg
# exitPara la instalación de Oracle® 8.1.7 tendrá que crear unos cuantos directorios más:
# su - orasid
# cd /oracle
# mkdir 805_32
# mkdir client stage
# mkdir client/80x_32
# mkdir stage/817_32
# cd /oracle/SID
# mkdir 817_32El directorio client/80x_32 tiene
que tener exactamente este nombre. No sustituya la
x
por un número ni por ninguna otra
cosa.
En el tercer paso creamos directorios como usuario
:sidadm
# su - sidadm
# cd /usr/sap
# mkdir SID
# mkdir trans
# exitSAP® R/3® requiere algunas entradas
en /etc/services que es posible que
no estén correctamente activadas durante
la instalalación. Añada
las siguientes entradas (necesita al menos las entradas
correspondientes al número de instancia, en
este caso, 00. No hará ningún
daño añadir todas las entradas de
00 hasta 99 para
dp, gw, sp
y ms). Si va a utilizar un
SAProuter
o necesita acceder a
SAP® OSS, también
necesitará 99, ya que el puerto 3299
se usa generalmente para el proceso
SAProuter
en el sistema destino:
SID 3600/tcp # SAP Message Server. 3600 + Instance-Number
sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-NumberSAP® requiere al menos dos locales que no forman parte de la instalación por defecto de RedHat. SAP® dispone de los paquetes RPMs que pueda necesitar; puede descargalos desde su FTP, aunque tenga en cuenta que solo pueden acceder al mismo los clientes con acceso OSS). Consulte la nota 0171356, que contiene una lista de los RPM que necesitará.
También puede crear enlaces (por ejemplo desde de_DE y en_US ), pero no se lo recomendamos si pretende configurar un sistema de producción (no obstante, hemos de reconocer que a nosotros nos ha funcionado con el sistema IDES sin ningún problema). Necesitará al menos los siguientes locales:
Haga los enlaces de esta manera:
# cd /compat/linux/usr/share/locale
# ln -s de_DE de_DE.ISO-8859-1
# ln -s en_US en_US.ISO-8859-1Si no están habrá algunos
problemas durante la instalación. Si se ignoran
(es decir, si configura el STATUS
de los pasos relacionados con esos locales a
OK en el fichero
CENTRDB.R3S) será imposible
entrar al sistema SAP® sin
tener que recurrir a ciertas triquiñuelas.
Los sistemas SAP® R/3® necesitan muchos recursos, por eso hemos añadido los siguientes parámetros al fichero de configuración de su kernel:
Puede consultar los valores mínimos en la documentación de SAP®. Como no hay detalles sobre Linux, consulte para mayor información la sección de HP-UX (32-bit). El sistema de instalación 4.6C SR2 tiene más memoria principal, asín que los segmentos compartidos pueden ser más extensos tanto para SAP® como para Oracle®; elija, por tanto, un número mayor de páginas de memoria compartida.
En la instalación por omisión de
FreeBSD 4.5 en i386™, configure MAXDSIZ
y DFLDSIZ como máximo a 1 GB.
Si no lo hace podrían aparecer errores extraños
como ORA-27102: out of memory
y Linux Error: 12: Cannot allocate memory.
Hay que montar y desmontar muchos CD-ROM durante la instalación. Si tiene suficientes unidades de CDROM, podría montarlos todos. Nosotros decidimos copiar el contenido de los CD-ROM a los directorios correspondientes:
SID/sapreorg/nombre-cdDonde nombre-cd era KERNEL,
RDBMS, EXPORT1,
EXPORT2, EXPORT3,
EXPORT4, EXPORT5 y
EXPORT6 para la instalación 4.6B/IDES, y
KERNEL, RDBMS,
DISK1, DISK2,
DISK3, DISK4 y
LANG para la instalación 4.6C SR2.
Todos los nombres de fichero en los CDs montados deben estar
en mayúsculas; si no es así use la opción
-g al montar. Utilice lo siguiente:
# mount_cd9660 -g /dev/cd0a /mnt
# cp -R /mnt/* /oracle/SID/sapreorg/nombre-cd
# umount /mntPrimero tendrá que preparar un directorio
install:
# cd /oracle/SID/sapreorg
# mkdir install
# cd installUna vez arrancado el “script” de instalación
copiará casi todos los ficheros relevantes en el directorio
install:
# /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SHLa instalación IDES (4.6B) incluye un sistema de
demostración SAP® R/3® totalmente personalizado, así
que hay seis CD EXPORT en lugar de solo tres.
La plantilla de instalación
CENTRDB.R3S está pensada para
una instancia central estándar
(R/3® y
base de datos), no la instancia central IDES, así que
hay que copiar el CENTRDB.R3S
correspondiente del directorio
EXPORT1.
Si no lo hace R3SETUP solo pedirá
tres CD EXPORT.
La nueva versión de
SAP® 4.6C SR2
incluye cuatro CDs EXPORT. El fichero de parámetros
que controla los pasos de la instalación es
CENTRAL.R3S. A diferencia de versiones
versiones anteriores, no existen patrones de instalación
por separado para una instancia central con o sin base de datos.
SAP® utiliza un patrón separado
para la instalación de la base
de datos. Para reiniciar la instalación después es
suficiente reiniciarla con el fichero original.
Durante y después de la instalación,
SAP®
necesita que hostname devuelva
sólamente el nombre del sistema,
no el nombre cualificado de dominio. Configure el nombre
del equipo de ese modo, o active un alias mediante
alias hostname='hostname -s' para
ora
y para sid
(y para sidadmroot al menos durante los
pasos de la instalación realizados como
root). También puede configurar
los ficheros .profile y
.login de los usuarios que se crean durante
la instalación SAP®.
Asegúrese de que LD_LIBRARY_PATH
esté configurada correctamente:
# export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/libInicie R3SETUP como root
desde el directorio de instalación:
# cd /oracle/IDS/sapreorg/install
# ./R3SETUP -f CENTRDB.R3SEl “script” le preguntará algunas cosas; le mostramos aquí entre corchetes la respuesta por defecto, y después la respuesta que nosotros introdujimos:
| Pregunta | Por omisión | Entrada |
|---|---|---|
| Enter SAP System ID | [C11] | IDSIntro |
| Enter SAP Instance Number | [00] | Intro |
| Enter SAPMOUNT Directory | [/sapmnt] | Intro |
| Enter name of SAP central host | [troubadix.domain.de] | Intro |
| Enter name of SAP db host | [troubadix] | Intro |
| Select character set | [1] (WE8DEC) | Intro |
| Enter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.6 | 1Intro | |
| Extract Oracle Client archive | [1] (Yes, extract) | Intro |
| Enter path to KERNEL CD | [/sapcd] | /oracle/IDS/sapreorg/KERNEL |
| Enter path to RDBMS CD | [/sapcd] | /oracle/IDS/sapreorg/RDBMS |
| Enter path to EXPORT1 CD | [/sapcd] | /oracle/IDS/sapreorg/EXPORT1 |
| Directory to copy EXPORT1 CD | [/oracle/IDS/sapreorg/CD4_DIR] | Intro |
| Enter path to EXPORT2 CD | [/sapcd] | /oracle/IDS/sapreorg/EXPORT2 |
| Directory to copy EXPORT2 CD | [/oracle/IDS/sapreorg/CD5_DIR] | Intro |
| Enter path to EXPORT3 CD | [/sapcd] | /oracle/IDS/sapreorg/EXPORT3 |
| Directory to copy EXPORT3 CD | [/oracle/IDS/sapreorg/CD6_DIR] | Intro |
| Enter path to EXPORT4 CD | [/sapcd] | /oracle/IDS/sapreorg/EXPORT4 |
| Directory to copy EXPORT4 CD | [/oracle/IDS/sapreorg/CD7_DIR] | Intro |
| Enter path to EXPORT5 CD | [/sapcd] | /oracle/IDS/sapreorg/EXPORT5 |
| Directory to copy EXPORT5 CD | [/oracle/IDS/sapreorg/CD8_DIR] | Intro |
| Enter path to EXPORT6 CD | [/sapcd] | /oracle/IDS/sapreorg/EXPORT6 |
| Directory to copy EXPORT6 CD | [/oracle/IDS/sapreorg/CD9_DIR] | Intro |
| Enter amount of RAM for SAP + DB | 850Intro (en Megabytes) | |
| Service Entry Message Server | [3600] | Intro |
| Enter Group-ID of sapsys | [101] | Intro |
| Enter Group-ID of oper | [102] | Intro |
| Enter Group-ID of dba | [100] | Intro |
Enter User-ID of sidadm | [1000] | Intro |
Enter User-ID of orasid | [1002] | Intro |
| Number of parallel procs | [2] | Intro |
Si no ha copiado los CD a su disco duro el instalador
SAP® no podrá encontrar
el CD que necesite (identifica los contenidos mediante
fichero LABEL.ASC de cada CD) y por lo
tanto le pedirá que introduzca y monte el CD, o que
confirme o introduzca la ruta de montaje.
CENTRDB.R3S puede contener algún
error. En nuestro caso, solicitó
el CD EXPORT4 más de una vez, pero se le indicó
la clave correcta (6_LOCATION, luego 7_LOCATION, etc),
así que pudimos continuar introduciendo
los valores correctos.
Aparte de algunos problemas que se detallan más adelante deberíamos ir llegando a la instalación del software de base de datos Oracle®.
Asegúrese de que LD_LIBRARY_PATH esté
correctamente configurada. Tenga en cuenta de que es un valor
diferente de la instalación 4.6B con
Oracle® 8.0.5:
# export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/libArranque R3SETUP como el usuario
root
desde el directorio de instalación:
# cd /oracle/PRD/sapreorg/install
# ./R3SETUP -f CENTRAL.R3SEl “script” le preguntará algunas cosas. Le presentamos la respuesta por omisión entre corchetes y después la respuesta que dimos nosotros):
| Pregunta | Por omisión | Entrada |
|---|---|---|
| Enter SAP System ID | [C11] | PRDIntro |
| Enter SAP Instance Number | [00] | Intro |
| Enter SAPMOUNT Directory | [/sapmnt] | Intro |
| Enter name of SAP central host | [majestix] | Intro |
| Enter Database System ID | [PRD] | PRDIntro |
| Enter name of SAP db host | [majestix] | Intro |
| Select character set | [1] (WE8DEC) | Intro |
| Enter Oracle server version (2) Oracle 8.1.7 | 2Intro | |
| Extract Oracle Client archive | [1] (Yes, extract) | Intro |
| Enter path to KERNEL CD | [/sapcd] | /oracle/PRD/sapreorg/KERNEL |
| Enter amount of RAM for SAP + DB | 2044 | 1800Intro (in Megabytes) |
| Service Entry Message Server | [3600] | Intro |
| Enter Group-ID of sapsys | [100] | Intro |
| Enter Group-ID of oper | [101] | Intro |
| Enter Group-ID of dba | [102] | Intro |
Enter User-ID of oraprd | [1002] | Intro |
Enter User-ID of prdadm | [1000] | Intro |
| LDAP support | 3Intro (no support) | |
| Installation step completed | [1] (continue) | Intro |
| Choose installation service | [1] (DB inst,file) | Intro |
La creación de usuarios da un
error durante la instalación en las fases
OSUSERDBSID_IND_ORA (al crear al usuario
ora) y
OSUSERSIDADM_IND_ORA (al crear el usuario
sid).sidadm
Más adelante hablaremos de cierto problemas que aún tenemos pendientes, pero ha llegado el momento de instalar el software de base de datos Oracle®.
Consulte los
Readme de Oracle® y las notas de
de SAP® sobre Linux y Oracle® DB
por si hubiera algo que le pueda afectar. La mayoría de los
problemas, por no decir todos, tienen su origen en bibliotecas
incompatibles.
Para mayor información sobre la instalación de Oracle® diríjase al capítulo de instalación de Oracle®.
Si quiere instalar Oracle® 8.0.5 necesitará unas cuantas bibliotecas para el enlazado, ya que Oracle® 8.0.5 fué enlazado con una glibc antigua (la de RedHat 6.0), pero RedHat 6.1 usa una nueva glibc. Tendrá que instalar los siguientes paquetes para asegurarse que el reenlazado funcione:
compat-libs-5.2-2.i386.rpm
compat-glibc-5.2-2.0.7.2.i386.rpm
compat-egcs-5.2-1.0.3a.1.i386.rpm
compat-egcs-c++-5.2-1.0.3a.1.i386.rpm
compat-binutils-5.2-2.9.1.0.23.1.i386.rpm
Para más información consulte las notas
correspondientes de SAP® o los Readme
de Oracle®. Si no es posible (durante la instalación
no tuvimos tiempo suficiente para ello), se
podrían utilizar los binarios originales, o
los binarios reenlazados de un sistema original RedHat.
Instale el paquete Tcl de RedHat para compilar el agente
inteligente. Si no puede conseguir
tcl-8.0.3-20.i386.rpm debería
funcionar una versión más reciente, por ejemplo
tcl-8.0.5-30.i386.rpm para RedHat.
Aparte del reenlazado, la instalación es muy sencilla:
# su - oraids
# export TERM=xterm
# export ORACLE_TERM=xterm
# export ORACLE_HOME=/oracle/IDS
# cd $ORACLE_HOME/orainst_sap
# ./orainstConfirme todas las pantallas con Intro hasta que el software esté instalado; todas excepto en la que debe quitar la marca de instalación al