为什么windows更新比linux慢且麻烦?
Tofloor
poster avatar
httpe
deepin
2014-11-15 18:57
Author
用linux用了一段时间,我觉得linux的更新机制好像比windows好得多。

首先,我在linux下更新软件似乎从来不用先关闭软件再更新。而windows下如果不关闭程序的话,通常都会报“无法替换,文件正在使用”之类的错误。linux为什么不会呢?

其次,对应于windows的系统更新,linux的内核、驱动、xorg-server、systemd之类的更新,这些更新要重启才能生效。但是,linux下这些更新基本不会拖慢更新后首次重启的速度。而windows,这些更新要在重启的时候花很~长~时间来“windows正在更新,请不要关闭电源”。有时候急用电脑,结果遇上更新简直太无奈了。

我想知道,造成这种区别的原因是什么呢?求解释~!
Reply Favorite View the author
All Replies
MattD
deepin
2014-11-15 19:45
#1
Windows下的每个软件是独立的bundle,更新软件基本就是一个卸载并重新安装的过程,而且还涉及到注册表项的删除和写入,调用msi进行软件信息的注册和发布等等。而Linux是直接覆盖新的链接库和可执行文件,进程都缓存到内存里面去了,不受影响。

更新慢是体制问题,因为%windir%\WinSxS的引入,基础组件的版本升级都会写入%windir%\WinSxS,同时更新%windir%\System32下面的硬链接,另外还涉及注册表项这种复杂的管理机制,所以重启期间会花很长时间配置更新。我也觉得每月的补丁日都是噩梦,幸好我已经不用再经历了。
Reply View the author
Elegantpower
deepin
2014-11-15 21:56
#2
Windows下的每个软件是独立的bundle,更新软件基本就是一个卸载并重新安装的过程,而且还涉及到注册表项的删除和写入,调用msi进行软件信息的注册和发布等等。而Linux是直接覆盖新的链接库和可执行文件,进程都缓存到内存里面去了,不受影响。

更新慢是体制问题,因为%windir%\WinSxS的引入,基础组件的版本升级都会写入%windir%\WinSxS,同时更新%windir%\System32下面的硬链接,另外还涉及注册表项这种复杂的管理机制,所以重启期间会花很长时间配置更新。我也觉得每月的补丁日都是噩梦,幸好我已经不用再经历了。

注册表是很无语的东西,不过貌似听说Linux也有注册表啊 ?
Reply View the author
MattD
deepin
2014-11-15 23:44
#3
[quote]Windows下的每个软件是独立的bundle,更新软件基本就是一个卸载并重新安装的过程,而且还涉及到注册表项的删除和写入,调用msi进行软件信息的注册和发布等等。而Linux是直接覆盖新的链接库和可执行文件,进程都缓存到内存里面去了,不受影响。

更新慢是体制问题,因为%windir%\WinSxS的引入,基础组件的版本升级都会写入%windir%\WinSxS,同时更新%windir%\System32下面的硬链接,另外还涉及注册表项这种复杂的管理机制,所以重启期间会花很长时间配置更新。我也觉得每月的补丁日都是噩梦,幸好我已经不用再经历了。

注册表是很无语的东西,不过貌似听说Linux也有注册表啊 ?[/quote]
你说的是gconf/dconf?那跟注册表是完全不同的东西,gconf/dconf是gnome桌面特有的桌面配置数据库后端,作用就是储存gnome桌面组件的各项配置。
而且我觉得gconf/dconf的树还挺好理解的,一般也用不到。
Reply View the author
httpe
deepin
2014-11-16 00:33
#4
[quote][quote]Windows下的每个软件是独立的bundle,更新软件基本就是一个卸载并重新安装的过程,而且还涉及到注册表项的删除和写入,调用msi进行软件信息的注册和发布等等。而Linux是直接覆盖新的链接库和可执行文件,进程都缓存到内存里面去了,不受影响。

更新慢是体制问题,因为%windir%\WinSxS的引入,基础组件的版本升级都会写入%windir%\WinSxS,同时更新%windir%\System32下面的硬链接,另外还涉及注册表项这种复杂的管理机制,所以重启期间会花很长时间配置更新。我也觉得每月的补丁日都是噩梦,幸好我已经不用再经历了。

注册表是很无语的东西,不过貌似听说Linux也有注册表啊 ?[/quote]
你说的是gconf/dconf?那跟注册表是完全不同的东西,gconf/dconf是gnome桌面特有的桌面配置数据库后端,作用就是储存gnome桌面组件的各项配置。
而且我觉得gconf/dconf的树还挺好理解的,一般也用不到。[/quote]

求问dconf的配置文件在哪里?我想看看~
我之前用DE(xfce)的时候就是发现有时候有了图形配置工具,结果配置文件变成一些xml了,而我总觉得写/读xml特别累人,有一种控制不住系统的感觉。最后就回到用WM了……
Reply View the author
MattD
deepin
2014-11-16 00:44
#5
求问dconf的配置文件在哪里?我想看看~
我之前用DE(xfce)的时候就是发现有时候有了图形配置工具,结果配置文件变成一些xml了,而我总觉得写/读xml特别累人,有一种控制不住系统的感觉。最后就回到用WM了……
很可惜,我也没有桌面,只用WM。
Reply View the author
ahyanglf
deepin
2014-11-16 00:47
#6
Windows下的每个软件是独立的bundle,更新软件基本就是一个卸载并重新安装的过程,而且还涉及到注册表项的删除和写入,调用msi进行软件信息的注册和发布等等。而Linux是直接覆盖新的链接库和可执行文件,进程都缓存到内存里面去了,不受影响。

更新慢是体制问题,因为%windir%\WinSxS的引入,基础组件的版本升级都会写入%windir%\WinSxS,同时更新%windir%\System32下面的硬链接,另外还涉及注册表项这种复杂的管理机制,所以重启期间会花很长时间配置更新。我也觉得每月的补丁日都是噩梦,幸好我已经不用再经历了。
菜鸟受教了
谢谢 :mrgreen:

可惜我还是双系统,有些日常应用还是win上手快且方便些,比如网购,火车票等
Reply View the author
liaoxianran
deepin
2014-11-16 17:32
#7
因为windows下,运行程序会把程序的文件锁定
linux下也有类似的权限,比如1777
Reply View the author
httpe
deepin
2014-11-16 23:57
#8
因为windows下,运行程序会把程序的文件锁定
linux下也有类似的权限,比如1777
1不是sticky bit吗?root依然可以自由删改文件啊,而apt之类的更新时不都是在root下运行的么
Reply View the author