web-dev-qa-db-ja.com

yum update、rpmパッケージを更新可能にする方法

rpmパッケージをyum UPDATEで動作させる方法に関するリンクまたはチュートリアルが必要です。私はそれを持っていて、すでにyum INSTALLyum ERASEで動作しますが、yum UPDATEを使用するときにrpmパッケージを機能させる方法に関する情報があります(追加するコード、ファイルなど)。 ..)?

tHNXたくさん

7
b0x0rz

機能させるために必要なことは、.specファイル内の同じバージョンのバージョン番号またはリリース番号が、インストールされている現在のバージョンよりも高いことを確認することだけです。次に、リポジトリに追加してcreaterepoを実行すると、yumがそれを取得して更新します

6
Mike

答えはnotで、RPMにリポジトリの新しいリビジョンを貼り付けるのと同じくらい簡単です。

サーバー側とクライアント側で行うべきことがあります。

サーバ側

  1. RPMをリポジトリにコピー
  2. cd/path/to/repo(/ var/www/html/repoだとしましょう)
  3. Sudo createrepo --update .これにより、リポジトリのデータベースが更新され、新しいRPMが含まれます
  4. Sudo chmod -R ugo+rX /var/www/html/repo/これにより、新しいRPMが表示されます

クライアント側

  1. Sudo yum clean allこれにより、リポジトリに関連するすべてのキャッシュ情報が取り除かれます。
  2. Sudo yum info rpmnameこれで、最新のrpmバージョンが利用可能であることがわかります。
  3. Sudo yum -y update rpmname更新する必要があります。

私はこれらすべての詳細につながったすべての答え(ここ、そこ、そしてどこでも)に非常に不満を感じました。更新を含むリポジトリを作成するプロセスを実行する人は誰でも、それをテストします。テストは次のようになります。

サーバー側、リポジトリに新しいRPMを追加、createrepoを実行、権限を変更クライアント側、yum -y install rpmname。ユーザー、「それはうまくいきました。次に、実行して更新してみましょう。」

サーバー側、新しいリビジョンでRPMを追加、createrepoを実行、権限を変更クライアント側、yum -yアップグレードrpmname、「更新用にマークされたパッケージなし」ユーザー、「何を#?!@で見つけたすべての指示に従いましたウェブとこれはうまくいきませんでした!」

クライアント側では、yumは利用可能な最新のリリースを含むリポジトリに関する情報をキャッシュします。次にクライアントがupdateまたはinfoコマンドを実行するとき、yumはインターネットに戻ってリポジトリを確認しません。 Yumは、キャッシュされたバージョンのリポジトリを使用します。

4
shrewmouse

RPMのバージョンがインストールされているバージョンよりも大きい場合は更新されます。

3
Aaron Copley