GNU/Linux >> Linux の 問題 >  >> Linux

yumupdateコマンドの15以上の例

Yumは、Red Hat、CentOS、およびRPMPackageManagerを使用するその他のLinuxディストリビューションで使用されるパッケージマネージャーです。 Yumは、これらのLinuxシステムにインストールされているパッケージをインストール、更新、削除、またはその他の方法で操作するために使用されます。

このチュートリアルでは、yum updateコマンドとは何か、その使用方法、およびシステムにインストールされているパッケージをアップグレードするときに知っておく必要のあるさまざまなコマンドについて説明します。

yum updateはどのように機能しますか?

yum updateコマンドを使用して、システムにインストールされているアプリケーションを更新できます。パッケージ名を指定せずにコマンドを実行すると、システム上のすべてのパッケージが更新されます。

$ yum update

このコマンドを実行すると、yumはリポジトリをチェックして、システムに現在インストールされているソフトウェアの更新バージョンを確認します。以下のスクリーンショットは、yumupdateコマンドを最初に発行したときに通常表示される出力のタイプを示しています。

ご覧のとおり、yumからの出力には、最初にクエリを実行しているリポジトリが一覧表示されます。これらのリポジトリは、CentOSのデフォルトのリポジトリであるAppStream、Base、Extrasです。その下に、yumは更新が見つかったさまざまなパッケージを一覧表示します。

この出力の最後に、yumは「トランザクションの概要」を表示します。これは、インストールおよびアップグレードされるパッケージの総数を示します。

この例では、166個のパッケージがアップグレードされ、6個の新しいパッケージがインストールされています。

アプリケーションのアップグレードのみを想定しているのに、なぜ新しいパッケージがインストールされるのか疑問に思われる場合は、一部の新しいソフトウェアパッケージがこのLinuxディストリビューションの一部になっている可能性があります。または、一部のアップグレードされたアプリケーションが、まだインストールされていない追加のパッケージに依存している可能性があります。

yumがアップグレードを計画しているソフトウェアのリストを確認したら、「y」と入力してEnterキーを押すことで、これらの変更を確認できます。

その後、Yumがアップグレードを実行します。これは、接続の速度とシステム自体によっては時間がかかる場合があります。

完了すると、最終的な概要が表示されます。この概要には、正常にアップグレードされたすべてのパッケージと、発生した可能性のあるエラーが一覧表示されます。

gpgチェックなしで更新

GPGキーを使用して、RPMパッケージの信頼性を検証できます。 yumの–nogpgcheckオプションは、パッケージのGPG署名のチェックをスキップするように指示します。これは、署名されていないパッケージがある場合、またはGPGキーがない場合に役立ちます。

$ yum update --nogpgcheck

これは、「Package NameOfPackage.rpmが署名されていません..インストールに失敗しました!」などのエラーが発生した場合の迅速な解決策です。通常のyumupdateコマンドを実行する場合。 –nogpgcheckオプションはこの警告を無視し、とにかくパッケージのアップグレードを続行します。

ローカルリポジトリからの更新

更新時にyumがクエリを実行するようにローカルリポジトリを設定することができます。これは、yumを使用してデフォルトのリポジトリに含まれていないパッケージを更新する場合、またはオフラインシステムをアップグレードする必要がある場合によく行われます。

まず、更新したすべてのRPMファイルを新しいフォルダーに配置します。この例では、/ root/rpmsを使用します。

次に、yumのすべてのリポジトリファイルを表示できる次のディレクトリに移動します。

$ cd /etc/yum.repos.d

ローカルリポジトリを設定するには、このディレクトリに新しいファイルを作成します。

$ vi MyRepo.repo

リポジトリファイル内で、この形式で構成し、必要に応じて行を変更します。

[MyRepo]

name=My Local Repo

baseurl=file:///root/rpms

enabled=1

gpgcheck=0

ローカルリポジトリとリモートリポジトリの大きな違いは、「baseurl」行にあります。ここでは、リモートプロトコルhttp://またはftp:// >

ファイルを保存した後、正しい権限を設定します:

$ chmod 644 MyRepo.repo

これで、リポジトリを使用する準備が整いました。 yum updateコマンドを実行する前に、必ずyumのキャッシュをクリアしてください:

$ yum clean all

パッチを表示

Yumは、次のコマンドを使用して、利用可能なセキュリティパッチをインストールせずに表示できます。

$ yum updateinfo list security

上のスクリーンショットのように出力が返されない場合は、システム上のどのソフトウェアにも利用できるセキュリティパッチがないことを意味します。

単一のパッケージを更新する

インストールされているすべてのアプリケーションに対して更新を実行せずに特定のパッケージを更新する必要がある場合は、yumupdateコマンドでパッケージの名前を指定するだけです。

$ yum update name-of-package

複数のパッケージをスペースで区切って指定できます。 yumがリポジトリでパッケージを見つけるには、パッケージの名前を完全に入力する必要があります。パッケージ名がわからない場合は、まず、現在更新の対象となるパッケージを確認してください。

$ yum check-update

1つを除くすべてのパッケージを更新する

すべてのパッケージを更新するためにyumupdateコマンドを実行する必要があるが、パッケージを除外したい場合は、–excludeオプションを指定できます。

管理者がこれが必要であると感じる一般的な状況は、カーネルの更新です。これらは、運用サーバーで予期しないエラーを引き起こす可能性のあるメジャーな更新であるためです。ただし、コマンドを実行して機密性の低いアプリケーションを更新したい場合もあります。

パッケージ(この例では、カーネルに関連するもの)を除外するには:

$ yum update --exclude=kernel*

関連するパッケージが複数ある場合、またはパッケージのフルネームがわからない場合、アスタリスクはワイルドカードとして機能します。

または:

$ yum update -x 'kernel*'

複数のパッケージを除外する

より多くの–excludeフラグを使用して複数のパッケージを除外できます。

$ yum update --exclude=kernel* --exclude=httpd

上記の例のようにこのフラグを使用するか、-xフラグを必要な回数だけ使用してください。

最後のyumupdateがいつ実行されたかを確認する

実行された日時とともにyumトランザクションのリストを表示するには、yumhistoryコマンドを使用します。

$ yum history

上のスクリーンショットでは、yumがソフトウェアを最後に更新したのは1月4日であることがわかります。

ロールバック(元に戻す)更新

yumの優れた機能は、最近の更新を元に戻して、アップグレードされたパッケージを以前のバージョンに復元できることです。

各yumアクション(インストール、更新、消去など)にはトランザクションIDが割り当てられ、yum更新を元に戻すときにこのIDを指定する必要があります。最近のyum操作のトランザクションIDのリストを表示するには、次のコマンドを使用します。

$ yum history

上のスクリーンショットでは、yumで実行された最後の操作がhttpdパッケージのインストールであったことがわかります。インストールまたは更新を元に戻すのも同じように機能するため、この例では、この最近のhttpdのインストールを元に戻します。スクリーンショットに示されているように、このトランザクションのIDは7です。

この変更を元に戻し、プログラムを以前のバージョンにロールバックするには、次のコマンドを発行します。

$ yum history undo 7

いつものように、yumは行われる変更を要約し、Y/Nプロンプトを続行するかどうかを尋ねます。 Yを入力すると、指定したトランザクションが取り消されます。

失敗したyumupdateのクリーンアップ(トラブルシューティング)

yum updateコマンドの実行時に1つ以上のパッケージが正常にアップグレードできない場合、システムに重複するパッケージがインストールされる可能性があります(同じプログラムの2つのバージョン)。

上記のセクションのロールバック手順に従うと、問題が解決する場合があります。それでも問題が解決しない場合は、次のコマンドを使用して、システム上の重複パッケージを削除できます。

$ package-cleanup --dupes

Yumは、パッケージ、メタデータ、およびヘッダーの情報のキャッシュを保存します。エラーが発生した場合は、yumのキャッシュをクリアすることがトラブルシューティングの最初のステップとして適しています。これを行うには、次のコマンドを使用します。

$ yum clean all

スキップエラー

パッケージを更新またはインストールする場合、そのパッケージを正しく実行するには、追加のソフトウェアが必要になる場合があります。 Yumはこれらの依存関係を認識しており、必要な追加パッケージをインストールまたはアップグレードすることにより、更新中にそれらを解決しようとします。

yumが必要な依存関係のインストールに問題がある場合、エラーが発生し、それ以上先に進みません。これは、更新が必要な他のパッケージがある場合に問題になります。

他のパッケージの更新を続行し、依存関係が壊れているパッケージをスキップするようにyumに指示するには、yum updateコマンドで–skip-brokenコマンドを指定できます。

$ yum update --skip-broken

更新が必要なパッケージのリストを取得する

追加のオプションを指定せずに通常どおりyumupdateコマンドを実行すると、使用可能な更新のリストが出力されます。

$ yum update

利用可能なパッケージアップデートに関する追加情報を確認するには、次のコマンドを入力します。

$ yum updateinfo

システムで利用可能なセキュリティ更新プログラムに関する情報を表示するには、次のコマンドを入力します。

$ yum updateinfo security

yumチェックの更新とリストの更新の違い

2つのコマンドは似ているように聞こえますが、更新の確認とyumでの更新の一覧表示には違いがあります。

$ yum list updates

上記の更新を一覧表示するコマンドは、更新が利用可能なリポジトリ内のすべてのパッケージを一覧表示します。リポジトリ内の一部のパッケージは、システムにインストールされていない可能性があることに注意してください。

$ yum check-update

上記の更新を確認するコマンドは、ユーザーからの操作を求めるプロンプトを表示せずに更新を確認する方法です。これは、たとえば、更新を確認するためのスクリプトをコーディングする場合に選択するコマンドです。

check-updateコマンドは、利用可能な更新があるパッケージがある場合は100の終了値を返し、利用可能な更新がない場合は0の終了値を返します。

エラーが発生した場合は、値1が返されます。これらの終了コードを使用して、それに応じてスクリプトをコーディングします。

アップデートが利用可能になったときに通知する

システムでyumupdatesを管理するのに役立つパッケージがいくつかあります。インストール可能なアップデートがyumにある場合は、管理者に通知することもできます。そのようなサービスの1つはyum-cronと呼ばれます。

yumを使用してyum-cronをインストールします:

$ yum install yum-cron

起動時に開始するようにyum-cronサービスを設定します:

$ systemctl enable yum-cron.service

$ systemctl start yum-cron.service

viまたはお好みのテキストエディタを使用して、構成ファイル内でyum-cronの設定を構成します。

$ vi /etc/yum/yum-cron.conf

このファイルでは、更新を自動的に適用するかどうかを指定できます。通知のみを受け取りたい場合は、構成ファイル内にメール情報を入力してください。その後、システムで利用可能な更新がある場合はいつでも、Yum-cronから電子メールが送信されます。

apply_updates = no #don’t apply updates automatically

email_from = [email protected]

email_to = [email protected]

email_host = localhost

yumupdateはどのポートを使用しますか

Yumは、更新を確認するときにポート80を使用します。システムのリポジトリファイルの内部を見ると、内部のすべてのリンクがhttpで始まっていることがわかります。

yumが機能することを許可するためにファイアウォールでルールを作成する必要がある場合は、ポート80を許可する必要があります。

Yumアップデートとアップグレード

これまで、このチュートリアルではyum updateコマンドについてのみ説明してきましたが、もう1つの非常によく似たコマンドであるyumupgradeがあります。

$ yum upgrade

これら2つのコマンドにはわずかな違いがあります。 Yum updateはシステム上のパッケージを更新しますが、廃止されたパッケージの削除はスキップします。

Yumアップグレードは、システム上のすべてのパッケージも更新しますが、廃止されたパッケージも削除します。

これにより、ソフトウェアを更新するときに必要なパッケージを誤って削除することを心配する必要がないため、yumの更新がより安全なオプションになります。

yum upgradeコマンドを発行するときは、まだ使用している一部のパッケージが保持されない可能性があるため、慎重に行ってください。

最後に、チュートリアルがお役に立てば幸いです。

戻ってきてください。


Linux
  1. 初心者向けのLinuxkillallコマンド(8例)

  2. 初心者向けのDNFコマンドの例

  3. Linux での yum コマンドの例

  1. Linuxユーザー向けの12のIPコマンド例

  2. 初心者向けのLinuxdirコマンド(10例)

  3. 初心者向けのLinuxrmコマンドの説明(8例)

  1. 初心者向けのLinuxlnコマンドチュートリアル(5つの例)

  2. 初心者向けのLinuxnlコマンドチュートリアル(7つの例)

  3. 初心者向けのLinuxnmコマンドチュートリアル(10例)