Atualizações  faseadas no Ubuntu

Na semana passada o ecossistema Ubuntu recebeu uma evolução excelente relativa às atualizações: agora as atualizações serão disponibilizadas de forma faseada para garantir que caso ocorra algum problema grave, seja possível evitar que se alastre por todos os utilizadores.

Conceptualmente a ideia parece bastante importante, no entanto para além das boas vantagens, ela acarreta alguns pormenores que poderão não ser ideais. Saiba porquê aqui!

Antes de mais esta modificação está apenas a funcionar para o Ubuntu 13.04, no entanto, espera-se que seja abrangida para outros Ubuntus.

 

As atualizações antes desta modificação

Ao contrário das versões do Ubuntu em desenvolvimento, as versões finais têm muitos utilizadores constantemente a atualizarem o sistema. Utilizadores estes que geralmente têm o Ubuntu como sistema principal e não podem correr o risco de ficar sem o sistema. Ora, para estes sistemas as atualizações têm um impacto muito grande que obrigam a ter-se um rigor bastante superior.

Uma atualização do Ubuntu normalmente percorre um caminho de testes comum: inicialmente são testadas pelos programadores, de seguida são experimentadas pelos utilizadores avançados, regularmente são ainda experimentadas pelos utilizadores que têm as atualizações “pre-release” ativadas e, por fim, os utilizadores “normais” recebem as atualizações.

Este longo caminho apesar de garantir alguma segurança nas atualizações, não é perfeito, pois o número de utilizadores “normais” é claramente superior aos que testaram antes, o que significa que se houver algum bug provavelmente poderá passar despercebido pelos primeiros que testaram e ser um problema grave nos milhões de utilizadores finais.

 

Stable Release Update

Para aumentar ainda mais a estabilidade geral nas atualizações, a Canonical decidiu implementar um sistema chamado “stable release update” (SRU), que significa “atualização de versão estável”. Este sistema de disponibilização de atualizações irá funcionar de forma completamente igual vista por fora, ou seja, o seu Ubuntu não vai receber qualquer alteração.

No entanto, por dentro, do lado da Canonical, o sistema irá funcionar de forma sensivelmente diferente. Em vez de disponibilizar as atualizações para toda a gente, o sistema irá disponibilizar os novos pacotes apenas a 10% dos utilizadores. Passadas 6 horas, se não existir relatórios de erros, o sistema disponibilizará novamente a mais 10% dos utilizadores e irá voltar a esperar 6 horas por novos relatórios. O processo será recursivo até atingir os 100% dos utilizadores.

Apesar das atualizações funcionarem praticamente sempre bem, é possível que apareça um bug: afinal somos seres humanos e os erros acontecem. Por isso, este funcionamento é perfeito para garantir a estabilidade da maioria dos computadores, pois, caso haja um bug, certamente será reportado logo nos primeiros 10% ou 20% dos utilizadores e a grande maioria dos utilizadores não vai receber essa atualização com erros.

Atualizando o Ubuntu

Será perfeito?

Mas será esta filosofia de disponibilização de pacotes perfeita? Infelizmente na tecnologia, raramente encontramos algo perfeito e este é um exemplo disso mesmo. Apesar da ideia parecer perfeita, ela é apenas “quase perfeita”. Porquê? Vejamos: o que vai acontecer numa atualização de segurança, que corrija um brecha no sistema?

Provavelmente essa atualização irá fazer alterações de baixo nível no sistema (normalmente até alterações ao nível do Kernel). Ao fazer este tipo de alterações o risco é maior pois são camadas que podem estar relativamente “perto” das camadas que comunicam com o hardware. Ora, nesses casos, é difícil de prever se funcionará a 100% em todos os computadores e nesse sentido aplicam a atualização de forma faseada. O que vai acontecer?

Muitos utilizadores só vão receber a atualização muitas horas depois, talvez até dias depois! Para estes utilizadores, este tipo de atualização poderá ser inviável, principalmente se estivermos a falar da versão Ubuntu Server, em que muitos dos sites online estão constantemente a serem espiados à procura de brechas.

Em suma, esta modificação é claramente uma vantagem para o ecossistema Ubuntu. No geral a comunidade vai ganhar muito com isto, no entanto, a Canonical deverá ter em conta que os 10% deveriam ser mais flexíveis principalmente em atualizações importantes, de segurança. Provavelmente a Canonical já está a prever esta situação, no entanto, como não foi referido na documentação, é importante refletir esta situação.

O que a Canonical já prevê é a disponibilização deste tipo de atualização apenas a pacotes onde o impacto é muito grande (por exemplo atualização do Kernel). Significa portanto que muitas atualizações comuns de aplicações poderão nem sequer passar por este tipo de atualização faseada.

 

E você leitor do Ubuntued?
O que achou desta novidade do Ubuntu?

7 Respostas ate agora.

  1. Renan Rischiotto diz:

    Ótimo tópico, parabéns =)

  2. Bitetti diz:

    Pode ser uma boa pedida, mas sera q 6 horas é um tempo bom para garantir que algum problema venha a aparecer?
    Tipo meu sistema eu costumo liberar as atualizações apenas de noite (24hrs entre uma e outra) e sem falar que quando estou em algum trabalho e vejo q o kernel vai ser atualizado fico "enrolando" até terminar meu trabalho para não ter q reinicializar o micro, oque pode demorar mais de uma semana.

    • Olá Bitetti,

      A mim por vezes também me acontece isso, mas outras atualizo logo. Quanto estamos a falar em milhões de utilizadores haverá sempre gente que atualiza logo, por isso parece-me aceitável. Aliás, tal como eu disse no texto, quando são questões de segurança se calhar uma de tempo menor até seria preferível na minha opinião! ;)

    • ezrandrade diz:

      @Bitetti, penso que 6 horas é um bom tempo sim, uma vez que o mundo possui 24 fusos horários.

  3. Filho de Peixe… Estão trazendo um formato mais próximo ao do Debian, que é considerado a Distro Linux mais estável lado a lado com o bom e velho Slack… Acho benéfico principalmente para distros baseadas nas versões LTS, formando um ciclo semi-rolling que é o caso do Bodhi Linux (usado em um dos micros da empresa), esse formato também poderá diminuir uma possível futura quebra de pacotes entre versões… Acho interessante e bem útil! :D

  4. Parece legal, Mas os updates do Ubuntu poderiam ser testados por vários dias pra depois se liberados, assim teríamos um sistema bem estável. A canonical deveria montar uma equipe responsável por isso, dai quando tudo estive Okay, liberaria as atualizações para todos. Isso em volta do sistema, me refiro a pacotes do sistema.

Deixe uma resposta a Régis Soutello Pessolano