前言
本章主要内容,学会使用rpm 工具安装、查询及卸载软件包,通过源代码编译安装软件包。
一.安装及管理应用程序
1.应用程序与系统命令的关系
在Linux操作系统中,一直以来命令和应用程序并没有特别明确的区别。从长期使用习惯来看,可以通过以下描述来对两者进行区别。
(1)命令和应用程序两者区别
文件位置
- 系统命令:一般在/bin和/sbin目录中,或为Shell内部指令
- 应用程序:通常在/usr/bin和/usr/sbin目录中
主要用途
- 系统命令:完成对系统的基本管理工作,例如IP配置工具
- 应用程序:完成相对独立的其他辅助任务,例如网页浏览器
适用环境
- 系统命令:一般只在字符操作界面中运行
- 应用程序:根据实际需要,有些程序可在图形界面中运行
运行格式
- 系统命令:一般包括命令字、命令选项和命令参数
- 应用程序:通常没有固定的执行格式
(2)典型应用程序的目录结构
安装完一个软件包以后,可能会向系统中复制大量的数据文件,并进行相关设置,在Linux操作系统中,典型的应用程序通常由以下几部分组成。
2.软件包封装类型
对于各种应用程序的软件包,在封装时可以采用各种不同的类型,不同类型的软件包其安装方法也各不相同,常见的软件包封装类型如下。
(1)常见的软件包封装类型
3.RPM 包管理工具
(1)认识RPM软件包
由 Red Hat 公司提出,被众多 Linux 发行版所采用
建立统一的数据库文件
详细记录软件包安装、卸载等变化信息
自动分析软件包依赖关系
(2)RPM软件包一般命名格式
软件素材参考:http://www.rpm.org
例:
4.RPM包管理 rpm 命令
(1)rpm命令的主要功能
查询、验证RPM软件包的相关信息
安装、升级、卸载RPM软件包
维护RPM数据库信息等综合管理操作
5.查询RPM 软件包信息
(1)查询已安装的 RPM 软件信息
rpm -q[子选项] [软件名]
(2)查询未安装的 RPM 软件包文件中信息
rpm - qp[子选项] RPM包文件
6.安装、升级、卸载 RPM 软件包
安装或升级RPM软件
rpm [选项] RPM包文件 ...
卸载指定的RPM软件
rpm -e 软件名
辅助选项
--force、--nodeps、-h、-v
7. RPM常用命令
- 1>查询是否安装软件包:rpm -q
- 2>删除软件包:rpm -e
- 3>安装新的软件包:rpm -i
- 4>安装或升级软件包(以#号显示进度):-h
- 5>显示安装过程中的详细信息:-v
- 6>强制安装:--force
- 7>强制卸载:--nodeps
8.维护RPM数据库
(1)重建RPM数据库
1. [root@localhost ~]# rpm --rebuilddb 2. 或 3. [root@localhost ~]# rpm --initd
(2)导入验证公钥
[root@localhost ~]# rpm --import /media/cdrom/RPM-GPG-KEY-redhat-release
1.源代码编译概述
(1)使用源代码安装软件的优点
- 获得最新的软件版本,及时修复bug
- 根据用户需要,灵活定制软件功能
(2)应用场合举例
- 安装较新版本的应用程序时
- 当前安装的程序无法满足需要时
- 需要为应用程序添加新的功能时
2.编译安装源代码包(了解)
(1)Tarball 封包
.tar.gz 和 .tar.bz2 格式居多
软件素材参考:http://sourceforge.net
(2)完整性校验
md5sum校验工具
在 Ubuntu 等 Linux 或 Unix 系统中,md5sum 是用来计算和校验文件的工具.
[root@localhost ~]# md5sum axel-1.0a.tar.gz 2d94c0b36b374834567f1fcec5f89119 axel-1.0a.tar.gz
(3)确认源代码编译环境
需安装支持 C/C++程序语言的编译器,如:
gcc-4.4.7-4.el6、gcc-c++-4.4.7-4.el6
make-3.81-20.el6.……
3.编译安装过程
1>tar解包(将源代码包解压、解包,释放到指定目录,等待编译)
2>./configure配置(设置安装的目标文件夹,选择要安装的功能模块等)
3>make编译(根据前一步配置,将源代码变成可执行的二进制文件)
4>make install安装(将编译好的二进制文件复制到系统中,并设置应用环境)