Gentoo Advent Calendar 1日目: portage で git tree 使って高速 sync
Gentoo Advent Calendar
この記事はGentoo Advent Calendar 2010 : ATND のために書かれました。
emerge --sync
今の emerge --sync は中では rsync が動いています。でも、 rsync って遅くないですか?
404 - Page Not Found にある通り、 portage-2.2_rc20 からは portage tree を git で更新できるようになっています! 2.2 のリリースにはまだもう少しかかりそうですが、さきどりしてしまいましょう!
unmask して emerge
いつもの autounmask でまずは unmask してから emerge。 autounmask がなければ emerge autounmask です。
# autounmask sys-apps/portage-2.2.0_alpha7 # emerge -1 portage
portage tree の初期化
git で sync するためにはリポジトリを作り直さなくてはいけません。 今の /usr/portage を backup しておいて、空の /usr/portage を作成し owner,group を portage にします。そして、 portage 権限で funtoo のリポジトリから git clone を行ないます。しばらく時間がかかるので豚キムチでも食べていましょう。
# cd /usr # mv portage portage.bak # mkdir portage # chown portage:portage portage # sudo -u portage git clone git://github.com/funtoo/portage.git
そのままだと funtoo のリポジトリになっているので branch を gentoo.org にします。
# sudo -u portage git checkout gentoo.org
あとはいつも通りに emerge --sync するだけ! おつかれさまでした!