作为linux小白,遇到问题之后肯定是要记录的
linux软件的安装包分为二进制形式和源代码形式的,这两种形式的软件包在安装上有什么区别?
【二进制形式的安装包】:是指事先已经编译好的二进制形式的软件包,有点事安装方便,缺点是灵活性差,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能再另外的平台或者环境下正确执行
【源代码形式的安装包】:指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,有点事配置灵活,可以随意去掉或保留某些功能或者模块,适应多种硬件/操作系统平台及编译环境,缺点就是难度比较大,一般不适合初学者使用。
*.rpm形式的二进制软件包###
安装:rpm -ivh *.rpm
卸载:rpm -e packgename
说明:rpm是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。
更多的rpm参数请自行参看手册页:man rpm。
*.tar.gz形式的二进制软件包###
先解释一下linux下几个常见的压缩文件扩展名
- *.tar tar程序打包的数据
- *.tar.gz tar程序打包的文件,其中经过gzip的压缩
- *.tar.bz2 tar程序打包的文件,其中经过bzip2的压缩
安装此类二进制软件包(其实就是解压)
tar -zxvf *.tar.gz #解压tar程序打包并且经过gzip压缩的文件
tar -yxvf *.tar.bz2 #解压tar程序打包并且经过bzip2压缩的文件
卸载此类文件
---手动删除---
说明:.tar.gz/.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”获取清单。tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的文件清单。更多的参数请参看手册页:man tar。
*.src.rpm形式的源代码软件包
安装:
rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸载:
rpm -e packgename
说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename 如前所述。
.tar.gz/.tgz、*.bz2形式的源代码软件包
安装:
tar zxvf *.tar.gz 或 tar yxvf *.bz2 #先解压
#然后进入解压后的目录:
./configure #配置
make #编译
make install #安装
卸载:
make uninstall 或 手动删除
说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净, 那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者 使用。
关于Linux下软件的安装与卸载已经讲了这么多,但可能还会有人问怎么知道一个tar.gz/bz2包是二进制文件包呢还是源代码包? 如果你用过压缩工具就会明白,压缩包未必就是软件,它也可能是备份的许多图片,也可能是打包在一起的普通资料,要分辨它到底是什么最好的办法就是查看包里 的文件清单,使用命令tar ztvf .tar.gz / tar ytvf .bz2或者在X-Window下使用图形化的ArK压缩档案管理工具都可以,源代码包里的文件往往会含有种种源代码文件,头文件.h、c代码源文 件.c、C++代码源文件.cc/.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为 bin的目录(仅有少数例外)。
因为本人也是刚开始接触linux,所以对于这些问题都是经过网上搜索得知的,特此做一些笔记,如果能够帮助到大家,很欣慰。
参考链接:
网友评论