[FUG-BR] Atualizando ports + sobre pkg_delete e pkg_deinstall

Marcel Bonnet marcelbonnet em gmail.com
Quarta Janeiro 18 11:11:37 BRST 2012


On 18 January 2012 08:44, Renato Botelho <rbgarga em gmail.com> wrote:
> 2012/1/18 Marcel Bonnet <marcelbonnet em gmail.com>:
>> Eu já me mandei RTFM umas duas vezes antes de fazer essa pergunta, mas
>> eu não estou lembrando e nem achando onde eu li algo sobre o seguinte:
>>
>> Existe uma diferença entre pkg_delete e pkg_deinstall no sentido de
>> que pkg_delete remove os pacotes e arquivos de configuração (remoção
>> completa) e o pkg_deinstall mantém os arquivos de configuração
>> (/usr/local/etc ; /etc e assim vai), removendo somente os pacotes? Ou
>> isso depende do que está no script de remoção cada port?
>>
>> É que estou me enrolando desde ontem entre atualizar minha árvore 6
>> meses defasada de ports conforme descreve o último exemplo do
>> portmaster (remover tudo e instalar de volta) ou fazendo na unha,
>> lendo o UPDATING. E perder arquivos de conf ou reinstalar tudo depois
>> não seria uma opção muito agradável  (no caso de remover tudo e
>> instalar de volta).
>
> pkg_delete é um binário distribuído junto com a base do FreeBSD para
> remoção de um port. O pkg_deinstall vem junto com o portupgrade.
>
> Quanto aos arquivos de configuração, quem decide se eles irão ser
> removidos ou não é o próprio port ao qual ele pertence.
>

Obrigado, Botelho.

Então aquele procedimento do portmaster de atualização dos ports com
reinstalação completa exige mesmo que eu localize todos os arquivos
que preciso salvar antes de detonar tudo. O problema é que há ports
que eventualmente instalam conf no lugar "errado", lá no /etc (como o
www/cntlm), não no /usr/local/etc . Sem contar os outros dados no
/usr/local, e saber quais precisam ser salvos ou não para preservar as
confs e dados atuais.

Alguém na lista usa essa forma de atualizar, quando há muitos ports na
máquina? Ou seria, de forma geral, mais simples fazer na unha,
seguindo os passos do UPDATING antes de mandar uma flag -a, apesar de
exigir muito tempo de interação com a máquina ?

Esse é o exemplo do man page:
Using portmaster to do a complete reinstallation of all your ports:
           1. portmaster --list-origins > ~/installed-port-list
           2. Update your ports tree
           3. portmaster -ty --clean-distfiles
           4. portmaster --check-port-dbdir
           5. portmaster -Faf
           6. pkg_delete -a
           7. rm -rf /usr/local/lib/compat/pkg
           8. Back up any files in /usr/local you wish to save,
              such as configuration files in /usr/local/etc
           9. Manually check /usr/local and /var/db/pkg
              to make sure that they are really empty
           10. Re-install portmaster
           11. portmaster `cat ~/installed-port-list`

[]s


Mais detalhes sobre a lista de discussão freebsd