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,…

Blog no chaveiro

Com o Raspberry Pi Zero, podemos ter em nosso chaveiro um monte de coisas, como por exemplo, um Blog no Wordpress. Como usamos o Raspbian como sistema operacional, que é baseado no Debian, vamos mostrar como fazer um belo de um blog que você pode acessar de qualquer lugar, bastando levar o Raspberry (e teclado, mouse, plaquinha de rede) com você.Primeiro vamos aos ingredientes, digo, o que precisamos para fazer o Blog funcionar.Primeiramente, temos que ter um Raspberry Pi zero com o Raspbian instalado. Iremos fazer o processo por acesso remoto, mas é possível fazer localmente. Basta ter um hub USB com alimentação externa para plugar a interface de rede USB e o teclado e mouse, ligando o aparelho à TV usando a porta mini HDMI.Não importa muito o procedimento, mas é preciso seguir os passos e todos eles serão em linha de comando. Vamos ter de usar o Bash.Primeiro, vamos instalar o Wordpress e seus pacotes necessários:$ sudo apt-get install wordpress wordpress-l10n curl apache2 mysql-ser…