質問: yum updateコマンド時にどのような処理がされているかを教えてください。 1.リポジトリの[baseurl]または[mirrorlist]にリポジトリのURLが登録されている場合、 サーバにあるどのファイルと読み込んで、新しいパッケージを見つけてくるのでしょうか? 2.また、現在インストールされているパッケージを確認して、アップデート必要の有無を判断すると思いますが、 その情報はどこに保存されているでしょうか? cachedir(/var/cache/yum/$basearch/$releasever)でしょうか? cachedirに情報がない場合は、パッケージをひとつずつ確認しにいくのでしょうか? なお、現在のCentOS-Base.repoの設定は下記の通りです。 -------------------------------------------------------- { [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra} {#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/} gpgcheck=1 {gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6} {#released updates} {[updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra {#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/} gpgcheck=1 {gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6} } -------------------------------------------------------- また、epel.repo も有効にしています。 -------------------------------------------------------- { [epel] name=Extra Packages for Enterprise Linux 6 - $basearch {#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch} mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 } ---------------------------------------------------------- 上記の設定で、yum updateを実行しますと、下記の結果が返ってきます。 ---------------------------------------------------------- { [root@tk2-255-37397 ~]# yum update 読み込んだプラグイン:fastestmirror, security 更新処理の設定をしています Determining fastest mirrors epel/metalink | 4.5 kB 00:00 * base: ftp.tsukuba.wide.ad.jp * epel: ftp.riken.jp * extras: ftp.tsukuba.wide.ad.jp * updates: ftp.tsukuba.wide.ad.jp base | 3.7 kB 00:00 base/primary_db | 4.6 MB 00:00 epel | 4.3 kB 00:00 epel/primary_db | 5.9 MB 00:00 extras | 3.4 kB 00:00 extras/primary_db | 37 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 4.6 MB 00:00 更新と設定されたパッケージがありません。 } ---------------------------------------------------------- 以上、よろしくお願い致します。
回答: > > 1. リポジトリの[baseurl]または[mirrorlist]にリポジトリのURLが登録されている場合、サーバにあるどのファイルと読み込んで、新しいパッケージを見つけてくるのでしょうか? > > > repodata/ 以下の「(ハッシュ値?)-primary.sqlite.bz2」などのファイルです。 /var/caceh/yum/$basearch/$releasever/updates/ などにダウンロードされます。 > > 2. また、現在インストールされているパッケージを確認して、アップデート必要の有無を判断すると思いますが、その情報はどこに保存されているでしょうか? > > > /var/lib/rpm/ 以下のファイルだと思います。 (rpm -qa で一覧表示する元のデータ)