[Feelings & Sharing] 关于深度根社区的闲谈
Tofloor
poster avatar
joo
deepin
2022-05-24 06:11
Author

很多人对于“根社区”本身这个字面意思或概念可能不了解,既然叫“根社区”,含有社区两个字,从字面都可以猜到是类似人类社会的社区。大家理解有偏差,把包装格式看得太重要。深度的源不一定需要脱离deb包装格式,deb包装格式是开源的(大家都可以用),包装格式和选择这个格式的整合是两个概念,什么是根社区,就是整合所有资源(包含软件),形成一个稳定运行的作业系统,经过一整套的包装、测试、释放测试版,迭代测试、再释放测试版,这样不断迭代直到核心bug为0,次核心bug和非核心bug不多于发布政策,达到发布要求释放发布。所以最大的误区就是死认包装格式以为这是什么很高深的技术,不,包装格式不是太重要,重要的是:包装、测试、释放测试版,迭代测试、再释放测试版,经过不断迭代直到核心bug为0,次核心bug和非核心bug不多于发布政策,debian的核心是开发人员与普通用户之间的测试、反馈的桥梁,所以叫根社区,这就是叫社区来由。

Reply Favorite View the author
All Replies
randyday
deepin
2022-05-24 15:18
#1

这是一个很好的契机,打造一个完全独立的桌面系统。 作为一个用电脑工作的人来说我只关心怎么好用,底层是什么并不关心,也不想去关心。

我就是学的计算机,但说实话二十来年了,Novell、win、linux都学过,到头来是忘得一干二净(因为工作根本不用),我就是把电脑(系统)当做生产力工具使用罢了,不想折腾。 以前还会想着如何去安装系统,如何去优化,现在基本是只要能用绝不动系统,最多用工具清理清理。 我想大多数人都和我一样吧。

大家也不要喷,事实确实如此,我只在乎怎么用,只在乎我的数据是否安全,不易丢失。有升级就升级没有就继续用,什么重装系统还要自己去挂载数据盘,一不小心还给怎没了。 反正就是能不让用户搞就别让用户搞,这才是真正好用的桌面系统。

作为桌面系统对绝大多数用户来说就是使用,不是折腾。当然有牛人喜欢,那就去服务器版本搞就好了。

对于桌面版,说说我的看法:

1、对于分区可以系统自己生成且无需用户关心就自动完成好了,类似win的EFI分区。那么类似swap是否可以呢(根据机器内存大小自动分出来,需要调整就在安装界面给个简要说明和推荐值)

2、还是分区,比如用户想用来存文件搞个data分区(为什么是分区而不是目录),主要是在某些情况下需要重新安装系统不至于数据丢失,在安装系统时可以自动识别并自动挂载上(类似win的D盘E盘什么的),尽量不让用户去折腾了。——这个其实很重要

3、这个应该和包管理器(应用商店)相关,无论是以什么形式安装的软件,这个包管理器都能识别系统已安装的软件(可以进行分类),并告知软件安装的位置,类似win下的360软件管家,当然可以集成到软件商店中。

为什么说这个,之前用软件商店安装的能够识别,自己安装的在软件商店中尽然看不到。为什么说要知道安装位置,方便卸载用,节约磁盘空间。 我之前搞Firefox时就出现过,系统自带的提示升级,升级完发现是在另一个目录中又装了一个,结果就是系统中有两个。

4、还是包管理器(应用商店),安装软件时可以自己指定安装到哪个目录下。

5、搞个设备管理器(驱动管理),让用户一看就知道自己的电脑是什么硬件,哪些硬件装了驱动、装了什么驱动、哪些硬件还需要装驱动。

6、跟系统可以开发一种安装包格式,类似mac,前期兼容deb就好了,兼容是为了之前老版本的升级迭代使用,等成熟了直接移除deb的兼容。 或者搞个deb迁移工具。

新的安装包尽量少依赖关系,实在要有依赖那就搞个类似win的.NET Framework就好了,大家就维护它吧。

7、搞个系统管理的地方,比如建立账号、修改环境变量等等这些与系统相关的东西点点就ok了。

这就是我的deepin为什么只停留在虚拟机中的原因,偶尔想起来看看,因为确实还不完善,我也不想花尽量去探索。

很多人一定会说现在办公可以了,没错对于普通的办公确实没有问题了,而对于我来说还缺少很多。

希望这个系统越来越好,持续关注中。

Reply View the author
牧野
deepin
2022-05-24 16:55
#2

大家为什么这么关注包管理器?你肯定知道啊,linux依赖库的问题,到现在一直就没治好啊!linux加载动态库不会搜索当前目录要放一个依赖库让它加载上去复杂度成倍增加,有人说为了安全,其实真没安全多少。就这个机制,linux分享软件只能安装包,安装与系统匹配的版本,要缺这缺那不运行不起来!于是包依赖来了,很多用户搞不定包依赖命令行咋么办?于是软件商店来了!linux下可不敢随便指定安装目录,要不为了注册动态库加载地址安装脚本复杂度提升几倍。最终linux下软件安装完程序库都装到那个目录下了,鬼也不知道都是脚本自动搞的,只有发包人知道细节。这张依赖蜘蛛网没人能搞定!绿色软件去见鬼吧,老老实实学习打包发布!找不到对应软件版本,就别用了!我感觉大家关心的是以后不要有依赖问题,像win一样自由分享软件。而不是动不动就要命令行软件商店解决依赖问题!

Reply View the author
jalawov
deepin
2022-05-24 19:18
#3
牧野

大家为什么这么关注包管理器?你肯定知道啊,linux依赖库的问题,到现在一直就没治好啊!linux加载动态库不会搜索当前目录要放一个依赖库让它加载上去复杂度成倍增加,有人说为了安全,其实真没安全多少。就这个机制,linux分享软件只能安装包,安装与系统匹配的版本,要缺这缺那不运行不起来!于是包依赖来了,很多用户搞不定包依赖命令行咋么办?于是软件商店来了!linux下可不敢随便指定安装目录,要不为了注册动态库加载地址安装脚本复杂度提升几倍。最终linux下软件安装完程序库都装到那个目录下了,鬼也不知道都是脚本自动搞的,只有发包人知道细节。这张依赖蜘蛛网没人能搞定!绿色软件去见鬼吧,老老实实学习打包发布!找不到对应软件版本,就别用了!我感觉大家关心的是以后不要有依赖问题,像win一样自由分享软件。而不是动不动就要命令行软件商店解决依赖问题!

说实话,现在我用flatpak软件包感觉已经几乎没有遇到过依赖问题了,而且也不会想以前那样系统更新的太快导致应用炸掉。缺点就是软件运行时比较大还有容器化运行导致软件启动速度相对较慢。不知道deepin新的格式怎么解决这些问题

Reply View the author
andktan
deepin
2022-05-24 20:43
#4
randyday

这是一个很好的契机,打造一个完全独立的桌面系统。 作为一个用电脑工作的人来说我只关心怎么好用,底层是什么并不关心,也不想去关心。

我就是学的计算机,但说实话二十来年了,Novell、win、linux都学过,到头来是忘得一干二净(因为工作根本不用),我就是把电脑(系统)当做生产力工具使用罢了,不想折腾。 以前还会想着如何去安装系统,如何去优化,现在基本是只要能用绝不动系统,最多用工具清理清理。 我想大多数人都和我一样吧。

大家也不要喷,事实确实如此,我只在乎怎么用,只在乎我的数据是否安全,不易丢失。有升级就升级没有就继续用,什么重装系统还要自己去挂载数据盘,一不小心还给怎没了。 反正就是能不让用户搞就别让用户搞,这才是真正好用的桌面系统。

作为桌面系统对绝大多数用户来说就是使用,不是折腾。当然有牛人喜欢,那就去服务器版本搞就好了。

对于桌面版,说说我的看法:

1、对于分区可以系统自己生成且无需用户关心就自动完成好了,类似win的EFI分区。那么类似swap是否可以呢(根据机器内存大小自动分出来,需要调整就在安装界面给个简要说明和推荐值)

2、还是分区,比如用户想用来存文件搞个data分区(为什么是分区而不是目录),主要是在某些情况下需要重新安装系统不至于数据丢失,在安装系统时可以自动识别并自动挂载上(类似win的D盘E盘什么的),尽量不让用户去折腾了。——这个其实很重要

3、这个应该和包管理器(应用商店)相关,无论是以什么形式安装的软件,这个包管理器都能识别系统已安装的软件(可以进行分类),并告知软件安装的位置,类似win下的360软件管家,当然可以集成到软件商店中。

为什么说这个,之前用软件商店安装的能够识别,自己安装的在软件商店中尽然看不到。为什么说要知道安装位置,方便卸载用,节约磁盘空间。 我之前搞Firefox时就出现过,系统自带的提示升级,升级完发现是在另一个目录中又装了一个,结果就是系统中有两个。

4、还是包管理器(应用商店),安装软件时可以自己指定安装到哪个目录下。

5、搞个设备管理器(驱动管理),让用户一看就知道自己的电脑是什么硬件,哪些硬件装了驱动、装了什么驱动、哪些硬件还需要装驱动。

6、跟系统可以开发一种安装包格式,类似mac,前期兼容deb就好了,兼容是为了之前老版本的升级迭代使用,等成熟了直接移除deb的兼容。 或者搞个deb迁移工具。

新的安装包尽量少依赖关系,实在要有依赖那就搞个类似win的.NET Framework就好了,大家就维护它吧。

7、搞个系统管理的地方,比如建立账号、修改环境变量等等这些与系统相关的东西点点就ok了。

这就是我的deepin为什么只停留在虚拟机中的原因,偶尔想起来看看,因为确实还不完善,我也不想花尽量去探索。

很多人一定会说现在办公可以了,没错对于普通的办公确实没有问题了,而对于我来说还缺少很多。

希望这个系统越来越好,持续关注中。

agree

Reply View the author
牧野
deepin
2022-05-25 05:05
#5
jalawov

说实话,现在我用flatpak软件包感觉已经几乎没有遇到过依赖问题了,而且也不会想以前那样系统更新的太快导致应用炸掉。缺点就是软件运行时比较大还有容器化运行导致软件启动速度相对较慢。不知道deepin新的格式怎么解决这些问题

容器是最烂的解决方法了,又是号称为了安全,但安全了个啥没人能说清楚,造成臃肿运行慢是必然的,要彻底解决,只能修改动态库的加载方式,容许多个路径多个版本加载,再建立统一的应用开发sdk。目前能看到希望的就dtk,龙芯那个计划,华为open鸿蒙那个框架!

Reply View the author
jalawov
deepin
2022-05-26 20:56
#6
牧野

容器是最烂的解决方法了,又是号称为了安全,但安全了个啥没人能说清楚,造成臃肿运行慢是必然的,要彻底解决,只能修改动态库的加载方式,容许多个路径多个版本加载,再建立统一的应用开发sdk。目前能看到希望的就dtk,龙芯那个计划,华为open鸿蒙那个框架!

完全不觉得容器是烂的方法,容器可以很细致的控制权限比如dbus,摄像头,磁盘允许访问的目录,比如wps linux默认驻留云服务,容器可以控制wps只能访问/home下的文档目录,并且禁止其后台运行。比如windows下qq一直喜欢扫描全盘,放在容器里就完全不可能出现这种情况

Reply View the author
jalawov
deepin
2022-05-26 20:57
#7
牧野

容器是最烂的解决方法了,又是号称为了安全,但安全了个啥没人能说清楚,造成臃肿运行慢是必然的,要彻底解决,只能修改动态库的加载方式,容许多个路径多个版本加载,再建立统一的应用开发sdk。目前能看到希望的就dtk,龙芯那个计划,华为open鸿蒙那个框架!

而且现在linux本来就运允许多个动态库共存,更改LD_library变量就好

Reply View the author
牧野
deepin
2022-05-26 21:22
#8
jalawov

而且现在linux本来就运允许多个动态库共存,更改LD_library变量就好

这么说吧,什么都要脚本控制,那别想在桌面混了,普通用户一个命令都不会,我说的是让不会命令的普通用户解决依赖的问题!如果要用脚本那没用户什么事了他只能回windows了!

Reply View the author
jalawov
deepin
2022-05-28 07:57
#9
牧野

这么说吧,什么都要脚本控制,那别想在桌面混了,普通用户一个命令都不会,我说的是让不会命令的普通用户解决依赖的问题!如果要用脚本那没用户什么事了他只能回windows了!

你没明白我的意思,我的意思是现有的deb和rpm就能做到这一点,不需要新的包管理器,只要打包的开发者写好就好,我之前为了转制deb的钉钉包到fedora上拆过它的包,发现钉钉的包的时候已经把一堆库打

了进去,他在启动的时候有一个脚本,能够判断什么发行版加载什么库。而这一切是不需要用户操心的。

而且你说容器化不行,那到底是现有的snap和flatpak方案不行还是容器化思路不行呢?如果是后者,macos的应用全都是sandbox里的没见有多少人吐槽啊。

Reply View the author