目标:
了解linux应用程序的组成部分
掌握使用RPM工具管理软件包的方法
掌握应用程序源代码包的编译安装方法
掌握图形界面下应用程序管理工具的使用
1、Linux应用程序基础
2、RPM包管理
包管理系统初步:
RPM:RPM Package Manager
http://www.rpm.org
RPM包管理系统:
$ rpm
RPPM包的文件名称:
bash-3.0-19.2.i386.rpm
bash:软件名称。
3.0-19.2:软件的版本号。
i386:软件所运行的最低硬件平台。
rpm:文件的扩展名,用来标识当前文件是rpm格式的软件包。
RPM包管理功能:
rpm命令配合不同的参数可以实现以下的rpm包的管理功能:
查询已安装在linux系统中的RPM软件包的信息。
查询RPM软件包安装文件的信息。
安装RPM软件包到当前linux系统。
从当前linux系统中卸载已安装的RPM软件包。
从当前linux系统中升级已安装的RPM软件包。
使用rpm命令查询软件包:
1、查询系统中安装的所有RPM包
$ rpm -qa 查询当前linux系统中已经安装的软件包。
例:$ rpm -qa | grep -i x11 | head -3 察看系统中包含x11字符串的前3行软件包。
2、查询软件包是否安装
$ rpm –q rpm包名称 察看系统中指定软件包是否安。
例: $ rpm -q bash 察看系统中bash软件包是否安装。
"rpm -q"命令中指定的软件包名称需要准确的拼写,该命令不会在软件包的名称中进行局部匹配的查询。
3、查询已安装软件包详细信息
$ rpm –qi RPM包名称 查询linux系统中指定名称软件包的详细信息。
例:$ rpm -qi bash 察看bash软件包的详细信息。
"rpm -qi"命令的执行结果中包含较详细的信息,包括:软件名称,版本信息,包大小,描述,等。
4、查询已安装软件包中的文件列表
$ rpm –ql RPM包名称 查询已安装软件包在当前系统中安装了哪些文件。
例:$ rpm -ql bash | head -3 查看bash软件在系统中已安装文件的前3行文件列表。
$ rpm -ql bash | grep bin 用过滤方式察看bash中包含bin字符串的文件列表。
5、查询系统中文件所属的软件包
$ rpm –qf 文件名称 查询linux系统中指定文件所属的软件包。
例:$ rpm -qf /bin/bash 察看bash文件所属的软件包。
bash-3.0-19.2 显示结果。
6、查询RPM安装包文件中的信息
$ rpm –qpi RPM包文件名 察看RPM包未安装前的详细信息。
$ rpm –qpl RPM包文件名 察看RPM包未安装前的文件列表。
"rpm -qpi和rpm -qpl 这两条命令可作为在安装软件包之前对其的了解。
7、rpm命令查询实例
$ which mount 获得mount命令的可执行文件路径。
$ rpm –qf /bin/mount 查询/bin/mount所属的软件包。
$ rpm –qi util-linux 查询/bin/mount所属软件包的详细信息。
$ rpm –qf util-linux | grep mount 查询/bin/mount所属软件包中包括mount相关所有文件。
使用rpm命令安装软件包
1、rpm软件包地基本安装
$ rpm –i rpm安装包文件名 安装该软件包中的文件到当前系统,安装过程不提示任何信息。
2、在安装软件包的同时显示详细信息
$ rpm –ivh rpm安装包文件 安装该软件包中的文件到当前系统,安装过程会以百分比的形式
显示安装的进度和一些其他信息。
3、RPM软件包安装的依赖关系
强制安装:$ rpm --force –i rpm包文件名
注:要先满足软件包的依赖关系后再进行软件包的安装,使用强制安装命令安装不能保证软件安装到系统后一定能
正常运行,因此建议慎重使用。
使用rpm命令卸载软件包:
1、RPM软件包的卸载
$ rpm -e 软件包名称 软件包的卸载,在卸载时不显示任何信息。
注:RPM软件包的卸载同样存在依赖关系,只有在没有依赖关系存在时才能对其进行卸载。
2、rpm软件包卸载的依赖关系
在使用RPM命令进行卸载时,RPM命令会分析要卸载的软件包的依赖关系,当存在依赖关系时会自动停止,并显由
哪个软件造成的卸载失败。根据RPM提示的错误信息,确定先卸载的软件包,再卸载被依赖的软件包。
使用rpm命令升级软件包:
$ rpm - U rpm安装包文件名
注:"rpm -u"命令中使用的升级软件包文件最好使用RED HAT公司针对当前的linux版本官方推出的升级文件,建议不要
使用第三方提供的升级包。
应用程序编译
开放源代码应用程序的编译安装
(下面以多线程下载软件"prozilla"的源代码编译安装为例来说明源代码编译安装的整个过程)
编译应用程序前的准备工作:
1、确认系统中已经安装了编译环境
$ rpm -qa | grep gcc 确定当前系统中安装了gcc编译器环境。
2、下载prozilla程序的源代码安装包文件
略
3、释放已下载的源代码软件包文件
$ tar jxf prozilla-2.0.4.tar.bz2 释放以下载的源代码软件包文件到当前目录。解压后的文件
名:prozilla-2.0.4
扩展:tar的xzvf参数用于释放以tar.gz格式的压缩包。
4、进入源代码目录
$ cd prozilla-2.0.4 进入目录。
$ pwd 显示当前目录路径。
/home/teacher/download/prozilla-2.0.4 显示结果。
编译软件安装的路径:
$ ./configure --prefix=/home/teacher/proz
在prozilla程序的配置中,使用"--prdfix"选项可以指定应用程序编译后的安装路径,如果不使用"--prefix"
选项指定安装路径,configure程序将配置prozilla的默认安装路径为"/usr/local/bin"目录。
5、程序编译过程
$ make 使用make命令进行程序的二进制编译。
6、程序安装过程
$ make install
"make install"命令将按照configuer命令的"--prefix"选项中设定的安装路径将已编译完成的应用程序安装
到目标目录。
7、验证编译安装的程序
$ ls /home/teacher/proz 察看proz文件夹中的文件。
bin include lib man share
编译前的配置
$ ./configure - - help
编译与安装:
1、程序编译过程
$ make
2、程序安装过程
$ make install
3、验证编译安装的程序
使用图形界面系统工具完成RPM保的安装
略