当我在终端中安装一些东西时,比如铬,我会输入
sudo apt-get install chromium-browser
Run Code Online (Sandbox Code Playgroud)
终端如何知道这chromium-browser是一个有效的安装包?是否有一些可以安装的所有软件包的列表?它是如何找到包的?
每当您调用get read 中apt-get update包含的存储库时sources.list,这都会告诉 apt-get 从何处获取包列表。该列表被下载并存储以/var/lib/apt/lists备后用。这些是您选择的存储库中可用的所有包的列表。即使您删除了 sources.list,此列表仍可用于 APT。这就是为什么update每次添加/删除/修改存储库时都应该这样做,以保持这些列表更新。
“终端”一无所知。APT 读取所有列表/var/lib/apt/lists并确定包是否可用。如果在任何列表中都没有找到该包,您将获得:
E: Unable to locate package <package>
Run Code Online (Sandbox Code Playgroud)
这从存储库到存储库发生变化。您的活动存储库的本地副本/列表位于/var/lib/apt/lists.
$ sudo apt-get check
Reading package lists... Done
Building dependency tree
Reading state information... DoneRun Code Online (Sandbox Code Playgroud)
感兴趣的线是
Reading package lists... Done
Run Code Online (Sandbox Code Playgroud)
它告诉你 APT 从/var/lib/apt/lists.
| 归档时间: |
|
| 查看次数: |
12669 次 |
| 最近记录: |