zoukankan      html  css  js  c++  java
  • LinuxDay11——软件包管理

    rpm包管理

    CentOS系统上使用rpm命令管理程序包:

      安装、卸载、升级、查询、校验、数据库维护

    安装

     rpm {-i|--install} [install-option] PACKAGE_FILE...

        -v:verbose  -vv:显示过程

        -h:以#显示程序包管理执行数据

     rpm -ivh PACKAGE_FILE...

     [install-options]

      --test:测试安装,但不真执行安装,即dry run模式

      --nodeps:忽略依赖关系

      --replacepkgs | replacefiles

      --nosignature:不检查来源合法性

      --nodigest:不检查包完整性

      --noscripts:不执行程序包脚本

      --nopre:安装前脚本;%pre

      --nopost:安装后脚本;%post

      --nopreun:卸载前脚本;%preun

      --nopostun:卸载后脚本;%nopostun

    升级

     rpm {-U|--upgrade} [install-options] PACKAGE_FILE...

      -U升级安装

     rpm {-F|--freshen} [install-options] PACKAGE_FILE...

      -F升级

       upgrade:安装有旧版程序包,则“升级”;如果不存在旧版程序包,则“安装”

       freshen:安装有旧版程序包,则“升级”;如果不存在旧版程序包,则不执行升级操作

      rpm -Uvh PACKAGE_FILE ...

      rpm -Fvh PACKAGE_FILE ...

      --oldpackage:降级

      --force: 强制安装

    升级主要事项

    (1)不要对内核做升级操作;Linux支持多内核版本并存,因此,应直接安装新版本内核

    (2)如果源程序包的配置文件安装后曾被修改,升级时,新版本的提供的同一个配置文件并不会直接覆盖老版本的配置文件,而把新版本的文件重命名

    查询

     rpm {-q|--query} [select-options] [query-options]

      -q查询

     [select-options]

      -a: 显示所有包

      -f: 查看指定的文件由哪个程序包安装生成

      -p rpmfile:针对尚未安装的程序包文件做查询操作

      -c:只看配置文件

      -d:显示文档

      -i:包的说明信息

      -l:查看程序包提供了哪些文件

      --scripts:查询包的脚本信息

      --provides:列出包提供的“能力”

      -R:查询包所依赖的“能力”

      --whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供

      --whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖

     rpm2cpio 包文件|cpio –itv 预览包内文件

     rpm2cpio 包文件|cpio –id “*.conf” 释放包内文件

    校验

     rpm {-V|--verify} [select-options] [verify-options]

      S file Size differs

      M Mode differs (includes permissions and file type)

      5 digest (formerly MD5 sum) differs

      D Device major/minor number mismatch

      L readLink(2) path mismatch

      U User ownership differs

      G Group ownership differs

      T mTime differs

      P capabilities differrpm {-V|--verify} [select-options] [verify-options]

    导入所需要公钥

     rpm -K|checksig rpmfile 检查包的完整性和签名

     rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

     CentOS 7发行版光盘提供:RPM-GPG-KEY-CentOS-7

     rpm -qa “gpg-pubkey*”

    数据库

     数据库重建:

      /var/lib/rpm

     rpm {--initdb|--rebuilddb}

      initdb: 初始化

        如果事先不存在数据库,则新建之

        否则,不执行任何操作

      rebuilddb:重建已安装的包头的数据库索引目录

    yum包管理器

     yum(Yellowdog Update Modifier)是一个基于rpm的交互式软件包管理器。

    用法:

      yum [options] [command] [package ...]

    配置文件

     yum客户端配置文件:

      /etc/yum.conf:为所有仓库提供公共配置

      /etc/yum.repos.d/*.repo:为仓库的指向提供配置

     /etc/yum.conf 配置文件

      cachedir 缓存目录

      keepcache=0|1 安装时是否保留缓存的rpm包

      logfile 日志文件

      gpgcheck=0|1 检查签名和完整性

     /var/log/yum.log 日志

     /etc/yum.repos.d/FILE.repo  yum源文件

      /var/cache/yum/x86_64/6 缓存路径

      # yum-config-manager --add-repo=https://mirrors.aliyun.com/centos/6/os/x86_64/

      # yum-config-manager --disable “仓库名" 禁用仓库

      # yum-config-manager --enable “仓库名” 启用仓库

      # createrepo /rpmdir 创建元数据

     仓库指向的定义:

      [repositoryID]

      name=Some name for this repository

      baseurl=url://path/to/repository/

      enabled={1|0}

      gpgcheck={1|0}

      gpgkey=URL

      enablegroups={1|0}

      failovermethod={roundrobin|priority}

        roundrobin:意为随机挑选,默认值

        priority:按顺序访问

      cost= 默认为1000

     yum的repo配置文件中可用的变量:

      $releasever: 当前OS的发行版的主版本号

      $arch: 平台,i386,i486,i586,x86_64等

      $basearch:基础平台;i386, x86_64

      $YUM0-$YUM9:自定义变量

    选项:

      -y 安装或卸载是直接回答yes,不进入交互式

      -q 静默模式

      --disablerepo=repoidglob:临时禁用此处指定的repo

      --enablerepo=repoidglob:临时启用此处指定的repo

      --noplugins:禁用所有插件

    子命令:

     list 列出repo源包含的所有软件包

     installed 列出所有已安装的包

     install 安装

     reinstall 重新安装

     repolist [all|disabled] 列出当前生效的repo源[所有|已关闭的]

     clean all 清除缓存

     update [package1...] 升级软件包

     downgrade [package1...] 降级软件包

     check-update 检查可升级的包

     remove 卸载软件包

     info 查看包的详细信息

     provides 查找命令由哪些包提供

     makecheck 手动生成缓存

     search 模糊搜索包信息

     deplist 检查依赖包

     history 安装卸载的历史

       list # 列出指定的操作

       info # 列出指定操作的详细信息

       undo # 撤销指定id的操作

       redo # 重新执行

     groupinstall 安装包组

     groupupdate 升级包组

     grouplist 列出所有包组

     groupremove 移除包组

     groupinfo 查看包组的详细信息

  • 相关阅读:
    舍不得花钱的心理分析
    DLL编程的导入导出,__declspec(dllimport),__declspec(dllexport)
    浅谈C/C++内存泄漏及其检测工具
    C++多线程编程简单实例
    linux镜像源设置
    Linux基础教程 linux无密码ssh登录设置
    兄弟连教育分享:用CSS实现鼠标悬停提示的方法
    PHP基础教程 PHP的页面缓冲处理机制
    Linux基础教程 linux下cat 命令使用详解
    PHP基础教程 php 网络上关于设计模式一些总结
  • 原文地址:https://www.cnblogs.com/Gmiaomiao/p/8886501.html
Copyright © 2011-2022 走看看