FreeBSD

Sistema operativo FreeBSD
Captura de pantalla de arranque
DesarrolladorEl Proyecto FreeBSD
FamiliaBSD
Versión actual13.1 (16 de mayo de 2022)
tipo de núcleoNúcleo monolítico
Plataformas compatiblesIA-32 , x86-64 , SPARC , SPARC64 , IA-64 , NEC PC98 , PowerPC , ARM , MIPS
Tipo de licenciaSoftware libre
LicenciaBSD
Etapa de desarrolloEn producción
Sitio webwww.freebsd.org

En informática, FreeBSD es un sistema operativo gratuito Unix [1] derivado de Berkeley Software Distribution ( BSD ) (disponible para Intel IA-32 , AMD64 , DEC Alpha , IA-64 , NEC PC-9801 , UltraSPARC , PowerPC y otras arquitecturas ) .

Historia

Orígenes

El proyecto FreeBSD (llamado así por David Greenman ) se originó a principios de 1993 como una evolución del "Patchkit 386BSD no oficial" de Nate William , Rod Grimes y Jordan Hubbard . La primera distribución en CD-ROM fue FreeBSD 1.0 y apareció en diciembre de 1993. Sin embargo, en la primavera de 1994 , algunos desarrollos de una larga disputa legal entre la Universidad de Berkeley y Novell también afectaron al sistema operativo FreeBSD.

El código de FreeBSD 1.0 se basó en el de 386BSD 0.1, que a su vez se derivó del sistema Net/2. Este código, que contenía partes con derechos de autor de AT&T UNIX, fue adquirido más tarde por Novell , que reclamó su propiedad a la Universidad de Berkeley. De hecho, las dos partes llegaron a un acuerdo porque gran parte del código que BSD había tomado del UNIX de AT&T había sido modificado en gran medida, si no completamente reescrito.

Sin embargo, FreeBSD tuvo que eliminar las porciones de código tomadas del sistema propietario. El desafío fue particularmente exigente: gran parte del código necesitaba ser reescrito. Sin embargo, ya en noviembre del mismo año, se lanzó FreeBSD 2.0, una versión aún bastante inestable pero libre de restricciones de propiedad sobre el código. Siguieron otras versiones intermedias de mejora: 3.x (octubre de 1998 ), 4.x (marzo de 2000 ), 5.x ( 2003 ) hasta 6.x ( 2005 ), 7.x distribuida el 27 de febrero de 2008, la 8 .x de noviembre de 2009, la 9.2 de septiembre de 2013 y la 10.0 de 20 de enero de 2014.

Fundación

El desarrollo de FreeBSD está respaldado en parte por la "Fundación FreeBSD". La Fundación es una organización sin fines de lucro que acepta donaciones. Algunas donaciones se obtienen del patrocinador del desarrollador y se utilizan para comprar hardware e infraestructura de red, cumbres y apoyo legal para el proyecto en sí. [2]

"Licencia FreeBSD" o "Licencia BSD simplificada"

Licencia FreeBSD
AutorEl Proyecto FreeBSD
editorDominio publico
Fecha de publicación?
Compatible con DFSG
Software libre[3]
Aprobado por OSI[4]
compatible con GLP[3]
copyleftNo [3]
Vinculación desde el código bajo una licencia diferente

La licencia de dos cláusulas de FreeBSD ( Free BSD License , como la llama la Free Software Foundation ) es una versión simplificada de la licencia BSD de tres cláusulas, de la que se diferencia en la ausencia de la cláusula de no respaldo. También agrega un descargo de responsabilidad adicional con respecto a los puntos de vista y opiniones expresados ​​en el software. La FSF declara que la licencia de FreeBSD es compatible con la GPL . La FSF también alienta a los usuarios a ser específicos al referirse a la licencia por su nombre (por ejemplo, sin referirse a ella simplemente como una " licencia BSD " o como una " licencia de estilo BSD "), como es el caso de la licencia BSD nueva/modificada. , para evitar confusiones con la licencia BSD original.

La OSI ha ratificado la licencia FreeBSD como una licencia Open Source bajo el nombre de "Licencia BSD Simplificada". [4] FreeBSD se distribuye bajo varias licencias de código abierto. El código del Kernel se distribuye bajo la cláusula 2 de la licencia BSD que permite que cualquiera use y redistribuya FreeBSD. Otro código incluido en las distribuciones de FreeBSD está bajo diferentes licencias como: GPL , LGPL , ISC o CDDL . Todo el código bajo GPL y CDDL está claramente separado del código con licencia libre, lo que facilita que cualquier usuario, como los fabricantes de dispositivos integrados, usen licencias permisivas de software libre .

{{#cambiar: {{{2}}} | nowiki | nw = {{# etiqueta: nowiki | {{{3}}}}} | {{{2}}}}} | espacios en blanco: -moz -envoltura previa; espacio en blanco: -pre-envoltura; espacio en blanco: -o-pre-envoltura; espacio en blanco: ajuste previo; ajuste de palabra: palabra de ruptura; {{{estilo |}}} "> {{# cambiar: {{{1}}} | nowiki | nw = {{# etiqueta: nowiki | {{{2}}}} } | {{{1}}}}}}}

Otros proyectos, como NetBSD , usan una licencia de dos cláusulas similar a FreeBSD, pero sin el descargo de responsabilidad adicional. [5]

Descripción

Características

Es un sistema operativo utilizado principalmente en el sector de servidores y esto se debe a la estabilidad y escalabilidad de su parte de red ; también se presta gran atención a las cuestiones de seguridad, y actualmente están disponibles tres sistemas de cortafuegos (IPFW, IPFilter y PF) [6] , integrados en el sistema a partir de la versión 6.0: aunque debe su fama sobre todo a esto, puede ser eficaz utilizado como sistema operativo de escritorio : hay miles de aplicaciones disponibles a través de los puertos , ese es el sistema de gestión de paquetes FreeBSD , y entre ellos se encuentran navegadores web , entornos gráficos integrados , suites ofimáticas , reproductores multimedia, etc.

Los puertos liberan al usuario del problema de las dependencias relativas a los paquetes , es decir el complejo de otros programas y bibliotecas necesarias para asegurar el correcto funcionamiento en la máquina del programa que estamos instalando; por lo tanto, al instalar un programa a través del árbol de puertos, se descargarán las fuentes más actualizadas del propio programa, y ​​no su ejecutable binario , y también las fuentes actualizadas de todos los programas de los que depende; luego los programas son recompilados desde cero en la máquina del usuario e instalados en los directorios correctos listos para su uso (una gestión similar también se tiene en las distribuciones Linux Gentoo y Arch Linux ).

Redes

La pila de protocolos se basa en la pila TCP/IP , pero también es compatible con IPv6 , SCTP , IPSec , IPX , AppleTalk y redes inalámbricas .

Almacenamiento

FreeBSD tiene varias funciones relacionadas con el almacenamiento. Las actualizaciones suaves mantienen la integridad del sistema de archivos en caso de un bloqueo del sistema. El marco GEOM admite funciones como RAID , cifrado de disco completo y concatenación de discos. El sistema de archivos de instantánea es una característica que le permite crear de manera eficiente una imagen de instantánea del sistema de archivos, al mismo tiempo que le permite restaurar el sistema desde un sistema de archivos en vivo. FreeBSD también es compatible con el sistema de archivos ZFS [7] como alternativa al UFS2 normal .

Seguridad

FreeBSD admite varias funciones relacionadas con la seguridad, como listas de control de acceso (ACL) [8] , seguimiento de eventos, atributos de sistema de archivos extendidos y control de acceso obligatorio (MAC). Estas características fueron desarrolladas por el proyecto TrustedBSD que fue fundado por Robert Watson con el objetivo de implementar los conceptos de Common Criteria y TCSEC . Este proyecto aún continúa y muchas de sus extensiones se han integrado en las distribuciones de FreeBSD.

Este proyecto también adaptó la implementación de la Agencia de Seguridad Nacional de SELinux a FreeBSD. Otro trabajo incluido en el desarrollo de OpenBSM , una implementación de código abierto de la API de Sun (BSM) y soporte de formato de archivo de registro, lo que agrega más seguridad al sistema.

Si bien muchos componentes del proyecto TrustedBSD se han incluido en las fuentes de FreeBSD, muchas características, ahora completamente maduras, encuentran su lugar en otros sistemas operativos, como: OpenPAM y UFS2 se han adoptado en NetBSD . El marco MAC de TrustedBSD ha sido adoptado por Apple para su sistema operativo macOS .

Núcleo

FreeBSD tiene un núcleo monolítico . [9] El núcleo FreeBSD solo (a menudo abreviado como kFreeBSD ) es utilizado por otras distribuciones , como Debian GNU/kFreeBSD . [10]

Portabilidad

FreeBSD se ha adaptado a una variedad de arquitecturas de procesador. El proyecto FreeBSD organiza las arquitecturas en niveles que caracterizan el soporte previsto. Las arquitecturas de nivel 1 están completamente maduras y son compatibles. Las arquitecturas de nivel 2 están en desarrollo. Las arquitecturas de nivel 3 son experimentales y no tienen un desarrollo activo y en el caso del nivel 4 no tienen absolutamente ningún soporte.

Compatibilidad con Linux

La capa de compatibilidad con Linux le permite ejecutar archivos ELF de 32 y 64 bits compilados para Linux. Por lo general, no hay caídas de rendimiento significativas en comparación con una ejecución nativa. En la colección de ports se incluyen y mantienen varios programas compilados para Linux. Para la ejecución de este último, es necesario instalar algunos módulos kernel (entre otras cosas necesarias para la instalación del módulo kernel del controlador NVIDIA) y un sistema Linux básico (en el momento de FreeBSD 11.0-RELEASE se utilizan los binarios de CentOS 6.x). [11]

Instalador

Puerto y paquete

FreeBSD Ports and Packages Collection ofrece una manera simple y consistente de instalar aplicaciones precompiladas en el caso de paquetes y de autocompilación en el caso de ports , un mecanismo muy bien establecido y útil para usuarios y administradores y, en cierto modo, , similar al que utiliza la distribución Debian del sistema Gnu/Linux. Actualmente hay varios miles de puertos disponibles.

Ports Collection es compatible con la última versión de las ramas FreeBSD-CURRENT y FreeBSD-STABLE. Las versiones anteriores no son compatibles y pueden o no funcionar correctamente con una colección actualizada de puertos. Con el tiempo, los cambios en la colección de puertos pueden basarse en funciones que no se encuentran en versiones anteriores. Siempre que sea posible, tratamos de no romper el soporte para versiones recientes, pero a veces esto no es posible. Cuando esto sucede, generalmente se aceptan los parches enviados por la comunidad de usuarios para mantener el soporte para versiones anteriores.

Cada puerto enumerado contiene todos los parches necesarios para hacer que el código fuente de la aplicación original sea compilador y ejecutable bajo FreeBSD. Instalar una aplicación es simple: simplemente descargue el puerto, descomprímalo y escriba make en el directorio del puerto. Sin embargo, el método más conveniente (y común) es descargar el marco para la lista completa de puertos, instalando toda la jerarquía de puertos durante la instalación de FreeBSD, de modo que tenga miles de aplicaciones listas para instalar; navegando por el árbol de puertos hasta llegar al código fuente deseado, puede compilarlo fácilmente con el comando:

hacer una instalación limpia

El Makefile de cada puerto descarga automáticamente el código fuente de la aplicación, ya sea que esté presente en un disco local, en un CD-ROM o en un sitio FTP. El código se desempaqueta en el sistema, se aplican parches y finalmente se compila. Si el puerto en particular lo permite, se puede realizar un procedimiento de configuración preliminar. Si todo salió bien, una simple instalación instalará la aplicación y la registrará en el sistema de paquetes.

Para la mayoría de los puertos, también hay un paquete precompilado, lo que le ahorra al usuario el trabajo de compilar todo. La instalación de un paquete remoto se puede realizar con el siguiente comando:

pkg_add -r nombre del paquete

El procedimiento se encarga de forma transparente de conectarse remotamente por internet al servidor que contiene el paquete y descargarlo instalándolo y registrándolo. Obviamente, este es el binario precompilado que no representa la última versión de la fuente ni la versión ad hoc que se puede obtener con la compilación, pero sigue siendo un buen método para tener la aplicación instalada y funcionando rápidamente, sin conocimientos específicos y sin más pre- procedimientos o post instalación.

La Colección Ports and Packages es sin duda una de las puntas de lanza que distinguen a todos los sistemas operativos BSD en general, que siempre se mantienen estrechamente vinculados entre software y sistema operativo manteniendo una consistencia y solidez que no se encuentra en otros sistemas, y en especial FreeBSD es el único entorno que exprese y amplíe esta característica de la manera más completa, transparente y fácil de usar posible.

Puerto

La gestión de puertos le permite descargar localmente el árbol de puertos , actualizado a la versión deseada, de todo el software mantenido para FreeBSD. Inicialmente, cada directorio individual en el árbol local contiene una descripción del software y un Makefile. Los puertos se pueden instalar ejecutando make dentro de su propio directorio, o usando software de administración de puertos, como portmaster o poudriere (este último permite la creación y el mantenimiento de un repositorio, y es uno de los enfoques preferidos para usuarios experimentados, especialmente para usar cárceles en tiempo de compilación) .

Paquete

Para muchos puertos, existen binarios precompilados que ya existen. Este método es muy rápido y evita el proceso de compilación, pero en este caso los usuarios no pueden configurar las opciones de tiempo de compilación. Sin embargo, aunque generalmente no se recomienda, es posible mantener un sistema híbrido de paquetes precompilados y puertos compilados localmente.

Utilidad de administración de puertos y paquetes

Hay muchas utilidades disponibles para la gestión de software, tanto en la interfaz gráfica de la GUI como en la línea de comandos de la CLI , y son las siguientes:

Desarrollo

Los confirmadores de FreeBSD distribuyen periódicamente el sistema. El lanzamiento oficial se produce con la versión RELEASE, que sucede a los CANDIDATOS DE RELEASE, o RC n (con n = 1 a 3). La fase en progreso está representada por la versión ESTABLE que incluye las innovaciones ya aprobadas en una versión bastante estable dedicada a los probadores beta y desarrolladores, mientras que la versión ACTUAL es el verdadero trabajo en progreso , a menudo inestable, que a su vez puede sintetizarse con temporales . instantáneas que congelan la situación del código en un momento específico.

Versiones

Sistemas derivados

Del sistema operativo FreeBSD se derivan los siguientes proyectos, que a veces son verdaderos forks y otras veces se asemejan a las distribuciones del mundo Gnu/Linux ; estos son:

ESCRITORIO :

MINIMOS :

EN VIVO :

AD HOC :

HORQUILLAS :

Sistema operativo de la consola de juegos :

Notas

  1. ^ DistroWatch, DistroWatch.com: FreeBSD , en distrowatch.com . Consultado el 20 de junio de 2018 .
  2. ^ Acerca de la Fundación FreeBSD , en freebsdfoundation.org , La Fundación FreeBSD. Consultado el 6 de septiembre de 2009 (archivado desde el original el 28 de marzo de 2010) .
  3. ^ a b c Varias licencias y comentarios sobre ellas - Proyecto GNU - Free Software Foundation (FSF): licencia FreeBSD , su gnu.org , Free Software Foundation. Consultado el 21 de enero de 2013 .
  4. ^ a b Iniciativa de código abierto OSI: la licencia BSD: Licencias , en opensource.org , Iniciativa de código abierto. Consultado el 21 de enero de 2013 ( archivado el 29 de noviembre de 2009) .
  5. ^ Licencias y redistribución de NetBSD , en netbsd.org , The NetBSD Foundation. Consultado el 21 de enero de 2013 .
  6. ^ Capítulo 30. Cortafuegos , en freebsd.org . Consultado el 20 de junio de 2018 .
  7. ^ Pawel Jakub Dawidek, ZFS comprometido con la base de FreeBSD. , enlists.freebsd.org , viernes 6 de abril a las 02:58:34 UTC de 2007. Consultado el 20 de junio de 2018 .
  8. ^ 13.9. Listas de control de acceso , en freebsd.org . Consultado el 20 de junio de 2018 .
  9. ^ Configuración del kernel de FreeBSD , en freebsd.org . Consultado el 25 de noviembre de 2016 .
  10. ^ ¿Qué significa la ' k' en "kFreeBSD" ? , en wiki.debian.org . Consultado el 25 de noviembre de 2016 .
  11. ^ Emulación de Linux® en FreeBSD , en freebsd.org . Consultado el 13 de octubre de 2017 .

Artículos relacionados

Otros proyectos

Enlaces externos