Como os detalhes do repositório são especificados no apt?

Como os detalhes do repositório são especificados no apt?

Executei apt list --installedo comando e obtive esta saída:

xterm/xenial,now 322-1ubuntu1 amd64 [installed]
xul-ext-ubufox/xenial,now 3.2-0ubuntu1 all [installed]
xz-utils/xenial,now 5.1.1alpha+20120614-2ubuntu2 amd64 [installed]
yelp/xenial,now 3.18.1-1ubuntu4 amd64 [installed]
yelp-xsl/xenial,now 3.18.1-1 all [installed]
zeitgeist-core/xenial,now 0.9.16-0ubuntu4 amd64 [installed]
zeitgeist-datahub/xenial,now 0.9.16-0ubuntu4 amd64 [installed]
zenity/xenial,now 3.18.1.1-1ubuntu2 amd64 [installed]
zenity-common/xenial,now 3.18.1.1-1ubuntu2 all [installed]
zip/xenial,now 3.0-11 amd64 [installed]
zlib1g/unknown,xenial-updates,now 1:1.2.8.dfsg-2ubuntu4.1 amd64 [installed]

Por que unknownem vez de xenialquando atualizado a partir do repositório local?

O que é esse nowrepositório?

Responder1

unknown

A unknownparte vem da entrada para Suitechave no Releasearquivo de um repositório Debian. Acho que você gerou um repositório local sem definir corretamente as chaves necessárias para o InReleasearquivo Release (ou) e é por isso que aptmostra unknown.

Por exemplo, um arquivo Release padrão típico pode ter essas entradas (retiradas do arquivo do repositório oficial do Ubuntu InRelease)

Origin: Ubuntu
Label: Ubuntu
Suite: zesty
Version: 17.04
Codename: zesty
Date: Wed, 12 Apr 2017  2:53:23 UTC
Architectures: amd64 arm64 armhf i386 ppc64el s390x

Verificaresta seçãodo wiki debian para obter mais informações sobre o formato do arquivo Release.

E verifiqueeste é um pouco antigo, mas meu guia favoritopara criar um repositório local Ubuntu adequado.

now

nowrefere-se à versão do pacote atualmente instalado (e, portanto, considerado disponível). As informações são mantidas em /var/lib/dpkg/statusarquivo. Eu tenho essas entradas emapt list --installed

zlib1g/zesty,now 1:1.2.11.dfsg-0ubuntu1 amd64 [installed]
zlib1g-dev/ubuntu-local,zesty,now 1:1.2.11.dfsg-0ubuntu1 amd64 [installed,automatic]
zsync/zesty,now 0.6.2-2ubuntu1 amd64 [installed]

Como você pode ver, zsyncpossui uma nowentrada que significa que está instalado e disponível como tal. Se você não vir nenhuma outra entrada, nowisso significa que você tem um pacote instalado que não está disponível para reinstalar a partir de nenhum repositório conhecido.

Aqui está a saída apt policy zsyncnovamente do mesmo sistema.

zsync:
  Installed: 0.6.2-2ubuntu1
  Candidate: 0.6.2-2ubuntu1
  Version table:
 *** 0.6.2-2ubuntu1 500
        500 http://bd.archive.ubuntu.com/ubuntu zesty/universe amd64 Packages
        100 /var/lib/dpkg/status
     0.6.2-1ubuntu1 500
        500 file:/mnt/Data/Software/Linux/Debian_Packages/xenial_debs2  Packages

Como você pode ver, /var/lib/dpkg/statusfoi listado como um repositório, zsynco que significa que está instalado no momento.

informação relacionada