软件包分类(rpm包、二进制包、源码包)

1、安装软件的方法
1)源码安装(一般软件包格式为xx.tar.gz)
2)rpm包安装(一个软件包格式为xx.rpm)
3)通过软件包管理器安装(比如RHEL和Centos的yum,ubuntu的apt等)

2、软件包类型
1)二进制包
定义:二进制包是已经经过编译,只需要下载、解包安装即可使用。
格式1:xxxx-devel-6b-33.x86_64.rpm格式(rpm -ivh安装之后能直接使用) #二进制包其实默认指的是rpm包,也就是二进制包包含rpm包,rpm包时二进制包的一个子集
格式2:mysql-5.5.32-linux2.6-x86_64.tar.gz格式(tar -zxvf解压之后就能直接使用) #在格式2中,软件包的包名很长,一般带有版本号、适应平台、适应的硬件类型等。

2)rpm包
定义:rpm包是二进制包的一种,以rpm结尾的一般都是rpm包。而yum(Yellowdog Update Manager)是RPM的前端工具,是基于RPM的一个管理工具,他能自动的解决安装rpm包产生的依赖关系。
格式1:name-version-release.arch.rpm #对于已经编译成二进制的rpm包,由于操作系统环境不同,一般不能混用
格式2:name-version-release.arch.src.rpm #以src.rpm形式发行的软件包,由于需要安装时进行本地编译,所以通常可以在不同系统下安装。

备注:
name-version-release.arch.rpm
name:包名称,分为主包名和分包名
version:包的版本信息
release:用于标识rpm包的发行号
arch:主机平台,noarch表示软件包与硬件架构无关,可以通用;
i386表示软件包适用于intel 80386以上的x86架构的计算机;
i686表示软件包适用于intel 80686以上(奔腾pro以上)的x86架构的计算机
总结下就是说i686软件包不能在i386平台上运行,而i386的软件包没有限制,可以在任何平台上运行使用

src.rpm的安装:
示例:(以SUSE系统安装setarch-1.3-1.src.rpm为例):
1)cp setarch-1.3-1.src.rpm /usr/src/packages/SRPMS/
2)cd /usr/src/packages/SRPMS/
3)rpmbuild –rebuild –clean setarch-1.3-1.src.rpm #将源代码直接编译成普通的二进制rpm包.执行之后可以到/usr/src/packages/RPMS/x86_64目录下找到可用的二进制rpm包setarch-1.3-1.x86_64.rpm进行安装
4)cd ../RPMS/x86_64
5)rpm -ivh setarch-1.3-1.x86_64.rpm

3)源码包
定义:源码包是Linux中软件包的另一种形式,需要在计算机上进行编译以后才可以产生可以直接运行的二进制程序。源代码包里面包括了程序的程序代码,一般就是我们能认识的C语言文件,因此在安装源码包的时候通常会检索系统中是否正确安装gcc编译器,并且源代码安装的时间会比较长。
格式:*.tar.gz、*.tgz、*.bz2
源码包的格式一般是一个版本号的tar包,例如httpd-2.4.25.tar.gz,文件名包含信息没有二进制包多

源码包一般的安装过程是:
(1)解压
(2)./config
(3)make
(4)make install
(5)ln -sv /usr/local/xxx/lib/xxx /usr/lib64/xxx 或者
vim /etc/ld.so.conf ,在文件末尾追加/usr/local/xxxx/lib,保存退出后执行ldconfig 【建议这种方式】
(6)vim /etc/profile,文件末尾添加PATH=/usr/local/xxx/bin:$PATH,然后 source /etc/profile