我知道update命令的用途是什么,我只是想知道在执行任何软件包安装之前是否必须使用它。如果我没有更新太长时间并安装了一些关键软件包该怎么办?另外,是否有没有必要这样做的情况?
我知道update命令的用途是什么,我只是想知道在执行任何软件包安装之前是否必须使用它。如果我没有更新太长时间并安装了一些关键软件包该怎么办?另外,是否有没有必要这样做的情况?
Answers:
您的Ubuntu副本具有Ubuntu存储库中软件包列表的私有副本。安装软件包时,请apt-get
阅读列表并确定要下载的软件包的URL(通常包含软件包的版本信息)。
apt-get update
更新软件包列表。如果您在安装之前不执行此操作,则apt-get
可能会抱怨它无法在存储库中找到该软件包,因为它是基于列表的旧版本(列出了旧版本的软件包)计算出URL的。
当然,apt-get update
更改存储库后,这是必需的,因为系统需要下载新存储库的列表。
在升级已安装的软件包之前,这是必不可少的,因为除非存储库具有软件包列表的最新副本,否则系统无法知道该存储库是否具有软件包的新版本。
没有理由apt-get update
在安装软件包之前不运行。但是,如果您知道自从last以来,镜像中没有提供该软件包及其依赖关系的新版本,则没有必要apt-get update
。这种情况的一个特殊情况是,软件包列表是最新的,这是从上次以来的相当短的时间之后apt-get update
;这意味着镜像上的所有软件包都与以前的版本相同。
每当在镜像上升级软件包时,软件包列表都会更改。通常,如果不参考特定问题或错误报告,或者不遵循该Ubuntu版本的开发,就无法预测更改的频率。
*_Packages
在/var/lib/apt/lists/
使用文本编辑器,但是一个通常不与包管理工具更高级的搜索,例如apt-cache show/policy/etc.
在安装软件包之前,您不必绝对使用update命令,但是如果不这样做,则可能会在安装软件包后立即升级。
另外,请记住,您需要定期更新系统。如果不这样做,您的计算机将面临风险(您将没有最新的安全补丁程序)。
如果您仅添加了软件存储库(PPA或Debian存储库),则必须运行apt-get update
以轮询存储库,并从本质上将其中的所有软件包添加到APT的可用软件列表中。否则,APT将无法识别您要求安装的软件包的名称。
通过命令行安装新软件时,更新存储库信息是一个好主意,这样您就不会仅仅因为发现软件过时而安装软件。升级软件也是如此。
如果使用图形化方法分别安装或升级软件(例如Ubuntu Software Center或Update Manager),则这些客户端将自动检查软件包的绝对最新版本。
这就是说,如果您要安装一批软件并在几分钟甚至几小时之前运行了更新,则很可能会获得最新版本。但是,如果您要安装经常更新的软件类型(例如alpha / beta或最新型软件),则需要先运行更新,然后再从该软件的存储库中获取任何内容。