linux使用yum對程序包管理相關知識

 yum客戶端:

         配置文件:

             /etc/yum.conf: 為所有倉庫提供公共配置

             /etc/yum.repos.d/* .repo: 為倉庫的指向提供配置

  倉庫的定義:

     [repositoryID]

     name-Some name for this repository

     baseur1=ur1://path//to/repository/

     enabled={1|0}

     gpgcheck={1|0}

     gpgkey=URL 能訪問到密鑰的路徑

     failovermethod={roundrobin|priority}

       默認為1000

 yum命令用法:

     yum [options] [command] [package …]

 command is one of:

        * install package1 [package2] […]   安裝指定的軟件包

        * update [package1] [package2] […]  全部更新軟件包;

        * update-to [package1] [package2] […] 全部更新到

        * update-minimal [package1] [package2] […]  最小化更新

        * check-update   檢測可更新的軟件包

        * upgrade [package1] [package2] […]   升級軟件包組名

        * upgrade-to [package1] [package2] […] 升級到

        * distribution-synchronization [package1] [package2] […] 同步安裝的軟件包到最小版本

        * remove | erase package1 [package2] […]刪除指定軟件包

        * autoremove [package1] […]

        * list […] 列出目前yum所管理的所有的軟件包名稱與版本;

        * info […]列出目前yum所管理的所有的軟件名稱,版本和詳細信息;

        * provides | whatprovides feature1 [feature2] […]

        * clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 清除緩存數據

        * makecache [fast] 生成源數據緩存

        * groups […] 

        * search string1 [string2] […] 

        * shell [filename]

        * resolvedep dep1 [dep2] […]確定那個軟件包提供了給定的依賴關系

           (maintained for legacy reasons only – use repoquery or yum provides)

        * localinstall rpmfile1 [rpmfile2] […]

           (maintained for legacy reasons only – use install)

        * localupdate rpmfile1 [rpmfile2] […]

           (maintained for legacy reasons only – use update)

        * reinstall package1 [package2] […]

        * downgrade package1 [package2] […]

        * deplist package1 [package2] […]

        * repolist [all|enabled|disabled]顯示配置的軟件倉庫

        * repoinfo [all|enabled|disabled]

        * repository-packages <enabled-repoid> <install|remove|remove-or-reinstall|remove-or-distribution-synchronization> [package2] […]

        * version [ all | installed | available | group-* | nogroups* | grouplist | groupinfo ]

        * history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

        * load-transaction [txfile]

        * updateinfo [summary | list | info | remove-pkgs-ts | exclude-updates | exclude-all | check-running-kernel]

        * fssnapshot [summary | list | have-space | create | delete]

        * fs [filters | refilter | refilter-cleanup | du]

顯示當前列表:

 repolist [all|enabled|disabled] 顯示配置的軟件倉庫

顯示程序包:

        list 

        #yum list [all | glob-exp1] [glob-exp2] […]

        #yum list{available | installed | updates}

安裝程序包:

      install package1 [package2] […]

 升級程序報:

      update [package1] [package2][…]

 檢查可用升級:

          check-update

 卸載程序包:

         remove | erase package1 [package2][…]

查看程序包information:

       info […]

查看程序提供的特性(可以是某文件)是由那個程序報提供:

       provides | whatprovides feature1 [feature2][…]

清理本地緩存:

        makecache

搜索:

    search  string1 [string2] […]

以指定的關鍵字搜索程序報名及summary 信息:

查看指定包所依賴的capabilities:

        deplist package1 [pachage2] […]

查看yum事物歷史:

        history [info|list | packages-list | packages-info | summary | addon-info | redo | undo | rollback | new | sync | stats]

安裝及升級本地程序包:

        localinstall rpmfile1 [rpmfile2] […]

        (maintained for legacy reasons only – use install)

        localupdate rpmfile1 [rpmfile2] […]

        (maintained for legacy reasons only – use update

包組管理

groupinstall group1 [group2] […]

        * groupupdate group1 [group2] […]

        * grouplist [hidden] [groupwildcard] […]

        * groupremove group1 [group2] […]

        * groupinfo group1 […]

        * search string1 [string2] […]

        * shell [filename]

如何使用光盤當作本地yum倉庫:

(1)掛載光盤至某目錄,例如/media/cdrom

    # mount -r -t iso9660 /dev/cdrom /media/cdrom

(2)創建配置文件

[CentOS7]

   name=

   baseur1=gpgcheck=

   enabled=

yum的命令行選項:

   –nogpgcheck: 禁止進行gpg check;

   -y:自動回答為“yes"

   -q :靜默模式:

   –disablerepo=repoidglob: 臨時禁用此處指定的repo:

   –enablerepo=repoidglob: 臨時啟用此處指定的repo:

   –noplugins:禁用所有插件:

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

    $releasever:當前OS的發行版的主版本號:

    $arch: 平臺:

    $basearch: 基礎平臺:

    http://mirrors.magedu.com/centos/$releasever/$basearch/os

創建yum倉庫:

    createrepo [options] <directory>

程序報編譯安裝:

    testapp-VERSION-release.src.rpm –>安裝后,使用rpmbuild命令制作成二進制格式的rpm包,而后再安裝;

        源代碼 –> 預處理 –>編譯(gcc)–> 匯編 –> 鏈接 –> 執行

        源代碼組織格式:

            多文件:文件中的代碼之間,很可能存在跨文件依賴關系;

               c , c++: make (configure –>Makefile.in –>makefile)項目管理工具

               java:  maven

      編譯安裝三步驟:

          ./configure

         (1)通過選項傳遞參數,指定啟用特性、安裝路徑等;執行時會參考用戶的指定一及makefile.in  文件生成

        (2)檢查依賴到的外部環境:

             make

             make install

開發工具:

    autoconf: 生成configure腳本

    automake:  生成Makefile.in

j建議:安裝前查看INSTALL, README

開源程序代碼的獲?。?/p>

    官方自建站點:

        apache.org (ASF)

        mariadb.org

       ……

       代碼托管:

           SourceForge

           Github.comc

           code.google.com

       c/c++: gcc (GNU C  Complier)

         前提:提供開發工具及開發環境

              開發工具: make, gcc 等

              開發環境:開發庫,頭文件

              glibc: 標準庫

     通過“包組”提供開發組件:

         CentOS 6:“Development Tools" ,"Server Platform Development",

   第一步:configure 腳本

         選項:指定安裝位置、指定啟用的特性

         –help: 獲取其支持使用的選項’

          選項分類:

          安裝路徑設定:

          –prefix=/PATH/TO/SOMEWHERE: 指定默認安裝位置:

          –sysconfdir=/PATH/TO/SOMEWHERE: 配置文件安裝位置:

         System types:

         Optional Features:可選特性

         — disable-FEATURE

         –enable-FEATURE[=ARG]

         Optional Packages: 可選包

         –with – PACKAGE [=ARG]

         –without-PACKAGE

     第二部:make

     第三步:make install

安裝后的配置:

   (1)導出二進制程序目錄至PATH環境變量中:

        編輯文件/ETC/profile.d/NAME.sh

         export PATH=/PATH/TO/BIN:PATH

   (2)導出文件路徑

      編輯/etc/ld.so.conf.d/NAME.conf

      添加新的庫文件所在目錄至此文件中:

      讓系統重新生成緩存:

      ldconfig [-v]

   (3) 導出頭文件

      ln  -sv 

   (4) 導出幫助手冊

       編輯/etc/man.config 文件

       添加一個MANPATH

原創文章,作者:shadow,如若轉載,請注明出處:http://www.www58058.com/65498

(0)
shadowshadow
上一篇 2017-01-01
下一篇 2017-01-02

相關推薦

  • 第三周(3):課堂練習與作業

    課堂練習: 1、找出ifconfig命令結果中本機的所有IPv4地址 [root@centos6 ~]# ifconfig | tr -cs '[0-9].' '\n'|sort -ut. -k3n 127.0.0.1 10.1.…

    Linux干貨 2016-08-08
  • 初識Linux

                              初認識Linux 1.1 Linux的登錄界面 在虛擬機安裝CentOS 7中有提到,我在安裝Linux操作系統的時候,采用的是命令行界面的登錄方式,當然也有像Windows那樣…

    Linux干貨 2016-10-27
  • Linux系統終端類型

    引言 終端(Terminal)也稱終端設備,是計算機網絡中處于網絡最外圍的設備,主要用于用戶信息的輸入以及處理結果的輸出等。在早期計算機系統中,由于計算機主機昂貴,因此一個主機一般會配置多個終端,這些終端本身不具備計算能力,僅僅承擔信息輸入輸出的工作,運算和處理均由主機來完成,在個人計算機時代,個人計算機可以運行稱為終端仿真器的程序來模仿一個終端的工作。 &…

    Linux干貨 2016-10-19
  • 設計模式(六)橋連模式Bridge(結構型)

    1. 概述       在軟件系統中,某些類型由于自身的邏輯,它具有兩個或多個維度的變化,那么如何應對這種“多維度的變化”?如何利用面向對象的技術來使得該類型能夠輕松的沿著多個方向進行變化,而又不引入額外的復雜度? 例子1:設想如果要繪制矩形、圓形、橢圓、正方形,我們至少需要4個形狀類,但是如果繪制的圖形需要具有不同的…

    Linux干貨 2015-06-26
  • 馬哥教育網絡班21期+第5周課程練習

    1.顯示/boot/grub/grub.conf中至少以一個空白字符開頭的行 [root@itop ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf 2.顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面至少一個空白字符,而后又有至少一個非空…

    Linux干貨 2016-08-08
  • 配置epl時,出現“time out”錯誤,解決辦法

    一:配置環境、網絡環境及出現的故障 1:配置環境 本機在配置epel倉庫時,配置文件所在路徑為/etc/yum/repos.d/centos7.repo.以下為配置文件的的詳細內容 [base]name=centos 7.3baseurl=file:///misc/cdgpgkey=file:///misc/cd/RPM-GPG-KEY-Centos-7 […

    2017-06-10

評論列表(1條)

  • luoweiro
    luoweiro 2017-02-23 08:05

    有點像直接帖筆記哦,其實要有自己的實驗過程,學習Linux多動手敲敲是沒錯的,在總結方面如果能按照自己的思路去總結往往在后期回顧的時候會有意想不到的效果。

欧美性久久久久