web-dev-qa-db-ja.com

Gentooのすべてのアップグレード可能なパッケージのリストをどのように印刷しますか

やって

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

非常に時間がかかり、失敗することがよくあります。

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

4
Oz123

eixはこれに最適なオプションです。

eix --installed --upgradeは、インストールされているすべてのパッケージを印刷しますが、最適なバージョンが現在のバージョンではありません(スロットごとに)。

同期するたびにeixデータベースを最新の状態に保つ必要があります。

7
robbat2

歴史

ブラウザが戻ってきたので(詳細は以下を参照)、@ robbat2の回答のコメントを拡張する必要があると思います。 GentooをプライマリOSとして5年以上使用し、その5年間で portage 、および Paludis を実験した後、すべての主要なディストリビューションがパッケージを中心に構築されていることに気付きました。管理システム/ツール。

  1. Debianとその変種はaptを使用します。
  2. Redhat/Fedoraおよびそのバリアントはrpmを使用します。
  3. SuSEとそのバリアントはyumを使用します。
  4. 他の多くの

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

BSDの

歴史的に言えば、 BSDオペレーティングシステム のほとんどは、最近までパッケージ管理の概念がなく、いくつかの作業を使用することができました。 FreeBSDを追加のハードドライブに置き、それとGentooがどれほど密接に関連しているかを確認する必要があり、DEポートとブラウザーのコンパイルを完了しました。

  1. GentooにはPortageツリーがあり、FreeBSDはPortageツリーを使用しています。
  2. Gentooにはsys-apps/portageがあります。 emergeコマンドは、ソフトウェアをインストールするときのFreeBSDと同じ順序に従います:configure、make、install-ポートツリーから直接ソースをインストールするとき。

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


私はこれをすべて言って、システムの保守中にパッケージマネージャーが壊れた場合、問題はコンパイルされているパッケージまたは基盤となるシステムのいずれかにあることを示しています。説明のために以下を参照してください: FreeBSD Bug 218620 --x11-wm/muffinver。2.4.4はビルドされなくなりました 。コメント1を使用すると、選択したパッケージマネージャーがCinnamonデスクトップのインストールを完了できませんでした。これは、使用するパッケージマネージャーが壊れたり、時間がかかりすぎたり、遅すぎたりしたためではなく、コンパイル中のパッケージが壊れたためです。サポートされなくなりました。同様に、コンパイル中のパッケージが破損しているため、OPのemergeコマンドが完了していません。コマンドを実行する代わりに:

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

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

ヒント

OPが調査する必要のある問題のあるパッケージ情報は、/var/tmp/portage/package-cat/offending-package/temp/build.logにあります。

2
eyoung100

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

emerge --sync
emerge -puDv @world

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

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

ポーテージツリーがすでに更新されていることが確実な場合は、emerge --syncの部分をスキップできます。

0
Thawn