Como utilizar de forma correta os repositórios e pacotes Backports

Veremos como utilizar de forma correta os repositórios e pacotes Backports, uma explicação sobre Backporting, numeração básica de versões (inclusive do Kernel Linux) e alguns comandos úteis para listar pacotes do sistema.

[ Hits: 3.519 ]

Por: Buckminster em 19/01/2024


Comandos



As instruções a seguir serão para o Debian em sua maioria, mas podem servir, com algumas adaptações, para outras distribuições.

Primeiro acrescente o repositório do backport no arquivo de repositórios da tua distribuição, aqui no Debian é /etc/apt/sources.list:
(Na sua distribuição você pode utilizar o gerenciador gráfico de pacotes, por exemplo, Synaptic, Yast, Pamac, etc, para ver os backports, se tiver)

sudo vim /etc/apt/sources.list #usei o vim, use o teu editor de texto preferido.

Exemplo para o Debian 12 Bookworm:

deb http://deb.debian.org/debian bookworm-backports main contrib non-free-firmware
deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free-firmware

Debian 11 Bullseye:

deb http://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free

Pode-se usar o terminal sem entrar no arquivo:

sudo echo 'deb http://deb.debian.org/debian bullseye-backports main contrib non-free' >> /etc/apt/sources.list

ATENÇÃO: Aconselha-se a deixarem comentados os repositórios backports (com uma # no início da linha) e somente descomentar quando for usá-los para algum pacote específico, evitando assim que se faça update/upgrade de backports instáveis. A linha deb-src está ali a título de curiosidade, mas não se faz necessária, pois a única função dela é baixar os fontes dos pacotes e isto é útil somente se você for um desenvolvedor que sabe o que está fazendo.

De acordo com a página oficial: "Deb-src indica pacotes fonte, que são os fontes originais do programa mais o arquivo de controle Debian (.dsc) e o diff.gz contendo as mudanças necessárias para empacotar o programa." É útil também se você for desempacotar e/ou empacotar um pacote .deb, com o DPKG por exemplo.

Para usar especificamente um pacote backport, um programa, uma biblioteca, um aplicativo, etc, faz-se o seguinte:

# apt install /bullseye-backports
# apt-get install /bullseye-backports

ou

# apt install -t bookworm-backports
# apt-get install -t bookworm-backports

ou

# aptitude install /bookworm-backports

Exemplo:

# apt install apache2/bookworm-backports
# apt-get install apache2/bullseye-backports
# apt install -t bullseye-backports bind9
# apt-get install -t bookworm-backports nftables
# aptitude install squid/bookworm-backports

Prefira o formato apt/apt-get/aptitude install /bookworm-backports porque a saída de informações, caso não tenha o pacote, é mais amigável em relação ao formato com -t.

Descomente a linha, instale o pacote desejado e comente a linha backport novamente.

***Evite executar update e/ou upgrade no sistema com os backports descomentados***

A Equipe Debian Backports mantêm um subconjunto de pacotes oriundos da próxima versão do Debian, ajustados e recompilados para uso na versão estável atual do Debian; isso acontece na esmagadora maioria das distribuições que usam Backports.

Você pode descomentar os backports e executar um install normal (apt/apt-get/aptitude install pacote) sem definir, por exemplo, pacote/bookworm-backports; porém, o comando instalará o pacote do primeiro repositório que encontrar o pacote e pode acontecer de baixar pacotes backports além do desejado. Para evitar isso, você pode colocar somente um repositório backport no arquivo de repositórios e deixá-lo comentado e somente descomentar quando precisar instalar um determinado pacote que não é encontrado nos outros repositórios.

Comandos

O comando abaixo lista pacotes instalados que não foram originados do Debian:

# apt list '?narrow(?installed, ?not(?origin(Debian)))'

  • ?narrow(filtro, padrão) - Seleciona pacotes que correspondam ao filtro e ao padrão.
  • ?or(padrão, padrão) - Corresponde a qualquer um dos padrões ou a ambos.
  • ?origin(padrão) - Seleciona pacotes com determinada origem.
  • ?obsolete - Corresponde aos pacotes instalados que não podem ser baixados.
  • ?installed - Seleciona os pacotes instalados.
  • ?not(padrão) ou ! - Seleciona qualquer pacote que não corresponda ao padrão.

O comando abaixo lista pacotes instalados de origem do Debian:

# apt list '?narrow(?installed, ?or(?origin(Debian)))'

O comando abaixo lista pacotes instalados que não foram originados de nenhum sources.list ou que não puderam ser baixados:

# apt list '?narrow(?or(!?origin(Debian), ?obsolete), ?installed)'

Instalando o apt-show:

sudo apt install apt-show-versions

O comando abaixo lista pacotes sem uma versão em nenhum repositório ou que tem uma versão superior às dos repositórios:

apt-show-versions | grep -e 'No available version' -e 'newer than version'

E temos o aptitude que também é excelente:

sudo apt install aptitude

Procura por pacotes instalados que não sejam estáveis:

aptitude search '?narrow(?installed, !?archive(stable))'

Procura por pacotes instalados a partir de versões de testes (assumindo que você tenha listas de fontes com repositórios estáveis (stable) e de teste (testing)):

aptitude search '?narrow(?installed, ?archive(testing) !?archive(stable))'

Listando pacotes de componentes contrib, non-free (não-livres) e non-free-firmware instalados:

aptitude search '~i ?section(non-free)'
aptitude search '~i ?section(contrib)'
aptitude search '~i ?section(non-free-firmware)'

Uma boa prática em relação ao Debian é usar:

# apt/apt-get/aptitude update
# aptitude safe-upgrade

O comando abaixo tem uma funcionalidade que atualizará tantos pacotes quantos puder, sem remover os pacotes existentes. Às vezes é necessário remover um pacote para atualizar outro; o comando safe-upgrade não é capaz de atualizar pacotes em tais situações.

# aptitude safe-upgrade

Use o comando abaixo para atualizar todos os pacotes, porém é mais agressivo na solução de problemas de dependências: o full-upgrade instalará e removerá pacotes até que todas as dependências estejam satisfeitas. Devido à natureza deste comando é possível que ele faça coisas indesejáveis e, portanto, você deve ter cuidado ao usá-lo.

# aptitude full-upgrade

Particularmente, sempre utilizo apt-get update seguido de aptitude safe-upgrade quando necessário. E em caso de fazer upgrade de uma versão de sistema para outra, por exemplo, diretamente do Debian 11 para o 12 prefira o seguinte procedimento: https://www.vivaolinux.com.br/dica/Atualizando-Debian-11-para-Debian-12/

Ao digitar somente

aptitude

No Debian (com o aptitude instalado) aparecerá uma janela que mostra a quantidade de nNvos pacotes, Pacotes instalados, Pacotes não instalados, Pacotes obsoletos e criados localmente, Pacotes virtuais e Tarefas. É só ir selecionando com as setas de direção cada uma das opções que expandirá/aparecerá embaixo a explicação necessária. Para sair da janela digite a letra q.

Toda distribuição tem seus comandos específicos, basta você procurar no site oficial da sua distribuição. Como exemplo deixarei aqui alguns comandos do OpenSuse:

1) Encontre os pacotes instalados, que vêm de repositórios de distribuição que não são do openSUSE:

zypper search -s | grep "i |" | grep -vi "| patch" | grep -vi "| opensuse" > list1.txt

2) Encontre os pacotes que estão disponíveis nos repositórios OpenSuse (não importa se estão instalados ou não):

zypper search -s | grep "v |" | grep -vi "| patch" | grep -i "| opensuse" > list2.txt

Também pode-se usar:

zypper pa -i
zypper pa --orphaned
zypper pa -i | grep @System

Como já dito, toda distribuição tem seus comandos, basta procurar no site oficial da sua distribuição ou você pode utilizar a interface gráfica do gerenciador de pacotes da sua distribuição.

No Debian geralmente para corrigir o famoso "Impossível corrigir problemas, você manteve (hold) pacotes quebrados." deve-se executar essa sequência de comandos:

sudo dpkg --configure -a
sudo apt-get -f install
sudo apt-get -f remove
sudo apt-get autoremove
sudo apt-get --fix-broken install
sudo apt-get autoclean
sudo apt-get update

E ainda assim às vezes não resolve, mas na esmagadora maioria dos casos resolve.

Para maiores informações sobre backports e backporting veja as referências abaixo onde você encontra instruções até para criar seus próprios backports:
Backports:


Página anterior    

Páginas do artigo
   1. Backport e Backporting
   2. Comandos
Outros artigos deste autor

Instalação do PostgreSQL com Apache 2, PHP 5, OpenSSL no Debian Wheezy 7.7 64 bits com systemd e chroot

Compilação de Kernel

Instalar Minecraft, League of Legends e Fortnite no Linux

Montagem de Cluster

Instalação do PAP (PostgreSL, Apache2 e PHP7) no Debian Jessie

Leitura recomendada

Fãs do pinguim, vamos à luta!

Logrotate, uma importante ferramenta de administração dos logs do sistema

Implementando Wake Up on Lan (WoL) no Linux

Faça um incrível espetáculo de efeitos visuais com vídeo em tempo real

Vamos testar esse tal de Linux?

  
Comentários
[1] Comentário enviado por maurixnovatrento em 20/01/2024 - 13:24h


Ótimo artigo.

___________________________________________________________
https://www.youtube.com/@LinuxDicasPro
https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts