编辑:为避免疑问,这个问题不是关于如何获取包安装的文件列表,如建议的重复一样。
是否有一种标准的方法来找出包裹的用途,这种方法足够详细,以便您可以确定从包裹中可以获得什么以及它是否是您想要的东西?
我将举几个例子来解释我的意思。第一个,postgresql-contrib
是促使我提出这个问题的原因。我遇到过各种 PostgreSQL 安装说明,它们都告诉您除了安装之外还要安装此包postgresql
,但没有以任何有意义的方式解释原因(示例 1,示例 2)。
apt-cache show postgresql-contrib
只给了我一个模糊而笼统的描述:
PostgreSQL 的附加功能(支持的版本) 此元包始终依赖于当前支持的 PostgreSQL 数据库贡献包。
PostgreSQL 是一个功能齐全的对象关系数据库管理系统。它支持大部分 SQL 标准,并设计为可由用户在许多方面进行扩展。其中一些功能包括:ACID 事务、外键、视图、序列、子查询、触发器、用户定义类型和函数、外连接、多版本并发控制。还提供多种编程语言的图形用户界面和绑定。
我所追求的是一个关于安装此软件包后我将获得哪些附加功能的正确描述。
另一个例子是libreoffice-templates
,其中apt-cache show
没有提供任何关于您实际得到的内容的有用信息:
Additional set of templates for LibreOffice
Additional set of templates for:
- LibreOffice Calc spreadsheets
- LibreOffice Writer texts
- LibreOffice Impress presentations
是否存在标准方法来获取比apt-cache show
给出的更详细的信息?
答案1
我们重点关注第一个例子:postgresql-contrib
该元包始终依赖于当前支持的 PostgreSQL 数据库贡献包。
这里的关键词是元包。您将在存储库中找到许多元包实例。元包本身实际上不包含任何内容,因此除了它指向的包之外,没有任何内容需要记录。如果您apt-cache show postgresql-contrib
再次查看提供的信息,您会注意到那里有一行显示:
依赖: postgresql-contrib-9.5
您需要查看的实际文档包含在此包中。以下是 的结果apt-cache show postgresql-contrib-9.5
:
Package: postgresql-contrib-9.5
Priority: optional
Section: database
Installed-Size: 1999
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Debian PostgreSQL Maintainers <[email protected]>
Architecture: amd64
Source: postgresql-9.5
Version: 9.5.6-0ubuntu0.16.04
Depends: postgresql-9.5 (= 9.5.6-0ubuntu0.16.04), libc6 (>= 2.15), libpq5 (>= 9.2~beta3), libselinux1 (>= 2.1.12), libssl1.0.0 (>= 1.0.0), libuuid1 (>= 2.16), libxml2 (>= 2.7.4), libxslt1.1 (>= 1.1.25), zlib1g (>= 1:1.1.4)
Suggests: libdbd-pg-perl
Filename: pool/main/p/postgresql-9.5/postgresql-contrib-9.5_9.5.6-0ubuntu0.16.04_amd64.deb
Size: 446848
MD5sum: a05acc14f59c7d0f98bfc854a90447d7
SHA1: 398b18b8660537ac114eceb1212ff831d911c856
SHA256: 6ef4578df2026a72e9c85715ea112f4077209490beb18e3e715621319d5861f0
Description-en: additional facilities for PostgreSQL
The PostgreSQL contrib package provides several additional features
for the PostgreSQL database. This version is built to work with the
server package postgresql-9.5. contrib often serves as a testbed for
features before they are adopted into PostgreSQL proper:
.
adminpack - File and log manipulation routines, used by pgAdmin
btree_gist - B-Tree indexing using GiST (Generalised Search Tree)
chkpass - An auto-encrypted password datatype
cube - Multidimensional-cube datatype (GiST indexing example)
dblink - Functions to return results from a remote database
earthdistance - Operator for computing the distance (in miles) between
two points on the earth's surface
fuzzystrmatch - Levenshtein, metaphone, and soundex fuzzy string matching
hstore - Store (key, value) pairs
intagg - Integer aggregator/enumerator
_int - Index support for arrays of int4, using GiST (benchmark
needs the libdbd-pg-perl package)
isn - type extensions for ISBN, ISSN, ISMN, EAN13 product numbers
lo - Large Object maintenance
ltree - Tree-like data structures
oid2name - Maps OIDs to table names
pageinspect - Inspection of database pages
passwordcheck - Simple password strength checker
pg_buffercache - Real time queries on the shared buffer cache
pg_freespacemap- Displays the contents of the free space map (FSM)
pg_trgm - Determine the similarity of text based on trigram matching
pg_standby - Create a warm stand-by server
pgbench - TPC-B like benchmark
pgcrypto - Cryptographic functions
pgrowlocks - A function to return row locking information
pgstattuple - Returns the percentage of dead tuples in a table; this
indicates whether a vacuum is required.
postgresql_fdw - foreign data wrapper for PostgreSQL
seg - Confidence-interval datatype (GiST indexing example)
sepgsql - mandatory access control (MAC) based on SELinux
spi - PostgreSQL Server Programming Interface; 4 examples of
its use:
autoinc - A function for implementing AUTOINCREMENT/
IDENTITY
insert_username - function for inserting user names
moddatetime - Update modification timestamps
refint - Functions for implementing referential
integrity (foreign keys). Note that this is
now superseded by built-in referential
integrity.
timetravel - Re-implements in user code the time travel
feature that was removed in 6.3.
tablefunc - examples of functions returning tables
uuid-ossp - UUID generation functions
vacuumlo - Remove orphaned large objects
.
PostgreSQL is an object-relational SQL database management system.
Description-md5: 633a4e0645b2b02e72f77a260d0f4030
Homepage: http://www.postgresql.org/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: postgresql-server
您会注意到实际包的文档更加详细。
答案2
从一般用户的角度来看,他们只是知道一个包的名称,他们的主要信息来源是这是做什么的是检查apt-cache show
命令。我总是这样做。这是权威的官方的发现包意图的方法。就像man
命令了解命令一样。
但是,这不是唯一的方法。当然,还有很多其他方法可以了解软件包。但这些方法并不是一本可以遵循的菜谱式指南。我通常会检查软件包描述的主页。我使用 synaptic 软件包管理,每个软件包描述都有一个链接。这应该会将您带到软件包的主页或(debian 软件包)维护者的页面。
我也用https://packages.ubuntu.com查看内容并找到与该软件包相关的其他链接。您可以从中转到启动板页面,然后找到上游/原始开发人员的链接。如果仍然不确定,您可以联系邮件列表、提问甚至联系开发人员。您可以检查文件列表并查看该软件包包含的内容,然后使用一些搜索来查找它们的作用。
例如,当我postgresql-contrib
在 packages.ubuntu.com 中使用包时,我发现此文件列表。现在,只需使用谷歌搜索即可查看这些命令的作用。例如,搜索pg_archivecleanup
收益这个结果在 google 中。您应该从那里对软件包的用途有一个非常好的总体了解。了解该命令的另一个非常好的方法是使用man
,但如果软件包尚未安装,那么您可能需要使用http://manpages.ubuntu.com/反而。
可能还有其他方法可以找到软件包的用途。Linux 世界中的大多数人都遵循这条路径。话虽如此,如果你问是否有确定的远远超出apt-cache show
,或者apt show
,那么我会说不。Debian 软件包的描述应该是软件包用途的官方和第一个来源。