Actualizacion inteligente de teus pacotes em FreeBSD

Autor: Amnesiac
Data: 20/12/2001.


Tem-te sucedido que quando queres atualizar algum de teus programas tais como Xchat ou BitchX a uma version mas nova, tens que tirar primeiro tua version e instalar a nova desde os ports ou simplesmente fazer um make reinstall?
Pois bom na seguinte guia te propomos uma alternativa muito singela, e que ademas te permitirá fazê-lo com todos os ports automaticamente quando tenha versões novas e ademas, para que as dependências de cada pacote instalado esten corretas e ordenadas.

Passo #1:
Para este passo, requeiro que você já tem$ feito um cvsup a teu arbol de ports para ter as versões mas recentes. Se estas aqui é por que já o sabes, e se não, como mal admin te ordeno que vás e te sentes num rincão por 15 minutos a pensar que és um mau admin dandote golpes de peito, e despues regresses a seguir lendo a guia. Agora bem os comandos que precisas para atualizar teu arbol de ports facilmente são:

pkg_add -r http://people.freebsd.org/jdp/s1g/i386-nogui/cvsup-16.1e.tgz
rehash (isto só é valido em tcsh /csh e serve para "atualizar" o path e que encontre o programa). Em bash tens que voltar a logearte.
cvsup -g -L 2 -h cvsup14.freebsd.org /usr/share/examples/cvsup/ports-supfile

Passo #2:
Despues de já estar seguros que tens teu arbol de ports ao dia, o seguinte que precisaremos é nossa ferramenta clave para todo isto, um pacote chamado "portupgrade" que o instalaremos da seguinte forma:

cd /usr/ports/sysutils/portupgrade
make install clean

Passo #3:
Despues para que as mudanças que fizeste tomem efeito é necessário que faças um rehash.Despues disso faremos o seguinte:

pkgdb -F

Com isto verás como começa a fazer um scan de todos teus ports instalados, se nunca o tinhas feito é normal que vá fazer-te umas perguntas tais como "Stale dependency" "New Dependency", a que se deve isto? A que tinhas um desajuste entre teus pacotes e suas dependências, portanto tens que os atualizar. É necessário estar correndo este comando variadas vezes para corrigir todo, e quando já não te faça nenhuma pergunta é porque todos tuas ports estan bem.

Passo #4:

Aqui o que faremos é checar qual version tens instalada de teus pacotes, e compará-la com a version dos ports para ver cuales queres atualizar, o comando é o seguinte:

pkg_version -v | grep -v =

Este comando demorar uns segundos, ou minutos dependendo de tua quantidade de pacotes instalados, e ao final vai mostrar-te algo como o seguinte:

gtk-1.2.10_2 < needs updating (port tens 1.2.10_3)
portupgrade-20011210 < needs updating (port tens 20011218)
sdl-1.2.3 < needs updating (port tens 1.2.3_1)
wget-1.8_1 < needs updating (port tens 1.8_2)


Estas lineas como verás, mostram-te cuales programas precisas atualizar, conforme a teu version no arbol de ports.

Passo #5:

O Seguinte passo é, que teu decidas que queres atualizar, se os pacotes individualmente (um por um ou só os que teu queiras) ou todos automaticamente, para isso, te pondre ambos os exemplos:

- Suponhamos que queres atualizar o wget-1.8_1 pela version que tens em tuas ports farias o seguinte:

portupgrade wget-1.8_1.

- A outra opção mas viable (que podes fazer enquanto dormes) é atualizar todos teus pacotes automaticamente, o que só ira revisando um por um, e fazendo todos as mudanças necessárias:

portupgrade -a

Passo #6.

É necessário que despues de que actualizes, agregues ou apagues algun pacote, corras o comando que já conheces:

pkgdb -F

Com o fim de que as depedencias esten adequadamente ordenadas e com seus respectivos pacotes.


Pois bem, espero que esta guia te tenha servido, e agora se como bem admin mantenhas teus programas ao dia. Dúvidas, sugestões, comentários a:

[email protected]


Data: 20 de Dezembro de 2001.


Hosted by www.Geocities.ws

1