水可载舟,亦可覆舟!
1、 介绍
在Linux操作系统中,常用的软件有RPM包软件包,src.rpm格式的软件包(源码),以源代码发布的软件包以及.bin格式软件包和绿色软件。如果采用.rpm格式的软件,同一软件针对不同的Linux发行版有不同的RPM包,相互依赖关系会经常出现不可预料的错误,但安装过程很简单,源码软件包不依赖具体的发行版本和操作系统内核,但安装此软件的主机上应有对应的开发工具(GCC)和内核代码程序支持,而且安装过程要稍微复杂一些,.bin格式文件可以直接运行安装,绿色软件包则可以直接使用。
2、 内容
.rpm
Linux发行版本都使用某中形式的软件包管理安装,更新和卸载软件,这种方法与直接从源代码安装相比,具有以下优点。
A 软件包易于安装和卸载
B 易于更新已安装的软件包。
C 易于保护配置文件
D 易于跟踪已安装文件
rpm 包根据不同的操作系统内核和处理器架构编译过的,因此,不同的操作系统内核版本和处理器架构都需要自己独立的RPM包
rpm 全称Red Hat Package Manager(Red Hat包管理器)。其本质上就是一个包,包含可以立即在特定处理器架构和操作系统内核上安装和运行的Linux软件,大多数Linux RPM软件包的命名有一定的规律,其命名规则如下所示:
名称-版本-修正版-类型
Software-1.2.1-i386.rpm
.src.rpm
.deb
.tar.gz .tar.Z .tar.bz2 .tarz
.bin
安装系统软件包(讲解图形界面的安装)
redhat-config-packages
RPM软件包管理
安装RPM软件包
命令格式:
rpm -i ( or --install) options file1.rpm ... fileN.rpm
参数:
file1.rpm ... fileN.rpm 将要安装的RPM包的文件名
详细选项:
-h (or --hash) 安装时输出hash记号 (``#'') 通用选项 -v 显示附加信息 二、删除 命令格式: rpm -e ( or --erase) options pkg1 ... pkgN 参数 pkg1 ... pkgN :要删除的软件包 详细选项 --test 只执行删除的测试 通用选项 -vv 显示调试信息 三、升级 命令格式 rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm 四、查询 命令格式: rpm -q ( or --query) options 参数: pkg1 ... pkgN :查询已安装的软件包 详细选项 -p 信息选项 五、校验已安装的软件包 命令格式: rpm -V ( or --verify, or -y) options 参数 pkg1 ... pkgN 将要校验的软件包名 软件包选项 -p 详细选项 --noscripts 不运行校验脚本 六、校验软件包中的文件 语法: rpm -K ( or --checksig) options file1.rpm ... fileN.rpm 参数: file1.rpm ... fileN.rpm 软件包的文件名 Checksig--详细选项 --nopgp 不校验PGP签名 通用选项 -v 显示附加信息 七、其它RPM选项 --rebuilddb 重建RPM资料库 rpm –ivh mysoftware-1.2-i386.rpm //安装 rpm软件包 -i install 安装软件 -v verify 检测套件是否正确安装 //-h hash 安装时在屏幕依次打印标识(即#符号)显示安装进步 rpm –qpi mysoftware-1.2-i386.rpm //查询某一个rpm文件的信息命令 rpm –Uvh mysoftware-1.2-i386.rpm //需要更新的软件 rpm –e mysoftware //卸载软件名 单独删除一个rpm时系统可能会提示错误,尤其是系统上有相关的程序依赖于它时。 这时可以用—force选项重新安装。 rpm –ivh –force mysoftware-1.2-i386.rpm 查询软件包安装情况 rpm –qa //查询当前系统所有安装的rpm包 rpm –qa | grep softwarename //查询当前系统是否安装了某软件包 rpm –qa | grep telnet //查询当前系统是否安装了telnet rpm –qal mysoftware-1.2-i386.rpm //查看rpm包在系统中安装的文件的详细信息,可以使用-l参数 目前rpm有两种模式,一种是已经过编码的(i386.rpm).这种软件包只能用于对应平台(如i386.rpm软件包起处理器只能是i386的); 一种是末经过编码的(src.rpm),这种软件包没有固定的应用平台限制,而且操作方便,用户可以根据内核和Linux开发工具重新编译,用户必须在当前系统中安装Linux内核和开发工具).对于.src.rpm 安装过程如下所示:] rpm –ivh Filename.src.rpm //解压软件包系统自动解压到/usr/src/redhat/SPECS文件夹 cd /usr/src/redhat/SPECS rpmbuild –bb filename. Spec //编译软件包,解压到/usr/src/redhat/RPMS/i386 自动 cd /usr/src/redhat/RPMS/i386 rpm –ivh /usr/src/regflag/RPMS/i386/filename.rpm 使用源代码安装: tar文件 tar xf xxx.tar gz文件 tar zxvf xxx.tar.gz bz2文件 tar xjvf xxx.tar.bz2 源码编译安装 ./configure //配置 make // 调用make ,编译程序 make install //安装源代码 make clean //删除安装时产生的临时文件 make uninstall //卸载软件 文件的安装xxx.bin chmod +x xxx.bin && ./bin
--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--noscripts 不运行预安装和后安装脚本
--prefix
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy
--ftpport
-vv 显示调试信息
--root
--rcfile
--dbpath
--noscripts 不运行预安装和后安装脚本程序
--nodeps 不检查依赖性
--root
--rcfile
--dbpath
-f
-a 查询所有安装的软件包
--whatprovides
-g
--whatrequires
-i 显示软件包的概要信息
-l 显示软件包中的文件列表
-c 显示配置文件列表
-d 显示文档文件列表
-s 显示软件包中文件列表并显示每个文件的状态
--scripts 显示安装、卸载、校验脚本
--queryformat (or --qf) 以用户指定的方式显示查询信息
--dump 显示每个文件的所有已校验信息
--provides 显示软件包提供的功能
--requires (or -R) 显示软件包所需的功能
-f
-a Verify 校验所有的软件包
-g
--nodeps 不校验依赖性
--nofiles 不校验文件属性
-vv 显示调试信息
--rcfile
--initdb 创建一个新的RPM资料库
--quiet 尽可能的减少输出
--help 显示帮助文件
--version 显示RPM的当前版本3、实例演示