分页: 1 / 2

为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 13:44
smilewit
接触linux,安装系统并不是难事,但是进入桌面后会遇到一系列让人崩溃的事情:
1、驱动安装不了,windows中安装驱动多简单,双击驱动安装程序就可以了。linux我是一头雾水,不知道,听说要自己编译,编译还要有编译环境,好象我的系统还没编译环境,试过了,不行啊,我的妈呀,我是小白菜呀,我不会。我是鼠标党,喜欢双击运行。
2、安装软件麻烦,安装个软件要连网下载很多依赖关系,面对龟速的网络,直接让人崩溃掉。
3、不知道怎么输入中文,还好linux deepin解决了这个问题,我现在不用想了(若不谈中文输入法,我觉得linuxmint更好用)。
小白菜该怎样使用linux啊,神啊,救救我吧。

linux系统本身不能就包括了软件运行的依赖关系吗?怪不得linux系统只是技术人员玩的玩具。
andriod是基于linux的,幸亏在andriod上安装软件不像linux上这么烦,否则肯定没人用了

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 13:48
月下叹逍遥
1,驱动用附加驱动安装就是,也是点两下的事。
2,软件依赖关系节省了程序员开发的时间。
3,输入法,10.10的ibus挺好用的。

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 13:55
lainme
为了省地方,编程也省力。其实对于一些软件来说,也简化了安装,因为无须判断其它需要链接的软件的位置。

驱动多数可以在系统-》系统管理-》硬件驱动里找到,基本不需要你自己去下载安装,可能也就某些无线网卡的多点。而且多数驱动也是二进制包啊,直接运行的

装软件,联网然后用软件中心就行了。速度不快可以换源

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 14:06
eexpress
带包管理的软件,不都是自动解决依赖关系的嘛。
你啥软件啊,需要编译的,那当然要编译环境和库了。你在win下,如果要编译,还要被强奸安装巨大的ide的,和全套的开发库。都不带零买的。 :D
win下的软件,都是打成静态包了(除开系统的api),你看哪个软件不巨大。

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 14:10
Don't kiss me!
拜神 :em70

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 14:10
remeber
1
系统-》系统管理-》硬件驱动
2 系统 xxxx(忘了名字==) 软件源 总会有一个适合你速度的源
3 fcitx 小小输入法 ibus(默认)

不明白右上角搜索下。 :em11

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 14:26
tenzu
了解点Linux的基础知识再来喷,效果会好点

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 14:37
smilewit
月下叹逍遥 写了:1,驱动用附加驱动安装就是,也是点两下的事。
2,软件依赖关系节省了程序员开发的时间。
3,输入法,10.10的ibus挺好用的。
这倒未必,也未见得linux有多少高效易用的软件,软件依赖关系现在看来只有坏处,没有好处。
andriod没有这些麻烦的依赖关系,所以成功了。

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 14:49
chole
smilewit 写了:
月下叹逍遥 写了:1,驱动用附加驱动安装就是,也是点两下的事。
2,软件依赖关系节省了程序员开发的时间。
3,输入法,10.10的ibus挺好用的。
这倒未必,也未见得linux有多少高效易用的软件,软件依赖关系现在看来只有坏处,没有好处。
andriod没有这些麻烦的依赖关系,所以成功了。
那你用过多少linux下的软件呢?不要以windows的目光看linux。
还是那句话,解点Linux的基础知识再来喷。
如果你非得问飞机为什么没有汽车跑得快,我也没办法。

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 14:58
justyl
LZ和我之前差不多,一头的雾水,要淡定,多学习学习就会了
刚接触windows不也是这样吗

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 15:10
oneonezero
同是小白的表示,当你接受一个东西的,都是要一段时间的。

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 16:30
CRAZY_PALADIN
刚看了你另外一帖……
楼主你09年注册的还在纠结这些问题???
1.啥驱动?Ubuntu的驱动基本上都是安好就能用的,我这除了闭源的Nvidia显卡驱动会需要手动按以外其他都不用管就可以用。原来倒是遇到过声音不行的问题,靠编译Alsa驱动搞定的,但是那个编译也就是三部曲:./configure - make - make install就可以搞定了的啊。如果用其他的Linux发行版,安装驱动确实比较麻烦,不适合初学者,那不要用这些就好了。就好像Win Server 2008默认也一样难用,需要自己调教。
2.这还麻烦?网速慢不要怪需要依赖关系啊……好歹不需要自己去一个一个手动安。从某些方面讲,这是Linux的一大优点。
.Net Framework 1.0\ 2.0\ 2.0 SP1\ 2.0 SP1 Language support\ 3.0\ 3.5\ 3.5 SP1\3.5 SP1 Lang\ 4.0... 难道楼主就不蛋疼了么? :em09
不过要是遇到了依赖黑洞,那确实会很蛋疼…………
3.输入法,默认的有ibus,不爽还有fcitx、SCIM什么的,虽然词库没有搜狗、谷歌输入法那么大,不过用起来还算顺手。要说现在Linux下的中文输入法确实是不够好,不过本人是从MS的智能ABC过来的,表示压力不大。
4.Linux本身就包括了很多依赖包了,但是不能什么也往里面塞啊,看看Win下自带安装的DLL吧,有多少DLL库是从来没有被用到过的啊……
5.别没事就说啥硬伤啥的……

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 16:47
daniel_c
smilewit 写了:
月下叹逍遥 写了:1,驱动用附加驱动安装就是,也是点两下的事。
2,软件依赖关系节省了程序员开发的时间。
3,输入法,10.10的ibus挺好用的。
这倒未必,也未见得linux有多少高效易用的软件,软件依赖关系现在看来只有坏处,没有好处。
andriod没有这些麻烦的依赖关系,所以成功了。
这个我想说其实android的成功和这个没有半毛钱关系....就好像iphone一样....成功他靠的不是技术...不要跟我说apple的技术什么多先进....那都是他们自己吹的....android成功也好...iphone成功也好...大部分靠的是市场的战略和营销手段...现在作为技术人员不要老认为技术是第一....市场营销以及战略的布局这些才是android的关键....

还有linux软件不一定不好用...你要细心的找找.....最好翻墙到外面找....你用linux英语不好那个比任何都致命....顺便说下....还是少点抱怨好...毕竟windows下你也不能保证自己的系统和软件都是正版的....还是踏踏实实的学点linux东西好.....

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 16:59
jary_p
Linux软件要依赖其他的东西就是为了不重复造车轮
比如某些动态或静态函数库,你总不能每个软件都各自装一个吧...(虽然现在硬盘便宜了)

Linux要的就是KISS,很多软件依赖其他的功能,并且有其他软件能完成的很好.那就直接拉过来...
so 这应该就是依赖问题吧

Re: 为什么linux装软件要那么多的依赖关系?

发表于 : 2011-04-15 17:14
peter_huang
确如14楼所说;一般来说依赖关系可以使得软件较小并且某个lib修复bug以后所有被依赖的软件都能得到好处。

不过lz说的也有些道理,有些时候依赖关系也确实有点烦人。
我上次碰到一个例子:

我安装的是gentoo,并且安装了docky这个软件,而docky依赖于mono。
有一次我在做emerge -Dup world的时候提示我mono有更新,从2.2更新到2.8了,但是docky还没有。
于是我就emerge --update --deep world把这个mono更新了。
之后发现docky就无法启动了。
从命令行启动docky以后就发现原来依赖于mono的某个api函数被删除了... 囧死。
google了一下发现新版本的docky已经修复了这个问题,但是emerge --sync的时候发现新的ebuild还没有进去。
没办法只好找gentoo bug,里面发现了一个ebuild(当然自己写ebuild也简单的很),down下来以后再次emere docky, 终于搞定了。

幸好docky并不是什么重要的软件,但即便如此,仍然让人感觉不爽。
当然这更多的是portage系统的问题,因为ebuild一般对于依赖关系会指定>=某个版本的软件,而很少用=某个版本的软件。
然而>=才是合理的,这样才能保证被依赖的软件也能得到升级。所以此问题几乎不可避免。

依赖问题的关键在于,开发软件A的人员,很少会顾及,甚至未必知道还有个软件B依赖于它,所以想改就改了,虽然大部分情况下,软件能做到向后兼容,但是仍然有意外的时候。