我何时以及为什么要使用apt-get update?

weixin_38059644 2019-09-12 12:42:57
一般问题: 有人可以解释apt-get update命令的作用以及何时应该使用它? 备注 请详细解答.不只是手册页的副本,除非您的版本非常详细(我在下面的手册页中添加了一个定义). apt-get update: Used to re-synchronize the package index files from their sources. The indexes of available packages are fetched from the location(s) specified in /etc/apt/sources.list(5). An update should always be performed before an upgrade or dist-upgrade. 子问题: >哪里存储包索引?在数据库上?在一个文件?>如果我在不更新缓存的情况下进行apt-get安装会发生什么?是否有可能远程包不再存在并且链接将被破坏?>是否有一些关于deb存储库的商定政策?例如,存储库是否应仅包含软件包的最新版本,或者相反,它是否包含可用于特定分发版本的所有版本? 上下文 我问我的问题是因为我正在研究Docker framework.它的一个功能是Dockerfile,它允许你通过执行这个文件中的一些指令来构建一种操作系统映像.该图像的一个属性是它应该始终是相同的,无论上下文是什么(构建时间等). 我担心如果我在不同的时间启动apt-get update命令,结果会有所不同,所以我的图像会有所不同.
...全文
448 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38075050 2019-09-12
  • 打赏
  • 举报
回复 1
apt-get update下载可用包列表. 包列表可能会随时间而变化.添加了新包,并删除了旧包.因此,如果您有一个非常旧的缓存,并且尝试进行apt-get安装,它可能会尝试下载不再存在的包.旧包保存在存储库中的时间取决于repo维护者(您的发行版).因此,如果你使用像docker这样的东西,缓存可能已经过时,你应该在安装任何软件包之前运行apt-get update. 删除和添加包的原因主要是错误修复&安全更新.虽然如果你像PPA一样使用第三方回购,那么任何事情都会发生. 在企业环境中使用docker之类的东西进行容器化时,您应该构建一次容器,然后将该容器移动到各种发布环境(开发,登台,生产),而不是每次都重建容器.这将确保您没有获得未经过测试的其他容器. 要回答缓存文件所在位置的问题,/ var / lib / apt / lists.

473

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧