Linux学习 - 软件包管理

一、软件包分类

  1 源码包

      脚本安装包

      优点:开源、可自由选择所需的功能、软件编译安装、卸载方便

      缺点:安装步骤多、编译过程长、

  2 二进制包(RPM包、系统默认包)

      优点:包管理系统简单、安装速度快

      缺点:不可看到源代码、功能选择不灵活、依赖性

二、RPM包管理——rpm命令管理

  1 RPM包命名规则

httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本
15 软件发布次数
e16.centos 适合的Linux平台
i686 适合的硬件平台
rpm rpm包扩展名

  2 RPM包依赖性

      <1>树形依赖:a->b->c

      <2>环形依赖:a->b->c->a

      <3>模块依赖:查询网站 www.rpmfind.net

  3 包全名与包名

      包全名:当操作的包是没有安装的软件包时,使用包全名

      包名:当操作依据安装的软件包时,使用包名( /var/lib/rpm/ )

  4 RPM安装

      rpm  -ivh  包全名

        -i      安装(install)

        -v       显示详细信息(verbose)

        -h       显示进度(hash)

        --nodeps    不检测依赖性

  5 RPM升级

      rpm  -Uvh  包全名

        -U        升级

  6 RPM卸载

      rpm  -e  包名

        -e        卸载

  7 RPM查询

      rpm  -q  包名

        -q        查询

      rpm  -qa

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

      rpm  -qi  包名

      rpm  -qip  包全名

        -qi       查询已安装的软件包信息(information)

 

        -qip       查询未安装包信息(package)

      rpm  -ql  包名

      rpm  -qlp  包全名

        -ql       查询已安装包文件安装位置

        -qlp       查询未安装包文件打算安装的位置

      rpm  -qf  系统文件名

        -qf      查询系统文件属于哪个RPM包(file)

      rpm  -qR  包名

      rpm  -qRp  包全名

        -qR      查询已安装包的依赖性

        -qRp    查询未安装包的依赖性

  8 RPM校验

      rpm  -V  包名

        -v      校验指定RPM包中的文件(verify)

        校验显示:验证内容   文件类型   文件名

验证内容 S 文件大小修改
M 文件类型、权限修改
5 MD5验证和(文件内容)修改
D 设备中代码修改
L 文件路径修改
U 文件所有者修改
G 文件所属组修改
T 文件修改时间修改
. 表示未修改
 
文件类型 c 配置文件(config)
d 普通文件(documentation)
g 鬼文件(ghost)
l 授权文件(license)
r 描述文件(read)

  9 RPM文件提取

      rpm2cpio  包全名  |  cpio  -idv  .文件绝对路径

      rpm2cpio:将rpm包转换为cpio格式的命令

      cpio:创建软件档案文件和从档案文件中提取文件

        cpio  [-idv]  <[文件|设备]

          -i  coyp-in模式,还原

          -d   还原时自动新建目录

          -v   显示还原过程

      举例:

          当前目录为/root/

          rpm  -qf  /bin/ls      查询ls命令属于哪个软件包

          mv  /bin/ls/tmp/      实现ls命令误操作

          rpm2cpio  /mnt/cdrom/Packages/coreutils-8.4-19.e16.i686.rpm  |  cpio  -idv  ./bin/ls   提取RPM包中ls命令到当前目录的/bin/ls下

          cp  /root/bin/ls  /bin/    把ls命令复制到/bin/目录,修复丢失文件

三、RPM包管理——yum在线管理

  1 IP地址配置      

  2 网络yum源

      vi  /etc/yum.repos.d/CentOS-Base.repo  打开网络yum源

[base] 容器名称
name 容器说明
mirrorlist 镜像站点
baseurl yum源服务器地址
enabled 此容器是否生效,默认生效为1
gpgcheck RPM的数字证书是否生效,1生效
gpgkey 数字证书的公钥文件保存位置

 

  3 yum命令

    (1)yum  list            查询所有可用软件包列表

    (2)yum  search  关键字        搜索服务器上所有和关键字相关的包

    (3)yum  -y  install  包名        安装

        例:yum  -y  install  gcc(源码包时使用)

    (4)yum  -y  update  包名      升级

        注:如果未加包名,则升级所有的软件包,包括CentOS本身

    (5)yum  -y  remove  包名      预卸

        注:yum卸载会将其他软件关联的软件包一并卸载,所以尽量不要使用yum卸载

    (6)yum  grouplist           列出所有可用的软件组列表

    (7)yum  groupinstall  软件组名     安装指定软件组

    (8)yum  groupremove  软件组名     预卸指定软件组

  4 光盘yum源搭建

    (1)挂载光盘

        mkdir  /mnt/cdrom

        mount  /dev/cdrom  /mnt/cdrom

    (2)让网络yum源文件失效

        cd  /etc/yum.repos.d/

        mv  CentOS-Base.repo  CentOS-Base.bak

        mv  CentOS-Debuginfo.repo  CentOS-Debuginfo.bak

        mv  CentOS-Vault.repo  CentOS-Vault.bak

        注:Linux是根据yum文件的后缀名 .repo来识别yum源文件,故修改后缀名可实现yum源文件失效

    (3)修改光盘yum源文件

        vim  CentOS-Media.repo

        

        注:修改baseurl,注释后面两个file地址,使enabled=1

posted @ 2018-03-01 09:05  hwzheng  阅读(110)  评论(0编辑  收藏  举报