Gentooからアップグレード可能なすべてのパッケージのリストを印刷する方法

Gentooからアップグレード可能なすべてのパッケージのリストを印刷する方法

行為

  emerge -avuDN --with-bdeps y --keep-going @world

時間もかかり、失敗することも多いです。

Gentooシステムでアップグレード可能なすべてのパッケージのリストを印刷する方法はありますか?

答え1

eix最高の選択です。

eix --installed --upgrade最良のバージョンが現在のバージョンではなく、インストールされているすべてのパッケージを印刷します(各スロットについて)。

これに対するコストは、各同期後にeixデータベースを最新の状態に保つ必要があることです。

答え2

歴史

これでブラウザができたので(詳細については以下を参照)、@robbat2の答えに対する私の意見を拡張する必要があるようです。 5年以上にわたってGentooを基本OSとして使用し、その5年間Gentooを実験しました。運ぶファルディス私はすべての主要なディストリビューションがパッケージ管理システム/ツールを中心に構築されていることを知っています。

  1. Debianとその亜種で使用されますapt
  2. Redhat / Fedoraおよびそのバリエーションで使用されますrpm
  3. SuSEとそのバリアントが使用されますyum
  4. そして多くの他

完全なリストについては、以下を参照してください。Linuxディストリビューション。 Wikiエントリは、パッケージ管理ごとにディストリビューションを分割します。によると、また参照してくださいタイムライン写真Gentooは親ディストリビューションです。 エノクは元の名前でした

BSD

歴史的にほとんどBSDオペレーティングシステム、パッケージ管理という概念は最近まで存在しておらず、少しの作業が必要でした。私は余分なハードドライブにFreeBSDを持っていて、それがGentooとどのくらい密接に機能しているかを確認する必要があり、DEポートとブラウザのコンパイルが完了しました。

  1. GentooにはPortageツリーがあり、FreeBSDにはポートツリーがあります。
  2. Gentooは、sys-apps/portageソフトウェアをインストールするときのemergeコマンドはFreeBSDと同じ手順に従います。設定、作成、インストール - ポートツリーソースから直接インストールするとき。

ここで最も大きな違いは、FreeBSDのプロセスでは、インストールされているすべてのソフトウェアとその依存関係を追跡するFreeBSDのパッケージマネージャとは異なり、ユーザーが必要なパッケージマネージャをインストールする必要があることです。


システムのメンテナンス中にパッケージマネージャが失敗した場合、問題はコンパイルされるパッケージまたはプライマリシステムにあることを示すためにこれらすべてを指します。これを説明するには、次を参照してください。FreeBSD バグ 218620 - x11-wm/muffin バージョン。 2.4.4 これ以上建物はありません。注注1では、選択したパッケージマネージャーがCinnamon Desktopのインストールを完了できませんでした。これは、私が使用していたパッケージマネージャが破損しているか、時間がかかりすぎて遅くなるのではなく、コンパイル中のパッケージが破損しているためです。サポートされなくなりました。同様に、emergeコンパイル中の破損したパッケージのため、OPのコマンドは完了しません。次のコマンドを実行する代わりに:

emerge -avuDN --with-bdeps y --keep-going @world

盲目的に一部のWebサイトで見つかったため、OPはtツリービューを追加してから削除する必要があります--keep-going。この時点で問題のあるパッケージの破損を調査して修正し、コマンドを再実行する必要があります。破損する前のすべてのパッケージは新しい設定に再コンパイルされたため、出力に表示されなくなります。出力を表示するためにどのツールを使用しても、この手順を使用する必要があります。コンパイルエラーによって破損が発生した場合、Eixと怪我は意味がありません。

ヒント

OPが調査しなければならない問題のあるパッケージ情報は、次の場所にあります。/var/tmp/portage/package-cat/offending-package/temp/build.log

答え3

Gentooでアップグレード可能なすべてのパッケージのリストを印刷する最も簡単な方法であるIMHOは次のとおりです。

emerge --sync
emerge -puDv @world

これらのオプションは次のことを行います。

  • -pチャック:emerge実際には何もインストールせず、このフラグなしでインストールされるパッケージのリストのみを印刷します-p。これはroot権限がなくても機能します。
  • -uアップグレード:アップグレードできるパッケージのみが表示されます。
  • -DDeep:依存関係(@worldファイルに直接は含まれていませんが、インストールされているパッケージの1つを実行するために必要なパッケージ)のアップグレードも確認してください。
  • -vVerbose:より詳細な出力には、使用フラグと現在インストールされているバージョンも表示されます。

Portageツリーが最新バージョンであると確信している場合は、このemerge --syncセクションをスキップできます。

関連情報