web-dev-qa-db-ja.com

YUM UPDATEが永久にスタックしました

RHEL 5.6のリポジトリを作成しました。私が削除したRHEL 5.2の既存のリポジトリはすでに存在していました。

次のコマンドを実行しました。

yum clean all

yum clean metadata

その後、

yum list all

すべてのパッケージが一覧表示されます。

しかし、YUM UPDATEと入力すると、それが示している

Setting up Update Process
Setting up repositories
rhel-local                100% |=========================|  951 B    00:0
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 1.1 MB    00:0
################################################## 3229/3229
Setting up Update Process
Setting up repositories
Reading repository metadata in from local files

そして、それはすべての人々です。 YUM UPDATEからの応答はありません。

Yumが行き詰まっている理由は何ですか?

8
OmiPenguin

RPMデータベースを再構築することもできます。

yum clean all
rpm --rebuilddb
9
drewrockshard

私の場合、yumがスタックしてしまうRPM dbロックがありました。

ランニング strace yum --verbose --noplugins infoは行き詰まります:

open("/var/lib/rpm/.dbenv.lock", O_RDWR|O_CREAT, 0644) = 5
umask(022)                              = 022
fcntl(5, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0,  len=0}Killed

それを修正するために、私はルートとして実行しました:

rm /var/lib/rpm/.dbenv.lock
6
osvie

これは通常、別のyumプロセスが既に実行されているか、システムでyumが維持しているメタデータが破損している場合に発生します。

最初の問題では、通常、既存のすべてのyumプロセスを強制終了してから、このコマンドyum-complete-transactionを実行します。これにより、yumがyup自体をクリーンアップできるようになります。

2番目の問題については、通常、yum clean allを実行してメタデータの断片とパッケージを消去し、通常どおりyum updateを実行する必要があります。

RPMデータベースのさまざまな問題を解決するために、このコマンドpackage-cleanup <options>を実行することもあります。

  • 重複するパッケージをクリーンアップします(ローカルRPMデータベースの重複をスキャンし、古いバージョンを削除します)

    package-cleanup --cleandupes
    
  • 問題のスキャン(ローカルRPMデータベースの依存関係の問題をリストします。問題が見つかった場合は、終了コード1で終了します)

    package-cleanup --problems
    
  • 孤児をリストします。 (現在設定されているリポジトリから入手できないインストール済みパッケージをリストします。これはyum list extrasと同じで、より良い出力を提供する可能性があります)

    package-cleanup --orphans
    
1
slm

/ var/log/messagesでiscsiエラーメッセージを発見しました。そして、私はiscsiとiscidデーモンを停止しました。その後、yumは更新プロセスを完了しました。

0
hasanovuc