deepin-linux系统存在的问题与windows对比.
Tofloor
poster avatar
a18126579337
deepin
2020-09-21 05:54
Author
windows每安装一个软件基本上都是独立安装的,而deepin-linux安装一个deb软件包均需要各种依赖包,我们可以把依赖看作是一个功能包,每个功能包在linux中是独立的存在,而deb包并不包括这些功能包,所以你就可能需要另外下载这些功能包以补充完整这个deb.

这种关系给无数的初学者造成困扰,我们构结一个新的deb包时能不能把其中功能包(依赖)配置完整呢?到底是因为赖,还是故意制造难度?,我们如果想推广deepin,是否可以解决这个问题,让更多人参与进来,市场更加大,这难道不香么?


Reply Favorite View the author
All Replies
1 / 2
To page
avatar
SamLukeYes
deepin
2020-09-21 06:19
#1
这个问题不是正在解决吗?deepin 新的打包标准正是要求应用在打包的时候包含自己所需的依赖。
至于原本为什么有这么错综复杂的依赖关系,这是 debian 的遗留问题。其他发行版的包管理系统也会处理依赖关系,但 debian 系的复杂程度确实让人头大。
Reply View the author
avatar
神末shenmo
deepin
Spark-App
Q&A Team
2020-09-21 06:29
#2
你给的两个选项都不是。Debian体系就是这样的,程序包就是程序包,所需要的依赖另外安装。每一个deb都是完整程序,不包含其他的东西。好处在于精简灵活,而且所有用同种技术开发的软件公用一个依赖库,省空间。比如程序A需要甲,乙,丙,装好之后再装程序B需要乙,丙,丁,那么系统就不需要再安装一个乙,丙,节省空间。但是一些商业软件会自带一些依赖。目前faltpak等包管理采用统一运行时来尝试解决问题,Appimage等等软件打包格式则是不考虑系统源是否提供功能包统一带依赖,前者的问题是每一个运行时都非常大,2G以上,好处是所有使用这个运行时的软件都不需要安装依赖了,坏处是依赖不同运行时的软件需要装不同的运行时,众所周知,运行时比依赖大得多。就比如刚才的例子,程序A需要甲,乙,丙,运行时α提供了甲乙丙以及一大堆,运行时β提供了乙,丙,丁,戊和一大堆,然而程序乙因为需要丁,所以只能使用运行时β而不能兼容运行时α,结果就是,你为了运行程序A和程序B,同时安装了运行时A和运行时B,这样除了乙,丙,丁,那一大堆也全部安装了,这可比deb依赖包大小大了3个G不止
Reply View the author
avatar
神末shenmo
deepin
Spark-App
Q&A Team
2020-09-21 06:30
#3
而Appimage则打包程序A时打包了甲,乙,丙,程序B则是乙,丙,丁,这样重复的只有乙,丙。看起来像是更好,实际上每次运行前都需要解压依赖,启动速度慢,占用大
Reply View the author
avatar
神末shenmo
deepin
Spark-App
Q&A Team
2020-09-21 06:31
#4
为了解决Linux下deb依赖包问题,deepin曾经尝试了flatpak,效果不好;Appimage对于大型软件和系统核心依赖显得捉襟见肘,更不能使用
Reply View the author
avatar
神末shenmo
deepin
Spark-App
Q&A Team
2020-09-21 06:35
#5
你问我Windows怎么解决的?Windows没解决过这个问题。很多Windows软件都是自己把所有运行时自带了,各种重复的东西都带着。这么做的坏处我刚才已经提过了。而微软解决这个问题的方式,很不幸,就是类似Debian的依赖包。你可以在Windows下安装爱剪辑,你会发现首先要求安装VC运行库,这就是依赖。如果你不幸安装了多个类似应用,你在程序卸载列表里可以看到好多好多运行库,比如各种版本的.net,2008 2018 各种版本的VC运行库,我见过的最多有7个,每一个都不小
Reply View the author
avatar
神末shenmo
deepin
Spark-App
Q&A Team
2020-09-21 06:36
#6
而对应deepin/Debian的apt-get,最近Windows推出了winget处理依赖和软件安装
Reply View the author
avatar
神末shenmo
deepin
Spark-App
Q&A Team
2020-09-21 06:37
#7
现在推出UWP应用,本质上就是统一所有运行时,一个依赖包包括绝大多数应用。是不是和flatpak很像?为什么不那么操蛋?区别在哪?Windows占有率高,比较统一,大家都用一个运行时,而Linux下各种发行版自己走一套,这才是根本原因,而deepin看到了这个根本原因
Reply View the author
avatar
神末shenmo
deepin
Spark-App
Q&A Team
2020-09-21 06:41
#8
推出的UOS,Union,联合统一,这就是根本的解决方法。UOS提供一套标准运行依赖,大家都遵守,就不会有各种操蛋问题了。所以你看,其实deepin为了解决体验问题真的非常努力了,希望下次给出选项的时候多一些理解包容,也多上网百度下
Reply View the author
avatar
神末shenmo
deepin
Spark-App
Q&A Team
2020-09-21 06:41
#9
以上代表个人见解,如果哪里不对欢迎指正
Reply View the author
avatar
神末shenmo
deepin
Spark-App
Q&A Team
2020-09-21 06:44
#10
至于依赖补足,正常情况下apt会自动完成,我也不清楚你是遇到了什么情况需要额外手动安装依赖
Reply View the author
avatar
辉夜
deepin
2020-09-21 06:50
#11
https://bbs.deepin.org/post/202576
推出的UOS,Union,联合统一,这就是根本的解决方法。UOS提供一套标准运行依赖,大家都遵守,就不会有各种 ...

如果uos的提供的依赖更新了,那对应的软件是不是也得更新?毕竟有依赖冲突
Reply View the author
avatar
Ziggy
deepin
2020-09-21 07:33
#12
https://bbs.deepin.org/post/202576
如果uos的提供的依赖更新了,那对应的软件是不是也得更新?毕竟有依赖冲突 ...

理论上是,但事实上很多都是支持向下支持的
Reply View the author
avatar
lcw0268
deepin
2020-09-21 07:56
#13
最大差别你们都没有注意。微软系统是商业软件,我们社会投入很多资源学习ta。linux系统呢?
如果投入资源学习linux,那些依赖都不是问题,不用你考虑,已经有人解决了。
Reply View the author
avatar
fengyes
deepin
2020-09-21 08:13
#14
也不要统一什么依赖了,统一API就行
Reply View the author
avatar
海鸥
deepin
2020-09-21 14:33
#15
学习了.多谢各位指点.
Reply View the author
avatar
辉夜
deepin
2020-09-21 15:06
#16
https://bbs.deepin.org/post/202576
理论上是,但事实上很多都是支持向下支持的

啊这,,我还以为依赖不支持向下
Reply View the author
avatar
majorsai
deepin
2020-09-21 16:37
#17
安装了最新的deepinV20无声音,笔记本电脑是红米  RedMi book14。声卡:Realtek ALC256M,内核5.4
Audio:     Device-1: Intel vendor: Xiaomi driver: sof-audio-pci bus ID: 00:1f.3 chip ID: 8086:9dc8
           Sound Server: ALSA v: k5.4.0-47-generic
Reply View the author
avatar
enforcee
deepin
2020-09-21 16:48
#18
Windows也是有依赖的(只不过不叫依赖这个名字)
比如visual c++ runtime什么的
装一些大的应用或者游戏都会装很多个这种包

依赖主要是为了增加复用性,通俗说就是省空间。用包管理器装软件包都会自己解决依赖问题,
主要缺陷是多版本共存问题,还有就是软件包太碎的问题(装一个软件要装无数依赖。像Arch那种正相反,依赖包都打很大,结果总装上些不需要的软件)。

类似Windows的依赖解决方案有flatpak,主推flatpak的发行版有Endless OS,国内flathub速度很慢所以就用的人很少。(而且flatpak也不够便携)
论坛大家都比较喜欢的Appimage就是打包所有依赖(有点像Mac OS的app,但是也有区别)
Reply View the author
avatar
herozsq
deepin
2020-09-21 17:02
#19
linux这点上先天不足,没有规矩不成方圆。开源的东西基础不牢靠,底层支持不统一不全面,全是东拼西凑,现在都得deepin来填坑。
Reply View the author
avatar
a***1@163.com
deepin
2020-09-21 17:44
#20
之前刚装了deepin社区版,也是用着来气。
这不顺那不顺。
实际就是个使用习惯的问题而已。
找uos到初级培训视频看看,桌面管理员看完再看看系统工程师视频。
不要说没时间,实际也花不了多少时间。
看完就安逸了。
现在基本都是在uos下主力办公。
出些小毛病自己百度或坛子里问问,大多都能解决。
系统不可能完全照着win去照顾你的感受,如果真那样弄就是纯山寨了。
学着改变自己的思维,人的惰性是要改改才有长进的。
Reply View the author
1 / 2
To page