Pular para o conteúdo principal

Atualização do Raspberry Zás-trás

O intuito desse artigo é propor uma atualização de software para o pequeno dispositivo, pois o Raspberry possui diversos comandos para atualizar o sistema.
Ao estudar um pouco o Raspbian, vemos aqui que foi projetado para que as pessoas pudessem fazer experimentos nele. Entre os experimentos, está o de programar. Por isso que se encontra presente o interpretador Python e que o Python tem um sistema próprio de atualização: o pip. O pip é um gerenciador de pacotes de bibliotecas e aplicações escrita em Python, provenientes do repositório Python Package Index (PyPI). Este é o primeiro requisito para a confecção do script de instalação completa do sistema do Raspberry Pi. Também temos que nos assegurar que o pacote rpi-update esteja instalado no Raspberry. Este pacote atualiza a firmware do Raspberry Pi, além de módulos do kernel do sistema. Para instalar o pip e o rpi-update, em um terminal Bash, digite o seguinte comando:
$ sudo apt-get install python-pip python3-pip rpi-update logger 
Instalado o pip (tanto para o python 2, quanto para o python 3) e o rpi-update, podemos criar o script. O script que eu criei é um pouco mais sofisticado, pois além de ter uma interface amigável, ainda grava no log do sistema seu progresso de atividades. É importante para o administrador de sistemas ter essas informações para programar atualizações periódicas no sistema, como por exemplo, a cada semana ou a cada 15 dias. Quanto mais frequente a atualização, mais rápida será, pois serão menos pacotes que serão atualizados a cada execução de rotina de atualização. O código da atualização é este aqui:
clear
logger -s -t updater-script Processo de atualização manual iniciado por $USER
echo Iniciando processo de atualização
sudo apt-get update
logger -s -t updater-script Atualização de repositórios concluída
sudo apt-get -y dist-upgrade
logger -s -t updater-script Atualização de pacotes Debian concluída
sudo rpi-update
logger -s -t updater-script Atualização de kernel e módulos principais Raspberry Pi concluída
sudo pip2 install --upgrade pip
sudo pip2 freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 sudo pip2 install -U --no-cache-dir
sudo pip3 install --upgrade pip
sudo pip3 freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 sudo pip3 install -U --no-cache-dir
logger -s -t updater-script Atualização de bibliotecas Python concluída
sudo apt-get -y autoremove
logger -s -t updater-script Remoção de pacotes Debian concluída
sudo apt-get autoclean
logger -s -t updater-script Exclusão de dados de pacotes concluída
sudo apt-get clean
logger -s -t updater-script Exclusão de dados temporários de pacotes concluída
echo Processo de atualização terminado. Em atualização de sistema recomenda-se o reinício.
logger -s -t updater-script Processo de atualização concluído
Vamos explicar agora cada uma das linhas:
  • A linha 1 é para limpar a tela do terminal (clear)
  • As linhas 3 e 21 são mensagens para o usuário, informando do começo e do fim da execução do script
  • As linhas 2, 5, 7, 9, 12, 16, 18, 20 e 22 são mensagens ao sistema, que grava no log do sistema a conclusão de cada etapa da atualização do sistema e é exibida a todos os usuários do andamento do processo
  • A linha 4 (sudo apt-get update) atualiza a base de dados de pacotes do sistema apt do Raspbian com os servidores de pacotes Debian
  • A linha 6 (sudo apt-get -y dist-upgrade) atualiza os pacotes Debian do sistema sem pedir confirmação.
  • A linha 8 (sudo rpi-update) executa a rotina de atualização da firmware do Raspberry Pi.
  • As linha 10 e 12 (sudo pip (2/3) install --upgrade pip) atualiza o sistema pip através do repositório de pacotes PyPI. Isto se dá, pois a velocidade das atualizações dos pacotes Python é maior do que a velocidade de atualização dos pecotes Python dentro dos repositórios Debian do sistema
  • As linha 11 e 13 é um comando recursivo (sudo pip (2/3) freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 sudo pip (2/3) install -U --no-cache-dir) que atualiza cada um dos pacotes de software do Python usando o pip. Geralmente esse comando apresenta alguns erros, e também é a tarefa mais demorada de executar
  • A linha 15 (sudo apt-get -y autoremove) remove os pacotes Debian desnecessários ao sistema
  • A linha 17 (sudo apt-get autoclean) tem função parecida com o comando anterior, mas além de desinstalar os pacotes desnecessários, também realiza a exclusão dos dados dos pacotes desinstalados
  • A linha 19 (sudo apt-get clean) apaga os dados temporários usados pelo sistema apt, como por exemplo, os pacotes baixados
Esse é o script de atualização do Raspberry que desenvolvi. Salve o arquivo como updater.sh (ou qualquer nome que te faça lembrar que é um script de atualização) depois no terminal transforme esse script executável no terminal com o comando chmod:
$ chmod +x updater.sh
Para invocar o comando de atualização, na pasta onde o arquivo de script estiver, basta digitar no terminal:
$ ./updater.sh
E a rotina de atualização será iniciada.
Eu sugiro que a execução do script seja feita manualmente, mas também pode agendar a sua execução através do cron.

Atualização: como o Raspberry Pi pode ter instalado tanto o python 2 e o python 3, ou ambos, foram incluídos os comandos pip que atualizam bibliotecas python 3 (pip3). Os números de linha foram atualizados e também os pacotes a serem instalados também, incluindo o logger. Também foram feitas correções no texto e incluído uma descrição para facilitar as buscas (atualizado em 26/11/2017).



Postagens mais visitadas deste blog

Configurando o Raspberry com o raspi-config

Um dos problemas que algumas distribuições Linux possuem é uma ferramenta de configuração unificada que permita fazer ajustes no sistema.O Raspbian possui uma ferramenta de configuração chamada raspi-config. É um menu em modo texto, onde podemos alterar configurações do sistema e do aparelho. Neste artigo, vamos mostrar todas as opções do raspi-config.Para acessar o raspi-config temos que acessar o terminal, ou seja, o Linux em modo texto, e invocamos o comando em modo privilegiado com o sudo:$ sudo raspi-config Irá aparecer a tela a seguir:Para acessar a opção, digite o número ou navegue usando as teclas de seta para cima e para baixo, confirmando a seleção teclando <Enter>. As opções de configuração estão distribuídas  nestas opções iniciais:Change User Password: para alterar a senha do usuário pi Hostname: para alterar o nome do dispositivo para a rede Boot Options: para alterar como será o processo de inicialização. Localisation Options: permite alterar as opções de internaciona…

Acabou a TV analógica? Com o Raspberry Pi, a velha TV ainda funciona!

No dia 29 de março, as transmissões analógicas de televisão foram encerradas na Grande São Paulo. Até 2023, todo o Brasil receberá o sinal de TV aberta apenas por transmissão digital. Mas isso não significa que seu velho televisor se transforme em mobília inútil e forte candidato a ir para o lixo. O Raspberry Pi pode dar uma sobrevida ao aparelho, pois conta com uma saída analógica de áudio e vídeo por meio de cabo RCA.

Se o seu televisor possui entrada auxiliar RCA, basta plugar um cabo RCA na TV, dependendo do modelo de Raspberry Pi que você possua. Para os Raspberry Pi de primeira geração é preciso um adaptador de P2 estéreo para RCA e um cabo AV, ou um cabo P2/RCA com um cabo RCA avulso para o sinal de vídeo. Para os Raspberry Pi de segunda geração é preciso um cabo P2 trifásico para RCA, e em alguns casos, de um adaptador para o plugue triplo. O cabo P2 trifásico é igual ao usado nos fones de celular e geralmente é us ado em filmadoras. 
Se o televisor não possui entrada auxiliar,…

Do Raspbian 8 para o Raspbian 9 sem formatar o Raspberry

Quem já tem um Raspberry Pi com o sistema operacional Raspbian há um certo tempo, pode ter a versão 8 (Jessie) do sistema. Este ano, o Raspbian foi atualizado para a versão 9 (Stretch) do sistema, acompanhando o lançamento da nova versão do Debian, a qual o Raspbian se originou.
Agora o incauto usuário vai perguntar: "Vou ter que fazer o backup dos arquivos e baixar de novo a imagem do sistema atualizado e formatar de novo o cartão SD?"
Não vai precisar, pois é possível fazer o upgrade do sistema operacional fazendo um conjunto de comandos.
Como muitos pacotes de software foram atualizados do Raspbian 8 para o 9, então o processo de atualização, apesar de ser simples, é bastante demorado, podendo levar algumas horinhas para concluir.
O processo se consiste em três etapas: atualizar o software atual, alterar os repositórios APT para apontar para a nova versão do sistema e, por fim, atualizar novamente o software.
Todo esse tutorial será realizado em linha de comando, ou seja,…