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

プログラマーがLinuxパッケージを愛する理由

2021年には、人々がLinuxをこれまで以上に愛する理由が増えました。このシリーズでは、Linuxを使用する21の異なる理由を共有します。今日は、Linuxのパッケージングがプログラマーにとって理想的な理由についてお話します。

プログラマーはプログラミングが大好きです。それはおそらく明白な声明のように思えますが、ソフトウェアの開発にはコードを書くだけではないことを理解することが重要です。これには、コンパイル、ドキュメント、ソースコード管理、インストールスクリプト、構成のデフォルト、サポートファイル、配信形式などが含まれます。空白の画面から成果物のソフトウェアインストーラーに移行するには、プログラミングだけでは不十分ですが、ほとんどのプログラマーはパッケージ化よりもプログラミングを望んでいます。

パッケージとは何ですか?

食品が購入のために店舗に送られるとき、それは包装されます。農家から直接購入する場合、または環境に優しいバルクストアやビンストアから購入する場合、パッケージは持ち込んだコンテナです。食料品店から購入する場合、パッケージは段ボール箱、ビニール袋、ブリキ缶などになります。

その他のLinuxリソース

  • Linuxコマンドのチートシート
  • 高度なLinuxコマンドのチートシート
  • 無料のオンラインコース:RHELの技術概要
  • Linuxネットワーキングのチートシート
  • SELinuxチートシート
  • Linuxの一般的なコマンドのチートシート
  • Linuxコンテナとは何ですか?
  • 最新のLinux記事

ソフトウェアをコンピュータユーザー全体が利用できるようにする場合は、ソフトウェアもパッケージ化する必要があります。食品のように、ソフトウェアをパッケージ化する方法はいくつかあります。オープンソースソフトウェアは、生のコードにアクセスできるユーザーが自分でコンパイルしてパッケージ化できるため、パッケージ化されていないままにしておくことができます。ただし、パッケージには利点があるため、アプリケーションは通常、ユーザーのプラットフォームに固有の形式で提供されます。ソフトウェアパッケージのフォーマットは1つだけではないため、ここから問題が始まります。

すべての作業はシステムのインストーラーによって行われるため、ユーザーにとって、パッケージを使用するとソフトウェアを簡単にインストールできます。ソフトウェアはパッケージから抽出され、オペレーティングシステム内の適切な場所に配布されます。何かがうまくいかない可能性はほとんどありません。

ただし、ソフトウェア開発者にとって、パッケージ化とは、パッケージを作成する方法を学ぶ必要があることを意味します。1つのパッケージだけでなく、ソフトウェアをインストールするすべてのオペレーティングシステムに固有のパッケージを作成する必要があります。問題を複雑にするために、オペレーティングシステムごとに、場合によっては使用されているプログラミング言語に対しても、複数のパッケージ形式とオプションがあります。

Linuxでのパッケージング

Linuxのパッケージオプションは、従来、かなり圧倒されてきました。 Red HatやCentOSなどのFedoraから派生したLinuxディストリビューションは、デフォルトで.rpmになります。 パッケージ。 DebianとUbuntu(および同様のもの)のデフォルトは.deb パッケージ。他のディストリビューションでは、カスタム形式を選択して、どちらか一方を使用するか、どちらも使用しない場合があります。尋ねられたとき、多くのLinuxユーザーは、理想的には、プログラマーはLinux用にソフトウェアをパッケージ化せず、代わりに各ディストリビューションのパッケージメンテナーに依存してパッケージを作成すると言います。 Linuxシステムにインストールされるすべてのソフトウェアは、そのディストリビューションの公式リポジトリから取得する必要があります。ただし、すべてのディストリビューションは言うまでもなく、ソフトウェアを確実にパッケージ化して1つのディストリビューションに含める方法は不明です。

Linux用Flatpak

Flatpakパッケージングシステムは、開発者向けの配信ターゲットとしてLinuxを統合および分散化するために導入されました。 Flatpakを使用すると、開発者または誰でも(Linuxコミュニティのメンバー、別の開発者、Flatpakチームのメンバー、または他の誰でも)ソフトウェアを自由にパッケージ化できます。その後、パッケージをFlathubに送信するか、パッケージをセルフホストして基本的にすべてのLinuxディストリビューションに提供することを選択できます。 FlatpakシステムはすべてのLinuxディストリビューションで利用できるため、1つをターゲットにすることはそれらすべてをターゲットにすることと同じです。

Flatpakテクノロジーの仕組み

Flatpakの普遍的な魅力の秘訣は標準的なベースです。 Flatpakシステムを使用すると、開発者はソフトウェア開発キット(SDK)モジュールの一般的なセットを参照できます。これらは、Flatpakシステムのメンテナによってパッケージ化および管理されます。 Flatpakをインストールするたびに、SDKが必要に応じて取り込まれ、システムとの互換性が確保されます。 SDKに含まれるライブラリは、SDKを呼び出すすべてのFlatpakで共有できるため、特定のSDKは1回だけ必要です。

開発者が既存のSDKにまだ含まれていないライブラリを必要とする場合、開発者はそのライブラリをFlatpakに追加できます。

結果はそれ自体を物語っています。ユーザーは、Flathubと呼ばれる1つの中央リポジトリから任意のLinuxディストリビューションに数百のパッケージをインストールできます。

開発者がFlatpaksを使用する方法

Flatpaksは再現性があるように設計されているため、ビルドプロセスはCI/CDワークフローに簡単に統合できます。 Flatpakは、YAMLまたはJSONマニフェストファイルで定義されます。私の紹介記事に従って最初のFlatpakを作成できます。また、docs.flatpak.orgで完全なドキュメントを読むことができます。

Linuxで簡単に

Linuxでソフトウェアを作成するのは簡単で、Linux用にパッケージ化するのは簡単で自動化できます。プログラマーの場合、Linuxでは、1つのシステムを対象とし、それをビルドプロセスに統合することで、パッケージ化を忘れやすくなります。


Linux
  1. Linuxがエッジコンピューティングにとって重要である理由

  2. プログラマーがLinuxパッケージを愛する理由

  3. Linuxでのコーディングが好きな5つの理由

  1. 2021年にLinuxを愛する10の理由

  2. xtermを使い続ける理由

  3. さまざまな Linux ディストリビューションでパッケージにパッチを適用する必要があるのはなぜですか?

  1. AntergosLinuxに恋をした理由

  2. LinuxソフトウェアをRPMでパッケージ化するためのその他のヒント

  3. Linux用の最高のペイントソフトウェア