编辑:

编辑:

是否有方法或命令可以判断包来自哪个存储库?

答案1

使用以下命令。它有更好的输出:

apt policy <Package Name>

在 Ubuntu 16.04 之前,命令是:

apt-cache policy <Package Name>

答案2

编辑:

查看 SuB回答。看上去简单一点!

原来的:

所需命令:

  • dpkg -s <package>- 允许您找到已安装的版本。(来源
  • apt-cache showpkg <package>- 将显示可用软件包的版本列表。对于每个版本,将以索引文件名的形式提供软件包的来源。

如果要查找当前安装的软件包的来源,则需要 的输出dpkg -s <package>。否则,您可以简单地查看 的最新版本输出apt-cache showpkg <package>

例子:

$ dpkg -s liferea
Package: liferea
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 760
Maintainer: Ubuntu Developers <[email protected]>
Architecture: i386
Version: 1.6.2-1ubuntu6
...

$ apt-cache showpkg liferea
Package: liferea
Versions: 
1.6.2-1ubuntu6.1 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages
                  MD5: 557b0b803b7ed864e6d14df4b02e3d26

1.6.2-1ubuntu6 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages
                  MD5: 557b0b803b7ed864e6d14df4b02e3d26
...

从第一个命令中,我可以看到安装了 Liferea 版本 1.6.2-1ubuntu6。从第二个命令中,我可以看到该版本列在 中/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages

不用费太多力气,我就能推断出源代码行包含archive.ubuntu.comubuntulucid, 和main

果然,我的/etc/apt/sources.list包含下面一行。

deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse

答案3

apt在 Ubuntu 16.04+ 上

除了和 之外apt-cache policy,现在我们有一个更简单、易于记忆的子命令:showpkgshowapt[1] [2](不要与经典混淆apt-*):

apt policy <package> 

或者提供更多信息的替代方案apt show <package>,以“APT 来源:”

描述:此软件包提供命令行工具,用于搜索和管理以及查询有关软件包的信息,以及对 libapt-pkg 库所有功能的低级访问。这包括:apt-get、、、、。apt-cacheapt-cdromapt-configapt-key

警告apt没有稳定的 CLI 界面。在脚本中请谨慎使用。

基本命令来自apt --help

其他也容易记住的子命令:

  • apt list– 根据包名称列出包

  • apt search– 在包描述中搜索

  • apt show– 显示包裹详情

  • apt update– 更新可用软件包列表

  • apt install– 安装软件包

  • apt remove– 删除软件包

  • apt purge– 删除软件包和配置文件

    删除软件包会删除所有软件包数据,但通常会留下一些小的(经过修改的)用户配置文件,以防意外删除。在这种情况下,只需对意外删除的软件包发出安装请求即可恢复其功能。另一方面,即使对已删除的软件包调用 purge 也可以清除这些残留文件。请注意,这不会影响存储在主目录中的任何数据或配置。

    删除残留包

    sudo apt purge $(dpkg -l | grep "^rc" | awk '{print $2}')
    
  • apt upgrade– 通过安装/升级软件包来升级系统

  • apt full-upgrade– 通过删除/安装/升级软件包来升级系统

  • apt edit-sources– 编辑源信息文件

答案4

sudo grep *packagename* /var/lib/apt/lists/* | grep "Filename:"

来源

相关内容