apt-get update ,upgarde 和dist-upgrade 的区别

#sudo apt-get update 获得最近的软件包的列表;列表中包含一些包的信息,比如这个包是否更新过
#sudo apt-get dist-upgrade 如果这个包没有发布更新,就不管它;如果发布了更新,就把包下载到电脑上,并安装。

apt-get update 指令会同步使用者端和APT 伺服器的RPM 索引清单(package list),APT 伺服器的RPM 索引清单置于base 资料夹内,使用者端电脑取得base 资料夹内的bz2 RPM 索引清单压缩档后,会将其解压置放于/var/state/apt/lists/,而使用者使用apt-get install 或apt-get dist-upgrade 指令的时候,就会将这个资料夹内的资料和使用者端电脑内的RPM 资料库比对,如此一来就可以知道那些RPM 已安装、未安装、或是可以升级的。

这里提一下apt-get upgrade 与apt-get dist-upgrade的关系
由于包与包之间存在各种依赖关系。upgrade只是简单的更新包,不管这些依赖,它不和添加包,或是删除包。而dist-upgrade可以根据依赖关系的变化,添加包,删除包。

一般在运行upgrade或dist-upgrade之前,要运行update.

但是常常有人会问, upgrade和dist-upgrade有何不同,仔细查查,似乎大家对upgrade和dist-upgrade的解释都有点不同,在此也纪录自己的看法.

我认为apt-get upgrade和dist-upgrade的差别:

upgrade:系统将现有的Package升级,如果有相依性的问题,而此相依性需要安装其它新的Package或影响到其它Package的相依性时,此Package就不会被升级,会保留下来.

dist-upgrade:可以聪明的解决相依性的问题,如果有相依性问题,需要安装/移除新的Package,就会试着去安装/移除它. (所以通常这个会被认为是有点风险的升级)

apt-get upgrade 和 apt-get dist-upgrade 本质上是没有什么不同的。

只不过,dist-upgrade 会识别出当依赖关系改变的情形并作出处理,而upgrade对此情形不处理。

例如软件包 a 原先依赖 b c d,但是在源里面可能已经升级了,现在是 a 依赖 b c e。这种情况下,dist-upgrade 会删除 d 安装 e,并把 a 软件包升级,而 upgrade 会认为依赖关系改变而拒绝升级 a 软件包。

时间: 2024-11-06 17:45:05

apt-get update ,upgarde 和dist-upgrade 的区别的相关文章

apt-get updete以及apt-get upgrade的区别

You should first run update, then upgrade. Neither of them automatically runs the other. apt-get update updates the list of available packages and their versions, but it does not install or upgrade any packages. apt-get upgrade actually installs newe

Hibernate update 和 merge 、saveOrUpdate的区别

this.getSession().update(obj); this.getSession().merge(obj); this.getSession().saveOrUpdate(obj); 1. update 和 merge的区别 首先在执行更新操作的时候,两者都必须要有id update是直接执行update 语句,执行后状态为持久化状态 而merge则不一样: 1. 如果session中有与之对应的对象,也就是主键相同,则会把要保存的obj的值copy给session中的对象,然后up

apt-get的install、update、upgrade的区别

sudo apt-get -f install  //修复依赖关系 apt-get -f install=apt-get install -f ,是修复依赖关系(depends)的命令,就是假如你的系统上有某个package不满足依赖条件,这个命令就会自动修复,安装那个package依赖的package.-f参数为--fix-broken的简写形式,-f参数的主要作用是是修复依赖关系(depends) sudo apt-get update  //更新软件列表 在UBUNTU下,我们维护一个源列

sudo apt get update时的问题

原文地址:https://www.cnblogs.com/zxzmnh/p/11823022.html

hibernate的update、merge和saveOrUpdate的区别(转)

1.首先 saveOrUpdate返回void 也就是什么都不返回 而merge会返回一个对象 2.其次 saveOrUpdate的做法是:自动判断该对象是否曾经持久化过,如果曾持久化过则使用update操作 否则save操作,merge 在执行session.merge(a)代码后,a对象仍然不是持久化状态,a对象仍然不会被关联到Session上 而update会持久化对象 1.pojo对象中有属性为null时,使用merge不更新数据库,使用saveOrUpdate更新数据库. 使用save

Unity中Update,FixedUpdate,LateUpdate的区别

void FixedUpdate () 固定更新 void Update () 更新 void LateUpdate() 晚于更新 FixedUpdate () 和 Update () 同:当MonoBehaviour启用时,其在每一帧被调用.都是用来更新的 异:Update()每一帧的时间不固定,即第一帧与第二帧的时间t1和第三帧与第四帧的时间t2不一定相同.FixedUpdate()每帧与每帧之间相差的时间是固定的. Update受当前渲染的物体影响,这与当前场景中正在被渲染的物体有关(比如

ubuntu14.04LTS下搭建NS2实验环境

从网上找了很多资料,有的不全,有的忽略了一些点,在此总结一下,也作为自己的笔记了 一:VMware12+XUbuntu14.04LTS+ns?-allinone-2.35(vmware和xubuntu网上比较容易下载,ns的在官网(http://www.isi.edu/nsnam/ns/ns-build.html) 二:?可以在windous下解压好ns-allinone-2.35,讲解压好的ns-allinone-2.35放在user(即你自己的个人账户目录之下/home/user/ns-al

我的LINUX之路----linux目录文件管理

与目录相关的几个命令: mkdir 创建目录 -p 级联创建,例如:在/root目录下,创建11目录,mkdir 11 ,可以创建成功,但要是创建多层目录,比如说,想创建11/22/33/44,此时,mkdir 11/22/33/44 会提示无法创建,这是因为父目录没创建哪来的子目录,就好比,没爸爸哪来的儿子呀! [[email protected] ~]# mkdir 11/22/33/44 mkdir: 无法创建目录"11/22/33/44": 没有那个文件或目录 怎么办,加上个

【转】ubuntu sudo update与upgrade的作用及区别

本文转自http://www.baiyuxiong.com/?p=529 入门linux的同志,刚开始最迫切想知道的,大概一个是中文输入法,另一个就是怎么安装软件.本文主要讲一下LINUX安装软件方面的特点.在windows下安装软件,我们只需要有EXE文件,然后双击,下一步直接OK就可以了.但在LINUX下,不是这样的.每个LINUX的发行版,比如UBUNTU,都会维护一个自己的软件仓库,我们常用的几乎所有软件都在这里面.这里面的软件绝对安全,而且绝对的能正常安装.那我们要怎么安装呢?在UBU

ubuntu sudo update与upgrade的作用及区别

转自:http://www.baiyuxiong.com/?p=529 入门linux的同志,刚开始最迫切想知道的,大概一个是中文输入法,另一个就是怎么安装软件.本文主要讲一下LINUX安装软件方面的特点.在windows下安装软件,我们只需要有EXE文件,然后双击,下一步直接OK就可以了.但在LINUX下,不是这样的.每个LINUX的发行版,比如UBUNTU,都会维护一个自己的软件仓库,我们常用的几乎所有软件都在这里面.这里面的软件绝对安全,而且绝对的能正常安装.那我们要怎么安装呢?在UBUN