使用した主なパッケージ
m-hotta@gaia:~$ rpm -q gnupg rpm httpd createrepo w3m gnupg-1.4.5-14 rpm-4.4.2.3-18.el5 httpd-2.2.3-31.el5.centos.2 createrepo-0.4.11-3.el5 w3m-0.5.1-15.el5
GPG鍵の作成
m-hotta@gaia:~$ gpg --gen-key (後は指示に従う) 十分な長さの乱数が得られません。OSがもっと乱雑さを収集 できるよう、何かしてください! (あと281バイトいります) (ここで処理が止まるので、別の端末から以下のように重い処理を動かす) m-hotta@gaia:~$ dd if=/dev/random of=/dev/null bs=100000 (2-3分後に処理が進んで完了する) 【破棄証明書の生成】 m-hotta@gaia:~$ gpg -o /naisho/revcert.asc --gen-revoke 'HOTTA Michihide' 【公開鍵のエクスポート】 m-hotta@gaia:~$ gpg -o .gnupg/pubkey.asc -a --export 'HOTTA Michihide'
RPMパッケージへの署名
m-hotta@gaia:~$ cat >> .rpmmacros <<_EOF_ %_signature gpg %_gpg_path /home/m-hotta/.gnupg %_gpg_name HOTTA Michihide <hotta@net-newbie.com> %_gpgbin /usr/bin/gpg _EOF_ m-hotta@gaia:~$ rpm --addsign rpm/RPMS/i386/samba-*
リポジトリ公開用サイトの作成
m-hotta@gaia:~$ sudo mkdir /var/www/repos m-hotta@gaia:~$ sudo chown m-hotta /var/www/repos/ m-hotta@gaia:~$ grep -Ew -C 1 Include /etc/httpd/conf/httpd.conf # #Include conf.d/*.conf -- NameVirtualHost *:80 Include conf.d/*.conf m-hotta@gaia:~$ sudo cat > /etc/httpd/conf.d/repos.conf <<_EOF_ <VirtualHost *:80> DocumentRoot /var/www/repos ServerName repos.net-newbie.com CustomLog logs/repos_log combined ErrorLog logs/repos-error_log <Location /> Options +Indexes </Location> </VirtualHost> _EOF_ root@gaia:~# sudo /sbin/service httpd reload
(別途、DNS に repos.net-newbie.com の正引きを設定しておく)
リポジトリ作成&パッケージの登録
m-hotta@gaia:$ mkdir -p /var/www/repos/5.4/{,S}RPMS m-hotta@gaia:/var/www/repos$ ln -s 5.4 5 m-hotta@gaia:~$ cp rpm/RPMS/i386/samba*3.4.5* /var/www/repos/5/RPMS/ m-hotta@gaia:~$ cp rpm/SRPMS/samba-3.4.5-1.src.rpm /var/www/repos/5/SRPMS/ m-hotta@gaia:~$ createrepo /var/www/repos/5/RPMS/ m-hotta@gaia:~$ createrepo /var/www/repos/5/SRPMS/ m-hotta@gaia:~$ cp .gnupg/pubkey.asc /var/www/repos/RPM-GPG-KEY-newbie m-hotta@gaia:~$ cat > /var/www/repos/newbie-pub.repo <<_EOF_ [newbie] name=samba-3.4.x for centos5x baseurl=http://repos.net-newbie.com/$releasever/RPMS/ enabled=0 gpgcheck=1 gpgkey=http://repos.net-newbie.com/RPM-GPG-KEY-newbie [newbie-srpms] name=samba-3.4.x source pakages for centos5x baseurl=http://repos.net-newbie.com/$releasever/SRPMS/ enabled=0 gpgcheck=1 gpgkey=http://repos.net-newbie.com/RPM-GPG-KEY-newbie _EOF_
サーバー側の動作確認
m-hotta@gaia:~$ ls -l /var/www/repos/ 合計 12 lrwxrwxrwx 1 m-hotta wheel 3 1月 20 15:23 5 -> 5.4 drwxr-xr-x 4 m-hotta wheel 4096 1月 20 15:25 5.4 -rw-r--r-- 1 m-hotta wheel 1690 1月 20 15:13 RPM-GPG-KEY-newbie -rw-r--r-- 1 m-hotta wheel 363 1月 20 15:36 newbie-pub.repo m-hotta@gaia:~$ w3m http://repos.net-newbie.com Index of / [ICO] Name Last modified Size Description ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [DIR] 5/4/ 20-Jan-2010 15:25 - [ ] RPM-GPG-KEY-newbie 20-Jan-2010 15:13 1.7K [ ] newbie-pub.repo 20-Jan-2010 15:36 363 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Apache/2.2.3 (CentOS) Server at repos.net-newbie.com Port 80
リポジトリサイトの利用
m-hotta@celsior:~$ sudo yum -y install yum-priorities m-hotta@celsior:~$ wget http://repos.net-newbie.com/newbie-pub.repo m-hotta@celsior:~$ sudo mv newbie-pub.repo /etc/yum.repos.d/ (enabled=0 にしてあるので、明示的に --enablerepo=newbie をつけないと有効にならない。) m-hotta@celsior:~$ sudo rpm --import http://repos.net-newbie.com/RPM-GPG-KEY-newbie m-hotta@celsior:~$ sudo yum --enablerepo=newbie update (元々sambaが入っていなかった場合:) m-hotta@celsior:~$ sudo yum --enablerepo=newbie install samba-client samba-doc samba-swat