RedHat Networkに登録して利用してみるES3.0
0.改訂履歴
- 2005.08.12 新規作成
- 2005.08.23 RedHat Networkからの手紙の追加
1.はじめに
このドキュメントでは,RedHat Network(RHN)に登録して利用するまでの手順を説明する.
RHNとは,RedHatが提供するWindowsUpdate,Microsoft Updateと同じようなものであるが,RedHatでは有償サポートに加入しないとアップデータが手に入らない. よって,その登録から実際のアップデートまでやってみる手順をおって説明する.
なお,今回実施した際に,RedHat Networkに既に持っているアカウントで登録をしているため,新規アカウントの取得に関する手順は含まれていない.
2.ユーザ登録を行う
- 下記のサイトにアクセスする.
- RedHat Network
- 登録しているユーザ(新規の場合はアカウントを作成後)ログインする.
- プロダクトIDを記入する.
- 保守契約を本日開始で良いかと聞かれているので,Yesを選択.
3.アップデートを行ってみる
- 現在のカーネルバージョンを確認する.
[root@jupiter root]# uname -a Linux jupiter 2.4.21-4.EL #1 Fri Oct 3 18:13:58 EDT 2003 i686 i686 i386 GNU/Linux [root@jupiter root]# |
- 現在のRedHatのバージョンを確認する.
[root@jupiter root]# cat /etc/redhat-release Red Hat Enterprise Linux ES release 3 (Taroon) [root@jupiter root]# |
- コマンドラインでアップデートを行ってみる.
[root@jupiter root]# /usr/bin/up2date 0. debug No 1. rhnuuid 126f43wx-0947-11eg-9538-a9ee5f7a9520 2. isatty Yes 3. showAvailablePacka No4. retrieveOnly No 5. enableRollbacks No 6. noSSLServerURL http://xmlrpc.rhn.redhat.com/XMLRPC 7. pkgSkipList ['kernel*'] 8. storageDir /var/spool/up2date 9. adminAddress ['root@localhost'] 10. noBootLoader No 11. serverURL https://xmlrpc.rhn.redhat.com/XMLRPC 12. fileSkipList [] 13. versionOverride 14. sslCACert /usr/share/rhn/RHNS-CA-CERT 15. noReplaceConfig Yes 16. useNoSSLForPackage No 17. systemIdPath /etc/sysconfig/rhn/systemid 18. enableProxyAuth No 19. retrieveSource No 20. disallowConfChange ['noReboot', 'sslCACert', 'useNoSSLForPackages', 'noSSLSe 21. headerFetchCount 10 22. networkRetries 5 23. pkgsToInstallNotUp ['kernel', 'kernel-modules']24. enableProxy No 25. proxyPassword 26. updateUp2date Yes 27. keepAfterInstall No 28. proxyUser29. removeSkipList ['kernel*'] 30. useGPG Yes 31. gpgKeyRing /etc/sysconfig/rhn/up2date-keyring.gpg 32. httpProxy 33. headerCacheSize 40 34. forceInstall No 35. noReboot No Enter number of item to edit <return to exit, q to quit without saving>: |
- 変更したいところが無い,というか,よくわからないのでreturnキーを入力.
Your GPG keyring does not contain the Red Hat, Inc. public key. Without it, you will be unable to verify that packages Update Agent downloads are securely signed by Red Hat. Your Update Agent options specify that you want to use GPG. To install the key, run the following as root: rpm --import /usr/share/rhn/RPM-GPG-KEY [root@jupiter root]# |
- GPGがないと,update agentによってダウンロードしたパッケージの署名が確認されない.つまり,偽装されたサイト等からやばいものをダウンロドしてしまう可能性もある.
- ということで,GPGキーを入れておく.
[root@jupiter root]# cat /usr/share/rhn/RPM-GPG-KEY The following public key can be used to verify RPM packages built and signed by Red Hat Software using `rpm -K' using the GNU GPG package. Questions about this key should be sent to security@redhat.com. -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.0 (GNU/Linux) Comment: For info see http://www.gnupg.org mQGiBDfqVDgRBADBKr3Bl6PO8BQ0H8sJoD6p9U7Yyl7pjtZqioviPwXP+DCWd4u8 HQzcxAZ57m8ssA1LK1Fx93coJhDzM130+p5BG9mYSWShLabR3N1KXdXQYYcowTOM GxdwYRGr1Spw8QydLhjVfU1VSl4xt6bupPbWJbyjkg5Z3P7BlUOUJmrx3wCgobNV EDGaWYJcch5z5B1of/41G8kEAKii6q7Gu/vhXXnLS6m15oNnPVybyngiw/23dKjS ZVG7rKANEK2mxg1VB+vc/uUc4k49UxJJfCZg1gu1sPFV3GSa+Y/7jsiLktQvCiLP lncQt1dV+ENmHR5BdIDPWDzKBVIBMnSDnqQ6KrZ7T6AlZ74VMpjGxxkWU6vV2xsW XCLPA/9P/vtImA8CZN3jxGgtK5GGtFUJITSUhuv5tnfwFg4b/VGo2Jr8mhLUqoIb E6zeGAmZbUpdckDco8D5fiFmqTf5+++pCEpJLJkkzel/32N2w4qzPrcRMCiBURES PjCLd4Y5rPoU8E4kOHc/4BuHN903tiCsCPloCrWsQZ7UdxfQ5LQiUmVkIEhhdCwg SW5jIDxzZWN1cml0eUByZWRoYXQuY29tPohVSONYAgAVBQI36lQ4AwsKAwMVAwID FgIBAhAPPLECOMPUTERbQqYOsBQAnRVtg7B25Hm11PHcpa8FpeddKiq2AJ9aO8sB XmLDmPOEFI75mpTrKYHF6rkCDQQ36lRyEAgAokgI2xJ+3bZsk8jRA8ORIX8DH05U lMH27qFYzLbT6npXwXYshinnaiK2/iMDj+oEB1Aa2au4OnddYaLWp06v3d+XyS0t+ 5ab2ZfIQzdh7wCwxqRkzR+/H5TLYbMG+hvtTdylfqIX0WEfoOXMtWEGSVwyUsnM3 Jy3LOi48rQQSCKtCAUdV20FoIGWhwnb/gHU1BneES6UdQujFBE6EANqPhp0coYoI hHJ2oIO8ujQItvvNaU88j/s/iznobuakiOgVSjKe/WX3s2JtB/tW7utpy12wh1J+ JsFdbLV/t8CozUTpJgx5mVA3RKlxjTA+On+1IEUWioB+iVfT7Ov/0kcAzwADBQf9 E4SKCWRand8K0XloMYgmipxMhJNnWDMLkokvbMNTUoNpSfRoQJ9EheXDxwMpTPwK ti/PYrrL2J11P2ed0x7zm8v3gLrY0cue1kanakoglY+p31ZPOr5ogaJw7ZARgoS8 BwjyRymXQp+8Dete0TELKOL2/itDOPGHW07SsVWOR6cmX4VlRRcWB5KejaNvdrE5 4XFtOd04NMgWI63uqZc4zkRa+kwEZtmbz3tHSdRCCE+Y7YVP6IUf/w6YPQFQriWY FiA6fD10eB+BlIUqIw80VgjsBKmCwvKkn4jg8kibXgj4/TzQSx77uYokw1EqQ2wk OZoaEtcubsNMquuLCMWijYhGBBgRAgAGBQI36lRyAAoJECGRgM3bQqYOhyYAnj7h VDY/FJAGqmtZpwVp9IlitW5tAJ4xQApr/jNFZCTksnI+4O1765F7tA== =3AHZ -----END PGP PUBLIC KEY BLOCK----- [root@jupiter root]# rpm --import /usr/share/rhn/RPM-GPG-KEY [root@jupiter root]# |
- インストールされたのか...よくわからん.
4.GUIによるアップデート
- CUIによるアップデートはよくわからなかったので,GUIでアップデートを行う.
- [RedHat]メニュー→[システムツール]→[Red Hat Network]を選択して起動する.

- アカウントを持っていない人は,取得してください.
- ハードウェア情報を送信します.
- 現在インストールしているパッケージ情報(RPMに限る)のリストが表示される.
- チェックされている項目は,プロフィール情報としてRHN(RedHat Network)に送信される.
- RHNのアップデートエージェントであるup2date本体がアップデートされているとの事.
- 新しいバージョンをインストール後,up2dateが再起動される.
- GNOMEで稼働する,つまりGUI版のup2dateも一緒にアップデートを行う必要があるという告知.
- [OK]ボタンを押すとup2dateが再起動する.
- しばらくすると次のような画面が表示される.
- 最初に調べたカーネルが2.4.21-4だったので,かなりバージョンアップされている模様.
- 他のパッケージもいろいろと更新されている.面倒なので全部アップデートする.
- ネットワーク越しに,rpmをダウンロードしてくる.
- よって,パッチを当てる件数によってはとても時間がかかる.
- ネットワーク経由で取り込んだら,インストールが始まる.
- ここらあたりから,インストールにとても時間がかかるので,旅行にでも行った方が良い.
- インストール完了!
- これで終了.
5.アップデートのバージョンを確認する
- アップデート前と後で何がどう違うかを簡単に調べる.
5.1.カーネル・リリースのバージョンを確認する
- カーネルのバージョンを確認する.
変更前 |
---|
[root@jupiter root]# uname -a Linux jupiter 2.4.21-4.EL #1 Fri Oct 3 18:13:58 EDT 2003 i686 i686 i386 GNU/Linux [root@jupiter root]# |
変更後 |
[root@jupiter root]# uname -a Linux jupiter 2.4.21-32.0.1.EL #1 Tue May 17 18:01:37 EDT 2005 i686 i686 i386 GNU/Linux [root@jupiter root]# |
- リリースのバージョンを確認する.
変更前 |
---|
[root@jupiter root]# cat /etc/redhat-release Red Hat Enterprise Linux ES release 3 (Taroon) [root@jupiter root]# |
変更後 |
[root@jupiter root]# cat /etc/redhat-release Red Hat Enterprise Linux ES release 3 (Taroon Update 5) [root@jupiter root]# |
- リリース自体もずいぶんアップデートされているようである.
5.2.パッケージの更新を確認する
- ログファイルを確認する.
[root@jupiter root]# cd /var/log [root@jupiter log]# ls -la total 984 drwxr-xr-x 10 root root 4096 Aug 12 19:23 . drwxr-xr-x 21 root root 4096 Aug 10 12:16 .. -rw-r--r-- 1 root root 31019 Aug 12 19:23 XFree86.0.log -rw-r--r-- 1 root root 30871 Aug 12 19:21 XFree86.0.log.old -rw-r--r-- 1 root root 30796 Aug 10 12:33 XFree86.1.log -rw------- 1 root root 13999 Aug 12 19:23 boot.log drwxr-xr-x 2 bin bin 4096 Sep 17 2003 canna -rw------- 1 root root 4737 Aug 12 19:23 cron drwxr-xr-x 2 lp sys 4096 Aug 1 22:07 cups -rw-r--r-- 1 root root 6260 Aug 12 19:22 dmesg drwxr-xr-x 2 root root 4096 Aug 12 19:23 gdm drwx------ 2 root root 4096 Jul 9 03:08 httpd -rw------- 1 root root 69536 Aug 12 19:22 ksyms.0 -rw------- 1 root root 67759 Aug 10 16:59 ksyms.1 -rw------- 1 root root 67759 Aug 10 12:26 ksyms.2 -r-------- 1 root root 19136220 Aug 12 19:30 lastlog drwxr-xr-x 2 root root 4096 Aug 12 18:10 mail -rw------- 1 root root 3372 Aug 12 19:23 maillog -rw------- 1 root root 139416 Aug 12 19:31 messages -rw------- 1 root root 5055 Aug 10 16:57 redhat-config- network -rw-r--r-- 1 root root 20907 Aug 12 04:02 rpmpkgs drwx------ 2 root root 4096 Mar 4 09:35 samba -rw-r--r-- 1 root root 158117 Aug 12 19:07 scrollkeeper.log -rw------- 1 root root 60467 Aug 12 19:31 secure -rw------- 1 root root 0 Aug 10 11:33 spooler drwxr-x--- 2 squid squid 4096 Jun 9 00:52 squid -rw-r--r-- 1 root root 107886 Aug 12 19:26 up2date drwxr-xr-x 2 root root 4096 Aug 12 2003 vbox -rw-rw-r-- 1 root utmp 46080 Aug 12 19:43 wtmp [root@jupiter log]# |
- up2dateのログの中身を確認する.
- 大量にあるので,ここでは先頭の10行だけにしてみた.
root@jupiter log]# head -n 10 up2date [Fri Aug 12 15:51:38 2005] up2date updating login info [Fri Aug 12 15:51:38 2005] up2date logging into up2date server [Fri Aug 12 15:51:38 2005] up2date successfully retrieved authentication token from up2date server [Fri Aug 12 15:52:02 2005] up2date availablePackageList from network [Fri Aug 12 15:59:52 2005] up2date File "/usr/sbin/up2date", line 1165, in ? sys.exit(main() or 0) File "/usr/sbin/up2date", line 684, in main gui.main() File "gui.py", line 2192, in main gtk.mainloop() [root@jupiter log]# |
- RPMパッケージリストの中身を確認して見る.
- 現在のパッケージリストを取得してファイルにする.
[root@jupiter log]# rpm -qa --qf \ > '%{name}-%{version}-%{release}.%{arch}.rpm\n' 2>&1 \ > | sort > /var/log/rpmpkgs.new [root@jupiter log]# |
- ログディレクトリには,デイリーバッチ処理で出力されたRPMパッケージリストが出力されている.
- こんな感じ.
[root@jupiter log]# ls -la rpm* -rw-r--r-- 1 root root 20907 Aug 12 04:02 rpmpkgs -rw-r--r-- 1 root root 21996 Aug 12 20:26 rpmpkgs.new [root@jupiter log]# |
- ファイルの中身の違いを確認する.
[root@jupiter log]# wc -l rpmpkgs 726 rpmpkgs [root@jupiter log]# wc -l rpmpkgs.new 737 rpmpkgs.new [root@jupiter log]# diff rpmpkgs rpmpkgs.new |wc -l 1052 [root@jupiter log]# |
- かなり変更されている.
- rpmpkgsファイルは毎日更新されてき得てしまうので,過去分はファイル名を変更して保存しておく.
[root@jupiter log]# mv rpmpkgs rpmpkgs.20050812 [root@jupiter log]# ls -la rpm* -rw-r--r-- 1 root root 20907 Aug 12 04:02 rpmpkgs.20050812 -rw-r--r-- 1 root root 21996 Aug 12 20:26 rpmpkgs.new [root@jupiter log]# |
- こんな感じで確認終了.
5.3.Web上で確認
- 更新情報は,動機がとれていればRHN側でも取得されているので,RHNのWeb上で確認できる.
- 確認するには,RHNのサイトに行く.
- RedHat Network
- サインインを行う.
- サポート対象システムが1となっているので,それをクリックする.
- 登録したサーバがあるので,クリックする.
- 詳細が表示された.
- ここでパッケージ等を選択すれば,RPMのリスト等履歴が格納されている事がわかる.
6.Errataのご連絡
- RedHat Networkに登録した後で,自分の環境に関係のある重要な修正情報(errata)がでた時には,次のようなメールが送付されてくる.
- ここに書かれているURLを見ようとしても,RHNに登録したユーザがログインしていないと内容を確認する事はできない,
- 事前にJPCERTあたりから情報が来ているとはいえ,ベンダーとしてはちょっと不親切か.