国内能否借鉴flatpak开发一个新的包管理器,跨系统和去重复
Tofloor
poster avatar
zihaoxing
deepin
2019-06-26 06:01
Author
本帖最后由 zihaoxing 于 2019-6-26 19:43 编辑

国内能否借鉴snap和flatpak开发一个新的包管理器,可以采用如下两种路线.
第一种路线,目的可以在所有linux发行版上都可以安装运行,在打包软件时,写入要安装的所有依赖库的列表,搞一个清单,打包成一个很小的软件包,在安装软件时,先检测一下用户系统中之前已经安装了哪些依赖库,已经安装的依赖库就不再重复安装,把软件和没有安装的新库安装一下就好了.如果打包的软件包太大,用户会觉得软件打包的体积太大,不愿意安装.

第二种路线,目的可以在所有linux发行版上都可以安装运行,把所有的依赖库都打包到一个软件包里,做一个完整的软件安装包,体积较大,打包的软件可能会有几百M甚至几G的体积,这是不可避免的,但是在安装软件时,也先检测一下用户之间已经安装了哪些依赖库,如果有已经安装的依赖库,就不再重复安装,将打包的依赖库删除,保留系统里已经安装的依赖库,然后继续安装没有安装过的依赖库和软件.

国内搞一个很重要.国内搞一个跨系统的打包格式和包管理器后,上交给国家来管理和运作,由国家制定标准和推广,让腾讯,阿里和国内其它公司的软件最好也用这种格式打包一份,linux的国产生态会变得更丰富,也能解决软件碎片化和不兼容问题.






Reply Favorite View the author
All Replies
1 / 4
To page
avatar
zihaoxing
deepin
2019-06-26 06:05
#1
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 06:05
#2
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 06:07
#3
ubuntu用snap打包的libreoffice体积超过了一个G的大小
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 06:08
#4
一些常用的库和大体积的qt库等常用库被很多软件反复打包安装,会产生很多冗余和空间和资源的占用.
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 06:09
#5
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 06:10
#6
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 06:11
#7
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 06:13
#8
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 06:16
#9
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 06:17
#10
Reply View the author
avatar
superendermansm
deepin
2019-06-26 07:30
#11
如果那么简单早就做了。。。还有你帖子想要火不是靠把整个论坛的人都艾特。。。你应该改一下你的标题,现在看起来有点像野生项目经理
Reply View the author
avatar
superendermansm
deepin
2019-06-26 07:32
#12
你说的这个打成的很小的包名字叫做deb
Reply View the author
avatar
superendermansm
deepin
2019-06-26 07:33
#13
第二种就是flatpak现在做的,不过发行版各用个的,所以得不到统一
Reply View the author
avatar
鹏鹏
deepin
2019-06-26 07:34
#14
我寻思,第一种不就是apt,第二种不就是deb包嘛
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 08:02
#15
https://bbs.deepin.org/post/179839
我寻思,第一种不就是apt,第二种不就是deb包嘛

第二种跟flatpak和snap一样,都是把所有的依赖库都打包到一个软件包里,做一个完整的软件安装包,可以在所有linux发行版上都可以直接安装运行,打包的软件体积较大,但是在安装软件时,也先检测一下用户之间已经安装了哪些依赖库,如果有已经安装的依赖库,就不再重复安装,将打包的依赖库删除,保留系统里已经安装的依赖库,然后继续安装没有安装过的依赖库和软件.
第二种跟deb不一样,首先deb包没有打包所有依赖的库,有依赖的时候,软件无法安装,其次,deb包不能在多有linux发行版上运行.
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-06-26 08:11
#16
假如已有的依赖我突然间升级了呢?
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 08:17
#17
https://bbs.deepin.org/post/179839
假如已有的依赖我突然间升级了呢?

这个包管理器有自动纠错机制.如果打包的软件无法安装时,会自动检测用户有没有删除一些库或者将一些依赖的库升级,用Linux上的locate命令做一个检索,再跟这个软件的依赖库清单做一个比对,会自动安装用户删除的依赖库和需要的版本库,让软件顺利运行.
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 08:19
#18
https://bbs.deepin.org/post/179839
假如已有的依赖我突然间升级了呢?

这个包管理器有自动纠错机制.如果打包的软件无法运行时,会自动检测用户有没有删除一些库或者将一些依赖的库升级,用Linux上的locate命令做一个检索,再跟这个软件的依赖库清单做一个比对,会自动安装用户删除的依赖库和需要的版本库,让软件顺利运行.
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 08:20
#19
https://bbs.deepin.org/post/179839
你说的这个打成的很小的包名字叫做deb

deb包并不能在所有的linux发行版上安装运行
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 08:22
#20
https://bbs.deepin.org/post/179839
第二种就是flatpak现在做的,不过发行版各用个的,所以得不到统一

第二种跟flatpak比较类似,但是有去重机制,在安装软件时,先检测一下用户之间已经安装了哪些依赖库,如果有已经安装的依赖库,就不再重复安装,将打包那些的依赖库直接删除,不进行安装,保留系统里已经安装的依赖库,然后继续安装哪些没有安装过的依赖库和软件
Reply View the author
1 / 4
To page