Quando atualizar pacotes?

1

Estou usando o KPackageKit para manter meu sistema e estou tentando manter todos os pacotes atualizados (mas não habilitei nenhum repositório experimental ou beta).

Na minha opinião, essa configuração não deve quebrar nada, mas isso não parece ser o caso. Duas semanas atrás, após uma atualização, o flash player parou de funcionar. Depois de outra atualização, outra coisa.

Então, a pergunta: como saber quando atualizar os pacotes, mas não quebrar nada? Mesmo que algo quebrado entre, há uma maneira de reverter as mudanças?

    
por BЈовић 24.05.2011 / 21:16

1 resposta

3

Você deve instalar as atualizações assim que elas aparecerem. Atualizado são testados antes de serem liberados para o público. Essas atualizações não lançadas são chamadas de atualizações propostas . Às vezes, uma atualização quebra alguma coisa, isso é chamado de regressão . Essas regressões são raras devido ao teste anterior, mas isso não diminui a chance de quebrar um pacote completamente.

No caso do Flash, o instalador às vezes não funciona. Percebi que uma atualização de flashplugin-installer usando o KPackageKit às vezes remove o Flash sem instalar a nova versão. A solução foi reinstalá-lo, para o qual eu prefiro o terminal para que eu possa ver qualquer mensagem de erro:

sudo apt-get install --reinstall flashplugin-installer

Observe que este instalador é especial, devido ao licenciamento, as bibliotecas do Flash não podem ser distribuídas no pacote e, portanto, o pacote faz o download do Flash em archive.canonical.com .

Como com outros pacotes, é provável que seja um bug do tipo regressão , como mencionado anteriormente. A maioria dos pacotes tem um rastreador de bugs no Launchpad.net , uma solução pode estar disponível também. Regressões são frequentemente corrigidas rapidamente.

Para "reverter" uma atualização, você precisa saber qual versão o pacote anteriormente instalado era. /var/log/apt/history.log contém alterações nos pacotes, incluindo suas versões.

Eu hackeei um comando bash juntos, você tem que executá-lo e digitar o nome do pacote. Em seguida, uma lista de versões anteriores é exibida. Isso poderia ser feito mais limpo com awk , mas eu ainda tenho que aprender que: D

oIFS="$IFS";IFS=$',\n';read -p 'Package name: ' package;for w in $(grep "^Upgrade: " /var/log/apt/history.log | cut -c9-);do [[ ${w/:*/} == \ $package ]] && echo "$w" | cut -d"(" -f2; done;IFS="$oIFS"

Depois de determinar a versão antiga, você deve executar o próximo comando em um terminal:

sudo apt-get install packagename=version

Para fazer downgrade de firefox para a versão 4.0.1+build1+nobinonly-0ubuntu0.11.04.1 , você precisa executar:

sudo apt-get install firefox=4.0.1+build1+nobinonly-0ubuntu0.11.04.1
    
por Lekensteyn 24.05.2011 / 22:11