必要なSRPMだけリモートのリポジトリーから取得する

rpmforgeやEPEL,その他世にあるリポジトリーをミラーすると使わないRPMのために大量のストレージを用意しなければならないですね.SATAなディスクならともかくそうじゃないときには困ります(RHEL 5用のEPELで2GB越).
かといってSRPMが必要なときにiDCにいるとインターネットからもう取得する手段がない場合もえてしてあります.

  • インフラ構築に必要なRPMは個別に取得している
  • 何らかの理由でRPMの再構築が必要な場合を考え,SRPMをあらかじめ取得しておく
  • RPMもそうだけどSRPMをまるっとミラーはしない
  • 今回はRHEL5用EPELで必要なSRPMを取ってくる.ミラーサーバーは大好きなIIJを使う.
for SRPM in `rpm -qp --queryformat="%{SOURCERPM}\n" ../../x86_64/RPMS/*.rpm | sort  | uniq`; do 
wget http://ftp.iij.ad.jp/pub/linux/fedora/epel/5/SRPMS/${SRPM}; done

xargs使ったり改善の余地はあると思いますけど思いつきってことで.