linux中rpm的使用和配置案例

 

软件包管理:
操作系统的启动过程:POST->BIOS(HD)->(MBR)bootloader(文件系统结构,ext2,ext3,ext4)->内核
一、linux中的目录设置及rpm的定义
1、linux目录设置
/bin  目录用于存放普通用户可执行的命令,系统中的任何用户都可以执行该目录中的命令
/boot 目录用于存放linux操作系统启动时所需使用的文件,为了系统能够启动,通常该目录需要使用独立的分区,这样boot分区和根分区相互独立可以保证启动文件更加安全可靠。
/mnt  目录中的子目录用于作为系统中可移动存储设备的挂载点。如光驱。
/root 不能单独分区。目录是超级用户root的宿主目录,可见超级用户在系统中与普通用户有很大差异。
/sbin
/tmp  为系统临时目录,很多命令程序在该目录中存放临时使用的文件。
/usr  目录用于存放大量的系统应用程序及相关文件。如说明文档、库文件等。
/var  目录用于存放系统中经常变化的文件,如日志文件,用户邮件等。
/dev  不能单独分区。目录用于存放系统中的所有设备文件,如光盘驱动器、硬盘等。
/etc  目录用于存放系统中的配置文件,linux 中的配置文件都是文本文件,可以使用相应的命令查看。
/home 单独分区。目录用于存放系统中普通用户的宿主目录,每个用户在该目录下都有一个与用户同名的目录。
/proc和/sys两个文件不能单独分区,默认是空的
/misc 杂项 
2、rpm的定义
RPM全名“redhat package manager ” 简称RPM。RPM是以一种数据库记录的方式来将我们所需要的软件安装到linux系统的一套管理机制。
二、RMP的优点:
RPM内含已经编译过的程序与设置文件等数据,可以让用户免除重新编译的困扰
RPM在被安装之前,会先检查系统的硬件容量、操作系统版本信息,可避免文件被错误安装
RPM文件本身提供软件版本信息、依赖属性软件名称,软件用途说明,软件所含文件等信息,便于了解软件。
RPM管理的方式使用数据库记录RPM文件的相关参数,便于升级,删除、查询与验证。
三、RPM的缺点以及解决方法;
RPM安装过程中用到很多动态库里面的以.rpm的文件但是这类文件大多数终端用户不会去刻意的开发。但是我们安装的软件又依赖于这类软件,所以导致我们安装这个软件的时候有时候会提示你这个软件A依附于软件B的安装因为你没有安装B所以无法安装。
YUM就是处理这些问题的一个软件档案,它会将我们依附的软件先列表,在我们要安装软件需要的时候,先到这个列表中查找,同时与系统内已经安装的软件相比较,没有安装的依附软件就一并安装起来。
四、RPM默认安装的路径
/etc  放一些设置文件的目录
/usr/bin  放一些可执行的文件
/usr/lib 放一些程序使用到的动态函式库
/usr/share/doc 放一些基本的软件使用手册与说明文件
/usr/share/man 放一些man page档案
安装后的软件相关信息写在/var/lib/rpm目录下的数据库档案中包括数字签名信息也在里面。
五、RPM 命令的使用
1、安装
 -i 查看软件包的信息。
 

 -v 查看细部的安装信息画面
 -vv 查看更细部的安装信息画面
 -h 已安装信息列显示安装进度


 --nodeps 忽略依赖关系。但是强制安装后可能软件无法正常使用
 --force 强制安装可以实现重装或降级
 --replacepkgs:重新安装某个已经安装过的软件,替换原有的安装
 --test 测试下看看是否有依赖关系


2、查询(query)
 rpm   -q 仅查询后面接的软件名称是否有安装
    -q --scripts PACKAGE-NAME 查询指定包中包含的脚本。
    -qa 列出所有的,已经安装在本机系统上面的所有软件名称
    -qi  PACKAGE-NAME :列出该软件的详细信息,包含开发商,版本与说明信息
    -ql  PACKAGE-NAME :列出该软件所有的档案与目录所在完整文件名(list)
    -qd  PACKAGE-NAME 查询指定安装包的帮助文件
    -qf  /PATH/TO/SOMEFILE 查询指定的文件是有那个rpm包安装生成的
    -qR  /PATH/TO/SOMEFILE 列出与该软件有光的相依软件所含的档案。(required的意思)
    -qc  /PATH/TO/SOMEFILE 查询指定安装包的配置文件。(找出在/etc底下的档案而已)
    -qp[icdlR PATH/TO/PACKAGE-FILE 如果某个rpm包尚未安装,我们需要查询其说明信息、安装以后会生成的文件

3、升级
  rpm -Uvh /PATH/TO/NEW-PACKAGE-FILE 如果装有此旧软件 则升级;没有安装则直接安装
  rpm -Fvh /PATH/TO/NEW-PACKAGE-FILE 如果装有此旧版本 则升级,没有安装则退出

4、卸载
 rpm -e PACKAGE-NAME 如果某软件包依赖某软件包则不会被卸载
  --nodeps  忽略依赖关系 直接卸载
5、校验:(verify/signature)
  -V 后面加的是软件名称,若该软件所含的档案被更动过,才会列出来。
  -Va 列出目录系统上面所有可能更动过的档案
  -Vp 后面加的是文件名,列出该软件内可能被更动过的档案
  -Vf 列出某个档案是否被更动过。
 当你的档案被修改过之后你校验的时候会下面会出现一些s m 5一些字母和数字,那这些字母和数字都是代码的意思是:
 S:file size differs 档案的容量大小是否被个改变
 M:mode differs  档案的类型或档案的属性(rwx)是否被改变,如是否可执行等参数已被改变。
 5:(MD5 sum differs )MD5这一种指纹的内容已经不同
 D:(device major /minor number mis-match)装备的主次代码已经改变
 L:(readlink path mis-match)link路径一杯改变
 U:档案的所属人已被改变
 G:档案的所属群组已被改变
 T:(mtime differs)档案的建立时间已被改变。
 
6、重建数据库:
 rpm
    -rebuilddb 重建数据库
    --initdb:初始化数据库 没有才建立,有就不用建立
   
 
7、检验来源合法行,及软件完整性。
由于不同版本gpg密钥档案放置的位置可能不同,不过档名大多是以gpg-key来说明,因此你可以简单的使用local 或者find来找寻,
如以下的方式来搜寻即可:
find /etc -name ‘*GPG-KEY*’

 

你可能感兴趣的:(rpm的使用)