LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1137|回复: 10

Linux 下有便携的绿色软件一说么?

[复制链接]
发表于 2008-12-28 17:17:15 | 显示全部楼层 |阅读模式
请问Linux 下,有类似 Windows XP 里那种拷贝一个目录来,直接运行 EXE 应用程序,而不对系统本身产生各种干扰的“绿色软件”一说么?所需的组件都包含在内了。还是一定要用到包管理啥的?

安装耗时事小,但是遇到什么组件依赖、干扰对一般用来干事的计算机用户真的很头大,而且配置文件如果不放在软件目录下,便携性就没有了,毕竟一般人只随身携带U盘,不带笔记本的。
发表于 2008-12-28 17:25:48 | 显示全部楼层
In my opinion, there is no the concept of 'green software' in Linux. However, some software which don't need to be installed exist.

For example, Floola. This is an management software of ipod family.
回复 支持 反对

使用道具 举报

发表于 2008-12-28 20:33:23 | 显示全部楼层
没有这么一说,依敕是没办法,你以为window不用依赖那错觉,因为windows不理你用不用都给你安装上了。
如果想不用动态库,要自己编译成包含所有用到库的程序,但程序会增大很多。
回复 支持 反对

使用道具 举报

发表于 2008-12-28 22:44:47 | 显示全部楼层
用动态库也可以, 运行时指定一下查找路径就行了.

楼主更关心的似乎是配置方面的问题, 这个么, 一般自身支持解压即使用的程序, 比如 opera, 也都支持 "绿色" 化的相对路径配置路径. 对于普通程序而言, 一般除了 /etc 这样的系统级配置外, 再就是 ~ 下的私有配置. 想让系统系配置路径不为 /etc 是可以的, 但是需要对程序进行重新编译.

如果楼主有心情可以把所有想要移动使用的程序都自己重新编译一下
* --prefix 设定成 /opt/mobile, 那么一般它们生成的库就会放在 /opt/mobile/lib 中, 系统配置文件路径则为 /opt/mobile/etc, 可执行文件则是 /opt/mobile/bin
* 把这几个目录拷到优盘某个区的根目录上, 不过 bin 建议改成 bin.orig, 然后自己创建一个 bin/, 里面的命令最好写成 wrapper, 就是说先设定 PATH, LD_LIBRARY_PATH 等必要内容再执行 bin.orig/ 下面的原始文件
* 挂载时挂在 /opt/mobile 下. 然后执行 bin 下的东东.
* 如果想在命令行中使用, 可以准备一个 env.sh, 里面为 PATH, LD_LIBRARY_PATH 添加 /opt/mobile/ 下的相关目录, 然后 source env.sh 就可以直接在 sh 中调用自己的命令了

不过实际上, 一般 linux 用户会考虑把整个 linux 环境都放到优盘中, 而不像 windows 中那样还要费尽心思把软件单独拿出来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-28 22:45:51 | 显示全部楼层
程序大点根本无所谓,不差那么点空间。装操作系统的时候这个库、那个库的,有用没用都装上,我用的软件就那么几个,省下的空间还没有费掉的多。
问下编译软件的时候,任何程序都能选择包含所有用到的库啊什么的吧?现在搞的不同版本的Linux下的软件都不通用,在Windows面前的确是没有竞争力。
回复 支持 反对

使用道具 举报

发表于 2008-12-28 23:22:54 | 显示全部楼层
如果 mld 兄不放心, 可以考虑把包括 libc 在内的库都放到优盘中, 只是这种情况下请注意尽量不要采用 env.sh 那样的方法, 可能会导致较多的问题.

一个程序依赖的库可以用 ldd 命令查看. 需要注意的是, 很多库, 如 X, gtk, pango, cairo 等需要在运行时动态扫描及加载一些子库, 在上面的例子中, 它们一般会出现在 /opt/mobile/lib/ 下的各个独立目录下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-29 16:28:53 | 显示全部楼层
不喜欢动态链接库,引起的问题比解决的问题还多。“DLL Hell”问题在Windows下已经被 .net 彻底解决,Linux可不要再度步入啊!
回复 支持 反对

使用道具 举报

发表于 2008-12-30 18:42:04 | 显示全部楼层
我根本没理解楼主的目的是什么
所谓的绿色软件 在linux是根本没有的概念

我看楼主对linux本身和各个版本的包裹管理器根本不了解 就像2楼说的 软件根本没有必要"安装" 所谓的"安装"是相对于包裹管理器来说
在linux所有软件 都可以像你说的 软件本身文件都在一个目录内 只要把程序静态编译即可; 懂些shell编程更简单 甚至不需要重新编译(4楼说的很明白了)

还有"dll hell"问题 对于开源软件来说也是不太在意的, 动态库更新 软件不能用了, ok! 修改下软件源代码就解决了.
回复 支持 反对

使用道具 举报

发表于 2008-12-31 12:36:56 | 显示全部楼层
大家的态度有些问题,都是从菜鸟走过来的,不要总是打击人,这样只会从非技术层面上制约开源软件的普及与发展,让一般用户觉得只有偏执狂才用开源软件,这样也对不起无数开源软件作者的心血付出啊。

楼上说的“dll hell对于开源软件来说不太在意,因为修改下软件源代码就可以解决”,明显是有态度上的问题。软件写出来是给人用的,不是用来玩的。dll hell现在在Windows下已经是一个很深的陷阱,为了省那么一点硬盘、内存、CPU等资源,实际上已经造成了太多的麻烦,浪费了更多的硬盘、内存、CPU,改软件对于一般用户根本不可能,对于程序员虽然能够做到但也未必有时间。一个软件好不好,并不在于用了什么“先进”的技术,而是在于用户的体验,否则永远只能是小范围Geek们的玩具。Linux已经投入的大量的人力物力,我不希望它永远只是Geek们的玩具,开源软件完全有能力成为普及的PC基础。
回复 支持 反对

使用道具 举报

发表于 2009-1-1 16:16:31 | 显示全部楼层
Post by czwxyz;1932167
大家的态度有些问题,都是从菜鸟走过来的,不要总是打击人,这样只会从非技术层面上制约开源软件的普及与发展,让一般用户觉得只有偏执狂才用开源软件,这样也对不起无数开源软件作者的心血付出啊。

楼上说的“dll hell对于开源软件来说不太在意,因为修改下软件源代码就可以解决”,明显是有态度上的问题。软件写出来是给人用的,不是用来玩的。dll hell现在在Windows下已经是一个很深的陷阱,为了省那么一点硬盘、内存、CPU等资源,实际上已经造成了太多的麻烦,浪费了更多的硬盘、内存、CPU,改软件对于一般用户根本不可能,对于程序员虽然能够做到但也未必有时间。一个软件好不好,并不在于用了什么“先进”的技术,而是在于用户的体验,否则永远只能是小范围Geek们的玩具。Linux已经投入的大量的人力物力,我不希望它永远只是Geek们的玩具,开源软件完全有能力成为普及的PC基础。

态度不好 我道歉 但是坚决不改...!
不懂命令行 不跟代码打交到 还是别用linux了  想用户体验win和mac都是不错的选则.

从2.4到2.6 从gtk1到gtk2 从gcc3到gcc4 从qt3到qt4 如此巨大的变动在linux上, 算是家常便饭了
开源软件的运作是不同的 因为软件是开源的 人人都可以得到源代码 在所依赖发生变动时 任何人都可以修改源代码已适应于下层依赖的变动 之后再将patch发布到网上或提交给维护者.   普通用户只需稍稍等待更新或者查找patch而已.
还有在linux中很多不同版本的库和软件是可以共存的 像上面说的qt3和qt4 gcc3和gcc4 的. 所以说所谓在win上的"dll hell" 在开源世界是不用太在意的.
linux 可不是迎合大众用户的os哟
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表