rpm 管理程序与源码编译安装
RPM的介绍RPM包管理命令 --- rpmrpm命令的格式查询已经安装的RPM软件信息查询未安装的RPM软件信息安装、升级RPM软件卸载rpm软件包维护RPM数据库
Linux应用程序基础linux命令与应用程序的关系典型应用程序的目录结构常见的软件包封装类型
源码编译安装编译安装的过程源码编译安装实例
RPM的介绍
RPM软件包管理机制最早由Red Hat公司提出,后来随着版本的升级逐渐融入了更多的优秀特性,成为众多Linux发行版中公认的软件包管理标准。RPM包管理器通过建立统一的文件数据库,对在Linux系统中安装,卸载,升级的各种.rpm软件包进行了详细的记录,并能够自动分析软件包之间的依赖关系,保持各个应用程序在一个协调有序的整体环境中运行。
RPM包管理命令 — rpm
rpm命令的格式
rpm命令能够实现几乎所有对有所RPM软件包的管理功能执行 “man rpm” 命令可以获得关于rpm命令的详细帮助信息rpm命令功能
查询、验证RPM软件包的相关信息安装、升级、卸载RPM软件包维护RPM数据库信息等综合管理操作 一般命名格式
查询已经安装的RPM软件信息
语法格式:
rpm
-q
[子选项
] [软件名
]
选项:
-qa :查看已经安装的所有
RPM软件包列表
-qi :查看指定软件包的详细信息
-ql :查询软件包的安装目录、文件列表
-qf :通过软件具体的路径查询这个软件的具体版本
-qc :列出配置文件(
/etc 下的文件)会列出 conf 文件的位置
-qd :列出帮助文件(功能一样的还有 man 命令)
查询未安装的RPM软件信息
语法格式:
rpm
-qp
[子选项
] [RPM包文件名
]
选项:
-qpi :查看该软件包的详细信息
-qpl :查看包内所有包含的目录、文件列表
-qpc :列出配置文件
-qpd :列出帮助文件
安装、升级RPM软件
语法格式:
rpm
[选项
] [目录下的软件包名
]
选项:
-i :安装一个新的rpm软件包
-U :升级;若未安装,则进行安装
-h :以#号显示安装 的进度
-v :显示安装过程的详细信息
-F :更新某个rpm软件包,若未安装,则放弃安装
--force :强制安装所指定的rpm软件包
示例:rpm
-ivh
/opt
/bash
-4.1.2-15.e16_4
.x86_64
.rpm
卸载rpm软件包
语法格式:
rpm
-e
[软件名
]
辅助选项:
nodeps :安装、升级、卸载软件会忽略关系,可能会导致软件异常,一般不用
维护RPM数据库
当RPM数据库发生损坏(误删文件、非法关机、病毒破坏等)且Linux系统无法自动完成修复时,将导致无法使用 rpm 命令正常地安装、卸载及查询软件包,这时就可以使用以下两个选项的功能对RPM数据库进行重建
rpm
--rebuilddb
rpm
--initdb
Linux应用程序基础
linux命令与应用程序的关系
在Linux系统中,一直以来命令和应用程序并没有特别明确的区别,从长期使用习惯来看,我们可以通过以下描述来对两者进行区别 - 文件位置 :一般在/bin和/sbin目录中,称为Shell内部指令;而应用程序通常在/usr/local目录中 - 主要用途 :系统命令是完成系统的基本管理工作,例如:ifconfig ;而应用程序则是完成相对独立的其他辅助任务,例如网页浏览器 - 适用环境 :系统命令一般只在字符操作界面中运行;应用程序 则是根据实际需求,有些程序可在图形化界面中运行。 - 运行格式 :系统命令一般包括命令字、命令选项和命令参数,应用程序却没有固定的执行格式。
典型应用程序的目录结构
安装完一个软件包后,可能会想系统中复制大量的数据文件,并进行相关设置,在Linux系统中,典型的应用程序通常由以下几部分组成
普通可执行程序文件 :一般保存在 /usr/bin 目录中,普通用户即可执行服务器程序、管理程序文件 :一般保存在 /usr/sbin 目录中。只有管理员能执行配置文件 :一般保存在 /etc 目录中,配置文件较多时会建立相应的子目录日志文件 :一般保存在 /var 目录中关于应用程序的参考文档等数据 :一般保存在 /usr/share/doc 目录中执行文件及配置文件的 man 手册 :一般保存在 /usr/share/man 目录中
常见的软件包封装类型
RPM软件包 :扩展名为 “.rpm”格式,只能在使用RPM机制的linux操作系统中安装DEB软件包 :扩展名为 “.deb”格式,只能在使用DPKG机制的linux操作系统中安装源代码软件包 :这种软件包时程序员开发完成的原始代码,一般被制作成“.tar.gz”,“.tat.bz2”等格式的压缩包文件附带安装程序的安装包 :扩展名不一,但以TarBall格式居多,软件包中提供用于安装的可执行程序或脚本文件
源码编译安装
Linux操作系统之所以能够在十余年的时间里发展壮大以至于风靡全球,其开放源代码的特性是很重要的原因之一,及Linux操作系统中包括内核在内的所有软件都可以获得源代码,并且可以经过定制修改后编译安装。
虽然现代的Linux发行版本大部分采用包管理机制对软件进行打包安装,可以省去软件的编译安装过程,但是还有些情况需要使用源代码编译的方式为系统安装新的应用程序。
编译安装的过程
源码编译安装实例
1、将 http
-2.4.25.tar
.gz 软件包上传到
/opt 目录下
2、设置挂载点
mount
/dev
/cdrom
/mnt
3、切换到
/opt 目录下
cd
/opt
4、用哈希值验证包的完整性
md5sum http
-2.4.25.tar
.gz
(会显示 :
24fb8b9e36cf131d78caae864fea0f6a http
-2.4.25.tar
.gz)
5、解压包到
/opt 目录下
tar zxvf http
-2.4.25.tar
.gz
-C /opt
6、切换到 http
-2.4.25 目录下
cd http
-2.4.25
7、安装 http 的依赖包(可Tab 出来的)
rpm
-ivh
/mnt
/Packages
/pcre
-devel
-8.32-17.el7
.x86_64
.rpm
rpm
-ivh
/mnt
/Packages
/apr
-devel
-1.4.8-3.el7_4
.1.x86_64
.rpm
rpm
-ivh
/mnt
/Packages
/expat
-devel
-2.1.0-10.el7_3
.x86_64
.rpm
rpm
-ivh
/mnt
/Packages
/libdb
-devel
-5.3.21-24.el7
.x86_64
.rpm
rpm
-ivh
/mnt
/Packages
/cyrus
-sasl
-devel
-2.1.26-23.el7
.x86_64
.rpm
rpm
-ivh
/mnt
/Packages
/openldap
-devel
-2.4.44-13.el7
.x86_64
.rpm
rpm
-ivh
/mnt
/Packages
/apr
-util
-devel
-1.5.2-6.el7
.x86_64
.rpm
8、配置安装路径
./configure
--prefix
=/usr
/local
/apache
9、make编译安装
make
&& make install
10、切换目录
cd
/usr
/local
/apache
/bin
/
11、修改配置文件
vi
/usr
/local
/apache
/conf
/httpd
.conf
在第
194行去掉#号
12、开启http
./apachectl start
13、过滤端口验证端口已开启
netstat
-anpt
| grep
80
14、安装客户端浏览器
rpm
-ivh
/mnt
/Packages
/lynx
-2.8.8-0.3.dev15
.e17
.x86_64
.rpm
15、输入 lynx
127.0.0.1
16、关闭防火墙、核心防护
iptables
-F
setenforce
0
17、在网页中输入自己的
IP地址测试
出现 It works
到底结束,感谢浏览