[FUG-BR] downgrade 9 to 8

Renato Botelho rbgarga em gmail.com
Segunda Maio 21 12:14:46 BRT 2012


2012/5/21 Luiz Gustavo <luizgustavo at mundounix.com.br>:
> On Monday 21 May 2012 11:48:53 Renato Botelho wrote:
>> 2012/5/21 Renato Frederick <renato at frederick.eti.br>:
>> > Olá Pessoal,
>> >
>> > Seguinte:
>> >
>> > Eu tenho uma gambiarra atualmente :)
>> >
>> > uso o PF.
>> >
>> > Porém, precisei no passado de uma maneira rápida de gerar gráficos do
>> > cacti de tráfego para diversos IP/portas.
>> >
>> > Para gerar este tipo de gráfico no PF,  usando o cacti, eu precisava
>> > jogar o tráfego que hoje é um allow referenciando os IPs, para uma
>> > table, e daí usar o "pfctl -T table blablablalbala" para gerar um
>> > contador de bytes/pacotes in e out e importar isto para o cacti, usando
>> > shell script.
>> >
>> > Porém, o PF que uso tem umas 4mil linhas e a manutenção disto já é um
>> > dano, trocar isto para tabela está fora de questão.
>> >
>> > Eu já fiz isto no pasado usando o "count" do IPFW, inclusive importando
>> > via SNMP, funciona perfeitamente, Porém neste cenário atual, qualquer
>> > regra de count/allow/deny do IPFW não vai funcionar(só o divert ou rdr)
>> > porque a regra que dá match nestes IP já é processada pelo PF. De fato,
>> > se eu limpo as regras do PF, o IPFW começa a contar.
>> >
>> > Então a gambiarra foi:
>> >
>> > Carregar o IPF via módulo no kernel e usar o count do IPF:
>> >
>> > more /etc/ipf.rules
>> > count in on bce1 from any to 187.X.X.X port = 80
>> > count out on bce1 from 187.X.X.X to any port = 80
>> > [..]
>> >
>> > Se eu carregar o IPF no kernel, ele também deixava de funcionar, já que
>> > aí o PF voltava a ter prioridade.
>> >
>> > Isto funcionou muito bem no freebsd 7, no 8 também.
>> >
>> > Porém no 9 parou de funcionar e preciso disto o mais rápido possível.
>> >
>> > Minha dúvida é, arriscam um downgrade do 9 para o 8? Nunca fiz antes :)
>>
>> Nunca fiz isso não, mas acredito que há chances de funcionar. Eu faria
>> da seguinte maneira, contando que o /usr/src jah tenha os sources do
>> 8.x:
>>
>> # rm -rf /usr/obj/*
>> # cd /usr/src
>> # make buildworld buildkernel
>> # make installworld
>> # reboot
>>
>> Nesse ponto vc tem o base system do 8.x e o kernel do 9. O problema
>> agora é que vc tem uma porrada de libraries duplicadas, com a versao
>> do 8 e do 9 instaladas.
>>
>> Pra resolver esse caso o único jeito que consigo pensar é, baixar o src
>> do 9.x pra /usr/src9 e depois:
>>
>> # cd /usr/src9
>> # make check-old-libs
>>
>> Ele vai apontar pra vc o nome das libs do 8.x que ele removeria no update
>> pro 9, então vc teria que pegar lib por lib e ver se a versão N+1 existe,
>> e, se existir, remover, por exemplo, se ele listar a libm.so.5, vc checa se
>> a libm.so.6 existe, se existir vc remove.
>>
>> Depois de limpar tudo, roda um make installworld novamente, só pra ter
>> certeza que tudo o que precisa do 8 ta em ordem e depois um installkernel.
>>
>> Pode funcionar.
>>
>> Ah, depois disso tudo ainda tem que recompilar os ports.
>>
>> []s
>
> E downgrade binario ? será que rola ?

Então, se vc faz update binário com o freebsd-update, ele tem
uma opção de rollback que eu usei uma vez e deu certo. Pra
ser honesto, eu ultimamente só uso freebsd-update. :)

-- 
Renato Botelho


Mais detalhes sobre a lista de discussão freebsd