[FUG-BR] FreeBSD 10.0 Apache Segmentation fault (11)

Marcelo Gondim gondim em bsdinfo.com.br
Segunda Setembro 15 22:24:15 BRT 2014


On 15/09/2014 18:17, Victor Volpe wrote:
>> Olá Victor,
>>
>> Interessante que até no Linux já vi muito esses segfaults por isso não
>> sei se pode estar relacionado ao sistema e sim ao compilador e libs.
>> Você pode tentar atualizar o sistema para 10.0-STABLE que após compilado
>> e instalado vai aparecer como BETA1. Do 10.0-RELEASE e 10.0-RELENG para
>> o atual STABLE já houveram muitas atualizações no clang e aí tenta após
>> isso recompilar o apache e php5. Pode ser uma tentativa.
>>
>> []´s
>> Gondim
>>
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>
> Olá Marcelo,
>
> Muito obrigado pelo feedback. Você teria alguma recomendação ou dica para a execução deste upgrade? Vou precisar reinstalar algum package (utilizo o pkgng) ou só recompilar os softwares que eu compilei manualmente? Esse upgrade sobrepõe arquivos de configuração como /etc/rc.conf, etc? Verifiquei no handbook que os comandos corretos para isso são:
>
> # freebsd-update -r 10.1-STABLE upgrade
> # freebsd-update install
> # shutdown -r now
>
> Está correto? Lembrando que utilizo o kernel GENERIC padrão portanto não seria necessário a recompilação.
>
> Abraços!
Eu não utilizo o freebsd-update mas ele só funciona para atualização de 
release, você não tem o stable para ele. Nesse caso você teria que 
baixar os fontes userland + kernel, compilar e instalar o world e o 
kernel. Isso pode ser feito usando o svnlite que já vem no 10. Se você 
nunca fez esse procedimento vai te dar um pouco de trabalho mas é bem 
legal porque vai te dar uma bagagem à mais de conhecimento. :)  
Primeiramente um backup atualizado de tudo que for importante!

Para você baixar a árvore stable basta fazer isso:

# svnlite co |svn://svn0.us-west.FreeBSD.org/base/stable/10 /usr/src

Como você usa o kernel GENERIC pode continuar usando.

Depois que baixar os fontes confere com:

# cd /usr/src
# svnlite status

Para estar certo não pode exibir nenhuma informação com o comando acima.

Com esse comando abaixo você verá a info da sua árvore sem faça de 
dentro do diretório /usr/src

# svnlite info

Bem, com os fontes e como você vai usar o kernel GENERIC para compilar:

# make buildworld && make buildkernel KERNCONF=GENERIC

Após compilar vem a instalação:

# make installkernel KERNCONF=GENERIC
# make installworld

Agora vem o famoso merdamaster ops mergemaster rsrsrsr esse você precisa 
ter muito cuidado porque ele pode sobrepor suas configurações do /etc. 
Se quiser fazer um backup dele antes podes fazer:

# cp -rp /etc /etc.bkp

O mergemaster eu gosto de fazer assim:

# mergemaster -i -F

O que não tiver alteração ele vai passar batido e vai parar nas configs 
modificadas. Se é uma config que você mexeu, você vai precisar ver o que 
está sendo alterado e decidir se vale modificar ou deixar como está. 
Para modificar a conf com a alteração mais recente você escolhe a opção 
"i". Se você não quiser que a conf seja mexida aí você escolhe a opção "d".

Depois que finalizar vem os seguintes comandos:

# make delete-old
# make delete-old-libs

Nesse momento as libs antigas serão removidas à cada confirmação sua. 
Todas as aplicações que foram compiladas usando essas libs devem ser 
recompilados mas normalmente não dá problema quando você está na mesma 
versão major tipo da 10.0 para a 10.1. Agora da 9.x para a 10.x aí tem 
que recompilar todos os ports instalados.  :) Só uma vez que tive que 
recompilar um port dentro da mesma versão major que foi o freeradius.  
:)  Virtualbox também precisa recompilar e devem ter outros ports.

Depois do reboot você vai estar com a versão 10.1-BETA1. Depois é só 
recompilar o port do apache e do php.

[]´s
Gondim


|


Mais detalhes sobre a lista de discussão freebsd