常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

还没入门的菜鸟,关于软件包的一点理解,请大家帮助纠正

 
发表新文章   回复文章    FreeBSD China -> 技术交流
阅读上一个主题 :: 阅读下一个主题  
作者 留言
ylyxf
半仙


注册时间: 2006-05-19
文章: 7

文章发表于: Tue 2016-10-25 23:43:21    发表主题: 还没入门的菜鸟,关于软件包的一点理解,请大家帮助纠正 引用并回复

说明一下:我很笨,英语也不好,也没有系统或者高屋建瓴地学习过Linux或类似的系统。
我是一名彻头彻尾的Windows用户,从WinXP开始正式接触电脑,直到大概4、5年前,切换到了win7系统(并且使用类XP主题)。
习惯的力量是巨大的,所以当你说:你不能用windows的思维和经验来考虑linux、freebsd,实际上是很难做到的。

对于Linux,FreeBSD,有两次安装在实体机上的经历:
第一次,是刚上学那会儿,一次偶然的机会,买了RedHat9的安装盘,在电脑上装了一下就卸载了,若干年后,公司安装了RedHat Enterprise 5 的时候,我心底还特别不解:我上学的时候都出到9了,为什么你们还装5?
第二次,是在学校维护学生选课系统的时候,试用了下FreeBSD,上千人选课毫无压力。
其它大部分时间,我都是在虚拟机上安装过Linux或者FreeBSD,浅尝辄止。

我也是一名彻头彻尾的java web开发者,有一段时间,特别热衷于做一个minisystem,做好人员、权限、安全管理等模块,然后把它装进一个特别迷你的小主机里面,孤芳自赏。
我不想给我的小主机装盗版的windows,在为小主机选操作系统的时候,接触到FreeBSD了,理由很简单:Linux它不是一个完整的操作系统。虽然我不知道所谓的Linux内核最后怎么变成一个操作系统的,但是那么多的发行版,对于一个极少接触Linux的选择综合征晚期病人来说,简直是噩梦:CentOS,Ubuntu,Debian,Gentoo还有一些奇奇怪怪的发行版,我在虚拟机上逐一尝试的时候,发现装个java或者配置个apache,这些系统都有一些不同。

从windows用户的角度来看,这太不科学了。
当360软件管家还没问世的时候 , 我下载java或者apache,是用百度/谷歌搜索,然后从华军软件园下载的,双击下一步就能安装。卸载也是在控制面板里面,添加/删除程序中删除的,只是有时候删除的不是太干净。当360与瑞星卡卡战斗的时候,是我最幸福的时代,卸载软件可以利用这些工具卸载的干干净净。等360出了软件管家的时候,我已经上瘾了,虽然不喜欢这个360系的软件,但是太依赖它了:找软件直接从软件管家里面搜索,下载的是经过专业检测的无毒软件,卸载的时候,也可以通过软件管家卸载的干干净净。

这时候,让我去Linux上安装软件,我是无法处理的,因为我没系统地学习过Linux。当然,我也不打算系统地学习Linux,因为我也没系统的学习过windows,不也是用的挺好吗?我安装了带界面的Linux系统,蹩脚地配置好网络,打开Firefox,上百度,搜索在Linux上要安装的软件,搜不到的,华军软件园也没有。后来再到网上搜,什么deb,rpm,tar,还有make&install,越来越觉得玄,我得看看有没有其它的简单的方案。

FreeBSD这时候通过百度映入我的眼帘,通过一些简介,知道了在它上面安装软件不会那么多套路。又搜索到了FreeBSD的中文官方使用手册,心里才安静下来,至少有这么一个系统而全面的中文文档了。看了它的ports,还是要make install,我只用过MFC写过最最简单的对话框程序,让我用make install命令行去编译一个C程序,也没有VisualC++的界面,报了错用百度肯定也不好搜到,即使搜到了,大半也是英文网站,我的英文也不好,肯定也看不明白。多年使用windows的经验告诉我,使用软件是不需要从头编译的,我从心底是抵制make install的。

还好,发现有package的办法来安装,这时候一个完整的系统,就比内核+N多发行版显得高级多了,这个package系统,明明就是FreeBSD版本的360软件管家啊!

现在想来,多种Linux发行版,其实本质上,就是多种文件规划的约定,比如(后面的例子完全是我胡诌的,只是为了说明问题):RedHat的各软件配置文件要放在/etc下面,而Ubuntu的要放在/usr/etc下面;RedHat的开机启动要写在/etc/startup.conf文件里,而gentoo的要写在/usr/rc.conf中。(胡诌完毕)各发行版本之间,二级制包,不能通用,是因为各发行版本的目录规划和用途不一致,对软件的管理手段也不一致。而FreeBSD只有一种发行版,Windows只有一种发行版,所以从网上拿到一个它们的二进制包,基本都是可用的。唯一可能不可用的情况,就是操作系统版本大升级,会产生一些兼容性问题。这是Linux区别于Windows和FreeBSD的一个很重要的地方,也是对于没有办法使用make install的用户,只能安装二进制软件用户的最大的门槛。

FreeBSD甚至比Windows做得还要好一些,它从某种程度上,统一了二进制安装包的来源。大家都从package服务器(镜像)中下软件,这个软件至少不会夹杂病毒。而Windows下,任何网站上都可以下载mis安装包或者绿色版的exe软件,谁知道被动过什么手脚呢?后来的360软件管家的模式,才能和FreeBSD的package系统媲美。

但是,对于用惯了windows的用户来说,FreeBSD还是有个很大的问题,就是这个平台的软件作者,不大会像Windows应用软件的作者那样,将自己的作品制作成二进制包来发布。 我隐隐有一种感觉(并未验证),这个庞大的package系统,里面的软件好像大部分是FreeBSD的爱好者+管理员进行维护的,他们帮软件作者将软件包编译打包为FreeBSD可用的二进制软件。而软件的发布者,往往只发布源代码,只有一些有商业化倾向的作者/公司,才会编译并放出比较“流行”的deb包和rpm包。出现这种现象,一方面,是make install从源代码安装,更加具备可定制性;另一方面,我还有一种猜测,其实Ports Collection里面的那些Make文件和补丁文件,也是这样一群FreeBSD的爱好者和管理员在维系的,说得难听点,就是FreeBSD平台还不足以有足够的吸引力,让这些软件的作者将其作为发布软件的首选平台。

这个生态让我感觉到有点儿不太健康,如果我作为一个软件作者,开发了一款软件,想推广给大家用,那么我一定是编译打包好了exe或者mis去推广,甚至要积极的联系360软件管家,请它检验我是安全的,把我收录到它的软件库。而类比FreeBSD的处境,按照我的猜测,好像是360软件管家雇佣了一大批的志愿者,去联系软件作者往360软件管家提供软件,或者分析软件作者的源代码并打补丁,然后编译并测试好了放到360软件中心。

不知道是不是这样呢?
返回页首
阅览会员资料 发送站内信件
alphachi
老妖


注册时间: 2007-12-10
文章: 1237
来自: @tweetxa

文章发表于: Tue 2016-11-08 22:05:52    发表主题: 引用并回复

FreeBSD是由FreeBSD基金会这个非营利组织运营的,所有的资金来源于企业或个人捐助。由于所有的开发者都是自愿加入的,也没有什么类似“公司业绩”的要求,因此比其他很多操作系统更关注技术本身。个人认为这种不涉及钱的生态才更健康。

另外,无论操作系统本身,还是pkg和ports系统,都是官方的,请放心使用。

_________________
Paranoid in Sabbath ...
返回页首
阅览会员资料 发送站内信件
lsstarboy
半仙


注册时间: 2007-08-08
文章: 164

文章发表于: Sat 2016-11-12 09:41:38    发表主题: 引用并回复

怎么跟360比上了?

360会强制安装一些东西,但是ports/packages不会。

360软件管家再强大,能强过源码的东西吗?如果你不需要某个软件的一个功能,可以在ports中去掉,软件管家中你能去掉什么?源码给你充分的自由,觉得不合适可以随时改动,windows下的二进制软件就只能呵呵了。
packages就相当于那些exe和setup.exe等东东,但是有个坏处就是你不能定制,只能使用用编译者的参数和版本、patch等——这其实跟windows下的exe相同。

但是开源世界有个很无奈的现象:能改动源码的人是少数。现在的系统越来越大,一个人只能了解/熟悉其中的某个部分,这也是windows世界喷开源世界的一个理由。
返回页首
阅览会员资料 发送站内信件 浏览发表者的主页
公元
半仙


注册时间: 2005-11-01
文章: 196

文章发表于: Tue 2016-11-29 23:19:51    发表主题: 引用并回复

现在类UNIX分支多,区别不大,熟悉一种,其他区别不大,软件安装方式因人而异,没有那个更好。一些时间没来,看了评论,大牛都是潜水静悄悄。
_________________
学历代表昨天 能力代表现在 学习代表未来
返回页首
阅览会员资料 发送站内信件 MSN Messenger
从以前的文章开始显示:   
发表新文章   回复文章    FreeBSD China -> 技术交流 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2023cc © 2003 Opensource Steps; © 2003-2009 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Project Honey Pot and phpBB.cc
silvery-trainer
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标