Linuxのリポジトリと仕組み

Linuxのリポジトリと仕組み

私はLinuxには初めての人ではなく、基本的な使い方をよく知っていて、より深く入りたいです。私が選択したトピックはリポジトリです。一部のソフトウェアをインストールする場合は、それを追加する必要があることを知っています。私はそれが私のディストリビューションに関連していることを知っています。私はそれが私のコンピュータに何をインストールする必要があるのか​​、それをインストールしないことを知らせるリモートサイトのようなものであることを知っています。しかし、専門家はリポジトリを詳しく説明できますか?どうやって管理しますか?カスタムリポジトリを持つLinuxシステムを持つことはできますか?誰がそれを維持しますか?ありがとう

ベストアンサー1

専門家でも可能でしょうか…

Ehem ...私の(短縮された)リストから始めましょうパッケージマネージャと呼ばれるパックマンpacman -Ss kernel(=正規表現「カーネル」に一致するすべてのパッケージを表示)を使用して生成されます

core/iptables 1:1.8.3-1 [installed]
    Linux kernel packet control tool (using legacy interface)
core/iptables-nft 1:1.8.3-1
    Linux kernel packet control tool (using nft interface)
core/kmod 26-2 [installed]
    Linux kernel module management tools and library
core/linux 5.1.12.arch1-1 (base) [installed]
    The Linux kernel and modules

私のディストリビューション(archlinux)で定義されているように、「core」はデフォルトのリポジトリです。パッケージ()をインストールするときにpacman -S kmodリポジトリ名を省略できます。

pacman -Sまた、「extra」および「community」リポジトリのパッケージも表示されました。つまり、重要性の「レベル」は3つだけです。次のようにpacmanを設定できます。 3つのリポジトリのすべてのパッケージを表示しますが、「core」と「extra」のみを同期/更新します。

Archlinuxが持っていることをどうやって確信できますか?リポジトリ(そして次のように呼び出されます):

pacman -Sh(=-S または --sync のヘルプ) には次の行が含まれています。

-s, --search <regex> search remote repositories for matching strings

[実際の回答部分はここで終わります。]


パッケージマネージャがリポジトリで何ができるかを調べると、すぐにそれが何であるかがわかります...少し抽象的です。パックグループもっと簡単な概念です。(base)上記の最後の項目の単語はグループ名です。

私はLinuxには初めての人ではなく、基本的な使い方をよく知っていて、より深く入りたいです。私が選んだトピックは...

LinuxとUnixにはどのような種類がありますか?ディストリビューションを自分のディスクにどのようにインストールし、どのように起動しますか?別のパーティションに別のディストリビューションをインストールできますか? Archlinux、fedora、opensuse、gentooなどのディストリビューションのいずれかを使用することを選択した場合、システムをどのように維持しますか?アドオンパッケージをインストールする方法は?自分のディストリビューションのすべての(実際にはすべて)パッケージの概要を表示するにはどうすればよいですか?その場合、これらの図書館、部署、またはリポジトリ?基本的なようで、何とかアクセスできますが、パッケージマネージャではどのように使用し、どのように設定できますか?

ここで止まります。あなたはあなたを言うもっと深く入りたい、私は続けるように言いました。 Chazerasは次のように述べたことがあります。あなたの個人情報を推測しないでください。(私の帽子)。追加します。今はリポジトリについて忘れてください。あなたの状況を理解していると思いますので、過去6ヶ月間の経験に基づいて、リポジトリ、ディストリビューション、およびパッケージ管理の計画(上記のすべての質問が意味をなす)と説明を提供します。 ...彼らはここで理論的な議論が好きではなく、再現可能なテスト結果が理論的な概念よりも興味深いと思う私も同じです。しかし、問題ありません。私はこの質問が驚くほど興味深いと思います。


pacman -S上記の出力にどれだけの情報があるかがわかりました。あなたは:

repository/ package-name pkg.vers.xy (group) [installed?] 
     A description you can search by string match even regex

私はパッケージを管理するためにどのGUIアプリケーションも使用しませんでした。もちろん、彼らはArchlinuxでより低いレベルのパックマンを使用します。 pacmanはデータベースをローカルに使用し、Archlinuxサーバーをリモートで使用します。幸いなことに、rpm、apt、yum、pacmanなどのパッケージマネージャがすべてあります。検索中にrpmコンソールとGUIのフロントエンドを比較する多くの記事が見つかったため、中止しました。

opensource.comで「パッケージマネージャの進化」などの内容で研究を始めましょう。これはあなた(そして私)にとって素晴らしい記事のようです。 「パッケージマネージャとは何ですか?」で始めて、次のように説明します。リポジトリとは何ですか?技術歴史的な方法で。非常に有益です。

行くとpacman -Qs systemd=名前または説明に "systemd"を含むローカルにインストールされたすべてのパッケージを表示します。)私は得る:

local/netctl 1.20-1 (base)
    Profile based systemd network management
local/systemd 242.29-2 (base-devel)
    system and service manager
local/systemd-libs 242.29-2
    systemd client libraries
local/systemd-sysvcompat 242.29-2 (base)
    sysvinit compat for systemd 

ああ、私は仮想的な意味で私がインストールしたパッケージが保存される「ローカル」リポジトリがあります。 (彼らは実際に私のルートファイルシステムにファイルとして保存されます。私のパッケージマネージャも私にファイルのリストを表示できます。)

システムを制御することがどれほど重要かを説明するために、上記の「systemd」の例を挙げました。ローカルストレージ(何かが故障した場合)正しくインストールされたsystemdパッケージがなく、他のオプションがないとシステムが機能しないためです。この問題を解決するために、まずpacman -S systemdローカルストレージを(デフォルト)コアストアと同期させる簡単な方法を試しました。あるいは、これは私がArchLinuxサーバーから「新しい」systemdを入手してインストールする方法です。構造用CDを入手するようなものです。だから私は私のシステムを混乱させ、私のパックマンはそれを修正しました。

これは確かにsystemdに限定されていません!私は個々のパッケージの決定的な役割を示したかっただけです。

整理する方法を見つけました。突然、このman pacmanオプション--syncは非常に意味があります(少しのたとえ話)。

-S --sync

Sync IEはリモートリポジトリから直接パッケージをダウンロードしてインストールします。リース、すべての従属項目を含む化学科...

おすすめ記事