Articles

Actualização e actualização do SO Raspberry Pi

Posted on

Esta secção cobre como implementar actualizações de software para dispositivos que executam o SO Raspberry Pi.

Antes de continuarmos, vamos investigar porque é importante manter os nossos dispositivos actualizados.

A primeira e provavelmente a razão mais importante é a segurança. Um dispositivo a correr o SO Raspberry Pi contém milhões de linhas de código em que se pode confiar. Com o tempo, estes milhões de linhas de código irão expor vulnerabilidades conhecidas conhecidas como Vulnerabilidades e Exposições Comuns (CVE), que estão documentadas em bases de dados disponíveis publicamente, o que significa que são fáceis de explorar. Aqui está um exemplo de um CVE recente encontrado no KODI que fornece um pouco mais de informação sobre que informação está disponível na base de dados e como os CVE são rastreados. A única forma de mitigar estas explorações como utilizador do SO Raspberry Pi é manter o seu software actualizado, uma vez que os repositórios a montante seguem os CVE de perto e tentam mitigá-los rapidamente.

A segunda razão, que está relacionada com a primeira, é que o software que está a executar no seu dispositivo contém certamente bugs. Alguns bugs são CVEs, mas os bugs podem também estar a afectar a funcionalidade desejada sem estarem relacionados com a segurança. Ao manter o seu software actualizado, está a diminuir as hipóteses de acertar nestes bugs.

APT (Advanced Packaging Tool)

Para actualizar o software no SO Raspberry Pi, pode usar a ferramenta apt num terminal. Abra uma janela de terminal a partir da barra de tarefas ou do menu de aplicações:

Terminal

P>Primeiro, actualize a lista de pacotes do seu sistema introduzindo o seguinte comando:

sudo apt update

Próximo, actualize todos os seus pacotes instalados para as suas últimas versões com o seguinte comando:

sudo apt full-upgrade

Nota que full-upgrade é utilizada em preferência a um simples upgrade, uma vez que também capta quaisquer alterações de dependência que possam ter sido feitas.

geralmente falando, fazendo isto regularmente, manterá a sua instalação actualizada para a versão principal específica do SO Raspberry Pi que está a utilizar (por exemplo, Stretch). Não actualizará de uma versão principal para outra, por exemplo, Stretch to Buster.

No entanto, há alterações ocasionais feitas na imagem do SO Raspberry Pi da Fundação que requerem intervenção manual, por exemplo, um pacote recentemente introduzido. Estes não são instalados com uma actualização, pois este comando apenas actualiza os pacotes já instalados.

Actualização do kernel e firmware

O kernel e firmware são instalados como um pacote Debian, e assim também receberá actualizações quando utilizar o procedimento acima. Estes pacotes são actualizados com pouca frequência e após extensos testes.

Fora de espaço

Ao correr sudo apt full-upgrade, mostrará quantos dados serão descarregados e quanto espaço ocupará no cartão SD. Vale a pena verificar com df -h se tem espaço livre suficiente no disco, pois infelizmente apt não o fará por si. Tenha também em atenção que os ficheiros de pacotes descarregados (.deb files) são mantidos em /var/cache/apt/archives. Pode removê-los para libertar espaço com sudo apt clean em versões mais antigas do apt).

Upgrading from Stretch to Buster

Warning: A actualização de uma imagem Stretch existente é possível, mas não é garantido que funcione em todas as circunstâncias e não a recomendamos. Se desejar tentar actualizar uma imagem Stretch para Buster, sugerimos vivamente que faça primeiro uma cópia de segurança – não podemos aceitar qualquer responsabilidade por perda de dados de uma actualização falhada.

Para actualizar, primeiro modificar os ficheiros /etc/apt/sources.list e /etc/apt/sources.list.d/raspi.list. Em ambos os ficheiros, altere cada ocorrência da palavra stretch para buster. (Ambos os ficheiros necessitarão de sudo para editar.)

Então abrir uma janela terminal e executar:

sudo apt updatesudo apt -y dist-upgrade

Resposta ‘sim’ a qualquer pedido. Também pode haver um ponto em que a instalação pausa enquanto uma página de informação é mostrada no ecrã – mantenha premida a tecla de espaço para percorrer tudo isto e depois prima q para continuar.

Finalmente, se não estiver a utilizar PulseAudio para nada que não seja áudio Bluetooth, remova-o da imagem entrando:

sudo apt -y purge "pulseaudio*"

Se mudar para um novo modelo Pi (por exemplo o Pi 3B+), pode também precisar de actualizar o kernel e o firmware utilizando as instruções acima.

Soluções de terceiros

Esta secção aborda a razão pela qual as soluções de terceiros podem ser de interesse e porque é que o apt não é óptimo para todas as situações. Raspberry Pi não recomenda nenhuma ferramenta específica de terceiros. Os potenciais utilizadores devem determinar a ferramenta mais adequada para as suas necessidades específicas.

Apt é uma forma conveniente de actualizar o software do seu dispositivo que executa o SO Raspberry Pi, mas a limitação deste método torna-se aparente quando tem um conjunto maior de dispositivos a actualizar, e especialmente quando não tem acesso físico aos seus dispositivos e quando estes são distribuídos geograficamente.

Se não tiver acesso físico aos seus dispositivos e quiser implementar actualizações sem supervisão Over-The-Air (OTA), aqui estão alguns requisitos gerais:

  • Actualização não deve em circunstância alguma quebrar (“tijolo”) os dispositivos, e.g se a actualização for interrompida (perda de energia, perda de rede, etc.).), o sistema deve voltar ao estado de funcionamento
  • Actualização deve ser atómica: a actualização foi bem sucedida ou falhou; nada no meio disso poderia resultar num dispositivo ainda “funcional” mas com comportamento indefinido
  • Actualização tem de ser capaz de instalar imagens/pacotes que são assinados criptograficamente, impedindo terceiros de instalar software no seu dispositivo
  • Actualização tem de ser capaz de instalar actualizações usando um canal de comunicação seguro

Felizmente, o apt carece das características de robustez, i.e. atomicidade e fall-back. É por isso que começaram a surgir soluções de terceiros que tentam resolver os problemas que precisam de ser resolvidos para a implementação de actualizações sem vigilância OTA.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *