我想知道sudo apt-get update
是什么?
它更新了什么?
答案1
简而言之,apt-get update
它实际上并不安装新版本的软件。相反,它会更新需要升级的软件包的升级包列表,以及刚刚进入存储库的新软件包。
apt-get update
从存储库下载软件包列表并“更新”它们以获取有关软件包及其依赖项的最新版本的信息。它将对所有存储库和 PPA 执行此操作。从http://linux.die.net/man/8/apt-get:用于从源重新同步软件包索引文件。可用软件包的索引从
/etc/apt/sources.list
(5) 中指定的位置获取。应始终在升级或 dist-upgrade 之前执行更新。apt-get upgrade
如果 APT 通过 知道这些新版本,它将获取机器上现有的软件包的新版本apt-get update
。从http://linux.die.net/man/8/apt-get:
用于从 (5) 中列举的源安装系统中当前安装的所有软件包的最新版本
/etc/apt/sources.list
。检索并升级当前安装且有新版本可用的软件包;在任何情况下都不会删除当前安装的软件包,也不会检索和安装尚未安装的软件包。当前安装的软件包的新版本如果不改变另一个软件包的安装状态就无法升级,将保留其当前版本。[重点是我的]必须首先执行更新,以便 apt-get 知道有新版本的软件包可用。apt-get dist-upgrade
(相当于apt
full-upgrade
) 将执行 所做的相同工作apt-get upgrade
,此外它还将智能地处理依赖项,因此它可能会删除过时的软件包或添加新的软件包。请参见此处:什么是“dist-upgrade”,为什么它比“upgrade”升级得更多?从http://linux.die.net/man/8/apt-get:
除了执行升级功能外,此选项还可以智能地处理软件包新版本依赖关系的变化;apt-get 有一个“智能”冲突解决系统,如果有必要,它会尝试升级最重要的软件包,而牺牲不太重要的软件包。
/etc/apt/sources.list
(5) 文件包含可从中检索所需软件包文件的位置列表。另请参阅 apt_preferences(5) 以了解覆盖单个软件包常规设置的机制。
您可以将命令组合&&
如下:
sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg
或者根据依赖项的版本要求获取最新版本:
sudo apt-get update && sudo apt-get dist-upgrade
您需要sudo
两次输入,但由于sudo
默认情况下自上次操作后 5 分钟左右不会提示您sudo
,因此只会提示您输入一次密码(或根本不提示)。
答案2
Google 搜索可以为您提供几乎所有终端命令的定义,就像终端中的 --help 一样。例如,
apt-get --help
sudo apt-get update
主要有三个部分:
sudo
使用超级用户 (root) 权限执行以下命令。许多需要修改系统文件或安装应用程序的操作都需要额外的权限才能完成。
apt-get
是 Ubuntu 用于安装、删除和管理软件包的命令行工具
update
是 apt-get 程序使用的选项,用于从互联网上的服务器更新软件包列表。软件包列表为 apt-get 实用程序提供了有关可以使用 apt-get 安装的软件包的重要信息。apt-get 使用这些列表来确定在给出安装命令时要安装哪些软件。例如
sudo apt-get install guake
会安装 Guake 终端,因为它目前列在我电脑的本地软件列表中。但这可能不是合适的版本,或者如果程序是新的,它可能根本不可用。因此,当使用 apt-get 安装软件时,您通常会输入
sudo apt-get update
sudo apt-get install <package>
确保 apt-get 知道安装最新版本的软件包。
另一个有用的信息来源是help.ubuntu.com
网站。例如,如果你在网站上搜索,apt-get
你会发现AptGet/操作方法作为结果之一。
答案3
运行sudo apt-get update
只是确保来自所有存储库和 PPA 的软件包列表是最新的。如果不运行此命令,您可能会获得正在安装的各种软件包的旧版本,或者更糟的是,依赖性问题。如果您刚刚添加了 PPA 并且尚未更新,则 PPA 中的任何内容都无法正常工作,因为您没有来自该 PPA 或存储库的软件包列表。
简而言之:高度建议在安装前运行sudo apt-get update
,但它如果你真的时间紧迫,可以跳过除非您自上次之后更改了存储库或 PPA apt-get update
。
答案4
您需要apt-get update
在安装新包之前运行一次,因为这会更新本地存储库信息。
如果您要在彼此之后不久安装多个软件包,则不需要apt-get update
在每次安装之前运行;只需在第一次安装之前运行一次。
另外,如果您键入,您可以一次安装多个包 ,但是在安装多个包之前sudo apt-get install package1 package2...
您仍然需要运行。apt-get update