【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 教程 » 正文

是否开发UNIX软件的大多不屑于制作安装包?

放大字体  缩小字体 发布日期:2020-06-27 10:16:29    浏览次数:5
导读

  我知道Linux有像apt-get、yum这些软件仓库工具,也有rpm、deb这些安装包格式。但是我说的安装包是指: 1.把所有文件压缩并附加到单个可执行程序内部,放在web站提供下载; 2.运行这个可执行程序出现一个GUI的向导; 3.用户在向导的引导下以填写或选择的方式进行配置; 4.向导依据配置从自身解压文件,并修改系统参数(比

  我知道Linux有像apt-get、yum这些软件仓库工具,也有rpm、deb这些安装包格式。但是我说的安装包是指: 1.把所有文件压缩并附加到单个可执行程序内部,放在web站提供下载; 2.运行这个可执行程序出现一个GUI的向导; 3.用户在向导的引导下以填写或选择的方式进行配置; 4.向导依据配置从自身解压文件,并修改系统参数(比如创建快捷方式、开机启动等) 别说反正玩Linux的都是高手不需要这些,Linux都出了这么多桌面版,说明Linux也…

  其实多数 Linux 发行版的打包质量是非常高的,多数默认的设置,还有应用的 patch 都是经过包维护者仔细推敲的。

  事实上,大点的发行版,包维护者的准入是很高的。Debian 和 Gentoo 的维护机制,想成为包维护者也要花不少时间。这也会限制发行版官方源中包的数量。但是一旦进入 stable ,这些包都是可以信赖的。RHEL 的内部情况不知道,但是从 Fedora 社区的情况来看,包的维护水平也是相当不错的。

  如果确实需要配置的话, aptitude/apt 会给出提示的,另外, debian 系有 dpkg-reconfigure ,可以在安装完以后重新进行配置。

  简单地说,题主基本上是掉到 Windows 里面出不来了。Linux 发行版的这个理念上和现在手机的应用商店是一样的。请问题主觉得手机安装个 app ,还需要一、二、三、四步吗?我用个桌面系统,还要关心应用把程序文件和数据放到什么地方?你以为你是服务器要天天伺候啊?

  还是那句话,作为普通用户,请把计算机看成一个系统。如果你是普通用户,请不要关心操作系统是不是 Linux 甚至是哪个 Windows 版本。这不是你的工作,你关心的应该是网页能不能打开,能不能办公、听歌、看电影、玩游戏。

  Linux 发行版的打包策略相对来说不简单,但这也跟现在 Linux 发行版众多有关。因此这个问题真的要论述还是很复杂的。

  这里有几点,首先是一般的打包者不是软件的开发者,而是社区成员。基础包,像 GNU GCC 这样的,对于社区来说是重点维护对象。对于非商业的软件的开发者来说,正常情况下软件开发出来,需要等待发行版社区的支持。在理论上,开发者只需要维护好自己的代码就是了,打包的问题跟开发者关系不大。你的软件好,可移植性好,功能是刚需,又没有竞争对手,自然支持的发行版就多。

  当然写一个 rpm spec 或者 gentoo ebuild 不是太难的事情,相对来说 Debian 略烦一些,但是只是一个时间问题。当然, RPM/DEB 至少有二十年了吧。打包脚本的语法设计确实有可以吐槽的地方。

  自己打好的包想进入官方源那就是另一回事了。多数发行版整个打包系统的设计是很复杂。原因总体上看主要是大发行版需要同时支持数个硬件架构。

  这个时候最难的是编译系统、测试环境和组织协调。在发布系统中,像 Fedora 就已经提供了 Koji ,Debian 已经提供了 Autobuilder network。我写一个 ebuild/spec 自己机器上编译通过,可能只花了几小时,但是要进入官方源,拿到认可需要证书、签名、代码仓库账号,得到权限,最终甚至还需要其它人员 QA 测试确认才会进入官方源。

  所以会有大量的第三方源存在。因为很多时候官方的目标是稳定、可以支持足够多的架构。但是另一些人需要更新的版本,更高的性能。

  少数发行版,像 ArchLinux 只需要支持一种架构,使用滚动发布,结果它的发展也相当快。

  这个不是夸耀的问题,而是因为 Linux 发行版社区虽然是在实践一些社会组织概念或者软件工程原理,但是基本的工作就是维护软件包。题主的这个提问,基本上等于无视了各 Linux 发行版社区为用户所做的努力。

  难道不是输入一行sudo apt-get install xxx比Windows安装包简单多了??

  下载一个Windows软件有多难你们应该都体会过:百度软件名,依次打开每个搜索结果,避开所有的广告和假下载地址,在河南湖北福建移动联通电信下载点中选择一个能下下来的,有时还要迅雷才行,更有甚者还偏要傻逼QQ旋风。

  3年没用过Windows了,估计还是这样。我就问一句:你有没有无意间装过你不想安装的软件?

  花几秒学3个单词吧,sudo apt-get install,土豪只要学两个:brew install,就能让Windows见鬼去了。

  是的,这很不合理,不过我知道一些理由:UNIX世界软件发布的最佳形态是源代码形式,这既是为了天然跨平台/跨处理器架构又是为了能被最大限度地利用/修改。因此,二进制发布方式一直是UNIX世界的Pro User(SysAdmin、Dev)不甚关心的“民工级细节” - 你给他们二进制包他们还嫌你的CFLAGS没指定对呢

  安个软件还要配置……题主知不知道有多少Windows用户即使有你所说的GUI引导,还是会在C盘安装一大堆无必要的软件和“配置”许多无必要的开机启动项?

  有这种意识的人一定能做,而且在Linux下边需要题主所说的专门配置桌面图标和开机启动的软件并不多,而且相关的操作对于Linux用户来说也并没有什么难度。

  Linux毕竟是基于命令行的系统,如果觉得打几行命令也觉得很难,您还是去玩Windows吧。

  另外我觉得软件的安装路径这东西在Linux下边真没什么意义,它又没有盘符,不会有Windows里你装C盘软件太多了怎么样。

  只打几个字母就能装软件,我觉得真心比Windows下边还玩考虑去哪下载比较好,担心会不会有什么捆绑软件选项(还写的特别不起眼)之类的省心多了。

  首先,自启动和快捷方式这些根据使用的桌面环境不同,配置起来也往往有差别(甚至同一桌面环境不同的发行版也会有差别),集成在由作者制作的安装包中本来就是很麻烦的事。现在很多包管理的安装本身也会自动在菜单中创建快捷方式。

  另一方面和你说的相反,你描述的安装方式其实没有多少需求。我个人就很厌恶windows方式的安装,很容易绑架用户。有统一的包管理可以很好的杜绝流氓软件和恶意修改,windows下病毒木马和流氓软件横生和你所说的安装机制也有很大关联。像某度打包的很多自动化安装程序经常是流氓的根源。

  归根结底还是你没有摆脱windows的思维。实际上对于电脑小白来说,从很多linux发行版的软件中心安装软件要比自己去网上下安装包再安装方便得多了。

  事实上,阻碍我用unix的地方只是,我发现,打印机驱动不知道去哪里找,也不知道放在哪里,然后我要做设计,AI软件没有,CDR没有,PS没有,以前连个office都没有,然后蒙泰没有,你特么还说对用户友好,怎么友好,经常想试试unix,但我不能为了学unix连吃饭的家伙都没了?

  我知道Linux有像apt-get、yum这些软件仓库工具,也有rpm、deb这些安装包格式。但是我说的安装包是指:

  别说反正玩Linux的都是高手不需要这些,Linux都出了这么多桌面版,说明Linux也是需要亲民的,而不是仅仅作为“高手”们的玩物。

  从实现的方面,我列举的这些步骤实现起来应该也不困难吧?需求存在、实现起来也不困难,那到底是什么原因?

  首先对于问题题目的答案是 不是。因为有好多志愿者或者软件开发者在针对与各种发行版制作package,可以理解为安装包。

  1. 如果你想要下载package下来自己安装的话,可以参见 `Rpmfind mirror` for RPM系(Redhat)或者 `Arch Linux - Package Search` for Archlinux。在Windows上不同的软件下载地址(官网)不一样,在大部分Linux发行版上不同软件的下载地址是一样的;甚至于Windows的话也有什么百度下载中心腾讯下载中心的。PS: 我觉得要自己下载软件包的需求很正常,尤其是在天朝这种市场环境。

  2. GUI向导这种东西好像确实没有,国内开发的一些软件好像有了(Wps)但是受众不多。原因在于大多数Linux软件是命令行的,你让他为了安装专门去写一个GUI的安装器出来,大部分作者都会拒绝的。大部分Linux发行包的打包和开发是分开的,比如程序员Martin找了一堆同行开发了软件Whatever,然后会有别的打包员Jack去专门编译打包。GUI安装器确实大部分软件在Linux下是没有的(也有有的)。

  3. 配置向导是有的。很多软件会有配置向导(甚至是安装向导,包括编译配置等),但是绝少有GUI的配置向导。有一部分软件的开发哲学是 软件是工具:意思就是你要用一个工具至少先得去看看说明书吧;所以他们不提供配置向导,他们会把配置信息在说明书中写清楚。

  4. 这个就不说了。很多的Linux下的软件的配置信息都写在了文档里,去哪里改改哪些东西你可以去文档里面看,或者google一下(或者你愿意的话 百度一下)。

  最后,软件和操作系统是分开的。你用Windows的话,也不是所有软件都是题主所以为的GUI向导一站式安装配置,我喜欢的输入法 `RIME 中州韻輸入法引擎` 的配置就是手动去修改配置文件的,想改什么就改什么。Linux下也有Fcitx这种故意把配置文件做的很复杂然后强迫你使用GUI配置工具的奇葩。

  如果你觉得用过的N多个视频播放软件都是GUI一站式解决方式的,然后就觉得不使用这种方式的视频播放软件(Mplayer,mpv等)是反人类的,这个就有点那什么了。你不喜欢的或者不习惯的,有可能只是你阅历有限没有碰到过或者你怕麻烦不敢去尝试而已;万一有一天你突然好奇心大起想尝试不一样的软件操作方式或者习惯,你会有新的收获的。

  多说一句,喜欢吃米饭或者吃馒头不重要,吃米饭吃腻味了,突然很想吃一回大白面馒头的时候,走过十八条大街都找不到一家馒头铺子,这才是最重要的:关键在于选择和自由。

  顺带说下源代码方式提供软件正是开源性的体现,软件用户可以根据自己的硬件配置不一样的编译选项或者移植软件到其他平台,也可以发现bug后自行修改。现在这个年代我们有GitHub可以很方便的把补丁提交到线上,大家一起来完善一款软件。

  如果linux上的依赖都一个一个跳出来点下一步,简直虐死人,多花百分之几百的时间在点下一步,

 
关键词: unix是谁开发的
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://www.31duo.com/news/show-327549.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4