パッケージ管理コマンド

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-3-3 12:40
sdsd2787  新米   投稿数: 3
パッケージ管理コマンドのサブコマンドが、dpkgやrpmなどで意味が微妙に異なっていたりして、理解・暗記に苦しんでます。

質問は、
「rpm -i」と「rpm -U」で使い分ける意味があるのか?
です。

インストールでもアップデートでも、結局結果は同じになるのではないでしょうか。。。
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-3-3 20:01
yokoyama68  一人前   投稿数: 28
古いバージョンが既にインストールされいてるかで挙動がかわります

-iオプション
 新規インストール:インストール成功
 古いバージョンが既にインストールされている:インストール失敗

-Uオプション
 新規インストール:インストール成功
 古いバージョンが既にインストールされている:アップデート成功
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-3-5 1:01
sdsd2787  新米   投稿数: 3
回答ありがとうございます。助かります。

>-iオプション
> 古いバージョンが既にインストールされている:インストール失敗

上書きでインストールされるものと勘違いしていました汗


追加で質問になるのですが、
dpkgにはアップグレードのサブコマンドがないようなのですが、
アップデートの際は、
追加したいパッケージをインストール後に、不要なパッケージをアンインストールするという手順を踏むのでしょうか?
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-3-5 9:41
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
追加で質問になるのですが、
dpkgにはアップグレードのサブコマンドがないようなのですが、
アップデートの際は、
追加したいパッケージをインストール後に、不要なパッケージをアンインストールするという手順を踏むのでしょうか?
dpkgのmanからすると、-iだけのようです。
https://manpages.debian.org/jessie/dpkg/dpkg.1.ja.html
引用:
アクション
-i, --install package-file...
パッケージをインストールする。--recursive または -R オプションが指定されていた場合、 package-file としてファイルではなくディレクトリを指定すること。
インストールは、以下のステップで構成されている。

1. インストールする新しいパッケージの制御ファイルを展開する。

2. 同一パッケージの別バージョンがインストール済の場合、新しいパッケージのインストール前に、インストール済パッケージの prerm スクリプトを実行する。

3. 新しいパッケージが preinst スクリプトを提供している場合、実行する。

4. 新しいファイルを展開する。同時に、失敗したときに元に戻せるように、古いファイルを保存する。

5. 同一パッケージの別バージョンがインストール済の場合、古いパッケージの postrm スクリプトを実行する。このスクリプトは、新しいパッケージの preinstスクリプトの後に実行されることに注意すること。これは、新しいファイルが書き込まれるのと同時に古いファイルが削除されるためである。

6. パッケージの設定を行う。処理の詳細については、 --configure を参照のこと。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-3-5 18:59
sdsd2787  新米   投稿数: 3
「dpkg -i」でアップデートも新規インストールも可能
ということですね。

まだprerm スクリプトを理解していないですが、
勉強します。

ご回答ありがとうございました!

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.