参考网址
www.cnblogs.com/lixuwu/p/60…
1/软件的二进制分发
Linux软件的二进制分发是指已经编译好成二进制形式的软件包的发布形式,
其优点是安装使用容易,缺点则是缺乏灵活性。
如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。
1.1 *.rpm形式的二进制软件包
安装:rpm -ivh *.rpm
卸载:rpm -e packgename # 这里的packgename是软件包名,不是软件包文件名。
RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,
使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作。
不仅仅安装简单,卸载的时候也可以将软件安装在多处目录中的文件删除干净,
因此推荐初学者尽可能使用rpm形式的软件包。
rpm的参数中-i是安装,-v是校验,-h是显示安装进度,
*.rpm是软件包的文件名(这里的*.rpm是指*.src.rpm以外的以.rpm为后缀的文件)
参数-e是删除软件包,packgename是软件包名,与软件包的文件名有所区别,它往往是文件名中位于版本号前面的字符串,
例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是软件包文件名,它们的软件包名称分别是apache和apache-devel。
ps:注意区别软件包的文件名和软件报名之间的区别。
1.2 .tar.gz和.tgz和*.bz2形式的二进制软件包
安装:
tar zxvf *.tar.gz 或 tar yxvf *.bz2
卸载:手动删除
.tar.gz和.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。
对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;
如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”获取清单。
tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的文件清单。
2/软件的源代码分发
源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装。
优点:配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,
缺点:难度较大,一般不适合初学者使用。
2.1 *.src.rpm形式的源代码软件包
<1>第一步:将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包
rpm -rebuild xxxx.src.rpm
<2>第二步:切换到这个目录下
cd /usr/src/dist/RPMS
<3>第三步:安装编译好的二进制.rpm包
rpm -ivh *.rpm
卸载:rpm -e packgename
2.2 .tar.gz/.tgz、*.bz2形式的源代码软件包
<1> 第一步:先解压
tar zxvf *.tar.gz 或 tar yxvf *.bz2
<2>第二步:然后进入解压后的目录:
./configure
make
make install
卸载:make uninstall 或 手动删除
建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。
有些软件包的源代码在编译安装后可以用make uninstall命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。
由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。
与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。
3/总结
如果文件名称中有"src"的字样,则这是软件的源代码文件,没有经过编译。
如果文件名称中没有"src"的字样,或者"bin"的字样,则这是经过编译的二进制的文件。
源代码比较强大,你可以根据自己的需求进行一定的修改,然后编译,适合有一定经验的人。
二进制的文件,是已经编译好的,很方便,但是灵活性不强,适合一般的人。