rpmコマンドを使用しているときに、
を実行してから、別のrpm -ivh some-package-1.1を実行すると、次のようにrpm -qa | grep some-packageを実行すると両方のパッケージが一覧表示されます。 :
some-package-1.0 some-package-1.1
ただし、1.1をインストールする代わりに、rpm -Uvh some-package-1.1を介してアップグレードすると、望ましい結果が得られます。 rpm -qa | grep some-packageを実行すると単一パッケージ(1.1)。
yum installと
?
rpm -U(アップグレード)コマンドを使用すると、アップグレードするためにパッケージが存在する必要がないため、質問します/インストールしますが、yum update(私が間違っていない場合)では、パッケージがすでに存在している必要があります。
特に、パッケージを指定した結果を知りたいです。 some-package-1.0。要約すると、私が知りたいのは、some-package-1.0とsome-package-1.1のような2つの特定のバージョンがあるかどうかです。
- 1.0がすでにインストールされた後、1.1で
yum installを実行しますか?2つのパッケージをリストしますか? -
yum update some-package-1.1はsome-package-1.0を正常に置き換えますか?
回答
メジャーYUMとRPMの違いは、yumが依存関係を解決する方法を知っており、作業中にこれらの追加パッケージを調達できることです。 rpmはこれらの依存関係を警告できますが、追加のパッケージを入手することはできません。
インストールとアップグレードについて。どちらのツールもインストールを実行でき、RPMでは複数のバージョンを同時にインストールすることもできますが、YUMはそのパッケージがすでにインストールされていることを通知します。したがって、YUMで複数のバージョンをインストールすることはできません。
yum updateに関しては、これは2つの方法のいずれかで反応します。更新するパッケージを指定すると、更新を試み、必要なすべての依存関係をダウンロードしてインストールします。パッケージ名なしで実行すると、yum updateはシステムにインストールされているすべてのパッケージを更新しようとします。
yum upgradeを使用すると、yum updateと同じように機能しますが、「廃止」とマークされたパッケージを削除しようとする点が異なります。
例
ここに「あなたのシナリオと同じシナリオがあります。 vim-X11の新しいバージョンが利用可能です。
$ yum check-update vim-X11 | expand Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit vim-X11.x86_64 2:7.4.417-1.fc19 updates
現在、このバージョンを使用しています:
$ rpm -q vim-X11 | expand vim-X11-7.4.179-1.fc19.x86_64
インストールしようとすると:
$ sudo yum install vim-X11 ... ================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================= Updating: vim-X11 x86_64 2:7.4.417-1.fc19 updates 1.2 M Updating for dependencies: vim-common x86_64 2:7.4.417-1.fc19 updates 5.9 M vim-enhanced x86_64 2:7.4.417-1.fc19 updates 1.0 M .... Running transaction Updating : 2:vim-common-7.4.417-1.fc19.x86_64 1/6 Updating : 2:vim-enhanced-7.4.417-1.fc19.x86_64 2/6 Updating : 2:vim-X11-7.4.417-1.fc19.x86_64 3/6 Cleanup : 2:vim-X11-7.4.179-1.fc19.x86_64 4/6 Cleanup : 2:vim-enhanced-7.4.179-1.fc19.x86_64 5/6 Cleanup : 2:vim-common-7.4.179-1.fc19.x86_64 6/6 Verifying : 2:vim-enhanced-7.4.417-1.fc19.x86_64 1/6 Verifying : 2:vim-X11-7.4.417-1.fc19.x86_64 2/6 Verifying : 2:vim-common-7.4.417-1.fc19.x86_64 3/6 Verifying : 2:vim-enhanced-7.4.179-1.fc19.x86_64 4/6 Verifying : 2:vim-X11-7.4.179-1.fc19.x86_64 5/6 Verifying : 2:vim-common-7.4.179-1.fc19.x86_64 6/6
まとめ
- 1.0がすでにインストールされた後、1.1で
yum installを実行しますか?2つのパッケージをリストしますか?
いいえ。パッケージが既にインストールされている場合は、インストールを実行するように指示した場合でも、YUMは更新を実行します。
yum update some-package-1.1を実行すると、some-package-1.0が正常に置き換えられますか?
はい。
yum installを使用できます。yum updateを使用したい状況は、パッケージ名のみを指定した場合ですよね?yum installは、パッケージがすでにインストールされていることを検出し、私の例が示したように、パッケージの更新とインストールに切り替えます。rpmはdpkgのようなものではありません、ローカルディスク上のファイルの管理にのみ関係します。リポジトリ"管理" b / wシステム+リポジトリの場合、yumまたはdnf。rpmをURLからインストールする場合は'パッケージdepを実行してそれらをプルすることもせず、rpmをローカルにダウンロードしてからインストールするだけです。