Linux软件包管理

1./etc /bin /sbin /lib 是一定要在根分区上的,不能挂载额外的分区 /usr目录尽量独立分区用于安装操作软件 /var尽量单独分区。/proc /sys /dev不能独立分区默认为空的

2.一个软件的组成部分

 a.二进制程序

 b.库文件

 c.配置文件

 d.帮助文件

3.第三方软件装在/usr/local/目录下

4.在/etc/profile文件中可以追加环境变量的值

5.内核识别设备文件是通过驱动程序

6.软件包管理器--生成数据库跟踪没一个安装的软件(便于删除软件)

  软件包管理器的核心功能:

    a.制作软件包

    b.安装,升级,查询,校验,卸载

  RPM包的命名

    包名格式:

name-version-release.arch.rpm

bind-major.minor.release-release.arch.rpm

     主版本号:重大改进

     次版本号:某个子功能发生重大变化

     发行号:修正了部分bug,调整了一点功能

  RPM的格式

     a.二进制格式

     b.源码格式

  1、安装

     rpm -i /PATH/TO/PACKAGE_FILE

   -h: 以#显示进度;每个#表示2%

   -v: 显示详细过程

   -vv: 更详细的过程

     rpm -ivh /PATH/TO/PACKAGE_FILE

   --nodeps: 忽略依赖关系

   --replacepkgs: 重新安装,替换原有安装

   --force: 强行安装,可以实现重装或降级

   2、查询

     rpm -q PACKAGE_NAME: 查询指定的包是否已经安装

     rpm -qa : 查询已经安装的所有包

     rpm -qi PACKAGE_NAME: 查询指定包的说明信息

     rpm -ql PACKAGE_NAME: 查询指定包安装后生成的文件列表

     rpm -qc PACEAGE_NEME:查询指定包安装的配置文件

     rpm -qd PACKAGE_NAME: 查询指定包安装的帮助文件

     rpm -q --scripts PACKAGE_NAME: 查询指定包中包含的脚本

     rpm -qf /path/to/somefile: 查询指定的文件是由哪个rpm包安装生成的

     如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件

     rpm -qpi /PATH/TO/PACKAGE_FILE

     rpm -qpl 

   3、升级

     rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果装有老版本的,则升级;否则,则安装

     rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,退出

    --oldpackage: 降级

   4、卸载

     rpm -e PACKAGE_NAME

  --nodeps

   5、校验

rpm -V PACKAGE_NAME

   6、重建数据库

rpm 

   --rebuilddb: 重建数据库,一定会重新建立

   --initdb:初始化数据库,没有才建立,有就不用建立

   7、rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release: 导入密钥文件

     rpm -K /PAPT/TO/PACKAGE_FILE (只能验证RedHat的rpm包)

dsa, gpg: 验正来源合法性,也即验正签名;可以使用--nosignature,略过此项

sha1, md5: 验正软件包完整性;可以使用--nodigest,略过此项



 


本文出自 “珞辰的博客” 博客,请务必保留此出处http://luochen2015.blog.51cto.com/9772274/1651114

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。