私は自分のLinuxディストリビューションを作成し(それを呼び出すことができれば)、最後にやりたいことは自分のパッケージマネージャを作成することですが、どうすればいいのかわかりません。 apt、yumなどのようなものをどのように作成できますか?これに関する良い資料は何ですか?
答え1
すべてのパッケージマネージャは、模倣するのがそれほど難しくない同じ方法で動作します。問題は実装の詳細です。
RPMやDEBなどの独自のパッケージ形式を使用したくない場合は、単にtar.gzを使用してください。
このtar.gzファイル内には、説明、ファイルリスト(ユーザーがアーカイブ全体を抽出せずにファイルを検索できるようにしたい場合)、および依存関係(簡単なファイルリストである可能性があります)を含むパッケージファイルと補助ファイルがあります。できます。ファイル)。
依存関係を構築することもロケット科学ではありません。
ldd
または/およびを使用できますstrace
。
これで、Berkley DBまたはSQLite DBに保存できるパッケージファイルと依存関係のデータベースを作成する必要があります。
次に、ユーザーが新しいパッケージをインストールしようとするたびに、これらの依存関係を検索する方法を見つける必要があります。
最後にインストールされたファイルとパッケージのデータベースが必要です。
これらすべてのタスクには膨大な量のコードが含まれています。すでに利用可能なコードを使用する方が良いでしょう。
最後に、もちろんホイールを再構築してすべてのことを行うことができますが、それを修正して助けることができるオープンソースプロジェクトについて文字通り何千ものバグレポートが提出されており、しばらく維持する新しい曖昧なディストリビューションが実際に必要な人はありません。その後、削除します。時間が足りないか、さまざまな理由で動機が足りないからです。