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: 2.899 ]

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

Atualizar o macOS no Mac - Opencore Legacy Patcher

Compilação do Kernel

Instalar e configurar o Nftables com exemplos básicos de configurações

Compilação de Kernel

Instalando e Configurando o pgAgent no Linux (pgAdmin e PostgreSQL)

Leitura recomendada

Criando um invejável serviço de backup em CD-R com gravação multi-sessão

LaTeX - Figuras e tabelas

Compilando o KDE 4.0 no Slackware Current

XFCE 4.4 - Desktop alternativo a dupla KDE/Gnome

Monitorando redes e servidores com Nagios

  
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