我运行apt list --installed
命令并得到以下输出:
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]
为什么unknown
不xenial
从本地存储库更新呢?
这个存储库是什么now
?
答案1
unknown
该unknown
部分来自Debian 存储库文件Suite
中的密钥条目Release
。我认为您生成了本地存储库,但没有正确设置 Release(或InRelease
)文件所需的密钥,这就是apt
显示 的原因unknown
。
例如,典型的标准 Release 文件可能有这些条目(取自 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
查看本节有关 Release 文件格式的更多信息,请参阅 debian wiki。
并检查这本稍旧但却是我最喜欢的指南创建适当的 Ubuntu 本地存储库。
now
now
指的是当前安装的软件包的版本(因此被视为可用)。信息保存在/var/lib/dpkg/status
文件中。我有这些条目apt 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]
如您所见,zsync
有一个now
条目表示它已安装并可用。如果您看不到其他条目,则now
意味着您安装了无法从任何已知存储库重新安装的软件包。
apt policy zsync
这是再次来自同一系统的输出。
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
正如您所见,/var/lib/dpkg/status
它被列为 repo,zsync
这意味着它当前已安装。