GNU/Linux >> Tutoriales Linux >  >> Fedora

Fedora 35:novedades desde la perspectiva del desarrollador

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.


Fedora
  1. Nuevas características en Fedora 26

  2. Fedora 23 lanzado! Qué hay de nuevo ?

  3. Fedora vs Ubuntu:¿Cuáles son las diferencias clave?

  4. Migre a Rackspace Cloud desde Amazon Web Services

  5. ¿Qué hace Rackspace en la nube?

Cómo actualizar a Fedora 26 desde Fedora 25

Novedades en la estación de trabajo Fedora 32

Revisión de Fedora 33:novedades y cómo actualizar

Cómo actualizar de Fedora 32 a Fedora 33

Cómo actualizar a Fedora 35 desde Fedora 34

Autenticación multifactor desde el panel de control en la nube