Linux程序包管理yum

yum客戶端:

配置文件:

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

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

倉庫指向的定義:

[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,意為隨機挑選;

cost=

默認為1000

yum命令的用法:

yum [options] [command] [package …]

check          檢查 RPM 數據庫問題

check-update   檢查是否有可用的軟件包更新

clean          刪除緩存數據

deplist        列出軟件包的依賴關系

distribution-synchronization 已同步軟件包到最新可用版本

downgrade      降級軟件包

erase          從系統中移除一個或多個軟件包

fs             Acts on the filesystem data of the host, mainly for removing docs/lanuages for minimal hosts.

fssnapshot     Creates filesystem snapshots, or lists/deletes current snapshots.

groups         顯示或使用、組信息

help           顯示用法提示

history        顯示或使用事務歷史

info           顯示關于軟件包或組的詳細信息

install        向系統中安裝一個或多個軟件包

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        顯示機器和/或可用的源版本。

* check

        * help [command]

 顯示倉庫列表:

 repolist [all|enabled|disabled]

顯示程序包:

 list

# yum list [all | glob_exp1] [glob_exp2] […]

# yum list {available|installed|updates} [glob_exp1] […]

例一:顯示程序可安裝的程序包

[root@localhost ~]# yum list php*
已加載插件:fastestmirror
 
file:///mnt/yum/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /mnt/yum/repodata/repomd.xml"
正在嘗試其它鏡像。
Loading mirror speeds from cached hostfile
可安裝的軟件包
php.x86_64                                               5.4.16-42.el7                                   test
php-bcmath.x86_64                                        5.4.16-42.el7                                   test
php-cli.x86_64                                           5.4.16-42.el7                                   test
php-common.x86_64                                        5.4.16-42.el7  

安裝程序包: 

    install package1 [package2] […]

例一:安裝程序包

[root@localhost ~]# yum install php-common
reinstall package1 [package2] [...]  (重新安裝)升級程序包:

update [package1] [package2] […]

downgrade package1 [package2] […] (降級)

檢查可用升級:

     check-update

卸載程序包:

     remove | erase package1 [package2] […]

查看程序包information

     info […]

例一:查看程序包信息

[root@localhost ~]# yum info gcc
已加載插件:fastestmirror
file:///mnt/yum/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /mnt/yum/repodata/repomd.xml"
正在嘗試其它鏡像。
Loading mirror speeds from cached hostfile
可安裝的軟件包
名稱    :gcc
架構    :x86_64
版本    :4.8.5
發布    :11.el7
大小    :16 M
源    :test
簡介    : Various compilers (C, C++, Objective-C, Java, ...)
網址    :http://gcc.gnu.org
協議    : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
描述    : The gcc package contains the GNU Compiler Collection version 4.8.
         : You'll need this package in order to compile C code.

 查看指定的特性(可以是某文件)是由哪個程序包所提供:

     provides | whatprovides feature1 [feature2] […]

例一:查看特性

[root@localhost ~]# yum provides gcc
已加載插件:fastestmirror
file:///mnt/yum/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /mnt/yum/repodata/repomd.xml"
正在嘗試其它鏡像。
Loading mirror speeds from cached hostfile
gcc-4.8.5-11.el7.x86_64 : Various compilers (C, C++, Objective-C, Java, ...)
源    :tes

清理本地緩存:

     clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

例一:清理本地緩存 ,記得清除Yum

[root@localhost yum.repos.d]# yum clean all

構建緩存:

     makecache

搜索:

     search string1 [string2] […]

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

例一:搜索summary

[root@localhost ~]# yum search bash
已加載插件:fastestmirror
file:///mnt/yum/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /mnt/yum/repodata/repomd.xml"
正在嘗試其它鏡像。
Loading mirror speeds from cached hostfile
================================================= N/S matched: bash ==================================================
bash-completion.noarch : Programmable completion for Bash
bash-doc.x86_64 : Documentation files for bash
libguestfs-bash-completion.noarch : Bash tab-completion scripts for libguestfs tools
pcp-pmda-bash.x86_64 : Performance Co-Pilot (PCP) metrics for the Bash shell
bash.x86_64 : The GNU Bourne Again shell

查看指定包所依賴的capabilities

     deplist package1 [package2] […]

例一:依賴那些包

[root@localhost ~]# yum deplist gcc
已加載插件:fastestmirror
file:///mnt/yum/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /mnt/yum/repodata/repomd.xml"
正在嘗試其它鏡像。
Loading mirror speeds from cached hostfil
軟件包:gcc.x86_64 4.8.5-11.el7
   依賴:/bin/sh
   provider: bash.x86_64 4.2.46-20.el7_2
   依賴:/sbin/install-info
   provider: info.x86_64 5.1-4.el7
   依賴:binutils >= 2.20.51.0.2-12
   provider: binutils.x86_64 2.25.1-22.base.el7
   依賴:cpp = 4.8.5-11.el7
   provider: cpp.x86_64 4.8.5-11.el7
   依賴:glibc-devel >= 2.2.90-12
   provider: glibc-devel.x86_64 2.17-157.el7
   provider: glibc-devel.i686 2.17-157.el7
   依賴:ld-linux-x86-64.so.2()(64bit)
   provider: glibc.x86_64 2.17-157.el7

查看yum事務歷史:

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

例一:查看yum事務歷史:

[root@localhost ~]# yum history
已加載插件:fastestmirror
ID     | 登錄用戶                 | 日期和時間       | 操作           | 變更數
-------------------------------------------------------------------------------
     3 | root <root>              | 2017-05-06 12:56 | Install        |   31   
     2 | root <root>              | 2017-05-06 12:56 | Install        |    1   
     1 | 系統 <空>                | 2017-05-05 06:23 | Install        |  357   

警告:RPM 數據庫已被非 yum 程序修改。

安裝及升級本地程序包:

* 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 […]

例一:查看那些可以批量安裝那些包

[root@localhost yum.repos.d]# yum grouplist
已加載插件:fastestmirror
沒有安裝組信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
可用的環境分組:
   最小安裝
   基礎設施服務器
   計算節點
   文件及打印服務器
   基本網頁服務器
   虛擬化主機
   帶 GUI 的服務器
   GNOME 桌面
   KDE Plasma Workspaces
   開發及生成工作站
可用組:
   傳統 UNIX 兼容性

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

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

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

     (2) 創建配置文件

     [CentOS7]

     name=

     baseurl=

     gpgcheck=

     enabled=

yum的命令行選項:

     –nogpgcheck:禁止進行gpg check;

     -y: 自動回答為“yes”;

     -q:靜默模式;

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

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

     –noplugins:禁用所有插件;    

    yumrepo配置文件中可用的變量:

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

     $arch: 平臺;

     $basearch:基礎平臺;

     $YUM0-$YUM9

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

    創建yum倉庫:

     createrepo [options] <directory>

例一:建立yum倉庫

[root@localhost yum.repos.d]# yum install createrepo
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解決依賴關系
--> 正在檢查事務
---> 軟件包 createrepo.noarch.0.0.9.9-26.el7 將被 安裝
--> 正在處理依賴關系 python-deltarpm,它被軟件包 createrepo-0.9.9-26.el7.noarch 需要
--> 正在處理依賴關系 libxml2-python,它被軟件包 createrepo-0.9.9-26.el7.noarch 需要
--> 正在處理依賴關系 deltarpm,它被軟件包 createrepo-0.9.9-26.el7.noarch 需要
--> 正在檢查事務
---> 軟件包 deltarpm.x86_64.0.3.6-3.el7 將被 安裝
---> 軟件包 libxml2-python.x86_64.0.2.9.1-6.el7_2.3 將被 安裝
---> 軟件包 python-deltarpm.x86_64.0.3.6-3.el7 將被 安裝
--> 解決依賴關系完成
 
依賴關系解決

程序包編譯安裝:

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

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

     源代碼組織格式:

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

   CC++make (configure –> Makefile.in –> makefile)

     java: maven

   C代碼編譯安裝三步驟:

     ./configure

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

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

     make

     根據makefile文件,構建應用程序;

     (3)make install

      開發工具:

     autoconf: 生成configure腳本

     automake:生成Makefile.in

    建議:安裝前查看INSTALLREADME

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

     官方自建站點:

     apache.org (ASF)

     mariadb.org

     …

     代碼托管:

     SourceForge

     Github.com

     code.google.com

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

 編譯C源代碼:

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

     開發工具:make, gcc

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

     glibc:標準庫

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

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

  第一步:configure腳本

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

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

     選項分類:

     安裝路徑設定:

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

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

例一:指定configure腳本位置

   [root@localhost apache2]#./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd2

     System types:

      Optional Features: 可選特性

     –disable-FEATURE

     –enable-FEATURE[=ARG]

      Optional Packages: 可選包

     –with-PACKAGE[=ARG]

     –without-PACKAGE

   第二步:make

[root@localhost apache2]# make

   第三步:make install

[root@localhost apache2]# make install

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

(1)
kangkang
上一篇 2015-11-21
下一篇 2015-11-26

相關推薦

  • bash的重定向

    一、簡介         bash的數據流重定向(redirect)是將程序的執結果重新定向到另一文件或者設備?;蛘甙岩晃募囟ㄏ蚪o一程序作為數據來源。默認情況下,命令的執行結果顯示在屏幕上。文件系統中,分為:標準輸入,標準輸出,錯誤輸出。 二、用法   &n…

    Linux干貨 2015-08-11
  • grep文本查找和正則表達式

    一、grep grep: (Global search REgular expression and Print outthe line)全局查找正則表達式并且打印結果行。不會對輸入的文本進行修改。 Unix的grep家族包括grep、egrep和fgrep,egrep是grep的擴展,支持更多的正則元字符; fgrep就是fixed grep或f…

    Linux干貨 2016-08-07
  • CentOS上配置rsyslog客戶端用以遠程記錄日志

    rsyslog是一個開源工具,被廣泛用于Linux系統以通過TCP/UDP協議轉發或接收日志消息。rsyslog守護進程可以被配置成兩種環境,一種是配置成日志收集服務器,rsyslog進程可以從網絡中收集其它主機上的日志數據,這些主機會將日志配置為發送到另外的遠程服務器。rsyslog的另外一個用法,就是可以配置為客戶端,用來過濾和發送內部日志消息到本地文件…

    Linux干貨 2015-02-14
  • 8.3作業

    創建sysadmins組  將user1 user2 user3 加入組中 將user3設置為管理員 用user3登錄,將user2從組中移除 設置sysadmins口令centos 設置user1在創建新文件時所屬組為sysadmins 刪除User1-3 刪除sysadmins [root@localhost testdir]#&nb…

    Linux干貨 2016-08-04
  • 【職位推薦】華圖網校/北京/運維工程師/8-12k(14薪)

    北京華圖宏陽網絡科技有限公司 華圖教育集團:       華圖教育(www.huatu.com)是華圖宏陽股份旗下品牌,擁有遍布全國的100余家分支機構。主要產品包括中央和地方公務員招錄考試輔導,事業單位、三支一扶、村官、選調生、招警等考試輔導。      北京華圖宏陽教育文化發展股份有限…

    Linux干貨 2016-04-20
  • ?{ 編譯內核;自制linux; }

    編譯內核、自制linux 自制簡單的linux 前提約定 CentOS 6.8 , Kernel-2.6.32-642.el6.x86_64 基于GRUB – 0.97 / 分區與 boot 分區獨立, /boot 分區 100M+ ,/ 根分區看具體需求,此處為 1G Vmware 12.1,新建一個Li…

    Linux干貨 2016-09-15
欧美性久久久久