作者:waywardson@126
主要有三种主流的形式。
一是rpm软件包,适用于red hat以及支持rpm的Linux版本。这个软件包里是预编译好的软件,安装使用rpm命令。rpm -i是安装的意思。rpm -U是更新的意思。事实上使用rpm -U是万能的,没有安装的会已安装的形式给你安上,已经有老版本的会给你更新,而-i只能安,遇上更新的情况会报错。要卸载,使用rpm -e。另外,经常使用-vv这个开关,是verbose的意思,会告诉你安装更新过程中的详细信息,这样你就可以用rpm -ivv和rpm -Uvv的形式了。rpm安装方式会记录到系统的数据库,而且系统中一般都有rpm的管理器,可以用它来方便的卸载。卸载时会帮你检查其他包对这个包的依赖性。
另一个是deb包,适用于Debian系列的Linux版本。它具有rpm的所有特性。dpkg -i是安装,dpkg -r卸载。另外debian包还有一个特性,你可以让安装过程全自动化,即自动下载并安装,而不用你去搜索、下载再安装。使用apt-get命令即可做到。
最后就是原始的,也是最有灵活性的就是TarBall了。它可不是已经编译好的包,它里面是源代码,这样你就可以修改,砍掉不要的功能,添加想要得功能了。安装一般是把.tar.gz(也有.tar.bz2)解压,命令式gunzip结合tar,我一般是在图形界面里解压,然后再解压后的文件夹里打开一个shell,之后就是看其中的readme之类的说明,按说明的来做。不过一般是三个步骤,先./configure,这一部检测你用的Linux系统的信息,包括环境变量什么的,最后给你的系统量身定做一个makefile,给下一步用;第二步就是把源代码编译出来,make,依据的就是上一步生成的makefile;最后一步是make install,即把编译好的东西装上去。这样三步一般是把程序装载了默认的位置,如果你想指定位置,在第一步时指明,./configure -prefix,这个prefix后面指明你想安装的路径。在最后安装那步之前,可以有make test类似的命令测试一下编译的结果是否顺利。如果在途中要重新编译甚至重新进行第一步,也许会用到make clean之类的命令清除编译出来的object文件,详情不好讲,主要参照包里的readme或者insall之类的文档。
记住一些事实,./configure是因为这个包里有个叫configure的可执行文件或脚本。make是GNU Make,是你系统自带的,当然有可能用别的make,这取决于你所要安装的程序的makefile适用的哪个版本的make的格式,比如安qt时,就用gmake。而make clean和make install中的clean和install是makefile里定义的,而不是固定的make程序的参数。我的意思是,安装Tarball格式的包,虽然有些约定俗成的东西,这三部曲具体怎么进行,一定去看包作者提供的readme或install文档。想了解详情的,请去Google关键词“跟我一起写Makefile”,经典文章。
其实还有一种,就是已经编译好的,给你打成包,解压就能跑。一般用java写得都这么处理,比如我安的luma qq,DGuitar(可以读Guitar Pro谱的开源软件),还有不只是java的eclipse竟也是解压就跑的。
昨个晚上很郁闷,要安装last.fm的Linux版,需要有qt4.3来编译,就去安qt4.3,太恐怖了,编译了一个多小时,终于停下来了,不是编译完成,而是我的硬盘没空间了。这个qt的一大广告是kde,kde就会用它写的。据说qt的类库比MFC要爽的多。回头再说吧。


wenzengrun 于 2012-09-13 00:05:37发表:
嗯,有用
于 2012-09-06 12:44:33发表:
avisionpro-1.0.19-r1068.pkg.tar:解压完里面就下面文件:
uninstall.sh
README.avisionpro
pkg
install.sh
这个驱动我怎么能在linux系统 下安装呀?急需帮忙,谢谢。。
cheGuevara 于 2009-10-26 00:53:55发表:
谢谢啊!
hery_yang 于 2009-10-20 09:18:12发表:
什么软件都可以用这样的方法吗?
小宇宙 于 2009-10-17 14:42:57发表:
原来那么麻烦啊?以为rpm一下就搞定了呢
lightyear 于 2009-10-14 16:29:14发表:
复制得很完整,装个qq或者msn试验下
linuxfan09 于 2009-10-14 15:34:47发表:
谢谢啦!