GNU/Linux >> Linux の 問題 >  >> Fedora

Fedora 35 –開発者の観点からの新機能

Fedora 35の公式の安定版リリースは、いくつかの未解決のブロッキングバグを解決するためにプッシュバックされた後、2021年11月2日にダウンロード可能になりました。しかし、待つ価値はありました!リリースサイクルには、Fedoraサーバー、スピン、IoT、およびニッチな要件に適合する厳選されたソフトウェアパッケージを備えたFedoraラボが含まれます。さらに、GNOME 41、更新された開発者ツール、新しいプログラミング言語、電力管理プロファイル、他のサードパーティアプリの改善されたソフトウェア管理を備えています。

この記事は、ソフトウェア開発者による、Fedora Linux 35の新機能、開発ツール、Fedora Labs、および改善点に関する洞察です。

開発者によるFedora35への洞察

Fedora Workstation 35は、公式Webサイトから入手するか、dnfsystem-upgradeまたはGNOMESoftwareを使用してターミナルから既存のOSをアップグレードできます。

Linuxカーネル5.14

最新のFedora35リリースサイクルは、新しいLinux5.14カーネルを特徴としています。これには、主にGPU(AMD Radeonグラフィックカードでのサポート)に関連する多くのARM固有の改善と、USB4のサポートの改善が含まれています。

Fedora35エディション

Fedora35ワークステーション

「Freedom」、「First」、「Features」、「Friends」のFedoraの基盤に忠実なこのリリースには、新しいGNOME 41、更新されたプログラミング言語、ソフトウェア開発ニーズに対応する開発者ツールが含まれています。 Fedoraを日常のタスクに使用する場合は、新しい電源管理プロファイル、ペアレンタルコントロール、および他のサードパーティアプリの管理の改善も備えています。詳細については、「Fedora35ワークステーションの主な新機能」に関する記事をご覧ください。

Fedora IoT

Fedora IoT [モノのインターネット]エディションは、アトミックアップデートを備えた不変のオペレーティングシステムです。 OSTreeテクノロジーを使用して実装されます。小規模な住宅プロジェクト、大規模な産業プロジェクト、またはAI/MLを使用した分析のIoTエコシステムに使用できます。

IoTシステムの開発者は、Fedora IoTを利用して、コンテナーに焦点を合わせたワークフローを作成することもできます。本質的には、Podmanまたはパブリックレジストリのコンテナ化されたアプリケーションを使用して、組み込みのOpen Container Initiative(OCI)イメージサポートを使用してアプリケーションを構築、デプロイ、および管理できます。

Fedora IoTは、systemdのグリーンボルトチェックフレームワークを備えており、システムが目的の状態で起動することを確認します。セキュリティを念頭に置いて、開発者はSecureBoot、TPM2、およびClevisによる自動ストレージ復号化のサポートを楽しむことができます。また、x86_64、aarch64、armhfpプロセッサなどの複数のアーキテクチャのサポートも備えています。さらに、IgnitionプロビジョニングユーティリティとZezereWebサービスによるWebベースのプロビジョニングがサポートされています。そのため、物理コンソールを必要とせずに、Fedora IoT環境をデプロイ、管理、およびスケーリングできます。 FedoraIoTは公式ページからダウンロードできます。

Fedora Kinoite

Fedora Kinoiteは、Fedoraファミリーの最新製品です。この新しいエディションは、Fedora Silverblueの基盤となるテクノロジー(Fedora Linux、rpm-ostree、podman)に基づいています。デフォルトでKDEPlasmaデスクトップを備えています。

Fedoraプロジェクトチームは、FedoraKinoiteを次世代オペレーティングシステムとして説明しています。システムを壊すことを心配することなく、日常業務の管理、Webサーフィン、ファイルの管理、生産性の向上を実現できます。

プロジェクトの詳細については、Fedora Kinoiteの公式ホームページを参照するか、X86_64またはAArch64アーキテクチャのいずれかをダウンロードしてください。

Fedora35クラウドベースイメージ

Fedora Cloudは、プライベートクラウドインフラストラクチャとパブリッククラウドインフラストラクチャで使用できるさまざまなイメージを提供します。このリリースサイクルには、ハイブリッドBIOS+UEFIブートサポートの導入が含まれます。 UEFIが機能しない場合でも、フォールバックとしてレガシーBIOSサポートがあります。

Btrfsは、FedoraCloudのデフォルトのファイルシステムになりました。 BtrfsはFedoraWorkstation34のデフォルトのファイルシステムとして導入され、Fedoraエディションでの採用が増えるでしょう。透過的な圧縮を利用して、ファイルシステムのスペースやBtrfsの他の機能を節約できます。

Fedora 35のリリースサイクルには、次のクラウドベースイメージが含まれています。

  • Cloud Base –汎用仮想マシン(Vms)を作成するための最小限のFedoraイメージ。クラウド環境で実行するために必要な最小限のパッケージがあります。
  • Vagrant Images –クラウドベースとアトミックの両方のVagrantBoxs画像が含まれています。 VirtualBoxとlibvirtはどちらも、VirtualBoxイメージとlibvirt/KVMイメージでサポートされています。 FedoraでVagrantを使用する場合、libvirt/KVMイメージはデプロイメントに最適です。
  • アトミックイメージ–アトミックイメージは、コンテナ化されたアプリケーションを実行したり、プライベートまたはパブリッククラウド環境で実行したりするための軽量で不変のプラットフォームです。
  • Dockerイメージ– Fedora Cloudチームは、Dockerプルフェドーラを介して取得できるDocker用の最新のFedoraイメージを提供します。
  • Google Cloud Platform(GCP)のクラウドベースイメージ–イメージはGCPで実行するように構成されています。
  • AmazonPublicCloudのCloudBaseImagesは、AmazonWebServicesアカウントで起動するx86_64AMIとaarch64AMIAMIを提供します。

Fedora 35 Labs

Fedora Labsは、ニッチな要件に合わせてイメージにバンドルされたアプリ、Linuxパッケージ、およびコンテンツのコレクションです。 Fedora Labsには、天文学、Comp Neuro、Design Suite、Python Classroom、Scientific、Security Lab、Games、JAM、RoboticsSuiteが含まれます。

Pythonクラスルーム

Pythonのインストラクターまたは教師は、Fedora Python Classroom Labを使用して、教室やワークショップでデモンストレーションを教えたり提示したりできます。オペレーティングシステムには、Python、IPython、Jupyter Notebook、tox、virtualenvs、gitなどのプリインストールされたパッケージがバンドルされています。

Fedora Python Classroom Labは、GNOMEデスクトップ、またはVagrantまたはDocker用のヘッドレス環境として提供されます。アーキテクチャに適合するものに応じて、GNOMEを使用してグラフィカルモードで実行するか、Vagrantを使用して仮想化するか、Dockerコンテナで実行することができます。

Fedora Scientific Labs

Fedora Scientific Labには、必須のオープンソースの科学、数値アプリケーション、ツール、およびライブラリが付属しています。パッケージには、GNU Scientificライブラリ、SciPyライブラリなどのライブラリとツールが含まれています。植字、書き込み、公開のためのツール。 Inkscapeなどのグラフィックプログラム。現在のFedora35Scientific Labには、IDE、Python、C、C ++、Java、Rでプログラミングするためのライブラリなどのパッケージのセットが含まれています。

Fedora Design Suite Labs

Fedora Design Suite Labsは、デザイナーがデザイナーのために作成した無料のオープンソースマルチメディア制作および公開ツールがプリインストールされたデスクトップ環境です。アートワーク、デスクトップの背景、CDスリーブ、Webページのデザイン、チラシ、またはアプリのインターフェイスを作成するためのお気に入りのツールとプログラムが含まれています。

ドキュメントの公開、ベクター、ビットマップの編集、3Dモデリング、写真の管理など、さまざまな機能に使用できます。さらに、広範なLinuxパッケージからいつでもさらに多くのアプリをインストールできます。

あなたが天文学者または愛好家である場合は、Fedora天文学ラボを試してみることをお勧めします。ゲーマーはGamesLabをインストールでき、Linuxでオーディオと音楽を作成、編集、制作したいオーディオ愛好家やミュージシャンはFedoraJamsLabsを使用できます。本質的に、あなたのニッチな要件には「ほぼ」すべてがあります。その他の追加ラボは、Comp Neuro、Security、およびRoboticsSuiteです。

開発者ツールを入手する

それは言うまでもない。 Fedoraは、開発者が開発者のために作成したOSです。 Fedora 35は、最高のプログラミングツール、更新されたプログラミング言語、およびデータベースのいくつかを提供します。また、プロジェクトの開始から展開、配布までを管理するためのコラボレーションツールもあります。

プログラミング言語

Fedora 35は、開発者に新しいプログラミング言語、システムライブラリの更新、基礎となるパッケージの更新、およびツールチェーンの更新を提供します。以下のプログラミング言語がFedora35にバンドルされています。

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は、コマンドラインアプリ、Webアプリ、デスクトップアプリ、またはRaspberry PiまたはArduinoを使用したハードウェアデバイスプロジェクトに関係なく、プロジェクトを管理するための簡単で信頼性の高いプラットフォームを提供します。

.NETプラットフォーム

開発に.NETプラットフォームを使用する場合は、Fedoraに.NETCoreとMonoをインストールできます。 C#、F#、またはVB.NETプログラミング言語を使用してアプリケーションを作成します。次の簡単な手順で.NETCoreとMonoをインストールできます。

.NET Core

.NET Coreは、あらゆる汎用開発向けのモジュール式のクロスプラットフォームのオープンソースプラットフォームです。 .NET CoreはFedoraにパッケージ化されており、次のコマンドで最新のSDKをインストールできます。

$ sudo dnf install dotnet
モノ

Monoは、.NETFrameworkの無料のオープンソース実装です。次のコマンドでMonoをインストールできます:

$ sudo dnf install mono-devel
Python

Pythonは、解釈されたオブジェクト指向の高級プログラミング言語です。 Python3はすでにFedora35にプリインストールされており、Python用の多くの一般的なパッケージが含まれています。
Pythonを実行するか、インストールされているバージョンを確認するには、ターミナルを開いてPythonまたはpython3コマンドを入力します。

仮想環境の使用

ソフトウェア開発プロジェクトに取り組んでいる場合、仮想環境は依存関係を1か所にまとめることで競合を制限できます。異なるバージョンのモジュールを必要とするプロジェクトに使用できます。

次のコマンドを使用して、仮想環境を作成します。

$ python -m venv web_project_venv

プロジェクト名はweb_project_venvで、Pythonとpipが含まれています。 pipを使用して、仮想環境に他の依存関係をインストールできます。
仮想環境で作業するには、次のコマンドでアクティブ化する必要があります。

$ source web_project_venv/bin/activate

仮想環境をアクティブ化すると、pipを介してモジュールをインストールできます。

(web_project_venv) $ python -m pip install module_name

仮想環境を非アクティブ化できます。

(web_project_venv) $ deactivate
Fortran

Fortranは、数値計算や科学計算に適した汎用の命令型プログラミング言語です。 Fortran 35でFortranを使用するには、Fortranがコンパイル言語であるため、gfortranコンパイラをインストールする必要があります。
gfortranコンパイラをインストールするには、次のコマンドを使用します。

$ sudo dnf install gcc-gfortran

開発に使用する言語が何であれ、Fedoraは、C、C ++、Go、Java、Node.js、PHP、Haskell、Perl、R、Rust、Rubyなどの他の言語のパッケージを提供します。

データベース

Fedora 35は、データベースエンジンをインストールおよび管理するための信頼性の高いプラットフォームとパッケージを提供します。 MariaDB(MySQLのドロップイン代替品)、SQLite、Cassandra、PostgreSQL、SQLite、Redis、MongoDB(ドキュメント指向/ NoSQLデータベース)などのデータベースエンジンをインストールできます。

PostgreSQL

PostgreSQLは、高度なオブジェクトリレーショナルデータベース管理システム(DBMS)です。 Fedora 35は、PostgreSQLクライアントとサーバー、サーバー互換プラグイン、およびデータベースコネクタ用の完全なパッケージセットを提供します。
FedoraでPostgreSQLを使い始めるには、次のコマンドを使用してPostgreSQLをインストールおよび構成できます。

>
$ 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

途中で行き詰まった場合は、いつでもヘルプコマンドを使用できます。

Apache Cassandra

Apache Cassandraは、大規模アプリケーション向けのオープンソースデータベースサーバーです。コモディティハードウェアまたはクラウドインフラストラクチャでの線形スケーラビリティとフォールトトレランスにより、ミッションクリティカルなデータに最適です。データベースは、SQLに比較的近いCassandraクエリ言語(CQL)を使用しています。

次のコマンドを実行して、Fedora35にCassandraをインストールして初期化します。

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

起動時にCassandraを実行できるようにします:

$ sudo systemctl enable cassandra
$ cqlsh # run Cassandra client tool
おもしろ情報:
A group of whales is called a pod.

Fedora35でコンテナーを管理する

コンテナを使用すると、開発者は依存関係とともにアプリケーションをパッケージ化し、どこでも実行できます。コンテナを使用すると、コアOSの更新をアプリケーションの更新から分離できます。さまざまなバージョンのアプリケーションをテストしてデプロイすることもできます。 Fedoraプロジェクトチームは、コンテナーに焦点を合わせたワークフローを信頼できるサポートを提供するFedoraIoTとFedoraCoreOSを提供します。

Fedora CoreOS

Fedoraプロジェクトチームによると、Fedora CoreOSは、コンテナー化されたワークロードを安全かつ大規模に実行するために設計された、自動的に更新される最小限のオペレーティングシステムです。 OSを使用すると、アプリケーションをコンテナとして実行できます。また、rpm-ostreeツールを使用して追加のパッケージをインストールすることもできます。このツールは、ベースイメージの上に変更をアトミックにレイヤー化します。
公式ダウンロードページからFedoraCoreOSをダウンロードできます。

Docker

Dockerは、開発者がコンテナーでアプリケーションを開発、出荷、実行するための優れたプラットフォームです。 Dockerを使用すると、アプリケーションをすばやくアセンブルし、コードをテストして本番環境にできるだけ早くデプロイできます。以下の手順で、Fedora35のDockerリポジトリを使用してdocker-ceパッケージをインストールできます。
dnf-plugins-coreパッケージをインストールします。

$ sudo dnf install dnf-plugins-core

docker-ceリポジトリを追加します:

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

Dockerエンジンをインストールします:

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

Dockerサービスを開始します:

$ sudo systemctl start docker

Dockerのインストールのヒントとコツについては、Dockerの使用を開始するためのFedoraのドキュメントをご覧ください。
複数のコンテナーを調整するためのツールであるDockerComposeも確認できます。

ポッドマン

Podmanは、ルートモードまたはルートレスモードでOCIコンテナを開発、管理、および実行するためのデーモンレスコンテナエンジンです。 Dockerの代替手段ですが、podmanコンテナーエンジンは軽量です。次のコマンドを使用してインストールできます。

$ sudo dnf install podman

Podman Composeを使用して、複数のコンテナを管理および調整することもできます。

開発環境

コラボレーションはソフトウェア開発の重要な側面であり、Fedoraはチームとのコラボレーションを可能にするいくつかのパッケージとIDEを提供します。

IDE

統合開発環境[IDE]は、ソフトウェア開発サイクルのすべてのステップで開発者を支援します。 IDEの選択は、プログラミング言語、使用するプラットフォーム、または利用可能なリソースによって異なる場合があります。 Fedoraは、Eclipse、Sublime-text、Microsoft Visual Studio、AtomテキストエディターなどのいくつかのIDEパッケージを提供します。すべての開発者はお気に入りのIDEを持っています。

Eclipse IDE

Eclipseは、ソフトウェア開発ライフサイクルを管理するためのフル機能の多言語IDEです。新しいプロジェクトをすばやく開始したり、既存のプロジェクトで作業したり、アプリケーションを監視および最適化したりできます。さらに、Eclipse IDE内から、洗練されたドキュメントを作成したり、他の問題追跡システムやCIとやり取りしたりすることもできます。

Eclipseパッケージをインストールします:

$ sudo dnf install eclipse
Arduino IDE

Arduinoは人気のある信頼できるハードウェアプラットフォームです。残念ながら、ArduinoボードでFedoraOSを実行することはできません。ただし、Fedoraを使用してArduinoのアプリケーションやプロジェクトを開発することはできます。
次のコマンドを使用してグラフィカルなArduinoIDEをインストールできます。

$ sudo dnf install arduino
Vagrant

Vagrantは、開発者にとってなくてはならないツールの1つです。これにより、再現可能でポータブルな開発環境を作成できます。これは、VirtualBox、Docker、libvirtなどの仮想化またはコンテナ化テクノロジーの上で機能します。

Vagrant with VirtualBox
Vagrant with VirtualBoxをFedora35で使用するには、次のコマンドでvagrantパッケージをインストールします。

$ sudo dnf install vagrant

VagrantにはVirtualBoxのサポートが組み込まれていることに注意してください。ただし、VirtualBoxはFedoraパッケージの一部ではないため、個別にインストールする必要があります。

Vagrant with Docker
Vagrant with Dockerを使用するには、次のコマンドを使用してvagrantパッケージとdockerパッケージをインストールします。

$ sudo dnf install vagrant docker

Dockerサービスを開始します:

$ sudo systemctl start docker

Vagrantには組み込みのサポートが付属しており、Dockerをプロバイダーとプロビジョナーの両方として使用できることに注意してください。

パッケージはアプリケーションをデプロイして配布します

開発者の喜びはソフトウェアの展開と配布であり、ソフトウェアがオープンソースである場合はさらに熱心になります。 Fedora 35は、ソフトウェアをパッケージ化、デプロイ、および配布するための優れたプラットフォームとツールを提供します。パッケージングのいくつかの利点は次のとおりです。

  • コード、データ、構成ファイル、およびインストール後のスクリプトがバンドルされています。
  • パッケージに署名して、パッケージが変更されていないことをユーザーが確認できるようにすることができます。
  • アプリのインストール、アップグレード、削除が簡単にできます。
  • インストールパスを標準化できます。

RPMパッケージング

RPMパッケージを使用すると、アプリケーションをパッケージ化してRPMベースのシステムに出荷できます。
次のコマンドを実行して、fedoraパッケージャーをインストールおよびセットアップします。

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

詳細については、RPMの公式ドキュメントをご覧ください。

Coprビルドサービス

Coprは、アプリケーションをRPMとしてビルドし、出力としてDNF/Yumパッケージリポジトリを提供する使いやすい自動ビルドサービスです。したがって、Coprサービスの使用を開始する前に、(RPMパッケージからの)ソースRPMが必要です。 CoprはFOSS(無料のオープンソースソフトウェア)プロジェクトにのみ使用できることに注意してください。

OpenShift

OpenShift Originは、開発者が継続的なアプリケーション開発とマルチテナントデプロイメントを管理するのに役立つKubernetesのディストリビューションです。 Kubernetesの上に開発者ツールを追加して、チームのあらゆる規模の迅速な開発、簡単なデプロイ、スケーリング、および長期的なライフサイクルメンテナンスを可能にします。

まとめ

Fedoraエディションは、ツールとパッケージの広範なセットを提供します。その「自由」哲学により、ソフトウェア開発者は、パッケージ、開発IDE、仮想化、コンテナ化ツール、または展開ツールの選択に甘んじています。この記事では、アプリケーションの開発、パッケージ化、および展開に使用するツールのいくつかを紹介しています。


Fedora
  1. Fedora27ワークステーションの新機能

  2. FedoraとUbuntu:主な違いは何ですか?

  3. 2015年のクラウドコンピューティング統計からの10個のナゲット

  1. Fedora 23がリリースされました!新着情報 ?

  2. アマゾンウェブサービスからRackspaceCloudに移行する

  3. Rackspaceはクラウドで何をしますか?

  1. Linuxデスクトップの革新:Fedora30の新機能を見てください

  2. Fedora 28がリリースされました!これが新機能です

  3. Fedora26の新機能