安装软件时,会造成各种库冲突
真的这一点很不好。
有没什么方法让一个应用的所有文件都放一起
离线
哪个发行版?什么库冲突啊?
Windows 上是啥情况我不清楚,不过也没感觉 Linux 安装有多乱啊
最近编辑记录 unturned3 (2022-08-21 21:22:25)
离线
Windows那种才叫乱,Linux这样才叫整齐,自己慢慢体会吧。Linux发行版都有官方软件仓库,应该从那里安装软件,不要还按Window思维随便在网上找个软件包来装。官方仓库里都是用数据库来管理依赖关系的。
Linux也有像Window那样把所有依赖库都包含在一起,将软件包搞得巨大而浪费硬盘空间的软件包格式,叫AppImage
最近编辑记录 海石生风 (2022-08-21 21:42:50)
离线
不止你自己有这种想法,,所以linux世界出现了snap、flatpak、appimage,还有deepin最近推出的“玲珑”
离线
我也以为 Windows 乱,Linux这样叫整齐吗,体会不到。
离线
@海石生风
软件安装是方便,但是很多安装完的库跟其他软件的库都放在一起,会重名,还有那些配置文件。我不知道那些软件的配置文件名都是怎么确保唯一的。
appimage看起来是很不错,貌似是基于桌面linux的,有没有基于armlinux 控制台这种运行的打包方式,
离线
@3050311118
命名不唯一的话,有没有可能这个库是其它软件包提供的,不需要集成在你的包里。
Windows的软件包是相互独立的,一个软件包要把所有的库集成在一起,如果你安装了多个都使用ffmpeg库的影音播放软件,那么你的系统里就会有多个ffmpeg库,这就叫乱。而Linux的软件包是相互联系相互依赖的,系统里只需要有一份ffmpeg库即可,这就要求系统目录的规范化,库目录等要使用相同的目录。
打包方式跟是不是ARM Linux没有关联。
离线
linux是开源软件。这就是开源软件的缺点
1.各自为战,体现在库的各种依赖上
2.代码质量有好有坏,99%的代码极其糟糕。只有1%的那种有名的软件才好点
离线
@海石生风
要是各个播放软件需要依赖的ffmpeg版本都不同,那咋办?那系统还是不能只留一份ffmpeg,而是各个版本都要安装,问题是像 /usr/bin/ffmpeg 这样的路径,它只能指向一个版本的ffmpeg
离线
各大 Linux 发行版的官方仓库,或者知名开源软件,基本都是一套规矩,而且多多少少也遵守 Linux Standard Base 协议
如果你要自己安装官方库之外的软件,那也一般都装在 /usr/local、/opt 之类的地方,也不会跟官方库和配置文件冲突
就算你是自己编译代码,大多数情况也可以把生成的 binary 打包成当前发行版的格式,然后用发行版自带的包管理器来安装,这样也方便日后查看、升级
要是随便从哪个网站仓库搞个安装包或者源码来编译,直接暴力 sudo make install 安装到 /usr/bin, /usr/lib,不造成冲突才怪呢
我以前刚开始玩 Arch Linux 的时候这一点深有体会…… Linux 系统变得很乱,绝大部分情况是因为用户自己没管理好
最近编辑记录 unturned3 (2022-08-22 11:54:04)
离线
@海石生风
每个软件带一个ffmpeg无非也就多占用点儿硬盘而已,现在硬盘这么便宜,这还算事儿吗?
凡是在大众市场成功的OS,全都是采用这种把所有依赖全都一起打包的方式,,比如Windows、Andorid、iOS
而linux这种把APP和依赖库分开的OS,,只能在服务器和开发主机等少数使用者都是专业人事的领域才能成功,,因为普通用户根本处理不了库依赖这种问题。。
deepin也是看清了这种情况,,所以推出了将所有依赖打包到一起的新打包技术“玲珑”,,
如果deepin继续采用传统的deb那种打包方式,,那它注定只能是程序员的OS,,而非普通用户的OS。。
离线
@海石生风
虽然很多人都吐槽Android的APP体积大,,只有很少的功能APP都几十MB、甚至上百MB。。
但是Android APP几乎没有安装或更新一个APP,,导致其他APP跑不起来的这种情况。。
Android的成功再次证明,,在普通用户市场,,只是用起来傻瓜化、不容易出问题的技术才能成功。。
离线
linux是开源软件。这就是开源软件的缺点
1.各自为战,体现在库的各种依赖上
2.代码质量有好有坏,99%的代码极其糟糕。只有1%的那种有名的软件才好点
你这是说反了吧,开源才能出好代码,这因为是整个行业都参与其中做贡献。开源是一个整体的生态,如果你发现你依赖的上游项目有问题,你可以直接参与这个上游项目的修改。如果上游是闭源的话,你只有忍耐或者自己造相同的轮子了。闭源是一个公司在开发,而且代码糟不糟糕你看不见,除非你是该公司雇员。所以要看某项目的前雇员的评价才知道其代码质量如果。就有甲骨文的前雇员反映其数据库的代码极其糟糕。
一般来说,闭源项目都是商业项目,这些项目往往看重软件开发的结果,要在非常有限的时间内完成一个功能,所以开发人员通常为了KPI而不愿多花时间来提高代码质量,就非常容易出低质量代码。
最近编辑记录 海石生风 (2022-08-22 12:48:43)
离线
@XIVN1987
Windows、Android用久了就变慢,我Linux用多久不会觉得会慢,也不会爆系统盘空间,Linux清空一下home目录的效果就跟重装系统的一样了。便利都是有代价的,选择是因人而异的,所以不要否定它的存在。
我的意思是:linux适合技术专家使用,Windows、Android即使白痴都能用。。
只有白痴都能用的产品,,才能最大规模的流行。。
我这好像没有否定Linux的意思吧。。相反,我在赞美Linux用户都是技术专家。。
离线
@XIVN1987
每个程序带一份库不仅会浪费硬盘,还会浪费内存。
离线