web-dev-qa-db-ja.com

リポジトリの詳細はaptでどのように指定されていますか?

走った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
Arun

unknown

unknownの部分は、DebianリポジトリのSuiteファイルのReleaseキーのエントリから取得されます。リリース(またはInRelease)ファイルに必要なキーを適切に設定せずにローカルリポジトリを生成したと思います。そのため、aptunknownを表示します。

たとえば、一般的な標準リリースファイルには、これらのエントリが含まれている場合があります(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

リリースファイル形式の詳細については、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/statuszsyncのリポジトリとしてリストされていました。これは、現在インストールされていることを意味します。

4
Anwar