Introdução
Esse artigo demonstrará como atualizar o endereço do repositório de pacotes APT do Linux embarcado de uma Banana Pi no arquivo etc/apt/sources.list, para possibilitar o download de bibliotecas.
Sumário
- Detalhes do equipamento
- Problema encontrado
- Erro — comando $ sudo apt-get update
- Erro — comando $ sudo apt-get install apache2 php
- O que são pacotes APT do Linux ?
- Como funciona um pacote APT no Linux ?
- O que é o comando $ sudo apt-get update ?
- O que é o comando $ sudo apt-get upgrade ?
- Por que utilizar o comando “sudo”junto com o comando “apt-get”?
- Como resolver o problema de conexão para baixar os pacotes ?
- O que é o arquivo sources.list ?
- Como editar o arquivo sources.list ?
- Referências
Detalhes do equipamento
- Versão de software: Raspbian Stretch kernel 4.4.55 (28/04/2020)
- Versão de hardware: Banana Pi BPI-M2 Zero
Problema encontrado
Após instalar o Linux, é necessário atualizar os pacotes APT. Mas, quando a Banana Pi tentava se conectar com o repositório da distribuição Linux para realizar os downloads, a atualização falhava.
Abaixo serão demonstrados gists com os exemplos de falha.
Erro — comando $ sudo apt-get update
No exemplo acima, a falha de conexão do repositório está indicada nas seguinte linha:
Err:3 http://raspbian.raspberrypi.org/raspbian stretch Release
404 Not Found [IP: 2a00:1098:0:80:1000:75:0:3 80]
Erro — comando $ sudo apt-get install apache2 php
Para resolver esse problema e atualizar o ambiente da Banana Pi, é necessário entender a seguir alguns conceitos básicos.
O que são pacotes APT do Linux ?
A sigla APT significa Advanced Package Tool e compõe o sistema de gerenciamento de pacotes do Linux, utilizado por distribuições baseadas no Debian (como o Ubuntu, Raspbian e etc). [02]
Como funciona um pacote APT no Linux ?
Um pacote APT no Linux é um arquivo que utiliza a extensão .deb, indicando formato de pacote Debian e que contém os seguintes itens:
- Contém um software pronto para ser instalado no Linux;
- Contém as dependências desse software;
- Contém scripts de instalação ou configuração;
- Contém informações de versão, descrição e autor. [02]
O que é o comando $ sudo apt-get update ?
Esse comando apenas atualiza a lista de pacotes disponíveis para a versão de Linux utilizada. E não instala nenhum pacote. [02]
O que é o comando $ sudo apt-get upgrade ?
Esse comando instala todos os pacotes disponíveis que foram listados pelo comando $ apt-get update. [02]
Por que utilizar o comando "sudo" junto com o comando "apt-get" ?
A utilização do comando "sudo" é necessária para possuir os privilégios de administrador (root) na instalação de pacotes. [03]
Como resolver o problema de conexão para baixar os pacotes ?
O problema de conexão ocorreu porque o endereço do repositório da versão Stretch foi alterado. [01]
- URL anterior: http://raspbian.raspberrypi.org/raspbian/
- URL correta: http://legacy.raspbian.org/raspbian/
O prefixo "legacy" na URL atual indica que é um repositório antigo, mantido apenas para compatibilidade com versões antigas do Raspbian.
Além disso, o codinome da versão estável no período de 2017 a 2019 do Debian/Raspbian é Stretch. Então, é uma versão bem antiga. [01]
Para resolver o problema, basta substituir a URL anterior pela URL correta do repositório do Stretch no arquivo /etc/apt/sources.liste enviar os comandos de atualização novamente.
O que é o arquivo sources.list ?
Esse arquivo é fundamental para o sistema de gerenciamento de pacotes APT no Debian e em distribuições baseadas nele (como Ubuntu e Raspbian).
Ele define de onde o sistema deve baixar os pacotes e atualizações. [04]
Como localizar o arquivo sources.list ?
Esse arquivo está no diretório /etc/apt/ e para navegar até lá, basta enviar os comandos abaixo: [04]
# mudar de diretório
$ cd /etc/apt/
# listar arquivos e diretórios
$ ls -la
Como editar o arquivo sources.list ?
Para editar, utilize o nano, que é um editor de texto simples no terminal do Linux. [04]
$ sudo nano sources.list
Adicione um "#" na frente dos repositórios existentes para comentar e depois adicione a linha abaixo:
deb http://legacy.raspbian.org/raspbian/ stretch main contrib non-free rpi
Após adicionar a nova URL, siga as seguintes etapas:
- Presione CTRL + O para salvar o arquivo
- Pressione ENTER para salvar com o mesmo nome atual (sources.list)
- Pressione CTRL + X para sair do editor
Para conferir que o arquivo foi modificado e salvo corretamente, leia o conteúdo utilizando o comando cat:
$ cat sources.list
Localizando o arquivo sources.list no Linux e editando no Nano
Editando arquivo sources.list no Nano do Linux para adicionar a nova URL do repositório de pacotes APT — [05]
Localizando o arquivo source.list, editando no Nano e conferindo se foi alterado — [02]
Depois de atualizar o arquivo sources.list, para atualizar o sistema Linux e baixar os pacotes APT atualizados, basta enviar os comandos de atualização novamente. [01]
$ sudo apt-get update
$ sudo apt-get upgrade
Na Banana Pi utilizada, seguindo as etapas acima, foram atualizados 319 pacotes com sucesso, conforme imagem abaixo:
Atualização de 319 pacotes com sucesso na Banana Pi — [02]
Para validar a correção, o apache2 foi instalado.
Instalação do Apache na Banana Pi — [02]
Status do Apache na Banana Pi — [02]
Referências
01 — Fórum Raspberry Pi — Repository for … stretch Release “does not have a Release File”
02 — Documentação Debian — comando apt-get
03 — Documentação Debian — comando sudo
04 — Documentação Debian — arquivo /etc/apt/sources.list
05 — Documentação Debian — editor de texto Nano
Ficou alguma dúvida ou tem sugestões?
Comente aqui embaixo ou me chame em alguma das minhas redes.
Valeu! ✌🏻
Top comments (0)