FreeBSD/portupgrade の変更点
*&SIZE(15){''portupgrade''}; [#u54b6e02]
Portsを自動で最新にしてくれるportupgradeの紹介。~
portupgradeを実行する前に、まずはCVSupで最新のPortsを入手しておきます。~
CVSupは⇒[[FreeBSD/CVSup]]~
Ruby言語で書かれたプログラムで、portupgradeをPortsからインストールすると自動で、Rubyもインストールされます。~
+[[''環境''>#A]]
+[[''インストール''>#B]]
+[[''シェルを作成''>#C]]
+[[''起動''>#D]]
+[[''オプション''>#F]]
**''環境''&aname(A); [#pce2b3be]
FreeBSD 6.0~
ruby 1.8.4~
CVSup SNAP_16_1h~
~
*''インストール''&aname(B); [#bed265e3]
■Rubyは1.8で使いたいので、/etc/make.confに記述しておきます。
# vi /etc/make.conf
----------------追加-------------------
RUBY_DEFAULT_VER=1.8
----------------追加-------------------
■portupgrade,Portsからインストール
# cd /usr/ports/sysutils/portupgrade
# make install clean ;rehash
-2008/01/21確認
-フォルダが変更になったらしい。/usr/ports/ports-mgmt/portupgrade
~
■portauditをインストール、セキュリティの脆弱性などを指摘してくれるそうです。
#cd /usr/ports/security/portaudit
#make clean install clean
#rehash
#/usr/local/sbin/portsdb -Fu
#portaudit -F -a
**''シェルを作成''&aname(C); [#x4b82df2]
#!/bin/csh
#setenv PORTS_DBDRIVER bdb_hash
/usr/local/bin/cvsup -g -r 5 -h cvsup2.jp.FreeBSD.org \
-L 2 //usr/share/examples/cvsup/ports-supfile >& /var/log/portupgrade_dayly.log
/usr/local/sbin/portaudit -F -a >>& /var/log/portupgrade_dayly.log
/usr/local/sbin/portsdb -Fu >>& /var/log/portupgrade_dayly.log
/usr/local/sbin/portversion -v -L '=' | grep -v 'held'
**''起動''&aname(D); [#n3414335]
■crontbに設定しておく。
20 6 * * * root /usr/local/etc/portupgrade.csh
※手動で起動する場合は
#csh /usr/local/etc/portupgrade.csh
参考にしたページ(([[F.kimura's HomePage>http://www.fkimura.com/portupgrade3.html]]こちらのページの方がより詳しく説明されています))
参考にしたページ(([[SYONテクニカル>http://www.syon.co.jp/syontech/tech006.html]]))
**最新のportsが現在のportsよりバージョンがあがっているか確認 [#ic268f22]
# pkg_version -v|perl
**最新のportsへアップグレード [#y6af9f12]
# portupgrade perl
**Perlに依存するportsが入っている場合 [#h9c7e1e5]
+perl本体の置き換え
# portupgrade -o lang/perl5.8 -f perl-5.8.6_3
+インストールしたperlを/etc/make.confに登録
どのサイトでもuse.perl portを実行すると書いてあったけど、use.perlを実行しても無いって言われる。~
探してみたら、こんな所にありました。/usr/ports/lang/perl5.8/files/use.perl
# locate use.perl
/usr/ports/lang/perl5/files/use.perl
/usr/ports/lang/perl5.8/files/use.perl
# cd /usr/ports/lang/perl5.8/files
# use.perl port
+perlに依存しているportsを更新
# portupgrade -f p5-\*
**オプション&aname(F); [#d00130ee]
-r そのportsが依存しているportsも更新する
-R そのportsに依存しているportsも更新する.
-N パッケージが無い場合は,ダウンロードしてインストールする
-n アップグレードはせずに、その必要があるかだけを教えてくれる。
-f 強制的にインストール。
-m makeのオプションを指定する
例:porupgrade -m 'BATCH=yes' x11/gnome
-o パッケージの基となっているports名(?)を指定する.このオプションはバージョンがあがってports名が変わってしまった場合などに使える.
例:portupgrade -o www/apache22 apache
www/apache20からwww/apache22にアップデートする場合