[FUG-BR] Instalação de modulo php sem atualizar tudo

Marcelo Gondim gondim em bsdinfo.com.br
Terça Setembro 4 01:06:27 BRT 2012


Em 04/09/2012 00:12, Renato Sousa escreveu:
> Boa noite a todos,
>
> Tenho alguns sistemas php instalados em um servidor.  Preciso
> adicionar um novo módulo (php5-iconv -- versão 5.3.13) via ports,
> porém o ports já está numa versão superior a instalada (5.4.6).
> Existe alguma forma para eu instalar os modulos via ports na versão
> 5.3.13 e depois estudar melhor os efeitos de uma atualização geral do
> php ?
>
> Abraços,
>
> Renato
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
Olá Renato,

Bem logicamente que é sempre bom ter um backup antes de qualquer coisa.

É muito simples. Eu usei o portmaster com a opção -o para trocar os 
pacotes do php 5.3 que antes estavam em php5 para o atual local que 
seria php53.
O que ocorre é que quando você instalou o php, o que estava em php5 era 
o php 5.3 e agora existe um diretório php53 onde fica a versão que você 
usa e em php5 passou à ser o php 5.4.

Primeiro você deve fazer uma relação de todos os pacotes php5 que você 
tem menos o extensions. Porque esse você tem que deixar por último pra 
não duplicar os pacotes:

# for i in `pkg_info | grep "php5-"| awk {'print $1'}`; do pkg_info -o 
$i|grep -v Origin|egrep -v "^$"|grep -v extensions >> /root/lista.txt; done

O comando acima vai te gerar um arquivo /root/lista.txt com uma lista 
dos pacotes php5- que você tem e o caminho dele no ports. Aí você 
instala o portmaster e faz o comando assim como exemplo, em cada pacote 
da lista:

portmaster -o lang/php53 php5-5.3.13

Esse comando acima vai trocar o pacote atual do php que tá instalado, no 
meu exemplo o php5-5.3.13, pelo php que está em lang/php53 que é o php53 
última versão 5.3.16 e assim o pacote agora vai estar apontado para o 
diretório correto quando você for fazer um upgrade e se chamará 
php53-5.3.16.

Faça isso para todos os pacotes php na lista.txt e quando acabar aí você 
faz no pacote php5-extensions-1.5 por exemplo:

portmaster -o lang/php53-extensions php5-extensions-1.5

Espero ter ajudado.

Abração,

Gondim




Mais detalhes sobre a lista de discussão freebsd