有没有`update`的`apt-get install`的用例?

每次我看到运行apt-get install ,都会说首先运行apt-get updateupgradedist-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的答案及其中的注释 )。