有没有`update`的`apt-get install`的用例?
每次我看到运行apt-get install
,都会说首先运行apt-get update
。 upgrade
和dist-upgrade
。
为什么不自动安装update
? 有没有你不想要的情况?
apt-get update
更新可用包列表及其版本号。
您正在搜索的用例可能是:如果您想在短时间内运行apt-get install
两次,则只需运行apt-get update
一次,因为在此期间不太可能更改包列表。
如其他答案中所述, apt-get update
更新可用包的列表。 因此,除非可用包的列表发生变化,否则它只是浪费时间和(并不多)带宽。
你经常在apt-get install
之前看到apt-get update
的原因是双重的:
- 通常这是在添加PPA或其他包源的情况下; 在这种情况下,您显然需要更新可用包列表,因为您所做的第一件事就是添加到可用包列表中。
- 在发展期间,档案变化很快; 在一天中可以对包列表进行数百次更改,因此首先
apt-get update
通常是有意义的,因此您不会尝试下载不再可用的版本。 一旦发布发行版,变化的数量急剧下降 – 通常每周不超过一对。 在这种情况下,在安装之前运行apt-get update
没有什么意义。
除了最近运行sudo apt-get update
,还有一些其他情况你可能决定在运行sudo apt-get install ...
之前不运行它sudo apt-get install ...
:
- 您正在从已配置的本地软件源安装软件,例如CD / DVD或USB闪存驱动器,其中已刻录/写入Ubuntu ISO。
-
你知道你有本地缓存的软件包(在
/var/cache/apt/archives
),要么是之前安装的,要么是运行sudo apt-get --download-only install ...
,然后你想从那里安装而不是下载它。(也许您希望对该版本执行某些操作,即使它不是最新版本,或者您的Internet连接速度很慢,或者您没有连接到Internet。)
-
您知道没有更高版本的软件包可用。 例如, Ubuntu中
nano
的Launchpad页面显示只有“发布”版本可用 – “安全”或“更新”或“建议”中没有任何内容。 (相比之下,你可以看到Ubuntu中的firefox
确实有这样的更新。) -
您希望节省时间,即使存在可能安装比推荐版本更旧的软件包的风险,甚至安装失败,因为您的系统要安装的软件包不再可用,或者列为不再具有依赖性可用,或与您系统上已有的某些较新软件冲突。
如果您的系统配置为自动检查更新并且全天候连接到Internet,则可能会将此风险视为低到足以放弃在大多数时间手动运行
sudo apt-get update
(请参阅RAOF的答案及其中的注释 )。