うちのopenSUSE 10.2のアップデートはyumを使っています。というのも10.1の頃、zmd関連のrugがうまくいかないことがあったからでした。これですっかりzmdに嫌気が差して今でも使う気になりません。でもyumでトラブルがなかったわけではなくて、ローカルにコピーしたファイルをアップデートの参照先にしたら、アップデートできないという事がありました。そのときは、とりあえず使っているのは1台だけだし、都度、インターネットのftpサーバを使えばいいか。と、普通に参照先をインターネットのサーバーに設定して今まで使ってきました。
で、このたび、会社のサーバもそろそろ9.3から10へ移行しようかと考え、アップデートのディレクトリをローカルにミラーすることにしました。会社のサーバはインターネットから切り離された内側にあるので、アップデートのディレクトリをコピーして持って行ってやる必要があるんですね。だからローカルからアップデートできない上のような問題を放っておく訳にもいかず調査して解決しましたので、ここにメモっておきます。
ローカルファイルをyumに登録して、
# yum update
すると、アップデート対象のパッケージのリストは表示されるのですが、いざ、アップロードのためにダウンロードする段になってなにも実施せずに終わってしまうという現象に困っていました。
そのときのrepoファイルの一部がこれです。
[update-released]
name=SUSE Linux Update
baseurl=file://localhost/home/foo/suse/update/10.2
ここで、baseurlにおいてlocalhostというのをやめて、
[update-released]
name=SUSE Linux Update
baseurl=file:///home/foo/suse/update/10.2
にしたら、問題なく動くようになりました。ファイルをダウンロードするルーチンでうまく処理できてなかったのかなぁ。と思います。これで安心して会社のサーバも10.2にできそうです。