Eu já falei sobre como instalar o Wordpress no Raspberry Pi Zero, para ter um blogue para chamar de seu e guardar no bolso. Este artigo é uma continuação do artigo Blog no Chaveiro , que você pode conferir aqui . Porém tem muita gente que torce o nariz quando se instala o Wordpress usando o repositório Debian (no caso o Raspbian) por algumas razões, como: Suporte a atualização do sistema Wordpress prejudicado. Necessidade de instalação manual (usando esse procedimento aqui: https://wiki.debian.org/WordPress ) Esse procedimento tem falhas e o site pode apresentar funcionamento inadequado. Ao instalar o MariaDB, o há um problema de acesso com o usuário root, saiba mais aqui . Por ser trabalhoso, muitos blogs recomendam a instalação manual, sem usar o pacote fornecido pela distribuição. A atualização de plugins e temas fica prejudicada, pois o sistema não consegue gravar os dados na pasta correta, que é virtualizada pelo servidor Apache, gerando erros de atualização e exclusão. Por o...
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).
Atualização 2: foi atualizado o script de atualização com mais recursos. Clique aqui, e conheça a versão atualizada (atualizado em 16/05/2020).
Comentários
Postar um comentário