Solucionando problemas com portupgrade e pkgdb
Esta semana tive problemas com isso, atualizei o ruby ele atualizou o db1 pra db41 e virou uma anarquia, hehe, não funcionava mais o portupgrade ele dava o seguinte erro:
[Updating the pkgdb in /var/db/pkg ... Failed
`Inappropriate file type or format'; rebuild needed] [Rebuilding the
pkgdb in /var/db/pkg ... - 439 packages found (-0 +439)
Então só fui ter tempo pra resolver isso hoje =/ bom, como ele recompilou o ruby e o db ele não sabia reconhecer o formato que o arquivo que fica em /var/db/pkg/pkgdb.db e não atualizava mais nenhum pacote que o portaudit (/usr/ports/security/portaudit) me avisa que estava desatualizado, procurando na net achei algumas respostas, testei e funcionou 100% bom.
Lembrando que estava usando nesse servidor um FreeBSD 5.4 com ports atualizado por cvs
Vamos ao que interessa:
Primeiro é necessário fazer backup dos db's que existem hoje, mesmo que eles não funcionem.
#mv /var/db/pkg/pkgdb.db /var/db/pkg/pkgdb.db.bkp
#mv /usr/ports/INDEX-6.db /usr/ports/INDEX-6.db.bkp
depois retire os programas que utilizam esse db:
# pkg_info | grep portupgrade | awk '{ print "pkg_delete " $1 }' | sh
# pkg_info | grep ruby | awk '{ print "pkg_delete " $1 }' | sh
# pkg_info | grep db41 | awk '{ print "pkg_delete " $1 }' | sh
ou
# pkg_delete portupgrade-2.1.3.1,2
# pkg_delete ruby18-bdb-0.5.9
# pkg_delete ruby18-bdb1-0.2.2
# pkg_delete db4-4.0.14_1,1
# pkg_delete db41-4.1.25_3
# pkg_delete db42-4.2.52_4
No seu sistema isso pode diferir!
Após remoção dos pacotes, basta reinstalá-los:
# cd /usr/ports/sysutils/portupgrade && make config && make install clean
no make config selecione bdb4
ele já ira baixar e instalar os pacotes do ruby, depois de feito isto, é necessário "arrumar" as dependências dos pacotes no banco (fix):
# pkgdb -F
Feito isto atualize seu ports por CVSUP ou PORTSNAP, e pode utilizar o portupgrade[1] novamente para atualizar os pacotes que estão desatualizados e foram mostrados pelo portaudit
[1] /usr/ports/sysutils/portupgrade
Com isso resolvi meus problemas. =D
Fiz este pequeno artigo com base em:
http://www.mail-archive.com/freebsd-ports@freebsd.org/msg00247.html
0 Comments:
Postar um comentário
<< Home