Como funciona a sugestão do apt-get?

2

Minha pergunta está relacionada ao recurso de sugestão do apt-get. Quando inserimos algum nome de pacote errado, o apt-get sugere algum nome de pacote similar. Então o apt-get armazena a lista de nomes de todos os pacotes e bibliotecas disponíveis no repositório localmente? E quando fazemos "sudo apt-get update" depois de adicionar algum repositório de terceiros, ele atualiza o arquivo com a lista de nomes.

    
por Sawan 10.09.2015 / 21:57

2 respostas

0

apt não apenas armazena os nomes de todos os pacotes disponíveis em todos os seus repositórios ativados, mas armazena muitas informações em torno disso!

Você pode visualizar suas listas com qualquer editor, pois são arquivos de texto simples. Basta navegar no diretório

/var/lib/apt/lists

na sua máquina local. Cada arquivo representa um repositório, o nome do arquivo consites geralmente do endereço, distribuição, seção e arquitetura do repositório. Alguns exemplos de nomes de arquivos:

archive.canonical.com_ubuntu_dists_vivid_partner_binary-i386_Packages
archive.canonical.com_ubuntu_dists_vivid_partner_i18n_Translation-en
ftp-stud.hs-esslingen.de_ubuntu_dists_vivid_main_binary-i386_Packages
ppa.launchpad.net_libreoffice_ppa_ubuntu_dists_vivid_Release

Observe que, se um nome de arquivo terminar com .gpg , não será um arquivo de índice de pacote sobre uma chave GPG usada para verificar o pacote.

Esses arquivos de índice contêm basicamente uma lista de todos os pacotes disponíveis no repositório que ele representa. Cada entrada de pacote tem uma estrutura mais ou menos parecida com o seguinte trecho de exemplo do meu ftp-stud.hs-esslingen.de_ubuntu_dists_vivid_main_binary-i386_Packages . Os campos de dados contidos podem variar por pacote, pois muitos deles são opcionais.

Package: apt
Priority: important
Section: admin
Installed-Size: 3743
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: APT Development Team <[email protected]>
Architecture: i386
Version: 1.0.9.7ubuntu4
Replaces: manpages-it (<< 2.80-4~), manpages-pl (<< 20060617-3~), openjdk-6-jdk (<< 6b24-1.11-0ubuntu1~), sun-java5-jdk (>> 0), sun-java6-jdk (>> 0)
Depends: libapt-pkg4.12 (>= 1.0.9.7ubuntu4), libc6 (>= 2.15), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.9), ubuntu-keyring, gnupg
Suggests: aptitude | synaptic | wajig, dpkg-dev (>= 1.17.2), apt-doc, python-apt
Conflicts: python-apt (<< 0.7.93.2~)
Breaks: manpages-it (<< 2.80-4~), manpages-pl (<< 20060617-3~), openjdk-6-jdk (<< 6b24-1.11-0ubuntu1~), sun-java5-jdk (>> 0), sun-java6-jdk (>> 0)
Filename: pool/main/a/apt/apt_1.0.9.7ubuntu4_i386.deb
Size: 1007526
MD5sum: bae83438d0e7650003c06cd07fa315d9
SHA1: 8db49e516b515be90149ec7292abb2b7c496efb8
SHA256: 3461fc57d9d2389bb50927ce2f5341b6a8680a1c4f00b699391ee58fead04779
Description: commandline package manager
Description-md5: 9fb97a88cb7383934ef963352b53b4a7
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Build-Essential: yes
Origin: Ubuntu
Supported: 9m
Task: minimal

Just FYI:
Se você quer forçar o apt a reler completamente todos os seus índices de pacotes, você pode deletar o conteúdo desta pasta e deixar o apt-get baixar os arquivos novamente depois. Observe que, dependendo da velocidade da sua conexão com a Internet, isso pode levar alguns minutos, já que essa pasta pode facilmente ocupar cerca de 100 MB de espaço em disco ...

sudo rm -r /var/lib/apt/lists/ && sudo apt-get update
    
por Byte Commander 11.09.2015 / 11:11
0

Sim, todos os pacotes disponíveis são armazenados localmente e

sudo apt-get update

atualiza essa lista.

    
por Pilot6 10.09.2015 / 22:19