linux工具apt、yum和dnf運用

 
首先,說明一下個人環境:ubuntu16.04。
  1. 什麼是APT:

                          高級包裝工具(英語:Advanced Packaging Tools,簡稱:APT)是Debian及其衍生髮行版(如:ubuntu)的軟件包管理器。APT能夠自動下載,配置,安裝二進制或者源代碼格式的軟 件包,所以簡化了 Unix系統                            上管理軟件的過程.此次我主要嘗試的是apt-get、apt-file、apt-cache和aptitudelinux

    • apt-get:

                              apt-get 是一個下載安裝軟件包的簡單命令行接口。 最經常使用的命令是update(更新) 和install(安裝)。這個命令的家都比較熟悉就不作截圖了。正則表達式

                 命令: shell

                              update - 從新獲取軟件包列表 數據庫

                              upgrade - 進行更新 ubuntu

                              install - 安裝新的軟件包 centos

                              remove - 移除軟件包 緩存

                              autoremove - 自動移除所有不使用的軟件包 bash

                              purge - 移除軟件包和配置文件 app

                              source - 下載源碼檔案 dom

                              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
相關文章
相關標籤/搜索