最近发现Linux的包管理器其实好难用

使用ubuntu已经一年了,但发现几乎是大型软件,依赖多的软件,往往都不提供好的deb包。究其原因,觉得应该是依赖管理太过混乱的问题。
今天下午想安装一下Maya,折腾了两个小时还是没有装上,跪在rpm到deb的转换上面,我总觉得这种简单的将需要的文件放置到对应路径的方式很不好,很难协调自己手动make的程序、包管理器提供的、已经第三方安装包安装的,这几种情况的混合。
最近有这样一个想法,为系统创建一套虚拟文件抽象层,不知是否合理,请朋友们帮忙看下。
已发我的博客:http://blog.csdn.net/xfxyy_sxfancy/article/details/47808603

感谢您为本话题评分。
共有5个回答
  • 0
    Asumi - 2015-08-26 不喜欢

    曾经作死装过360 安全卫士 Linux版,deb包是胡乱打包,依赖关系很混乱。Ubuntu和Debian的打包政策是一样的,只保留给最必要的包。三方包的依赖很难管理好……

  • 0
    Stela - 2015-08-26 不喜欢

    linux上的依赖问题本来就很复杂,软件包如果都自带依赖,那么就不需要全局包管理器了。而事实上,在Linux里,很多软件都依赖比如glibc这个包,每个软件都带这个依赖,就会造成空间的浪费。
    Linux各发行版的打包策略其实都有相通之处的。

  • 0
    Jakit - 2015-08-29 不喜欢

    嗯,是这样的,Linux天生是一个严格系统,包管理是最有条理的软件包管理程序,不像Windows,随便下一个软件放哪里都都不知道,有些软件还把临时文件写到你不知道的位置,只能依赖360扫这些不能识别的与系统无关的文件。
    楼上360装Linux上。。。其实Linux包管理本来就非常完整的,精确到每一个文件,甚至依赖关系。
    Windows依赖一说吧。。。除了.NET、Runtime一说,其实还是比较凌乱的,没有条理,所以才需要第三方管理,360也只是摸索Windows文件结构而已,相当于做的是Windows的二次开发,360以Windows的思维模式来“二次开发”Linux的第三方软件管理程序本来就不适应的,因为Linux的包管理不是Windows卸载注册表删文件这样的。。。
    用另一种方式说,Linux的包管理是原生的,可以从头到尾把一个系统装起来,Archlinux可以用pacman从内核装到各种util工具包,再装到xorg,然后装到各种桌面,360可以么?估计360就只能做个表面清清垃圾(估计还误删吧)?
    不是嘲讽,或许有点排斥吧,确实Linux不需要360插手,一个yum/rpm apt-get/dpkg paceman/yaurt 要装非常完成装要卸载干干净净,还帮你apt-get -purge remove / apt-get autoremove清理没必要的包。
    360杀木马?管理启动项?呵呵,强大的各种命令,chkconfig/update-rc.d就可以管理启动项,Windows上你会担心各种自启动的文件,你没点都运行,可是Linux下你马上把桌面关掉(kill 掉显示管理器比如mdm)都可以。。。文件权限是明确的,只要熟悉操作,不过手贱 rm 误删不像Windows那样好拯救数据。
    最后,我还想提下安卓开发的,我在Linux下不需要装安卓驱动。。。而且mount自如。。。
    Linux是一个比较有条理,有点[天生不需要第三方软件就可完成工作的系统]的气息。不过,LZ的状况,其实也恰好是Linux的负面——使用困难,配置复杂。
    另外,Wine自带了文件抽象层,apt-get wine了之后,你的用户目录下有一个模拟Windows的[C:]Program Files那样的目录,不过wine比较坑,还有我最近也在研究CoreCLR,也是让我产生了极其厌恶Mono的感情,因为,它居然每次都生成DOS/NT头,说得简单一点,就是大家平时gcc test.c -o test 输出的test目标文件,是纯净的可执行代码,可是Windows的exe天生PE结构非常臃肿复杂,甚至还带了图标,打字好累……自己看《逆向工程》那本书!
    好困。。。
    说了一大堆废话,来一句靠谱一点的:

    请安装vmware或者virtual box

    不要问为什么,我多年使用总结就这样吧。

  • 0
    Jakit - 2015-08-30 不喜欢

    最最最后还是回复一句,maya动画设计,还有3ds max(这个只支持Windows),还是用Windows更靠谱一点,因为。。。驱动程序。。。
    Linux下的驱动程序,哪怕是闭源的,都比较坑,尤其A卡。。。N卡好不到哪去,开源驱动吧,A卡不错,而N卡的开源驱动Nouveau在有些显卡上缓冲区只要稍稍大了马上花屏,根本不能用的节奏!!!
    所以。。。如果做设计、游戏方面的话,考虑到驱动,还是用Windows最靠谱,其次是OS X(买一台Mac不错的,我自己大学都在用,准备毕业了在外租房就可以买个Mac Pro垃圾桶啦~)。

  • 0
    西风逍遥游 - 2015-09-05 不喜欢

    感谢朋友们给了这么多建议,我也再探讨几句。

    Linux和其他系统一样,有高质量的软件,也有低质量的软件,而像Ubuntu这类发行版中提供的软件包,质量一般都很高,安装后很少会出问题,而且删除后也几乎不留垃圾文件。

    对比Windows这一点,我其实挺欣赏Linux下的软件安装方式的。我作为一个正宗码农,平时是重度依赖Linux系统的,为了追求跨平台的软件开发和设计,我很少使用Windows。而Linux下的命令和开发工具,简直是必不可少的。

    像开发工具的安装,我几乎没发现过什么问题,从gcc,llvm到各种脚本语言nodejs等等,以及编程开发工具,都在Linux下顺利的运行着。

    然而尴尬的是,几乎各类大型工具类软件,像图像处理的Adobe家族、3DS、AutoCAD、Solidworks,这些重量级、好用的工具软件,却往往不支持Linux。总觉得Linux正在为其他系统,努力的开发着各类软件。

    不过我还是挺能折腾的,最近自己手动编译了虚幻4引擎,这是为数不多的能在Linux下工作的大型游戏引擎。

    当然,正如Fedic朋友提到的那样,大型软件对Linux支持差的一大原因也是因为他的驱动,很多软件是重度依赖某些硬件的,而由于linux的驱动参差不齐,安装繁琐,导致了这些软件也不好登录这一平台,或者要登录这个平台时,需要做更多的特殊处理。

    曾经我想使用一款绘客牌的手绘板,然而他们官方并没有提供其Linux下的驱动,害的我怒查了好久,才发现了他的芯片本身是UC-Logic的,才装好了这款驱动。
    至于Nvidia的显卡驱动,更是痛苦,稍不注意整个GUI界面就瘫痪了,而且我到目前为止,都没成功装好Nvidia的CUDA开发库。

    Linux我倒不是怕他的配置繁琐,关键是怕底层软件的不稳定。

以下是预览效果,请确认排版好了再点回复。
如果你认为此话题有广告、灌水的嫌疑,请给此话题评一颗星。平均分低的话题将不会再显示。
良好的讨论氛围由大家共同维护。