**RPM Package Manager(Red Hat Package Manager)**是各种Linux发行版本中应用最广泛的软件包之一,用于互联网下载包的打包及安装工具,生成具有.RPM扩展名的文件。
RPM包以其强大的功能和广泛的兼容性而得到多数Linux发行版本的支持和众多Linux使用者的支持。
RPM命名格式:
例如:
bash-4.1.2_15.el6_4.x86_64.rpm
bash //软件名称
4.1.2 //版本号
15.el6_4 //发布次数
x86_64 //测试平台
rpm //rpm格式
rpm命令能够实现几乎对所有RPM包的管理功能,但是rpm有相当复杂的命令格式,结合不同的命令选项及子选项主要可以实现以下三类功能:
rpm查询功能主要通过“-q”来实现,主要针对Linux系统中已经安装的软件包,根据所需查询的具体项目不同,可以添加相关的子选项。
rpm -q 【子选项】 【软件名】 //rpm查询功能
用法:
rpm -qa //查看已经安装的所有的RPM软件包列表
rpm -qi //查看指定软件包详细信息,软件包名称、版本、许可协议等
(--info)
rpm -ql //查询软件包的安装目录、文件列表(--list)
rpm -qf //查看指定文件或者目录由哪个软件包安装(--file)
我们可以搭配which命令使用,which +命令名 可以查询命令所
在目录,然后通过目录查所需
使用rpm -qp命令时,必须以RPM包文件的路径作为参数(可以一个或多个),而不是软件包名称,常用的查询选项如下:
rpm -qp 【子选项】【RPM包文件】
rpm -qpi //查看该软件的详细信息
rpm -qpl //查看包内所有包含的目录、文件列表
rpm命令
rpm -i //安装一个新的rpm软件
rpm -U //升级、若未安装、则进行安装
rpm -h //以"#"号显示安装的进度
rpm -v //显示安装过程的详细信息
rpm -e //卸载软件
rpm -F //更新某个rpm软件,若未安装,则放弃安装
rpm --force //强制安装所指定的rpm软件包
rpm --nodeps //安装、升级、卸载RPM软件包时,不检查与其他包的依
赖关系
安装与升级软件包时候我们通过使用“rpm -ivh”的组合选项,若是使用新版本的软件包替换旧版本的软件包将“-i”换成“-U”就行了
RPM数据库记录在Linux系统中安装,卸载,升级应用程序的相关信息,由RPM包管理系统自动完成维护,一般不需要用户干预。当RPM数据库发生损坏(误删文件,非法关机,病毒破坏等导致),且Linux系统无法自动完成修复时,当导致无法使用rpm命令正常的安装,卸载及查询软件包。我们就可以使用rpm命令对RPM数据库进行维护或者初始化。
rpm --rebuildbd //重建数据库(db=database)
rpm --initdb //数据库初始化(db=database)
在Linux平台搭建各种应用系统时经常会需要对软件包进行编译安装,应用程序的源代码编译安装为使用者提供了更加灵活的程序功能定制途径,同时还能获得软件的最新版本,修复BUG。
编译源代码需要相应的开发环境,对自由软件来说,gcc和make是最佳的编译工具。gcc和make是由GNU项目所贡献的C/C++语言编译器。
Linux系统默认是没有安装gcc,我们可以使用yum安装。
YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum命令
yum [选项] [参数]
yum -y //对所有提问都回答“yes”
yum install //安装rpm软件包
yum update //更新rpm软件包
yum check-update //检查是否有可用的更新rpm软件包
yum remove //删除指定的rpm软件包
yum list //显示软件包信息
yum clean //清理yum过期的缓存
yum deplist //显示yum软件包的所有依赖关系
首先我们下载源代码安装包文件
1. tar解包 用途:将源代码解压,释放到指定目录
等待编译
2. ./configure 配置 用途:设置安装的目标文件夹,选择要
安装的功能模块等
3. make编译 用途:根据前一步配置,将源代码变成可
执行的二进制文件
4. make install 安装 用途:将编译好的二进制文件复制到系统
中,并设置应用环境
最后我们进行测试及使用、维护软件
首先我们要将光盘文件挂载在文件夹/mnt下
mount /dev/cdrom /mnt
yum -y install gcc gcc-c++ make //下载源代码安装包文件
安装GCC7个包,gcc 依赖4个包,gcc-c++ 依赖1个包
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7_4.1.x86_64.rpm
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/libdb-devel-5.3.21-24.el7.x86_64.rpm
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/openldap-devel-2.4.44-13.el7.x86_64.rpm
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm
上传http-2.4.25.tar.gz软件包到/opt目录下
[root@localhost ~]# cd /opt //切换到 /opt目录下
[root@localhost opt]# tar xzvf httpd-2.4.25.tar.gz -C /opt //解压压缩包
[root@localhost opt]# cd httpd-2.4.25/ //进入httpd-2.4.25目录
[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/apache // ./configure配置 这里添加了安装的路径
[root@localhost httpd-2.4.25]# make
[root@localhost httpd-2.4.25]# make install
[root@localhost httpd-2.4.25]# cd /usr/local/apache/bin/ //进入/usr/local/apache/bin/目录
[root@localhost bin]# vi /usr/local/apache/conf/httpd.conf //在194行“#”号去掉
[root@localhost bin]# ./apachectl start
httpd (pid 19441) already running
[root@localhost bin]# rpm -ivh /mnt/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm //安装客户端浏览器
[root@localhost bin]# lynx 127.0.0.1 //这个是客户端的浏览工具