linux工具apt、yum和dnf运用

时间:2024-04-17 13:15:18
 
首先,说明一下我的环境:ubuntu16.04。
  1. 什么是APT:

                          高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubuntu)的软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软 件包,因此简化了 Unix系统                            上管理软件的过程.这次我主要尝试的是apt-get、apt-file、apt-cache和aptitude

    • apt-get:

                              apt-get 是一个下载安装软件包的简单命令行接口。 最常用的命令是update(更新) 和install(安装)。这个命令的家都比较熟悉就不做截图了。

                 命令: 

                              update - 重新获取软件包列表 

                              upgrade - 进行更新 

                              install - 安装新的软件包 

                              remove - 移除软件包 

                              autoremove - 自动移除全部不使用的软件包 

                              purge - 移除软件包和配置文件 

                              source - 下载源码档案 

                              build-dep - 为源码包配置编译依赖 

                             dist-upgrade - 发行版升级

                             dselect-upgrade - 依照 dselect 的选择更新 

                             clean - 清除下载的归档文件 

                             autoclean - 清除旧的的已下载的归档文件 

                             check - 检验是否有损坏的依赖 

                  选项: 

                             -h 本帮助文件。 

                             -q 输出到日志 - 无进展指示 

                             -qq 不输出信息,错误除外 

                             -d 仅下载 - 不安装或解压归档文件 

                             -s 不实际安装。模拟执行命令

                             -y 假定对所有的询问选是,不提示 

                             -f 尝试修正系统依赖损坏处 

                             -m 如果归档无法定位,尝试继续

                             -u 同时显示更新软件包的列表 

                             -b 获取源码包后编译 -V 显示详细的版本号

                             -c=? 阅读此配置文件

                             -o=? 设置自定的配置选项,如 -o dir::cache=/tmp

    • apt-file:

                              apt-file是一个软件包查找工具,可以查到软件包所含的文件和安装的位置。(ps:据说是解决依赖的利器,不过我现在还不大懂)

      1. 安装apt-file
        apt-get install apt-file
        

          

      2. 接着更新apt-file的缓存
        apt-file update
        

          

      3. 查看语法,如图:
        apt-file -h

 

                                

    • apt-cache:

                                     通过apt-cache命令结合一些参数使用能查寻到软件包信息和软件包依赖关系

    1. apt-cache的常用命令:

      showsrc - 显示源文件的各项记录
      search - 根据正则表达式搜索软件包列表
      depends - 显示该软件包的依赖关系信息
      rdepends - 显示所有依赖于该软件包的软件包名字
      show - 以便于阅读的格式介绍该软件包
      pkgnames - 列出所有软件包的名字
      policy - 显示软件包的安装设置状态

       

    2. 尝试查看火狐

      apt-cache show firefox
      

    3. 查看火狐依赖
      apt-cache rdepends firefox
      

    4. 查看火狐信息
      apt-cache policy firefox  

                     

    • aptitude:

                                 aptitude与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的                                  包。这样,系统中不会残留无用的包,整个系统更为干净。

    1. 安装aptitude
      apt install aptitude
      
    2. 查看语法:
      aptitude -h
      

       

    3. 删除旧的已下载软件包文件
      aptitude autoclean
      

    4. 扫雷小游戏,在尝试各种语法时无意中发现的,大家有兴趣可以找一找。^V^

                    

_______________________________________________________________________________________________________________________________

                                                                                                                                          分割线_______________________________________________________________________________________________________________________________

接着,换入vmware 12 中的CentOS 7.学习yum命令

什么是yum:

                 YUM(Yellowdog Updater Modified)是一款开源命令行及图形化软件包管理工具,面向基于RPM(红帽软件包管理器)的Linux系统。它让广大用户和系统管理员可以在系统上轻松地安                  装、更新、移除或搜                    索软件包。它由Seth Vidal开发和发布,采用了GPL(通用公共许可证),是一款开源工具。这意味着,谁都可以下载和访问代码,以修复软件错误,开发定制的软件                    包。YUM通过解决软件包的依赖项问题,                    使用众多的第三方软件库来自动安装软件包。

                  (先获得管理员权限)

    1. 查看yum语法:
      [root@localhost qvduoduo]# yum -h
      已加载插件:fastestmirror, langpacks
      Usage: yum [options] COMMAND
      
      List of Commands:
      
      check          检查 RPM 数据库问题
      check-update   检查是否有可用的软件包更新
      clean          删除缓存数据
      deplist        列出软件包的依赖关系
      distribution-synchronization 已同步软件包到最新可用版本
      downgrade      降级软件包
      erase          从系统中移除一个或多个软件包
      fs             Creates filesystem snapshots, or lists/deletes current snapshots.
      fssnapshot     Creates filesystem snapshots, or lists/deletes current snapshots.
      groups         显示或使用、组信息
      help           显示用法提示
      history        显示或使用事务历史
      info           显示关于软件包或组的详细信息
      install        向系统中安装一个或多个软件包
      langavailable  Check available languages
      langinfo       List languages information
      langinstall    Install appropriate language packs for a language
      langlist       List installed languages
      langremove     Remove installed language packs for a language
      list           列出一个或一组软件包
      load-transaction 从文件名中加载一个已存事务
      makecache      创建元数据缓存
      provides       查找提供指定内容的软件包
      reinstall      覆盖安装软件包
      repo-pkgs      将一个源当作一个软件包组,这样我们就可以一次性安装/移除全部软件包。
      repolist       显示已配置的源
      search         在软件包详细信息中搜索指定字符串
      shell          运行交互式的 yum shell
      swap           Simple way to swap packages, instead of using shell
      update         更新系统中的一个或多个软件包
      update-minimal Works like upgrade, but goes to the \'newest\' package match which fixes a problem that affects your system
      updateinfo     Acts on repository update information
      upgrade        更新软件包同时考虑软件包取代关系
      version        显示机器和/或可用的源版本。
      
      
      Options:
        -h, --help                                        显示此帮助消息并退出
        -t, --tolerant                                    忽略错误
        -C, --cacheonly                                   完全从系统缓存运行,不升级缓存
        -c [config file], --config=[config file]          配置文件路径
        -R [minutes], --randomwait=[minutes]              命令最长等待时间
        -d [debug level], --debuglevel=[debug level]      调试输出级别
        --showduplicates      在 list/search              命令下,显示源里重复的条目
        -e [error level], --errorlevel=[error level]      错误输出级别
        --rpmverbosity=[debug level name]                 RPM 调试输出级别
        -q, --quiet                                       静默执行
        -v, --verbose                                     详尽的操作过程
        -y, --assumeyes                                   回答全部问题为是
        --assumeno                                        回答全部问题为否
        --version                                         显示 Yum 版本然后退出
        --installroot=[path]                              设置安装根目录
        --enablerepo=[repo]                               启用一个或多个软件源(支持通配符)
        --disablerepo=[repo]                              禁用一个或多个软件源(支持通配符)
        -x [package], --exclude=[package]                 采用全名或通配符排除软件包
        --disableexcludes=[repo]                          禁止从主配置,从源或者从任何位置排除
        --disableincludes=[repo]                          disable includepkgs for a repo or for everything
        --obsoletes                                       更新时处理软件包取代关系
        --noplugins                                       禁用 Yum 插件
        --nogpgcheck                                      禁用 GPG 签名检查
        --disableplugin=[plugin]                          禁用指定名称的插件
        --enableplugin=[plugin]                           启用指定名称的插件
        --skip-broken                                     忽略存在依赖关系问题的软件包
        --color=COLOR                                     配置是否使用颜色
        --releasever=RELEASEVER                           在 yum 配置和 repo 文件里设置 $releasever 的值
        --downloadonly                                    仅下载而不更新
        --downloaddir=DLDIR                               指定一个其他文件夹用于保存软件包
        --setopt=SETOPTS                                  设置任意配置和源选项
        --bugfix                                          Include bugfix relevant packages, in updates
        --security                                        Include security relevant packages, in updates
        --advisory=ADVS, --advisories=ADVS                Include packages needed to fix the given advisory, in updates
        --bzs=BZS                                         Include packages needed to fix the given BZ, in updates
        --cves=CVES                                       Include packages needed to fix the given CVE, in updates
        --sec-severity=SEVS, --secseverity=SEVS           Include security relevant packages matching the severity, in updates
      
    2. 使用Yum移除软件包

      想完全移除软件包连同所有依赖项,只要运行下面这个命令,如下所示。

      yum remove firefox
      

    3. 查看火狐依赖
      yum deplist firefox
      

    4. 列出所有的可用群组软件包

      yum grouplist
      

    5. 列出启用的Yum软件库

      列出系统里面所有启用的Yum软件库,使用下面这个选项

      yum repolist
      

    6. 查看Yum的历史记录

      想查看Yum命令的所有过去的事务,只要使用下面这个命令

      yum history
      

    7. 使用Yum搜索软件包

      yum search firefox
      

 

虽然这是我第一次用CentOS也是第一次用yum但是感觉比apt好用,至少是在汉化上。:)

_______________________________________________________________________________________________________________________________

                                                                                           分割线

_______________________________________________________________________________________________________________________________

什么是dnf:

                DNF新一代的RPM软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,他取代了YUM,正式成为 Fedora 22 的包管理器。

                DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。

                DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。

                DNF 的最新稳定发行版版本号是 1.0,发行日期是2015年5月11日。 这一版本的额 DNF 包管理器(包括在他之前的所有版本)都大部分采用 Pathon 编写,发行许可为GPL v2.

    1. 为了安装 DNF ,您必须先安装并启用 epel-release 依赖。
      # yum install epel-release
      

        

    2. 使用 epel-release 依赖中的 YUM 命令来安装 DNF 包

      # yum install dnf
      

        

    3. 查看dnf语法:
      dnf -h
      

        

    4. 查看 DNF 包管理器版本

      用处:该命令用于查看安装在您系统中的 DNF 包管理器的版本

      dnf --version(注意是--)
      

        

    5. 查看系统中可用的 DNF 软件库

      用处:该命令用于显示系统中可用的 DNF 软件库

      dnf repolist
      

       之前这里我遇到了一个问题,出现了以下状况:

      Failed to open: /var/cache/dnf/x86_64/7/x86_64/7/epel/repodata/908717b2d1a9a0d1642da53884fdce66a4db1b0130e3a0ffb923d596423192c6-updateinfo.xml.bz2.
      

        解决方法是:

      yum remove epel-release

 参考文章:

  • http://unix.stackexchange.com/questions/250249/error-after-installing-dnf-on-centos-7
  • http://m.blog.****.net/article/details?id=16960149
  • http://www.linuxidc.com/Linux/2015-06/118751.htm