La versión estable oficial de Fedora 35 estuvo disponible para su descarga el 2 de noviembre de 2021, luego de ser retrasada para resolver algunos errores de bloqueo pendientes. Sin embargo, ¡la espera valió la pena! El ciclo de lanzamiento incluye Fedora Server, spins, IoT y Fedora labs con paquetes de software seleccionados para adaptarse a los requisitos del nicho. Además, cuenta con GNOME 41, herramientas de desarrollo actualizadas, nuevos lenguajes de programación, perfiles de administración de energía, administración de software mejorada de otras aplicaciones de terceros.
Este artículo es la perspectiva de un desarrollador de software sobre nuevas funciones, herramientas de desarrollo, Fedora Labs y mejoras en Fedora Linux 35.
La visión de un desarrollador sobre Fedora 35
Puede obtener Fedora Workstation 35 desde el sitio web oficial o actualizar su sistema operativo existente a través de la terminal con la actualización del sistema dnf o el software GNOME.
Núcleo de Linux 5.14
El último ciclo de lanzamiento de Fedora 35 presenta el nuevo kernel Linux 5.14. Incluye muchas mejoras específicas de ARM principalmente relacionadas con GPU (soporte en tarjetas gráficas AMD Radeon) y soporte mejorado para USB 4.
Fedora 35 ediciones
Estación de trabajo Fedora 35
Fiel a los fundamentos de Fedora de "Libertad", "Primero", "Características" y "Amigos", el lanzamiento incluye el nuevo GNOME 41, lenguajes de programación actualizados, herramientas de desarrollo para sus necesidades de desarrollo de software. Si usa Fedora para las tareas diarias, también presenta nuevos perfiles de administración de energía, controles parentales y mejoras en la administración de otras aplicaciones de terceros. Consulte nuestro artículo sobre "Principales funciones nuevas en Fedora 35 Workstation" para obtener más información.
IoT de Fedora
La edición Fedora IoT [Internet de las cosas] es un sistema operativo inmutable con actualizaciones atómicas. Se implementa utilizando la tecnología OSTree. Puede usarlo para ecosistemas IoT para pequeños proyectos domésticos, proyectos industriales a gran escala o análisis con AI/ML.
Los desarrolladores de sistemas IoT también pueden utilizar Fedora IoT para crear flujos de trabajo centrados en contenedores. En esencia, puede crear, implementar y administrar aplicaciones con soporte de imágenes integrado de Open Container Initiative (OCI) usando podman o aplicaciones en contenedores de registros públicos.
Fedora IoT presenta el marco de verificación greenbolt para systemd para garantizar que su sistema se inicie en el estado deseado. Con la seguridad en mente, los desarrolladores pueden disfrutar de su soporte para SecureBoot, TPM2 y descifrado de almacenamiento automatizado con Clevis. También cuenta con soporte para múltiples arquitecturas como procesadores x86_64, aarch64 y armhfp. Además, hay soporte para el aprovisionamiento basado en la web a través de la utilidad de aprovisionamiento Ignition y el servicio web Zezere. Como tal, puede implementar, administrar y escalar su entorno IoT de Fedora sin necesidad de una consola física. Puedes descargar Fedora IoT desde su página oficial.
Fedora Kinoíta
Fedora Kinoite es la última incorporación a la familia Fedora. Esta nueva edición se basa en las tecnologías subyacentes de Fedora Silverblue (Fedora Linux, rpm-ostree, podman). Cuenta con un escritorio KDE Plasma por defecto.
El equipo del proyecto Fedora describe a Fedora Kinoite como un sistema operativo de próxima generación. Le permite administrar el trabajo diario, navegar por la web, administrar archivos y ser productivo sin preocuparse por romper su sistema.
Obtenga más información sobre el proyecto en la página de inicio oficial de Fedora Kinoite o descargue la arquitectura X86_64 o AArch64.
Imágenes base en la nube de Fedora 35
Fedora Cloud proporciona diferentes imágenes que se pueden consumir en infraestructuras de nube pública y privada. Este ciclo de lanzamiento incluye la introducción del soporte de arranque híbrido BIOS+UEFI. Si UEFI no funciona, todavía tiene soporte de BIOS heredado como respaldo.
Btrfs es ahora el sistema de archivos predeterminado para Fedora Cloud. Btrfs se introdujo como el sistema de archivos predeterminado en Fedora Workstation 34 y verá una mayor adopción en las ediciones de Fedora. Puede aprovechar la compresión transparente para ahorrar espacio en el sistema de archivos y otras características de Btrfs.
El ciclo de lanzamiento de Fedora 35 incluye las siguientes imágenes base de la nube:
- Cloud Base:una imagen mínima de Fedora para crear máquinas virtuales (VM) de propósito general. Tiene los paquetes mínimos necesarios para ejecutarse en cualquier entorno de nube.
- Imágenes Vagrant:incluye imágenes de Vagrant Boxes tanto para la base de la nube como atómica. Tanto VirtualBox como libvirt son compatibles con la imagen de VirtualBox y las imágenes de libvirt/KVM. Si usa Vagrant en Fedora, la imagen libvirt/KVM será ideal para sus implementaciones.
- Imagen atómica:una imagen atómica es una plataforma liviana e inmutable para ejecutar aplicaciones en contenedores o en cualquier entorno de nube pública o privada.
- Imagen de Docker:el equipo de Fedora Cloud proporciona la última imagen de Fedora para Docker que puede obtener a través de docker pull fedora.
- Imágenes base de la nube para Google Cloud Platform (GCP):la imagen está configurada para ejecutarse en GCP.
- Cloud Base Images for Amazon Public Cloud proporciona AMI x86_64 y AMI aarch64 para lanzar en su cuenta de Amazon Web Services.
Laboratorios Fedora 35
Fedora Labs es una colección de aplicaciones, paquetes de Linux y contenido agrupado en una imagen para adaptarse a los requisitos del nicho. Fedora Labs incluye Astronomy, Comp Neuro, Design Suite, Python Classroom, Scientific, Security Lab, Games, JAM, Robotics Suite.
Aula de Python
Los instructores o profesores de Python pueden usar Fedora Python Classroom Lab para enseñar o presentar demostraciones en aulas o talleres. El sistema operativo incluye paquetes preinstalados como Python, IPython, Jupyter Notebook, tox, virtualenvs, git y muchos más.
Fedora Python Classroom Lab viene como un escritorio GNOME o como un entorno sin cabeza para Vagrant o Docker. Puede ejecutarlo en modo gráfico con GNOME, virtualizarlo con Vagrant o ejecutarlo en un contenedor Docker según lo que se ajuste a su arquitectura.
Laboratorios científicos de Fedora
Fedora Scientific Lab se envía con aplicaciones, herramientas y bibliotecas científicas y numéricas esenciales de código abierto. Los paquetes incluyen bibliotecas y herramientas como la biblioteca GNU Scientific, las bibliotecas SciPy. Herramientas para componer, escribir y publicar. Programas gráficos como Inkscape. El laboratorio científico actual de Fedora 35 incluye un conjunto de paquetes como un IDE, bibliotecas para programar en Python, C, C++, Java y R.
Laboratorios de la suite de diseño de Fedora
Fedora Design Suite Labs es un entorno de escritorio con herramientas de publicación y producción multimedia gratuitas y de código abierto preinstaladas creadas por diseñadores para diseñadores. Incluye sus herramientas y programas favoritos para crear ilustraciones, fondos de escritorio, carátulas de CD, diseños de páginas web, volantes o interfaces de aplicaciones.
Puede usarlo para diversas funciones, como la publicación de documentos, la edición de vectores y mapas de bits, el modelado 3D o la gestión de fotografías. Además, siempre puede instalar muchas más aplicaciones de los extensos paquetes de Linux.
Si es un astrónomo o un aficionado, es posible que desee probar los laboratorios de astronomía de Fedora. Un jugador puede instalar Games Lab, los entusiastas del audio y los músicos que desean crear, editar y producir audio y música en Linux pueden usar Fedora Jams Labs. En esencia, hay 'casi' todo para los requisitos de su nicho. Otros laboratorios adicionales son Comp Neuro, Security y Robotics Suite.
Obtener herramientas para desarrolladores
No hace falta decir nada. Fedora es un sistema operativo creado por desarrolladores para desarrolladores. Fedora 35 proporciona algunas de las mejores herramientas de programación, lenguajes de programación actualizados y bases de datos. También encontrará herramientas de colaboración para administrar sus proyectos desde el inicio hasta la implementación y distribución.
Lenguajes de programación
Fedora 35 brinda a los desarrolladores nuevos lenguajes de programación, actualizaciones de la biblioteca del sistema, actualizaciones de paquetes subyacentes y actualizaciones de la cadena de herramientas. Los siguientes lenguajes de programación están incluidos en Fedora 35.
Python 3.10 Node.js 16.x Perl 5.34 PHP 8.0 Binutils 2.36 gcc 11 glibc 2.34 RPM 4.17 binutils 2.37 gdb 10.2 LLVM 13
Fedora proporciona una plataforma fácil y confiable para administrar proyectos, ya sean aplicaciones de línea de comandos, aplicaciones web, aplicaciones de escritorio o proyectos de dispositivos de hardware con Raspberry Pi o Arduino.
Plataforma .NET
Si utiliza la plataforma .NET para el desarrollo, .NET Core y Mono están disponibles para su instalación en Fedora. Para crear aplicaciones utilizando los lenguajes de programación C#, F# o VB.NET. Puede instalar .NET Core y Mono a través de los siguientes pasos simples.
.NET Núcleo
.NET Core es una plataforma modular, multiplataforma y de código abierto para cualquier desarrollo de propósito general. .NET Core está empaquetado en Fedora y puede instalar el SDK más reciente con el siguiente comando:
$ sudo dnf install dotnet
Mono
Mono es una implementación gratuita y de código abierto de .NET Framework. Puedes instalar Mono con el siguiente comando:
$ sudo dnf install mono-devel
Pitón
Python es un lenguaje de programación interpretado, orientado a objetos y de alto nivel. Python 3 ya está preinstalado en Fedora 35 con muchos paquetes populares para Python.
Para ejecutar Python o verificar la versión instalada, abra su terminal y escriba el comando Python o python3.
Uso de entornos virtuales
Si está trabajando en proyectos de desarrollo de software, los entornos virtuales pueden limitar los conflictos al agrupar las dependencias en un solo lugar. Puede usarlos para proyectos que necesitan diferentes versiones de un módulo.
Utilice el siguiente comando para crear un entorno virtual.
$ python -m venv web_project_venv
El nombre del proyecto es web_project_venv que contiene Python y pip. Puede usar pip para instalar otras dependencias en su entorno virtual.
Para trabajar en el entorno virtual, debe activarlo con el siguiente comando.
$ source web_project_venv/bin/activate
Cuando activa el entorno virtual, puede instalar módulos a través de pip.
(web_project_venv) $ python -m pip install module_name
Puede desactivar el entorno virtual.
(web_project_venv) $ deactivate
Fortran
Fortran es un lenguaje de programación imperativo de propósito general adecuado para computación numérica y computación científica. Para usar Fortran en Fedora 35, debe instalar el compilador gfortran ya que Fortran es un lenguaje compilado.
Para instalar el compilador gfortran, use el siguiente comando.
$ sudo dnf install gcc-gfortran
Independientemente del lenguaje que utilice para el desarrollo, Fedora proporciona paquetes para otros lenguajes como C, C++, Go, Java, Node.js, PHP, Haskell, Perl, R, Rust, Ruby y muchos más.
Bases de datos
Fedora 35 proporciona una plataforma y paquetes confiables para instalar y administrar motores de bases de datos. Puede instalar motores de base de datos como MariaDB (un reemplazo directo para MySQL), SQLite, Cassandra, PostgreSQL, SQLite, Redis, MongoDB (base de datos NoSQL/orientada a documentos) y muchos más.
PostgreSQL
PostgreSQL es un sistema avanzado de administración de bases de datos relacionales de objetos (DBMS). Fedora 35 proporciona un paquete completo para cliente y servidor PostgreSQL, complementos compatibles con el servidor y conectores de base de datos.
Para comenzar con PostgreSQL en Fedora, puede instalarlo y configurarlo usando los siguientes comandos.
$ sudo dnf install postgresql postgresql-server # install PostgreSQL client/server $ sudo postgresql-setup --initdb --unit postgresql # initialize PostgreSQL cluster $ sudo systemctl start postgresql # start cluster $ sudo su - postgres # admin login
Si te quedas atascado en el camino, siempre puedes usar el comando de ayuda.
Apache Casandra
Apache Cassandra es un servidor de base de datos de código abierto para aplicaciones de gran escala. Su escalabilidad lineal y tolerancia a fallas en hardware básico o infraestructura en la nube lo convierten en la opción perfecta para datos de misión crítica. La base de datos utiliza Cassandra Query Language (CQL), que es relativamente similar a SQL.
Ejecute los siguientes comandos para instalar e inicializar Cassandra en Fedora 35.
$ sudo dnf install cassandra cassandra-server # install Apache Cassandra client/server $ sudo systemctl start cassandra # initialize Cassandra server
Permita que Cassandra se ejecute en el momento del arranque:
$ sudo systemctl enable cassandra $ cqlsh # run Cassandra client tool
DATO CURIOSO:
A group of whales is called a pod.
Administrar contenedores en Fedora 35
Los contenedores permiten a los desarrolladores empaquetar aplicaciones junto con dependencias y ejecutarlas en cualquier lugar. Los contenedores le permiten separar las actualizaciones principales del sistema operativo de las actualizaciones de la aplicación. También puede probar e implementar diferentes versiones de aplicaciones. El equipo del proyecto Fedora proporciona Fedora IoT y Fedora CoreOS que brindan soporte confiable para flujos de trabajo centrados en contenedores.
Sobre el núcleo de Fedora
Según el equipo del proyecto Fedora, Fedora CoreOS es un sistema operativo mínimo que se actualiza automáticamente y está diseñado para ejecutar cargas de trabajo en contenedores de forma segura y a escala. El sistema operativo le permite ejecutar aplicaciones como contenedores. También puede instalar paquetes adicionales con la herramienta rpm-ostree, que coloca los cambios en forma atómica sobre la imagen base.
Puede descargar Fedora CoreOS desde su página de descarga oficial.
Docker
Docker es una excelente plataforma para que los desarrolladores desarrollen, envíen y ejecuten aplicaciones en contenedores. Con Docker, puede ensamblar aplicaciones rápidamente y probar su código e implementarlo en producción lo más rápido posible. Puede instalar el paquete docker-ce usando el repositorio de Docker en Fedora 35 con los siguientes pasos.
Instalar el paquete dnf-plugins-core:
$ sudo dnf install dnf-plugins-core
Agrega el repositorio docker-ce:
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
Instale el motor acoplable:
$ sudo dnf install docker-ce docker-ce-cli containerd.io
Inicie el servicio Docker:
$ sudo systemctl start docker
Obtenga más información sobre los consejos y trucos para la instalación de Docker en la documentación de Fedora sobre cómo comenzar con Docker.
También puede consultar Docker Compose, una herramienta para orquestar varios contenedores.
Podman
Podman es un motor de contenedores sin daemon para desarrollar, administrar y ejecutar contenedores OCI en modo raíz o sin raíz. Es una alternativa a Docker, pero el motor de contenedor de podman es liviano. Puedes instalarlo usando el siguiente comando.
$ sudo dnf install podman
También puede usar Podman Compose para administrar y orquestar varios contenedores.
Entornos de desarrollo
La colaboración es un aspecto esencial del desarrollo de software, y Fedora ofrece varios paquetes e IDE que le permitirán colaborar con su equipo.
IDE
Un entorno de desarrollo integrado [IDE] ayuda a los desarrolladores en cada paso del ciclo de desarrollo de software. Un IDE de elección puede depender de un lenguaje de programación, la plataforma que usa o los recursos disponibles. Fedora proporciona varios paquetes IDE como Eclipse, Sublime-text, Microsoft Visual Studio, editor de texto Atom y muchos más. Cada desarrollador tiene un IDE favorito.
IDE de Eclipse
Eclipse es un IDE multilingüe con todas las funciones para administrar su ciclo de vida de desarrollo de software. Puede iniciar rápidamente un nuevo proyecto, trabajar en proyectos existentes o monitorear y optimizar aplicaciones. Además, también puede escribir documentación elegante, interactuar con otros sistemas de seguimiento de problemas o CI desde dentro del IDE de Eclipse.
Instale el paquete de Eclipse:
$ sudo dnf install eclipse
IDE de Arduino
Arduino es una plataforma de hardware popular y confiable. Desafortunadamente, no puede ejecutar el sistema operativo Fedora en placas Arduino. Sin embargo, puede usar Fedora para desarrollar aplicaciones y proyectos para Arduino.
Puede instalar el IDE gráfico de Arduino con el siguiente comando:
$ sudo dnf install arduino
Vagabundo
Vagrant es una de las herramientas imprescindibles para los desarrolladores. Le permite crear entornos de desarrollo reproducibles y portátiles. Funciona sobre algunas tecnologías de virtualización o contenedorización como VirtualBox, Docker y libvirt.
Vagrant con VirtualBox
Para usar Vagrant con VirtualBox en Fedora 35, instale el paquete de Vagrant con el siguiente comando:
$ sudo dnf install vagrant
Tenga en cuenta que Vagrant viene con soporte incorporado para VirtualBox. Sin embargo, debe instalar VirtualBox por separado, ya que no forma parte de los paquetes de Fedora.
Vagrant with Docker
Para usar Vagrant with Docker, instala los paquetes vagrant y docker con el siguiente comando:
$ sudo dnf install vagrant docker
Iniciar servicio docker:
$ sudo systemctl start docker
Tenga en cuenta que Vagrant viene con soporte incorporado y puede usar Docker como proveedor y proveedor.
Paquete de implementación y distribución de aplicaciones
La alegría de un desarrollador es implementar y distribuir software, y es aún más entusiasta cuando el software es de código abierto. Fedora 35 proporciona una gran plataforma y herramientas para empaquetar, implementar y distribuir software. Algunas ventajas del empaque incluyen:
- El código, los datos, los archivos de configuración y los scripts posteriores a la instalación se agrupan.
- Puede firmar paquetes que aseguren que los usuarios puedan verificar que el paquete no fue alterado.
- Permite una fácil instalación, actualización o eliminación de aplicaciones.
- Puede estandarizar las rutas de instalación.
Empaquetado RPM
El empaquetado RPM le permite empaquetar aplicaciones y enviarlas a sistemas basados en RPM.
Ejecute el siguiente comando para instalar y configurar el empaquetador fedora.
$ sudo dnf install fedora-packager rpmdevtools gcc $ rpmdev-setuptree
Obtenga más información de la documentación oficial de RPM.
Servicio de creación de copias
Copr es un servicio de creación automática fácil de usar que crea aplicaciones como un RPM y le proporciona un repositorio de paquetes DNF/Yum como salida. Por lo tanto, debe tener un RPM de origen (del paquete RPM) antes de comenzar a usar el servicio Copr. Tenga en cuenta que solo puede usar Copr para proyectos FOSS (Software libre de código abierto).
Desplazamiento abierto
OpenShift Origin es una distribución de Kubernetes que puede ser útil para que los desarrolladores administren el desarrollo continuo de aplicaciones y las implementaciones de múltiples inquilinos. Agrega herramientas de desarrollador además de Kubernetes para permitir un desarrollo rápido, una implementación fácil, escalado y mantenimiento del ciclo de vida a largo plazo para cualquier tamaño de su equipo.
Conclusión
Las ediciones de Fedora proporcionan un amplio conjunto de herramientas y paquetes. Con su filosofía de "Libertad", un desarrollador de software tiene muchas opciones para paquetes, IDE de desarrollo, virtualización, herramientas de contenedorización o herramientas de implementación. El artículo presenta algunas de las herramientas que utilizo para desarrollar, empaquetar e implementar aplicaciones.