rpm和yum常用命令選項總結

=======rpm命令的使用總結======

安裝: 

rpm {-i|–install} [install-options] PACKAGE_FILE …

    -v: verbose

    -vv: more verbose

    -h: 以#顯示程序包管理執行進度; 每個#表示2%的進度

    eg:rpm -ivh package

    [install-option]

        –test 測試安裝, 但不真正執行安裝, dry run模式

        –nodeps 忽略安裝關系

        –replacepkgs 重新替換安裝

        –nosignature 不檢查來源合法性

        –nodigest 不檢查包完整性

        –noscript 不執行程序包腳本片段

            %pre 安裝前 –nopre

            %post 安裝后 –nopost

            %preun 卸載前 –nopreun

            %postun 卸載后 –nopostun

升級:

rpm {-U|–upgrade} [install-options] PACKAGE_FILE …

rpm {-F|–freshen} [install-options] PACKAGE_FILE …

    upgrade: 安裝有舊版, 則升級, 如果不存在舊版, 則安裝

    freshen: 安裝有舊版, 則升級, 如果不存在舊版, 不執行操作

    eg: rpm -Uvh PACKAGE

    eg: rpm -Fvh PACKAGE

        –oldpackage 降級

        –force 

    注意: 1. 不要對內核進行升級操作; Linux支持多內核版本并存, 因此, 對

            直接安裝新版內核

          2. 如果源程序包的配置文件安裝后曾被修改, 升級時, 新版本提供的同一個

            配置文件不會直接覆蓋老版本的配置文件, 而把新版本的文件重命名(FILENAME.rpmnew)后保留

查詢:

rpm {-q|–query} [select-options] [query-options]

    [select-options]

        -a: 所有包

        -f: 查詢指定的文件由哪個程序包生成

        -g: 查詢指定包組的程序包

        -whatprovides CAPABILITY

            查詢指定的CAPABILITY由哪個PACKAGE提供

            Query all packages that provide the CAPABILITY capability

        –whatrequires CAPABILITY

            查詢指定的CAPABILITY別誰所依賴

            Query all packages that require CAPABILITY for proper functioning.

        -p, –package PACKAGE_FILE

            查詢未安裝的程序包

    [query-options]

        –changelog

            查詢更新日志

        -c, –configfiles

            查詢配置文件

        –conflicts

            與誰沖突

        -d, –docfiles

            查詢程序的文檔, 包括幫助文檔

        -i, –info

            輸出程序信息

        -l, –list

            列出程序安裝完成后生成的所有文件

        –scripts

            列出程序包所有腳本

        –triggers, –triggerscripts

            觸發器腳本

        -R, –requires

            查詢指定的程序包所依賴的CAPABILITY

        –provides

            列出指定程序包所提供的CAPABILITY

==========yum常用命令的總結===========

yum [options] [command] [package …]

    yum repolist:顯示倉庫列表

        all 顯示所有倉庫列表

    list顯示程序包

        all

        glob_exp1

        avaiable

        updates

        installed

    install PACKAGE1 PACKAGE2 …

    check-update 檢查升級

    remove|erase PACKAGE 卸載

            會吧依賴于PACKAGE的包全部卸載

    info PACKAGE 查看包信息

    provides|whatprovides PACKAGE 查看指定的文件或文件時由哪個程序包提供

    clean 清理本地緩存

    makecache 構建緩存

    search STRING 模糊搜索程序包

    reinstall PACKAGE重新安裝

    downgrade PACKAGE 降級安裝

    deplist顯示包的依賴關系

    version 自行man

    history 查看yum進行過的事務

        history summary查看歷史事務摘要

        history list 列出事務

        history stats 統計

    loacalinstall 可以解決依賴關系的本地程序包安裝, 建議直接使用install

    包組相關命令:

        * groupinstall group1 [group2] […]

            安裝

        * groupupdate group1 [group2] […]

            更新

        * grouplist [hidden] [groupwildcard] […]

            列出

        * groupremove group1 [group2] […]

            移除

        * groupinfo group1 […]

            查詢信息

=============yum倉庫的創建及repo文件的制作===============

yum倉庫的創建:

    1. 準備材料: N個rpm包,比如我把CENTOS7安裝鏡像中的Packages目錄復制到了/root/mydata/yum.sr/中;

[root@localhost ~]# ls ./mydata.d/yum.sr/Packages/ | wc -l
3577    <--有3577個package

    2. 使用createrepo命令創建yum倉庫:

[root@localhost ~]# createrepo -o /root/mydata.d/yum.sr/ /root/mydata.d/yum.sr/Packages/
    # -o選項用于指定repodata生成的位置,最后一個參數是rpm包們所在的位置。
Spawning worker 0 with 894 pkgs
Spawning worker 1 with 894 pkgs
Spawning worker 2 with 894 pkgs
Spawning worker 3 with 894 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@localhost ~]# ls /root/mydata.d/yum.sr/
Packages  repodata
    # repodata為新生成的目錄

    注:若電腦上沒有createrepo命令,請使用yum install createrepo自行安裝。

    3. 創建yum repo文件,并使用vim編輯:

[local]    <--指定yum源名;
name=my rpm base from local    <--可以理解為yum源描述;
baseurl=file:///root/mydata.d/yum.sr/    <--指定URL或使用“file://”指定本地路徑,注意“/”的數量;
gpgcheck=0    <--不驗證來源及package的完整性(因為是本地自己的文件);
enabled=1    <--啟用此yum源;
--------------以上是vim編輯的內容---------------
[root@localhost yum.repos.d]# vim CentOS-My.repo 
[root@localhost yum.repos.d]# yum clean all
    # 清除yum緩存
Loaded plugins: fastestmirror, langpacks
Cleaning repos: base cdrom extras local updates
Cleaning up everything
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum repolist
    # 重建yum緩存
Loaded plugins: fastestmirror, langpacks
base                                                                       | 3.6 kB  00:00:00     
cdrom                                                                      | 3.6 kB  00:00:00     
extras                                                                     | 3.4 kB  00:00:00     
local                                                                      | 2.9 kB  00:00:00     
updates                                                                    | 3.4 kB  00:00:00     
(1/7): cdrom/group_gz                                                      | 154 kB  00:00:00     
(2/7): local/primary_db                                                    | 2.7 MB  00:00:00     
(3/7): cdrom/primary_db                                                    | 2.7 MB  00:00:00     
(4/7): base/7/x86_64/primary_db                                            | 5.1 MB  00:00:00     
(5/7): extras/7/x86_64/primary_db                                          | 120 kB  00:00:01     
(6/7): base/7/x86_64/group_gz                                              | 154 kB  00:00:01     
(7/7): updates/7/x86_64/primary_db                                         | 4.7 MB  00:00:03     
Determining fastest mirrors
 * base: mirrors.btte.net
 * extras: mirrors.aliyun.com
 * updates: mirrors.sina.cn
repo id                                    repo name                                        status
base/7/x86_64                              CentOS-7 - Base                                  8,652
cdrom                                      my rpm base from cdrom                           3,576
extras/7/x86_64                            CentOS-7 - Extras                                  285
local                                      my rpm base from local                           3,576
updates/7/x86_64                           CentOS-7 - Updates                               1,726
repolist: 17,815
    # “local” yum源創建成功,且其與cdrom一致,因為local的pakages源于cdrom。
[root@localhost yum.repos.d]#

===========編譯安裝=========

前提要有開發環境,最起碼gcc應該裝上;

安裝方法見下面;

以編譯安裝Apache為例:

[root@localhost ~]# wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.17.tar.bz2
...下載過程省略...

文件會下載到你的當前目錄。

解壓縮下載到的文件:

[root@localhost ~]# ls
anaconda-ks.cfg  httpd-2.4.17.tar.bz2  mydata.d  pingpc.sh  rc2.d.sh
    # httpd-2.4.17.tar.bz2為下載到的文件;
[root@localhost ~]# tar -jxf httpd-2.4.17.tar.bz2 
    # 解壓縮文件
[root@localhost ~]# ls
anaconda-ks.cfg  httpd-2.4.17  httpd-2.4.17.tar.bz2  mydata.d  pingpc.sh  rc2.d.sh
    # httpd-2.4.17 為解壓后的目錄

然后運行解壓目錄下的configure文件,但是configure文件可能會提示錯誤,大多是因為缺少某個程序,根據命令查找,安裝即可,比如:

[root@localhost httpd-2.4.17]# yum search pcre
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.aliyun.com
 * updates: mirrors.sina.cn
======================================= N/S matched: pcre ========================================
pcre-devel.i686 : Development files for pcre
pcre-devel.x86_64 : Development files for pcre
pcre-static.i686 : Static library for pcre
pcre-static.x86_64 : Static library for pcre
pcre-tools.x86_64 : Auxiliary utilities for pcre
pcre.i686 : Perl-compatible regular expression library
pcre.x86_64 : Perl-compatible regular expression library
  Name and summary matches only, use "search all" for everything.
[root@localhost httpd-2.4.17]# yum install pcre

然后再執行configure文件;

執行make命令;

執行make install命令;

正常情況下到此即為安裝完成。

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

(0)
JacenJacen
上一篇 2015-12-15
下一篇 2015-12-15

相關推薦

  • N28-第二周

    1. Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
    2. bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
    3. 請使用命令行展開功能來完成以下練習:
    (1) 創建/tmp目錄下的a_c、a_d、b_c、b_d。
    (2) 創建/tmp/mylinux目錄下的bin、boot/grub、dev、etc/rc.d/init.d、etc/sysconfig/network-scripts、lib/modules、
    lib64、proc、sbin、sys、tmp、usr/local/bin、usr/local/sbin、var/lock、var/log、var/run目錄。
    4. 如何查看文件的元數據,其信息有哪些,分別表示什麼含意?如何修改文件的時間戳信息?
    5. 如何定義一個命令的別名?如何在命令中引用另一個命令的執行結果?
    6. 顯示/var目錄下所有以L小寫開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
    7. 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
    8. 顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其他任意長度任意字符的文件或目錄。
    9. 在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
    10. 複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
    11. 複製/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
    12. 複製/etc目錄下所有以L小寫或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

    Linux干貨 2017-12-14
  • 阿里巴巴開源項目nginx_concat_module企業部署實例

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1580194        公司的前端開發工程師今天找我,讓我給他搞下淘寶的一個開源項目 nginx_concat_m…

    Linux干貨 2016-08-15
  • CentOS Linux 系統計劃任務簡單介紹

    CentOS  Linux 系統計劃任務簡單介紹 §·linux 系統計劃任務 ※·linux中Centos計劃任務的程序為:cron 周期性任務計劃:cron 相關的程序包: cronie: 主程序包,提供crond守護進程及相關輔助工具 cronie-anacron:cronie的補充程序;用于監控cronie任務執行狀況;如cronie中的任…

    Linux干貨 2016-09-08
  • CentOS啟動流程及Shell腳本編程練習

    一、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) 第一步:POST加電自檢 主要實現的功能是檢測各個外圍硬件設備是否存在而且能夠正常運行起來,實現這一自檢功能的是固化在主板上的ROM(主要代表為CMOS)芯片上的BIOS(Basic Input/Output System)程序。 第二步:Boot Sequence(選擇啟動設備以加…

    2017-11-26
  • 學習宣言

    不妥協,不氣餒,朝著自己的目標前進。

    Linux干貨 2016-10-24
  • 實時文件查找工具–find

    find [option] …[查找路徑] [查找條件] [處理動作] 起始路徑:指定具體的目標路徑,默認為當前目錄 查找條件:指定查找標準,可以根據文件名,權限,文件大小等標準進行。默認為指定路徑下的所有文件 處理動作:對符合條件的文件做什么操作 1 查找條件: (1)根據文件名查找: ?-name “文件名稱” 支持使用glob -iname…

    Linux干貨 2017-07-02

評論列表(1條)

  • stanley
    stanley 2015-12-15 22:56

    格式上再優化些就可以置頂了

欧美性久久久久