Introducción a
distribuciones Linux
Empresariales
¿Qué es POSIX?
POSIX significa Portable Operating System Interface. Consiste en una familia de
estándares especificadas por la IEEE con el objetivo de facilitar la
interoperabilidad de sistemas operativos. Además, POSIX establece las reglas
para la portabilidad de programas. Por ejemplo, cuando se desarrolla software
que cumple con los estándares POSIX existe una gran probabilidad de que se
pueda utilizar en sistemas operativos del tipo Unix. Si se ignoran tales reglas, es
muy posible que el programa o librería funcione bien en un sistema dado pero
que no lo haga en otro.
Características de POSIX
● Nombres de funciones cortos y en letras minúsculas (fork, read, close)
● Las funciones normalmente devuelve 0 en caso de éxito, o -1 en caso de
error (variable errno)
● Los recursos gestionados por el sistema operativo se referencian mediante
descriptores
● Interfaces en diferentes lenguajes de programación
Licenciamiento de Software Libre - GPL, LGPL y
BSD
Las licencias son los permisos que un fabricante o desarrollador proporciona
para la distribución, uso y/o modificación del software. Las licencias pueden
estar limitadas a periodos de tiempo, variar según el territorio donde se aplica
(ya que las licencias deben cumplir con las leyes locales), etc.
Licencias GNU [Link]
Licencia GPL - General Public License
El propósito de la GPL es dar cobertura legal al proyecto GNU, garantizando
los derechos del usuario a copiar, modificar y redistribuir los programas,
asegurando que estos derechos sean preservados en trabajos derivados por
el mecanismo de copyleft.
1. Se puede copiar, regalar o vender a terceros el software, sin tener la
“obligación” de pagar por ello.
2. El software modificado no debe tener costo por la licencia.
3. Tiene que incluir el código fuente.
4. Un programa con licencia GPL que ha sido modificado,
automáticamente es publicado con licencia GPL.
Licencia BDS - Berkeley Software Distribution
La licencia BSD, también conocida como licencia de distribución de software de
Berkeley, es un tipo de licencia de código abierto que permite el uso,
modificación y distribución libre de software.
BSD es permisiva, lo que significa que impone restricciones mínimas al uso y
distribución del software licenciado. El principal requisito de la licencia BSD es
que cualquier redistribución del software debe incluir una copia de la licencia y
una exención de responsabilidad. Muchos desarrolladores de software y
empresas utilizan esta licencia para garantizar que su trabajo sea accesible a un
amplio abanico de usuarios, manteniendo al mismo tiempo los derechos del
software.
Licencia BDS - Berkeley Software Distribution
Los términos de una licencia BSD suelen incluir lo siguiente:
● El software puede utilizarse para cualquier fin, incluido el uso comercial.
● El software puede modificarse y distribuirse sin ninguna restricción.
● El código fuente debe incluirse con cualquier distribución del software.
● Debe incluirse una copia de la licencia con cualquier distribución del
software.
● La distribución del software debe ir acompañada de una cláusula de
exención de responsabilidad.
Licencia LGPL- Lesser General Public License
La Licencia Pública General Reducida, LGPL en inglés, es una licencia que es
prácticamente igual a la GPL, pero permite que software con esta licencia esté
integrado en software privativo.
El software propietario es aquel que es imposible de utilizar en otro hardware o
terminal, modificar y transferir sin pagar derechos a su creador o desarrollador.
El problema de la licencia BSD
Las dos categorías principales de licencias de software libre son con copyleft y
sin copyleft. Las licencias con copyleft tales como la GPL de GNU, insisten en
que las versiones modificadas de un programa libre deben ser también software
libre. Las licencias sin copyleft no se empeñan en esto, incluida la licencia de
BDS.
¿Qué es el copyleft?
El copyleft es un método general para liberar un programa u otro tipo de trabajo
(en el sentido de libertad, no de gratuidad), que requiere que todas las versiones
modificadas y extendidas sean también libres.
El copyleft es también un incentivo para que otros programadores se sumen al
software libre. Algunos programas libres importantes, como el compilador de
GNU para C++, existen solo por este motivo.
Software libre sin copyleft
Los programas publicados sin copyleft vienen con permiso de redistribución y
modificación, como así también con el permiso de agregar restricciones.
Si un programa es libre pero no tiene copyleft, es posible que algunas copias o
modificaciones no sean libres en absoluto. Una empresa de software puede
compilar el programa, con o sin modificaciones, y distribuir el archivo ejecutable
como software privativo.
Algunos tipos de software
Software que no es libre: El software «que no es libre» [nonfree software] es
cualquier software que no es libre. Está prohibido su uso, redistribución o
modificación, o requiere que se solicite permiso, o tiene tantas restricciones que
de hecho no se puede hacer libremente.
Freeware: El término freeware no tiene una definición claramente aceptada, pero
se usa generalmente para referirse a paquetes en los cuales se permite la
redistribución pero no la modificación (y su código fuente no está disponible).
Estos paquetes no son software libre, por lo tanto instamos a no usar el término
«freeware» para referirse al software libre.
Algunos conceptos
Shareware
El término shareware se refiere al software del que se permite redistribuir copias, pero
quien utiliza una copia debe pagar para obtener la [Link] software shareware no
es software libre, ni siquiera semilibre, por dos razones:
● Para la mayoría de los programas shareware, el código fuente no está disponible,
por lo tanto no se pueden modificar.
● El software shareware no viene con permiso para hacer una copia e instalarlo sin
pagar la licencia, ni siquiera para las personas que participan en actividades sin
fines de lucro. En la práctica, los usuarios suelen ignorar los términos de
distribución y lo hacen de todos modos, aunque las condiciones no lo permiten.
Algunos conceptos
Software privado: El software privado o software personalizado es aquel que ha
sido desarrollado para un usuario (generalmente una organización o una
empresa). El usuario lo mantiene y utiliza, y no lo publica, ni como código fuente
ni como binarios.
Software comercial:«Comercial» y «privativo» ¡no son la misma cosa! El software
comercial es aquel desarrollado por una empresa como parte de su actividad
comercial. La mayoría del software comercial es privativo, pero también existe
software libre que es comercial, y software privativo que no es comercial.
Software libre con soporte empresarial
Redhat Enterprise Linux: Red Hat es una de las empresas que más ha contribuido al
kernel de Linux y a las tecnologías asociadas en la amplia comunidad de open source.
Con miles de soluciones certificadas de hardware, software y de nube, Red Hat es el
proveedor líder del mundo de open source y soluciones de TI empresarial.
Suse Enterprise Linux: Sistema operativo moderno y modular ayuda a simplificar la TI
multimodo para permitir que la infraestructura de TI tradicional sea eficaz y
proporcionar una plataforma atractiva para los desarrolladores. Como resultado,
puede implantar y transferir fácilmente las cargas de trabajo esenciales para el
negocio en los entornos locales y de nube pública.
Software libre con soporte empresarial
CentOS
CentOS viene de Community ENTerprise Linux Operating System, que en español
significa "sistema operativo Linux para empresas basado en los aportes de la
comunidad". El acrónimo se utiliza en los nombres de la comunidad open source,
de varios grupos de trabajo y de dos distribuciones de Linux.
En el curso trabajaremos principalmente con CentOS 7 ya que es la versión que
actualmente tiene en vigencia su soporte oficial.
● CentOS Linux 7: 30 de junio de 2024 última actualizaciòn de mantenimiento
CentOS 7
CentOS 7 es la primera versión publicada desde la integración con RedHat.
Algunas características de esta distribución CentOS RHEL:
● CentOS 7 es compatible con la estrategia de redistribución del proveedor y
obtiene soporte completo de la industria con actualizaciones de seguridad
y material de capacitación.
● Se reduce el riesgo de caídas y errores, ya que sólo ejecuta versiones
estables de software empaquetado.
● Con la distribución CentOS Linux puede obtener la ventaja del software de
servidor de código abierto como Apache Web Server, Samba, Sendmail,
CUPS, vsFTPd, MySQL.
● Los usuarios de CentOS 7 tienen acceso a características de seguridad
actualizadas a nivel de empresa, incluyendo un potente firewall y el
mecanismo de políticas SELinux.
Comando yum
El comando Yum (abreviatura de yellowdog updater modified), es una
herramienta de administración de software, usada para instalar, actualizar y
eliminar grupos de paquetes, así como sus dependencias en distribuciones Linux
basados en RPM (Red Hat Package Manager ) como Red Hat, Fedora, Centos y
otros.
Para consultar manual del comando: $ man yum
Entre los comandos más comunes de esta herramienta encontramos:
● yum install {package}: instala la última versión del paquete que se indique.
● yum update {package}: actualiza paquetes en el sistema.
Comandos de yum
● yum remove {package}: remueve un paquete instalado, pero deja los
archivos de configuración.
● yum list installed: lista todos los paquetes instalados en el sistema.
● yum list: lista de los paquetes disponibles en el sistema.
● yum search {package}: busca paquetes mediante su nombre.
● yum grouplist: lista de visualización de los grupos del software.
● yum check- update: arroja una lista de paquetes que requieren ser
actualizados sin instalarlos.
● yum info paquete: ofrece una descripción completa del paquete indicado.
● yum repolist: muestra la lista de los repositorios que se tengan de yum
Cuestionario
1) ¿Qué licencia permite al usuario compartir, reproducir y modificar parte del
código de una aplicación?
2) ¿Qué tipo de software debo crear si quiero que se distribuya gratuitamente
pero se necesite pagar para utilizarlo bajo licencia?
3) ¿Puede una aplicación licenciada BDS tener costo?
4) .¿Qué significa que el software sea privativo?
5) ¿Cuáles son las categorías de BDS y que significan?
6) Realizar un script que espere un parámetro y busque si dicho parámetro
corresponde a un paquete.