четверг, августа 23, 2007

FreeBSD & portsnap & portupgrade

Бля на ровном месте проблемка возникла. Поставил новенькую FreeBSD 6.2 заобновил потры через portsnap, и решил поднять проги через portupgrade, и тут такая кака (((
switcher2# portsdb -Uu
Updating the ports index ... Generating INDEX.tmp - please wait.. Done.
done
[Updating the portsdb in /usr/ports ... - 17535 port entries found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000.........17000..... ..... done]
switcher2# portupgrade -arR
[missing key: categories] [Updating the portsdb in /usr/ports ... - 17535 port entries found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000.........17000..... ..... done]
missing key: categories: Cannot read the portsdb!
/usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:567:in `open_db': database file error (PortsDB::DBError)
from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:736:in `port'
from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:924:in `all_depends_list'
from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:915:in `tsort_build'
from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:907:in `each'
from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:907:in `tsort_build'
from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:929:in `sort_build'
from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:933:in `sort_build!'
from /usr/local/sbin/portupgrade:694:in `main'
from /usr/local/lib/ruby/1.8/optparse.rb:785:in `initialize'
from /usr/local/sbin/portupgrade:210:in `new'
from /usr/local/sbin/portupgrade:210:in `main'
from /usr/local/sbin/portupgrade:1981

Востановление базы через pkgdb -fu не помогает. Что с этим безбразием делать ума не приложу...


UPD: Все починилось +) спасибо V и Golub Mikhail, надо было убить portupgrade и поставить его из /usr/ports/ports-mgmt/portupgrade +))) да еще подсказали приличную идею про убивание index:
rm /usr/ports/INDEX*.db /var/db/pkg/pkgdb.db
pkgdb -fu

2 коммент.:

Анонимно комментирует...

Антоша, и это ты называешь нормальной ОС? *ля... ну как так можно писать автообновление... ВСе на Longhorn!!!! Леша :)

golodnyj комментирует...

+) Леша это отличная ОС +), то что у меня руки не от туда растут и я за новостями не следил пока писал дисер - это моя проблема, а не проблема ОС!!!

к томуже давай без масдая уж если его проблемы начинать выкладывать то тут блога не хватит +)

к томуже ты просто не видел как обновление здесь проходит, сам не делал и уже пришел к какому-то выводу, не уподобляйся красноглазым +)

К томуже это не автообновление по большому счету +) 1. портснам обновляет порты тоесть грубо говоря дергает репозитарии чтото вроде CVS +) 2. порт апдейт проверяет какие проги устарели и можно сразу сделать их одновление +) 3. Сама ОС таким образом не обновляется +))) это делается другими средствами...
эт чтобы механизм был понятен... ведь каждая утилита написана для своей цели +)