Die offizielle stabile Version für Fedora 35 wurde am 2. November 2021 zum Download bereitgestellt, nachdem sie verschoben wurde, um einige ausstehende Blockierungsfehler zu beheben. Das Warten hat sich jedoch gelohnt! Der Release-Zyklus umfasst Fedora Server, Spins, IoT und Fedora Labs mit kuratierten Softwarepaketen, um Nischenanforderungen gerecht zu werden. Darüber hinaus bietet es GNOME 41, aktualisierte Entwicklertools, neue Programmiersprachen, Energieverwaltungsprofile, verbesserte Softwareverwaltung anderer Apps von Drittanbietern.
Dieser Artikel ist ein Einblick eines Softwareentwicklers in neue Funktionen, Entwicklungstools, Fedora Labs und Verbesserungen in Fedora Linux 35.
Einblick eines Entwicklers in Fedora 35
Sie können Fedora Workstation 35 von der offiziellen Website herunterladen oder Ihr vorhandenes Betriebssystem über das Terminal mit dnf system-upgrade oder GNOME Software aktualisieren.
Linux-Kernel 5.14
Der neueste Release-Zyklus von Fedora 35 enthält den neuen Linux 5.14-Kernel. Es enthält viele ARM-spezifische Verbesserungen, hauptsächlich in Bezug auf GPUs (Unterstützung auf AMD Radeon-Grafikkarten) und eine verbesserte Unterstützung für USB 4.
Fedora 35-Editionen
Fedora 35-Workstation
Getreu den Fedora-Grundlagen „Freedom“, „First“, „Features“ und „Friends“ enthält die Version das neue GNOME 41, aktualisierte Programmiersprachen und Entwicklertools für Ihre Softwareentwicklungsanforderungen. Wenn Sie Fedora für tägliche Aufgaben verwenden, bietet es auch neue Energieverwaltungsprofile, Kindersicherung und Verbesserungen bei der Verwaltung anderer Apps von Drittanbietern. Lesen Sie unseren Artikel zu den „Top-Neuheiten in Fedora 35 Workstation“, um mehr zu erfahren.
Fedora IoT
Fedora IoT [Internet of Things] Edition ist ein unveränderliches Betriebssystem mit atomaren Updates. Es wird mithilfe der OTree-Technologie implementiert. Sie können es für IoT-Ökosysteme für kleine Heimprojekte, große Industrieprojekte oder Analysen mit KI/ML verwenden.
Entwickler von IoT-Systemen können Fedora IoT auch nutzen, um containerorientierte Workflows zu erstellen. Im Wesentlichen können Sie Anwendungen mit integrierter Open Container Initiative (OCI)-Image-Unterstützung erstellen, bereitstellen und verwalten, indem Sie Podman oder containerisierte Anwendungen aus öffentlichen Registrierungen verwenden.
Fedora IoT verfügt über das Greenbolt-Check-Framework für systemd, um sicherzustellen, dass Ihr System im gewünschten Zustand startet. Mit Blick auf die Sicherheit können Entwickler die Unterstützung für SecureBoot, TPM2 und die automatische Speicherentschlüsselung mit Clevis genießen. Es bietet auch Unterstützung für mehrere Architekturen wie x86_64-, aarch64- und armhfp-Prozessoren. Darüber hinaus gibt es Unterstützung für die webbasierte Bereitstellung durch das Ignition-Bereitstellungsdienstprogramm und den Zezere-Webdienst. Daher können Sie Ihre Fedora IoT-Umgebung bereitstellen, verwalten und skalieren, ohne eine physische Konsole zu benötigen. Sie können Fedora IoT von seiner offiziellen Seite herunterladen.
Fedora Kinoite
Fedora Kinoite ist das neueste Mitglied der Fedora-Familie. Diese Neuauflage basiert auf den zugrunde liegenden Technologien von Fedora Silverblue (Fedora Linux, rpm-ostree, podman). Es verfügt standardmäßig über einen KDE-Plasma-Desktop.
Das Fedora-Projektteam beschreibt Fedora Kinoite als Betriebssystem der nächsten Generation. Damit können Sie Ihre tägliche Arbeit erledigen, im Internet surfen, Dateien verwalten und produktiv werden, ohne sich Gedanken über eine Beschädigung Ihres Systems machen zu müssen.
Erfahren Sie mehr über das Projekt auf der offiziellen Homepage von Fedora Kinoite oder laden Sie entweder die X86_64- oder AArch64-Architektur herunter.
Fedora 35 Cloud-Basis-Images
Fedora Cloud bietet verschiedene Images, die in privaten und öffentlichen Cloud-Infrastrukturen verwendet werden können. Dieser Release-Zyklus beinhaltet die Einführung der Hybrid-BIOS+UEFI-Boot-Unterstützung. Wenn UEFI nicht funktioniert, haben Sie als Fallback immer noch Legacy-BIOS-Unterstützung.
Btrfs ist jetzt das Standarddateisystem für Fedora Cloud. Btrfs wurde als Standarddateisystem in Fedora Workstation 34 eingeführt und wird in Fedora-Editionen zunehmend angenommen. Sie können die Vorteile der transparenten Komprimierung nutzen, um Speicherplatz im Dateisystem und andere Funktionen von Btrfs zu sparen.
Der Release-Zyklus von Fedora 35 umfasst die folgenden Cloud-Basis-Images:
- Cloud Base – Ein minimales Fedora-Image zum Erstellen universeller virtueller Maschinen (VMS). Es sind nur minimale Pakete erforderlich, um in jeder Cloud-Umgebung ausgeführt zu werden.
- Vagrant Images – Umfasst Vagrant Boxes-Images sowohl für die Cloud-Basis als auch für Atomic. Sowohl VirtualBox als auch libvirt werden vom VirtualBox-Image und den libvirt/KVM-Images unterstützt. Wenn Sie Vagrant auf Fedora verwenden, ist das libvirt/KVM-Image ideal für Ihre Bereitstellungen.
- Atomic Image – ein Atomic Image ist eine leichtgewichtige, unveränderliche Plattform zum Ausführen von containerisierten Anwendungen oder in jeder privaten oder öffentlichen Cloud-Umgebung.
- Docker-Image – Das Fedora Cloud-Team stellt das neueste Fedora-Image für Docker bereit, das Sie über Docker-Pull-Fedora erhalten können.
- Cloud Base Images für Google Cloud Platform (GCP) – Das Image ist für die Ausführung auf der GCP konfiguriert.
- Cloud Base Images für Amazon Public Cloud bietet x86_64-AMIs und aarch64-AMIs-AMIs zum Starten in Ihrem Amazon Web Services-Konto.
Fedora 35 Labs
Fedora Labs ist eine Sammlung von Apps, Linux-Paketen und Inhalten, die in einem Image gebündelt sind, um Nischenanforderungen gerecht zu werden. Fedora Labs umfassen Astronomy, Comp Neuro, Design Suite, Python Classroom, Scientific, Security Lab, Games, JAM, Robotics Suite.
Python-Klassenzimmer
Python-Ausbilder oder Lehrer können Fedora Python Classroom Lab verwenden, um Demonstrationen in Klassenzimmern oder Workshops zu unterrichten oder zu präsentieren. Das Betriebssystem wird mit vorinstallierten Paketen wie Python, IPython, Jupyter Notebook, tox, virtualenvs, git und vielen mehr gebündelt.
Fedora Python Classroom Lab ist entweder als GNOME-Desktop oder als Headless-Umgebung für Vagrant oder Docker erhältlich. Sie können es im grafischen Modus mit GNOME ausführen oder es mit Vagrant virtualisieren oder in einem Docker-Container ausführen, je nachdem, was zu Ihrer Architektur passt.
Fedora Scientific Labs
Fedora Scientific Lab wird mit wesentlichen wissenschaftlichen, numerischen Open-Source-Anwendungen, Tools und Bibliotheken ausgeliefert. Die Pakete enthalten Bibliotheken und Tools wie die GNU Scientific Library, die SciPy-Bibliotheken. Werkzeuge zum Setzen, Schreiben und Veröffentlichen. Grafikprogramme wie Inkscape. Das aktuelle Fedora 35 Scientific Lab enthält eine Reihe von Paketen wie eine IDE, Bibliotheken für die Programmierung in Python, C, C++, Java und R.
Fedora Design Suite Labs
Fedora Design Suite Labs ist eine Desktop-Umgebung mit vorinstallierten kostenlosen Open-Source-Multimedia-Produktions- und Veröffentlichungstools, die von Designern für Designer erstellt wurden. Es enthält Ihre bevorzugten Tools und Programme zum Erstellen von Grafiken, Desktop-Hintergründen, CD-Hüllen, Webseitendesigns, Flyern oder App-Oberflächen.
Sie können es für verschiedene Funktionen wie Dokumentveröffentlichung, Vektor- und Bitmap-Bearbeitung, 3D-Modellierung oder Fotoverwaltung verwenden. Darüber hinaus können Sie jederzeit viele weitere Apps aus den umfangreichen Linux-Paketen installieren.
Wenn Sie ein Astronom oder ein Enthusiast sind, möchten Sie vielleicht die Astronomielabors von Fedora ausprobieren. Ein Spieler kann das Games Lab installieren, Audio-Enthusiasten und Musiker, die Audio und Musik unter Linux erstellen, bearbeiten und produzieren möchten, können die Fedora Jams Labs verwenden. Im Grunde gibt es „fast“ alles für Ihren Nischenbedarf. Weitere zusätzliche Labs sind Comp Neuro, Security und Robotics Suite.
Entwicklertools herunterladen
Selbstverständlich. Fedora ist ein Betriebssystem, das von Entwicklern für Entwickler entwickelt wurde. Fedora 35 bietet einige der besten Programmierwerkzeuge, aktualisierte Programmiersprachen und Datenbanken. Außerdem finden Sie Tools für die Zusammenarbeit, mit denen Sie Ihre Projekte vom Start bis zur Bereitstellung und Verteilung verwalten können.
Programmiersprachen
Fedora 35 bietet Entwicklern neue Programmiersprachen, Systembibliotheksaktualisierungen, zugrunde liegende Paketaktualisierungen und Toolchain-Aktualisierungen. Die folgenden Programmiersprachen sind in Fedora 35 gebündelt.
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 bietet eine einfache und zuverlässige Plattform zum Verwalten von Projekten, ob Befehlszeilen-Apps, Web-Apps, Desktop-Apps oder Hardwaregeräteprojekte mit Raspberry Pi oder Arduino.
.NET-Plattform
Wenn Sie die .NET-Plattform für die Entwicklung verwenden, stehen .NET Core und Mono zur Installation auf Fedora zur Verfügung. Erstellen von Anwendungen mit den Programmiersprachen C#, F# oder VB.NET. Sie können .NET Core und Mono mit den folgenden einfachen Schritten installieren.
.NET Core
.NET Core ist eine modulare, plattformübergreifende Open-Source-Plattform für jede allgemeine Entwicklung. .NET Core ist in Fedora gepackt, und Sie können das neueste SDK mit dem folgenden Befehl installieren:
$ sudo dnf install dotnet
Mono
Mono ist eine kostenlose Open-Source-Implementierung des .NET Framework. Sie können Mono mit dem folgenden Befehl installieren:
$ sudo dnf install mono-devel
Python
Python ist eine interpretierte, objektorientierte, höhere Programmiersprache. Python 3 ist bereits auf Fedora 35 mit vielen beliebten Paketen für Python vorinstalliert.
Um Python auszuführen oder die installierte Version zu überprüfen, öffnen Sie Ihr Terminal und geben Sie den Befehl Python oder python3 ein.
Virtuelle Umgebungen verwenden
Wenn Sie an Softwareentwicklungsprojekten arbeiten, können virtuelle Umgebungen Konflikte begrenzen, indem sie Abhängigkeiten an einem Ort bündeln. Sie können sie für Projekte verwenden, die verschiedene Versionen eines Moduls benötigen.
Verwenden Sie den folgenden Befehl, um eine virtuelle Umgebung zu erstellen.
$ python -m venv web_project_venv
Der Projektname lautet web_project_venv und enthält Python und Pip. Sie können pip verwenden, um andere Abhängigkeiten in Ihrer virtuellen Umgebung zu installieren.
Um in der virtuellen Umgebung zu arbeiten, müssen Sie sie mit dem folgenden Befehl aktivieren.
$ source web_project_venv/bin/activate
Wenn Sie die virtuelle Umgebung aktivieren, können Sie Module über Pip installieren.
(web_project_venv) $ python -m pip install module_name
Sie können die virtuelle Umgebung deaktivieren.
(web_project_venv) $ deactivate
Fortran
Fortran ist eine allgemeine, imperative Programmiersprache, die für numerische Berechnungen und wissenschaftliche Berechnungen geeignet ist. Um Fortran in Fedora 35 zu verwenden, müssen Sie den gfortran-Compiler installieren, da Fortran eine kompilierte Sprache ist.
Um den gfortran-Compiler zu installieren, verwenden Sie den folgenden Befehl.
$ sudo dnf install gcc-gfortran
Welche Sprache Sie auch immer für die Entwicklung verwenden, Fedora bietet Pakete für andere Sprachen wie C, C++, Go, Java, Node.js, PHP, Haskell, Perl, R, Rust, Ruby und viele mehr.
Datenbanken
Fedora 35 bietet eine zuverlässige Plattform und Pakete zum Installieren und Verwalten von Datenbank-Engines. Sie können Datenbank-Engines wie MariaDB (ein Drop-in-Ersatz für MySQL), SQLite, Cassandra, PostgreSQL, SQLite, Redis, MongoDB (dokumentenorientierte/NoSQL-Datenbank) und viele mehr installieren.
PostgreSQL
PostgreSQL ist ein fortschrittliches objektrelationales Datenbankmanagementsystem (DBMS). Fedora 35 bietet einen vollständigen Paketsatz für PostgreSQL-Client und -Server, serverkompatible Plug-Ins und Datenbankkonnektoren.
Um mit PostgreSQL in Fedora zu beginnen, können Sie es mit den folgenden Befehlen installieren und konfigurieren.
$ 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
Wenn Sie unterwegs nicht weiterkommen, können Sie jederzeit den Hilfebefehl verwenden.
Apache Cassandra
Apache Cassandra ist ein Open-Source-Datenbankserver für hochskalierte Anwendungen. Seine lineare Skalierbarkeit und Fehlertoleranz auf handelsüblicher Hardware oder Cloud-Infrastruktur machen es zur perfekten Wahl für unternehmenskritische Daten. Die Datenbank verwendet die Cassandra Query Language (CQL), die SQL relativ nahe kommt.
Führen Sie die folgenden Befehle aus, um Cassandra auf Fedora 35 zu installieren und zu initialisieren.
$ sudo dnf install cassandra cassandra-server # install Apache Cassandra client/server $ sudo systemctl start cassandra # initialize Cassandra server
Aktivieren Sie Cassandra, um beim Booten ausgeführt zu werden:
$ sudo systemctl enable cassandra $ cqlsh # run Cassandra client tool
NEBENBEI:
A group of whales is called a pod.
Container in Fedora 35 verwalten
Container ermöglichen es Entwicklern, Anwendungen zusammen mit Abhängigkeiten zu verpacken und sie überall auszuführen. Container ermöglichen es Ihnen, Kernbetriebssystemaktualisierungen von Anwendungsaktualisierungen zu trennen. Sie können auch verschiedene Versionen von Anwendungen testen und bereitstellen. Das Fedora-Projektteam stellt Fedora IoT und Fedora CoreOS bereit, die zuverlässige Unterstützung für containerorientierte Arbeitsabläufe bieten.
Fedora CoreOS
Laut dem Fedora-Projektteam ist Fedora CoreOS ein sich automatisch aktualisierendes, minimales Betriebssystem, das für die sichere und skalierbare Ausführung containerisierter Workloads entwickelt wurde. Das Betriebssystem ermöglicht es Ihnen, Anwendungen als Container auszuführen. Sie können auch zusätzliche Pakete mit dem Tool rpm-ostree installieren, das Änderungen atomar über das Basis-Image schichtet.
Sie können Fedora CoreOS von seiner offiziellen Download-Seite herunterladen.
Docker
Docker ist eine hervorragende Plattform für Entwickler, um Anwendungen in Containern zu entwickeln, zu versenden und auszuführen. Mit Docker können Sie Anwendungen schnell zusammenstellen und Ihren Code so schnell wie möglich testen und in der Produktion bereitstellen. Sie können das Paket docker-ce mithilfe des Docker-Repositorys in Fedora 35 mit den folgenden Schritten installieren.
Installieren Sie das Paket dnf-plugins-core:
$ sudo dnf install dnf-plugins-core
Fügen Sie das Docker-ce-Repository hinzu:
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
Installieren Sie die Docker-Engine:
$ sudo dnf install docker-ce docker-ce-cli containerd.io
Starten Sie den Docker-Dienst:
$ sudo systemctl start docker
Erfahren Sie mehr über Docker-Installationstipps und -tricks in Fedoras Dokumentation zu den ersten Schritten mit Docker.
Sie können auch Docker Compose ausprobieren, ein Tool zum Orchestrieren mehrerer Container.
Podmann
Podman ist eine Daemon-lose Container-Engine zum Entwickeln, Verwalten und Ausführen von OCI-Containern im Root- oder Rootless-Modus. Es ist eine Alternative zu Docker, aber die Podman-Container-Engine ist leichtgewichtig. Sie können es mit dem folgenden Befehl installieren.
$ sudo dnf install podman
Sie können Podman Compose auch verwenden, um mehrere Container zu verwalten und zu orchestrieren.
Entwicklungsumgebungen
Zusammenarbeit ist ein wesentlicher Aspekt der Softwareentwicklung, und Fedora bietet mehrere Pakete und IDEs, die es Ihnen ermöglichen, mit Ihrem Team zusammenzuarbeiten.
IDEs
Eine integrierte Entwicklungsumgebung (IDE) unterstützt Entwickler in jedem Schritt des Softwareentwicklungszyklus. Die Wahl der IDE kann von einer Programmiersprache, der von Ihnen verwendeten Plattform oder den verfügbaren Ressourcen abhängen. Fedora bietet mehrere IDE-Pakete wie Eclipse, Sublime-text, Microsoft Visual Studio, Atom-Texteditor und viele mehr. Jeder Entwickler hat eine Lieblings-IDE.
Eclipse-IDE
Eclipse ist eine voll funktionsfähige, mehrsprachige IDE zur Verwaltung Ihres Softwareentwicklungslebenszyklus. Sie können schnell ein neues Projekt starten, an bestehenden Projekten arbeiten oder Anwendungen überwachen und optimieren. Darüber hinaus können Sie innerhalb der Eclipse-IDE auch elegante Dokumentationen schreiben und mit anderen Issue-Tracking-Systemen oder CI interagieren.
Installieren Sie das Eclipse-Paket:
$ sudo dnf install eclipse
Arduino-IDE
Arduino ist eine beliebte und zuverlässige Hardwareplattform. Leider können Sie das Fedora-Betriebssystem nicht auf Arduino-Boards ausführen. Sie können Fedora jedoch zum Entwickeln von Anwendungen und Projekten für Arduino verwenden.
Sie können die grafische Arduino IDE mit dem folgenden Befehl installieren:
$ sudo dnf install arduino
Landstreicher
Vagrant ist eines der unverzichtbaren Tools für Entwickler. Damit können Sie reproduzierbare und portable Entwicklungsumgebungen erstellen. Es funktioniert auf einigen Virtualisierungs- oder Containerisierungstechnologien wie VirtualBox, Docker und libvirt.
Vagrant mit VirtualBox
Um Vagrant mit VirtualBox in Fedora 35 zu verwenden, installieren Sie das Vagrant-Paket mit dem folgenden Befehl:
$ sudo dnf install vagrant
Beachten Sie, dass Vagrant über eine integrierte Unterstützung für VirtualBox verfügt. Sie müssen VirtualBox jedoch separat installieren, da es nicht Teil der Fedora-Pakete ist.
Vagrant mit Docker
Um Vagrant mit Docker zu verwenden, installieren Sie die Vagrant- und Docker-Pakete mit dem folgenden Befehl:
$ sudo dnf install vagrant docker
Docker-Dienst starten:
$ sudo systemctl start docker
Beachten Sie, dass Vagrant über integrierte Unterstützung verfügt und Sie Docker sowohl als Provider als auch als Provisioner verwenden können.
Paketbereitstellung und Verteilung von Anwendungen
Die Freude eines Entwicklers ist das Bereitstellen und Verteilen von Software, und es ist noch enthusiastischer, wenn die Software Open Source ist. Fedora 35 bietet eine großartige Plattform und Tools zum Packen, Bereitstellen und Verteilen von Software. Einige Vorteile der Verpackung sind:
- Code, Daten, Konfigurationsdateien und Skripte nach der Installation werden zusammen gebündelt.
- Sie können Pakete signieren, die sicherstellen, dass Benutzer überprüfen können, ob das Paket nicht geändert wurde.
- Es ermöglicht eine einfache Installation, Aktualisierung oder Entfernung von Apps.
- Sie können Installationspfade standardisieren.
RPM-Verpackung
Mit RPM-Packaging können Sie Anwendungen paketieren und an RPM-basierte Systeme senden.
Führen Sie den folgenden Befehl aus, um den Fedora-Packager zu installieren und einzurichten.
$ sudo dnf install fedora-packager rpmdevtools gcc $ rpmdev-setuptree
Weitere Informationen finden Sie in der offiziellen RPM-Dokumentation.
Copr Build Service
Copr ist ein benutzerfreundlicher automatischer Build-Service, der Anwendungen als RPM erstellt und Ihnen als Ausgabe ein DNF/Yum-Paket-Repository zur Verfügung stellt. Daher müssen Sie über ein Quell-RPM (aus dem RPM-Paket) verfügen, bevor Sie den Copr-Dienst verwenden können. Beachten Sie, dass Sie Copr nur für FOSS-Projekte (Free Open Source Software) verwenden können.
OpenShift
OpenShift Origin ist eine Distribution von Kubernetes, die sich für Entwickler als nützlich erweisen kann, um die kontinuierliche Anwendungsentwicklung und mandantenfähige Bereitstellungen zu verwalten. Es fügt Entwicklertools zu Kubernetes hinzu, um eine schnelle Entwicklung, einfache Bereitstellung, Skalierung und langfristige Lebenszykluswartung für Teams jeder Größe zu ermöglichen.
Abschluss
Fedora-Editionen bieten einen umfangreichen Satz von Tools und Paketen. Mit seiner „Freedom“-Philosophie hat ein Softwareentwickler die Qual der Wahl für Pakete, Entwicklungs-IDEs, Virtualisierungs-, Containerisierungs- oder Bereitstellungstools. Der Artikel stellt einige der Tools vor, die ich zum Entwickeln, Packen und Bereitstellen von Anwendungen verwende.