zoukankan      html  css  js  c++  java
  • 1、linux软件包管理

     

    linux软件包管理分为两种:RPM包管理和源码包管理,其中RPM包管理又有两种方式:①RPM命令管理,②YUM在线命令管理。

    RPM包依赖关系:

    1、树形依赖

    2、环形依赖 (用一条命令同时装来解决)

    3、模块依赖,模块依赖查询网址www.rpmfind.net。例如,安装某个rpm包的时候需要依赖模块libodbcinst.so.2解决步骤:在rpmfind网址上查找到模块所在的rpm包,然后安装该包即可。

    区别“包全名”与“包名”

    1、包全名:mysql-5.1.73-7.el6.x86_64.rpm,对应的包名:mysql

    2、使用包全名:操作的包还没有安装,使用包全名。如,安装和升级操作。

    3、使用包名:操作的包已经安装完成,使用包名即可,其会搜索/var/lib/rpm/中的数据库。如,查询和卸载操作。

     

    一、RPM包管理——rpm命令管理:

    安装:rpm  -ivh  包全名

    选项:

      -i   安装install

      -v   显示详细信息verbose

      -h   显示进度(hash

      --nodeps 不检查依赖性(导致功能缺失)

     

    升级:rpm  -Uvh  包全名

    选项:

      -U 升级(upgrade

    卸载:rpm  -e   包名

    选项:

      -e   卸载(erase

      --nodeps 不检查依赖性

     

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

        rpm -q  包名     //查询包是否安装

        rpm -qi  包名     //查询已经安装的软件信息

        rpm -qip 包全名    //查询未安装包信息

        rpm -ql  包名     //查询软件包文件安装位置

        rpm -qlp 包全名    //查询rpm包准备把文件安装到哪些位置

        rpm -qf 系统文件名   //查询系统文件属于哪个rpm

        rpm -qRp 包全名   //查询软件包的依赖性

    选项:

      -q   查询(query

      -a   所有(all

      -i  软件信息(information

      -p  未安装包(package

      -l   软件包文件安装位置列表(list

      -f  系统文件属于哪个软件包(file

      -R  软件包的依赖性(Requires

     

    校验:rpm  -V   已安装的包名

    选项:

      -V   校验指定RPM包中的文件(Verify

    校验输出8个信息位,如果对应项的改变,则用点显示:

      S 文件大小是否改变

      M 文件的类型或文件的权限(rwx)是否改变

      5 文件的md5校验和是否被改变

      D 设备

      L 文件路径是否改变

      U 文件的所有者是否改变

      G 文件的所属组是否改变

      T 文件的修改时间是否改变

    文件类型:

      c  配置文件(config file

      d  普通文件(documentation

      g  “鬼”文件(ghost file),很少见,就是该文件不应该被这个rpm包所包含

      l  授权文件(license file

      r  描述文件(read me

     

    文件提取:rpm2cpio  包全名 | cpio -idv .文件的绝对路径        //注意这里的点“.”将rpm包中文件提取到当前目录中

    说明:

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

    cpio 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

     

    cpio  选项 <  [文件|设备]

    选项:

      -i:  copy-in模式,还原

      -d:  还原时自动新建目录

      -v:  显示还原过程

     

    文件提取命令使用例子:加入我把系统中的/bin/ls命令误删除了,如何还原?

    rpm  -qf  /bin/ls      //查询ls命令属于哪个软件包(别的机器,或网上)

    rpm2cpio  coreutils-8.22-15.el7.x86_64.rpm  |  cpio  -idv  ./bin/ls  //ls提取到当前目录下

    cp  ./ls  /bin/       //把提取到的ls文件复制到/bin/目录下

    二、RPM包管理——yum命令管理:

    网络yum源配置文件(默认使用)/etc/yum.repos.d/CentOS-Base.repo

    [base]     容器名称,一定要放在[]

    name      容器说明,可以自己随便写

    mirrolist      镜像站点,这个可以注释掉

    baseurl yum  源服务器地址。默认是CentOS官方的yum源服务器,可以更换成其他的yum

    enabled    此容器是否生效,如果不写或写成“enable=1”都生效,写成“enable=0”就不生效

    gpgcheck     1指定RPM的数字证书生效,0则不生效

    gpgkey     数字证书的公钥文件保存位置。不用修改。

    查询:yum  list         //到网络服务器中查询所有可用rpm资源

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

    安装:yum  -y  install  包名   //安装,自动回答yes

    升级:yum  -y  update  包名   //注意:如果没有包名,则会升级所有软件,包括内核。慎用升级所有。

    卸载:yum  -y  remove  包名   //卸载。注意:yum会卸载所有依赖包,极有可能卸载掉共同依赖包,甚至是系统依赖包。服务器安装原则,最小化安装,不安装多余软件,不用yum卸载

    yum软件组管理:

    查询组:yum  grouplist     //列出所有可用的组

    安装组:yum  -y  groupinstall  “软件组名”     //安装组

    卸载组:yum  -y  groupremove  “软件组名”     //卸载指定软件组

    光盘yum源搭建步骤:

    ①挂载光盘

    mount  /dev/cdrom  /mnt/cdrom/

    ②让网络yum源文件失效(enable=0方便的做法是“改名”,yum源是靠检测“.repo”后缀来读取配置文件的)

    cd    /etc/yum.repos.d/

    mv  CentOS-Base.repo  CentOS-Base.repo.bak

    mv  CentOS-Debuginfo.repo  CentOS-Debuginfo.repo.bak

    mv  CentOS-Vault.repo  CentOS-Vault.repo.bak

    ③修改光盘yum源文件(注意,配置文件要严格准守默认格式)

    配置baseurl=file://绝对路径     //如:file:///mnt/cdrom

    使用enable=1,让文件生效

    三、源码包管理:

    一般来讲,包括“配置”“编译”“安装”,拿到一个源码包以后,一般打开其“INSTALL”或“README”文件,里面会有相关的编译安装说明。

  • 相关阅读:
    烂笔头@WP 的博文仅供自己学习的备忘录
    工具---搜索
    ubuntu---安装teamviewer和向日葵
    Ubuntu---标注工具 XXX-labelImg
    ubuntu---深度学习标注工具CasiaLabeler
    ubuntu---kazam安装
    ubuntu---notepadqq安装
    ubuntu---TeamViewer安装
    ubuntu---鼠标的乌龙事件
    ubuntu---终端下不显示 中文文字 的解决方法
  • 原文地址:https://www.cnblogs.com/lj95801/p/5656730.html
Copyright © 2011-2022 走看看