GNU/Linux >> Linux Esercitazione >  >> Fedora

Fedora 35 – Novità dal punto di vista dello sviluppatore

La versione stabile ufficiale di Fedora 35 è stata resa disponibile per il download il 2 novembre 2021, dopo essere stata respinta per risolvere alcuni bug di blocco in sospeso. Tuttavia, l'attesa è valsa la pena! Il ciclo di rilascio include Fedora Server, spin, IoT e laboratori Fedora con pacchetti software curati per soddisfare i requisiti di nicchia. Inoltre, include GNOME 41, strumenti di sviluppo aggiornati, nuovi linguaggi di programmazione, profili di gestione dell'alimentazione, gestione software migliorata di altre app di terze parti.

Questo articolo è una panoramica di uno sviluppatore di software su nuove funzionalità, strumenti di sviluppo, Fedora Labs e miglioramenti in Fedora Linux 35.

Le informazioni di uno sviluppatore su Fedora 35

Puoi ottenere Fedora Workstation 35 dal sito Web ufficiale o aggiornare il tuo sistema operativo esistente tramite il terminale con l'aggiornamento del sistema dnf o il software GNOME.

Kernel Linux 5.14

L'ultimo ciclo di rilascio di Fedora 35 presenta il nuovo kernel Linux 5.14. Include molti miglioramenti specifici per ARM principalmente relativi alle GPU (supporto su schede grafiche AMD Radeon) e supporto migliorato per USB 4.

Fedora 35 edizioni

Stazione di lavoro Fedora 35

Fedele alle basi Fedora di "Libertà", "Primo", "Caratteristiche" e "Amici", la versione include il nuovo GNOME 41, linguaggi di programmazione aggiornati e strumenti di sviluppo per le tue esigenze di sviluppo software. Se usi Fedora per le attività quotidiane, include anche nuovi profili di gestione dell'alimentazione, controlli parentali e miglioramenti nella gestione di altre app di terze parti. Consulta il nostro articolo sulle "Nuove funzionalità principali in Fedora 35 Workstation" per saperne di più.

Fedora IoT

L'edizione Fedora IoT [Internet of Things] è un sistema operativo immutabile con aggiornamenti atomici. È implementato utilizzando la tecnologia OSTree. Puoi usarlo per ecosistemi IoT per piccoli progetti domestici, progetti industriali su larga scala o analisi con AI/ML.

Gli sviluppatori di sistemi IoT possono anche utilizzare Fedora IoT per creare flussi di lavoro incentrati sui contenitori. In sostanza, puoi creare, distribuire e gestire applicazioni con il supporto delle immagini Open Container Initiative (OCI) integrato utilizzando podman o applicazioni containerizzate da registri pubblici.

Fedora IoT presenta il framework di controllo greenbolt per systemd per garantire che il sistema si avvii nello stato desiderato. Tenendo presente la sicurezza, gli sviluppatori possono usufruire del supporto per SecureBoot, TPM2 e la decrittografia automatizzata dello storage con Clevis. Dispone inoltre del supporto per più architetture come processori x86_64, aarch64 e armhfp. Inoltre, è disponibile il supporto per il provisioning basato sul Web tramite l'utilità di provisioning Ignition e il servizio Web Zezere. In quanto tale, puoi distribuire, gestire e ridimensionare il tuo ambiente Fedora IoT senza bisogno di una console fisica. Puoi scaricare Fedora IoT dalla sua pagina ufficiale.

Fedora Kinoite

Fedora Kinoite è l'ultima aggiunta alla famiglia Fedora. Questa nuova edizione si basa sulle tecnologie sottostanti di Fedora Silverblue (Fedora Linux, rpm-ostree, podman). È dotato di un desktop KDE Plasma per impostazione predefinita.

Il team del progetto Fedora descrive Fedora Kinoite come un sistema operativo di nuova generazione. Ti consente di gestire il lavoro quotidiano, navigare sul Web, gestire i file e diventare produttivo senza preoccuparti di rompere il sistema.

Scopri di più sul progetto dalla home page ufficiale di Fedora Kinoite o scarica l'architettura X86_64 o AArch64.

Fedora 35 immagini della base della nuvola

Fedora Cloud fornisce diverse immagini che possono essere utilizzate in infrastrutture cloud private e pubbliche. Questo ciclo di rilascio include l'introduzione del supporto per l'avvio ibrido BIOS+UEFI. Se UEFI non funziona, hai ancora il supporto BIOS legacy come fallback.

Btrfs è ora il file system predefinito per Fedora Cloud. Btrfs è stato introdotto come file system predefinito in Fedora Workstation 34 e vedrà una maggiore adozione nelle edizioni Fedora. Puoi sfruttare la compressione trasparente per risparmiare spazio sul filesystem e altre funzionalità di Btrfs.

Il ciclo di rilascio di Fedora 35 include le seguenti immagini di base del cloud:

  • Cloud Base – Un'immagine Fedora minima per la creazione di macchine virtuali (Vms) per uso generale. Dispone di pacchetti minimi necessari per l'esecuzione su qualsiasi ambiente cloud.
  • Immagini Vagrant – Include immagini Vagrant Boxes sia per base cloud che atomica. Sia VirtualBox che libvirt sono supportati dall'immagine VirtualBox e dalle immagini libvirt/KVM. Se usi Vagrant su Fedora, l'immagine libvirt/KVM sarà l'ideale per le tue implementazioni.
  • Immagine atomica:un'immagine atomica è una piattaforma leggera e immutabile per l'esecuzione di applicazioni containerizzate o in qualsiasi ambiente cloud privato o pubblico.
  • Immagine Docker:il team Fedora Cloud fornisce l'ultima immagine Fedora per Docker che puoi ottenere tramite Docker Pull fedora.
  • Immagini Cloud Base per Google Cloud Platform (GCP):l'immagine è configurata per essere eseguita su GCP.
  • Cloud Base Images per Amazon Public Cloud fornisce AMI x86_64 e AMI aarch64 da avviare nel tuo account Amazon Web Services.

Fedora 35 Labs

Fedora Labs è una raccolta di app, pacchetti Linux e contenuti raggruppati in un'immagine per soddisfare i requisiti di nicchia. I Fedora Labs includono Astronomy, Comp Neuro, Design Suite, Python Classroom, Scientific, Security Lab, Games, JAM, Robotics Suite.

Aula Python

Gli istruttori o gli insegnanti Python possono utilizzare Fedora Python Classroom Lab per insegnare o presentare dimostrazioni in classi o workshop. Il sistema operativo è fornito in bundle con pacchetti preinstallati come Python, IPython, Jupyter Notebook, tox, virtualenvs, git e molti altri.

Fedora Python Classroom Lab viene fornito come desktop GNOME o come ambiente headless per Vagrant o Docker. Puoi eseguirlo in modalità grafica con GNOME, virtualizzarlo con Vagrant o eseguirlo in un contenitore Docker a seconda di ciò che si adatta alla tua architettura.

Laboratori scientifici Fedora

Fedora Scientific Lab viene fornito con applicazioni, strumenti e librerie scientifiche e numeriche open source essenziali. I pacchetti includono librerie e strumenti come la libreria GNU Scientific, le librerie SciPy. Strumenti per la composizione, la scrittura e la pubblicazione. Programmi di grafica come Inkscape. L'attuale Fedora 35 Scientific Lab include una serie di pacchetti come un IDE, librerie per la programmazione in Python, C, C++, Java e R.

Laboratori Fedora Design Suite

Fedora Design Suite Labs è un ambiente desktop con strumenti di produzione e pubblicazione multimediali open source gratuiti preinstallati creati dai designer, per i designer. Include i tuoi strumenti e programmi preferiti per creare grafica, sfondi per desktop, copertine di CD, design di pagine Web, volantini o interfacce per app.

Puoi usarlo per varie funzioni come la pubblicazione di documenti, la modifica di vettori e bitmap, la modellazione 3D o la gestione delle foto. Inoltre, puoi sempre installare molte più app dagli ampi pacchetti Linux.

Se sei un astronomo o un appassionato, potresti provare i laboratori di astronomia Fedora. Un giocatore può installare Games Lab, gli appassionati di audio e i musicisti che desiderano creare, modificare e produrre audio e musica su Linux possono utilizzare Fedora Jams Labs. In sostanza, c'è "quasi" tutto per le tue esigenze di nicchia. Altri laboratori aggiuntivi sono Comp Neuro, Security e Robotics Suite.

Ottieni strumenti per sviluppatori

Va da sé. Fedora è un sistema operativo creato dagli sviluppatori per gli sviluppatori. Fedora 35 fornisce alcuni dei migliori strumenti di programmazione, linguaggi di programmazione aggiornati e database. Troverai anche strumenti di collaborazione per gestire i tuoi progetti dall'inizio alla distribuzione e distribuzione.

Linguaggi di programmazione

Fedora 35 offre agli sviluppatori nuovi linguaggi di programmazione, aggiornamenti della libreria di sistema, aggiornamenti dei pacchetti sottostanti e aggiornamenti della toolchain. I seguenti linguaggi di programmazione sono inclusi in 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 fornisce una piattaforma semplice e affidabile per gestire i progetti, che si tratti di app da riga di comando, app Web, app desktop o progetti di dispositivi hardware con Raspberry Pi o Arduino.

Piattaforma .NET

Se utilizzi la piattaforma .NET per lo sviluppo, .NET Core e Mono sono disponibili per l'installazione su Fedora. Per creare applicazioni utilizzando i linguaggi di programmazione C#, F# o VB.NET. Puoi installare .NET Core e Mono attraverso i seguenti semplici passaggi.

.NET Core

.NET Core è una piattaforma modulare, multipiattaforma e open source per qualsiasi sviluppo generico. .NET Core è incluso in Fedora e puoi installare l'ultimo SDK con il seguente comando:

$ sudo dnf install dotnet
Mono

Mono è un'implementazione gratuita e open source di .NET Framework. Puoi installare Mono con il seguente comando:

$ sudo dnf install mono-devel
Pitone

Python è un linguaggio di programmazione interpretato, orientato agli oggetti e di alto livello. Python 3 è già preinstallato su Fedora 35 con molti pacchetti popolari per Python.
Per eseguire Python o controllare la versione installata, apri il tuo terminale e digita il comando Python o python3.

Utilizzo di ambienti virtuali

Se stai lavorando a progetti di sviluppo software, gli ambienti virtuali possono limitare i conflitti raggruppando le dipendenze in un unico posto. Puoi usarli per progetti che richiedono versioni diverse di un modulo.

Usa il comando seguente per creare un ambiente virtuale.

$ python -m venv web_project_venv

Il nome del progetto è web_project_venv che contiene Python e pip. Puoi utilizzare pip per installare altre dipendenze nel tuo ambiente virtuale.
Per lavorare nell'ambiente virtuale, devi attivarlo con il comando seguente.

$ source web_project_venv/bin/activate

Quando attivi l'ambiente virtuale, puoi installare i moduli tramite pip.

(web_project_venv) $ python -m pip install module_name

Puoi disattivare l'ambiente virtuale.

(web_project_venv) $ deactivate
Fortra

Fortran è un linguaggio di programmazione imperativo generico adatto al calcolo numerico e al calcolo scientifico. Per utilizzare Fortran in Fedora 35, è necessario installare il compilatore gfortran poiché Fortran è un linguaggio compilato.
Per installare il compilatore gfortran, utilizzare il comando seguente.

$ sudo dnf install gcc-gfortran

Qualunque sia il linguaggio che usi per lo sviluppo, Fedora fornisce pacchetti per altri linguaggi come C, C++, Go, Java, Node.js, PHP, Haskell, Perl, R, Rust, Ruby e molti altri.

Banche dati

Fedora 35 fornisce una piattaforma affidabile e pacchetti per installare e gestire motori di database. Puoi installare motori di database come MariaDB (un sostituto drop-in di MySQL), SQLite, Cassandra, PostgreSQL, SQLite, Redis, MongoDB (database NoSQL/Document-oriented) e molti altri.

PostgreSQL

PostgreSQL è un sistema avanzato di gestione di database relazionali a oggetti (DBMS). Fedora 35 fornisce un set di pacchetti completo per client e server PostgreSQL, plug-in compatibili con server e connettori di database.
Per iniziare con PostgreSQL in Fedora, puoi installarlo e configurarlo usando i seguenti comandi.

$ 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

Se rimani bloccato lungo il percorso, puoi sempre utilizzare il comando di aiuto.

Apache Cassandra

Apache Cassandra è un server di database open source per applicazioni su larga scala. La sua scalabilità lineare e tolleranza ai guasti su hardware di base o infrastruttura cloud lo rendono la scelta perfetta per i dati mission-critical. Il database utilizza Cassandra Query Language (CQL), che è relativamente vicino a SQL.

Esegui i seguenti comandi per installare e inizializzare Cassandra su Fedora 35.

$ sudo dnf install cassandra cassandra-server # install Apache Cassandra client/server
$ sudo systemctl start cassandra # initialize Cassandra server

Consenti a Cassandra di essere eseguito all'avvio:

$ sudo systemctl enable cassandra
$ cqlsh # run Cassandra client tool
FATTO DIVERTENTE:
A group of whales is called a pod.

Gestisci i container in Fedora 35

I container consentono agli sviluppatori di impacchettare le applicazioni insieme alle dipendenze ed eseguirle ovunque. I contenitori consentono di separare gli aggiornamenti del sistema operativo principale dagli aggiornamenti delle applicazioni. Puoi anche testare e distribuire diverse versioni di applicazioni. Il team del progetto Fedora fornisce Fedora IoT e Fedora CoreOS che forniscono un supporto affidabile per flussi di lavoro incentrati sui container.

Fedora CoreOS

Secondo il team del progetto Fedora, Fedora CoreOS è un sistema operativo minimo e ad aggiornamento automatico, progettato per eseguire carichi di lavoro containerizzati in modo sicuro e su larga scala. Il sistema operativo consente di eseguire applicazioni come contenitori. Puoi anche installare pacchetti extra con lo strumento rpm-ostree, che sovrappone le modifiche in modo atomico sopra l'immagine di base.
Puoi scaricare Fedora CoreOS dalla sua pagina di download ufficiale.

Porta mobile

Docker è un'eccellente piattaforma per gli sviluppatori per sviluppare, spedire ed eseguire applicazioni in container. Con Docker, puoi assemblare rapidamente applicazioni e far testare il tuo codice e distribuirlo in produzione il più velocemente possibile. Puoi installare il pacchetto docker-ce usando il repository Docker in Fedora 35 con i seguenti passaggi.
Installa il pacchetto dnf-plugins-core:

$ sudo dnf install dnf-plugins-core

Aggiungi il repository docker-ce:

$ sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Installa il motore Docker:

$ sudo dnf install docker-ce docker-ce-cli containerd.io

Avvia il servizio Docker:

$ sudo systemctl start docker

Scopri di più sui suggerimenti e i trucchi per l'installazione di Docker dalla documentazione di Fedora su come iniziare con Docker.
Puoi anche dare un'occhiata a Docker Compose, uno strumento per orchestrare diversi container.

Uomo Pod

Podman è un motore di container senza daemon per lo sviluppo, la gestione e l'esecuzione di container OCI in modalità root o rootless. È un'alternativa a Docker, ma il motore del contenitore Podman è leggero. Puoi installarlo usando il seguente comando.

$ sudo dnf install podman

Puoi anche utilizzare Podman Compose per gestire e orchestrare diversi contenitori.

Ambienti di sviluppo

La collaborazione è un aspetto essenziale dello sviluppo del software e Fedora fornisce diversi pacchetti e IDE che ti permetteranno di collaborare con il tuo team.

IDE

Un ambiente di sviluppo integrato [IDE] aiuta gli sviluppatori in ogni fase del ciclo di sviluppo del software. Una scelta IDE potrebbe dipendere da un linguaggio di programmazione, dalla piattaforma utilizzata o dalle risorse disponibili. Fedora fornisce diversi pacchetti IDE come Eclipse, Sublime-text, Microsoft Visual Studio, editor di testo Atom e molti altri. Ogni sviluppatore ha un IDE preferito.

IDE Eclipse

Eclipse è un IDE multilingua completo per gestire il ciclo di vita dello sviluppo software. Puoi avviare rapidamente un nuovo progetto, lavorare su progetti esistenti o monitorare e ottimizzare le applicazioni. Inoltre, puoi anche scrivere una documentazione elegante, interagire con altri sistemi di rilevamento dei problemi o CI dall'interno dell'IDE Eclipse.

Installa il pacchetto Eclipse:

$ sudo dnf install eclipse
IDE Arduino

Arduino è una piattaforma hardware popolare e affidabile. Sfortunatamente, non è possibile eseguire il sistema operativo Fedora su schede Arduino. Tuttavia, puoi usare Fedora per sviluppare applicazioni e progetti per Arduino.
Puoi installare l'IDE grafico di Arduino con il seguente comando:

$ sudo dnf install arduino
Vagabondo

Vagrant è uno degli strumenti indispensabili per gli sviluppatori. Ti consente di creare ambienti di sviluppo riproducibili e portatili. Funziona su alcune tecnologie di virtualizzazione o containerizzazione come VirtualBox, Docker e libvirt.

Vagrant con VirtualBox
Per utilizzare Vagrant con VirtualBox in Fedora 35, installa il pacchetto vagrant con il seguente comando:

$ sudo dnf install vagrant

Nota che Vagrant viene fornito con il supporto integrato per VirtualBox. Tuttavia, è necessario installare VirtualBox separatamente poiché non fa parte dei pacchetti Fedora.

Vagrant con Docker
Per utilizzare Vagrant con Docker, installa i pacchetti vagrant e docker con il seguente comando:

$ sudo dnf install vagrant docker

Avvia il servizio Docker:

$ sudo systemctl start docker

Tieni presente che Vagrant viene fornito con il supporto integrato e puoi utilizzare Docker sia come provider che come provider.

Il pacchetto distribuisce e distribuisce le applicazioni

La gioia di uno sviluppatore è distribuire e distribuire software, ed è ancora più entusiasta quando il software è open source. Fedora 35 fornisce un'ottima piattaforma e strumenti per impacchettare, distribuire e distribuire software. Alcuni vantaggi dell'imballaggio includono:

  • Codice, dati, file di configurazione e script di post-installazione sono raggruppati insieme.
  • Puoi firmare pacchetti che assicurano che gli utenti possano verificare che il pacchetto non sia stato alterato.
  • Consente una facile installazione, aggiornamento o rimozione delle app.
  • Puoi standardizzare i percorsi di installazione.

Imballaggio RPM

Il pacchetto RPM ti consente di impacchettare le applicazioni e spedirle a sistemi basati su RPM.
Esegui il comando seguente per installare e configurare il pacchetto di fedora.

$ sudo dnf install fedora-packager rpmdevtools gcc
$ rpmdev-setuptree

Ulteriori informazioni dalla documentazione ufficiale di RPM.

Servizio di costruzione del copr

Copr è un servizio di compilazione automatica facile da usare che crea applicazioni come RPM e fornisce un repository di pacchetti DNF/Yum come output. Pertanto, è necessario disporre di un RPM di origine (dalla confezione RPM) prima di iniziare a utilizzare il servizio Copr. Tieni presente che puoi utilizzare Copr solo per progetti FOSS (Software Open Source gratuito).

OpenShift

OpenShift Origin è una distribuzione di Kubernetes che può tornare utile agli sviluppatori per gestire lo sviluppo continuo delle applicazioni e le distribuzioni multi-tenant. Aggiunge strumenti di sviluppo oltre a Kubernetes per consentire sviluppo rapido, facile implementazione, ridimensionamento e manutenzione del ciclo di vita a lungo termine per qualsiasi dimensione del tuo team.

Conclusione

Le edizioni di Fedora forniscono un'ampia serie di strumenti e pacchetti. Con la sua filosofia "Libertà", uno sviluppatore di software ha l'imbarazzo della scelta per pacchetti, IDE di sviluppo, virtualizzazione, strumenti di containerizzazione o strumenti di distribuzione. L'articolo introduce alcuni degli strumenti che utilizzo per lo sviluppo, il confezionamento e la distribuzione di applicazioni.


Fedora
  1. Novità di Fedora 27 Workstation

  2. Nuove funzionalità in Fedora 26

  3. Fedora vs Ubuntu:quali sono le differenze principali?

  4. 10 pepite dalle statistiche di cloud computing 2015

  5. Migra a Rackspace Cloud da Amazon Web Services

Come aggiornare a Fedora 26 da Fedora 25

Novità di Fedora 32 Workstation

Recensione Fedora 33:cosa c'è di nuovo e come aggiornare

Come aggiornare da Fedora 32 a Fedora 33

Come aggiornare a Fedora 35 da Fedora 34

Autenticazione multifattoriale dal Cloud Control Panel