首先,说明一下我的环境: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.csdn.net/article/details?id=16960149
  • http://www.linuxidc.com/Linux/2015-06/118751.htm

linux工具apt、yum和dnf运用的更多相关文章

  1. Linux下安装yum工具

    Linux下安装yum工具 http://blog.csdn.net/caoshichaocaoshichao/article/details/13171919

  2. linux 软件管理--yum工具及源码包

    目录 linux 软件管理--yum工具及源码包 一.yum基本概述 二.yum源的配置 三.yum实践案例 四.yum全局配置文件 五.yum签名检查机制 五.制作本地yum仓库 六.构建企业级yu ...

  3. 第2章 Linux系统安装(3)_SSH连接Linux工具:SecureCRT和WinSCP

    4. SSH连接Linux工具 4.1 Linux网卡配置 (1)临时配置: ifconfig eth0 192.168.32.100 //给eth0网卡指定IP,写在ROM里的,关机会丢失. (2) ...

  4. Android性能测试工具APT使用指南

    腾讯的安卓平台高效的性能测试工具APT(Android Performance Testing Tools),适用于开发自测和定位性能瓶颈,帮助测试人员完成性能基准测试.竞品测试. APT提供了CPU ...

  5. 【腾讯开源】Android性能测试工具APT使用指南

    [腾讯开源]Android性能测试工具APT使用指南 2014-04-23 09:58 CSDN CODE 作者 CSDN CODE 17 7833 腾讯 apt 安卓 性能测试 开源 我们近日对腾讯 ...

  6. 发布《Linux工具快速教程》

    发布<Linux工具快速教程> 阶段性的完成了这本书开源书籍,发布出来给有需要的朋友,同时也欢迎更多的朋友加入进来,完善这本书: 本书Github地址:https://github.com ...

  7. Linux 7 中Yum 配置 说明

    在之前的Blog中写了Linux Yum 的配置方法,参考: Linux 平台下 YUM 源配置 手册 http://www.cndba.cn/account/article/details/154 ...

  8. linux下使用yum安装mysql、tomcat、httpd

    一.linux下使用yum安装mysql   1.安装 查看有没有安装过:           yum list installed mysql*           rpm -qa | grep m ...

  9. red hat Linux 使用CentOS yum源更新

    red hat linux是商业版软件,没有经过注册是无法使用红帽 yum源更新软件的,使用CentOS源更新操作如下: 1.删除red hat linux 原有的yum 源 rpm -aq | gr ...

随机推荐

  1. [转] 经典SQL练习题

    原题目来自qaz13177_58_CSDN博客 http://blog.csdn.net/qaz13177_58_/article/details/5575711/#sql 只是更新个人答案供参考 表 ...

  2. s3c2440液晶屏驱动 (非内核自带) linux-4.1.24

    对于,不想逐一检查内核自带驱动,想自己编写驱动. 1,make menuconfig 去掉 编译到内核,改为 M 编译为 模块(因为要用到里面的3个.ko 驱动) Device Drivers --- ...

  3. 【转】Android选项卡置底的方法

    转载地址:http://www.oschina.net/code/snippet_163910_6092 发现很多Android应用的选项卡 都是显示在页面底部的,网上有资料:通过反射获取TabWid ...

  4. 对C++虚函数的理解

    关于类不断被继承的过程,从整体上看,是一个从抽象到逐渐具体化的过程,基类可以是非常非常抽象的东西,而最终实例化的派生类就非常具体了. 虚函数的意义,就在于定义了一个从最早的基类到最终的派生类都可能会用 ...

  5. Android线程中设置控件

    在Android中经常出现多线程中设置控件的值报错的情况,今天教大家封装一个简单的类避免这样的问题,同样也调用实现也非常的方便. 自定义类: /** * Created by wade on 2016 ...

  6. GDUFE-OJ 1361校庆抽奖 翻转

    Problem Description: 在舞台中央有一个开奖盒,开奖盒有一个按钮,和一个显示屏,每轮抽奖是过程是这样的. 主持人请K个幸运观众上台,编号为1~K,围着开奖盒. 首先开奖盒上随机显示一 ...

  7. Android开发工具类

    7种无须编程的DIY开发工具 你知道几个? 现如今,各种DIY开发工具不断的出现,使得企业和个人在短短几分钟内就能完成应用的创建和发布,大大节省了在时间和资金上的投入.此外,DIY工 具的出现,也帮助 ...

  8. shell技巧

    如何实现Shell脚本以DEAMON的方式运行,即实现Shell版的Fork if [ "$1" != 'background' ] ; then scriptdir=$(cd & ...

  9. ubuntu安装

    今天在win10下安装Ubuntu,结果没经验导致win10找不回来了,我再好好整理些思路 安装前要做一个ghost,万一出现问题可以用来恢复系统! 1,我使用USB Installer 在http: ...

  10. java中类的初始化和对象的初始化

    静态的属于全局静态区,这个部分独立存在,不管是成员还是块,都是静态的,大家地位相等,先到先得. 然后是成员初始化,这个部分在类的构造函数前初始化,因为编译器(或者设计者)可能认为构造函数调用了这个成员 ...