Ubuntu はパッケージをどのように管理しますか?

Ubuntu はパッケージをどのように管理しますか?

私は初心者です。Ubuntu でソフトウェアがどのようにパッケージ化されているかを学びたい、または少なくとも何らかのアイデアを持ちたいと思っています。

パッケージ作成者によってコンパイルおよびパッケージ化されていますか?

それとも、Ubuntu 開発者によってコンパイルされているのでしょうか?

Ubuntu は、apt パッケージ マネージャー経由で直接インストールできるパッケージをどのように選択するのでしょうか。

ELI5の説明をいただければ幸いです

ありがとう

答え1

パッケージを選択して、Ubuntu での作成からアップストリームまでを追うことをお勧めします。私はgcc-10(Ubuntu 10.04 で GCC がサポートされなくなりました。) は私が最後に調べたパッケージです。パッケージの詳細の右側にホームページ (上流の手がかり)、メンテナー、変更履歴など。コンパイルはインフラストラクチャ/ビルダーによって行われます(人ではなく機械)...

コンパイルはローカルで行われ、その後、Ubuntu などにアップロードするためにソースにコミットする前に、私たち自身やチームの他の人がテストするために PPA にアップロードされることがよくあります。

役に立つ参考資料(他にもたくさんあります!)

しかし、多くのガイドが存在します。例えば、Lubuntuのガイドは以下にあります。https://phab.lubuntu.me/w/packaging/

コメントで質問されたのはparaview

リンクが役に立つかもしれません(https://packages.ubuntu.com/impish/paraview) を見ると、おっしゃるとおり、Ubuntu 開発者がパッケージを管理していることがわかります。上部を見ると、ユニバース パッケージ (つまり、コミュニティサポートのみ) とアップストリーム開発者 Debian Science Team (https://packages.debian.org/bookworm/paraview)例えば次にhttps://tracker.debian.org/pkg/paraviewさらなる手がかりもしUbuntuの変更履歴だけでは不十分でした(https://changelogs.ubuntu.com/changelogs/pool/universe/p/paraview/paraview_5.9.0-2ubuntu1/changelog;変更内容(名前/メールなど)を確認します。

Debian はアップストリーム、つまりソースです。

Ubuntuのパッケージの大部分はアップストリームから来ています。私はLubuntuに関わっています(したがって、私が以前知っていたリンクを提供した); 私たちが提供するLXQtは、Debianが最近リリースしたものよりもUbuntuで新しいものでした。Debianは頻繁にフリーズ状態にあり、Ubuntu/Lubuntu専用にパッケージ化する方が簡単だったからです。Debianはもうフリーズ状態ではないので、Lubuntu開発者/packagers はつい最近、Debian のアップストリームで次のバージョンのパッケージ化について議論していたので、それが私たちにも流れてくるでしょう (したがってDebianもパッケージの恩恵を受ける... 多くの開発者すべてではありません) には @debian と @ubuntu のメール アドレスがあります。 調べてみると、両方のメール アドレスが使用されている名前が表示されても驚かないでください。

答え2

Ubuntu には現在、従来の APT システムと新しいシステム SNAP の 2 つのソフトウェア パッケージ システムがあります。前者は引き続きコア システム コンポーネントと多くのアプリケーション ソフトウェアに使用され、後者はアプリケーション ソフトウェアに使用されます。

APT リポジトリ内のソフトウェアは、.debUbuntu 開発者と Ubuntu コミュニティによってソースからコンパイルされ、パッケージ ファイルにパッケージ化されます。パッケージは、公式の Ubuntu ソフトウェア ソースに組み入れられる前に、品質管理プロセスを受けます。コア パッケージではないアプリケーションの場合、公式のソフトウェア ソースに組み入れられるかどうか、また組み入れられるまでの時間は、ある程度、貢献者に依存します。

Ubuntu パッケージングガイドパッケージングに関わりたい人に、パッケージングが技術的にどのように機能するかを紹介します。

Snap で公開されるソフトウェアは、ソフトウェア開発者によってコンパイルされ、公開されます。Snap は配布に依存しないため、新しいバージョンのソフトウェアをユーザーにプッシュするのがはるかに簡単かつ迅速になります。

関連情報