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 22:55
下一篇 2015-12-15 22:56

相關推薦

  • Linux bash中命令執行狀態返回值

    Linux bash中命令執行狀態返回值 在操作系統中,命令的執行后輸出的內容為命令執行結果輸出,而這個命令本身是否執行成功,它是通過命令執行狀態返回值來標識的。 常用的值: 0 表示命令執行成功非0 表示命令執行失敗 bash中獲取命令執行狀態返回值的方法 在剛執行完一條指令后,使用echo $?取得上一條指令的命令執行狀態返回值,示例如下:  …

    Linux干貨 2016-11-06
  • 馬哥教育網絡班第21期+第四周課程作業

    1. 復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 cp -r /etc/skel /home/tuser1 chmod –R 700 /home/tuser1 2. 編輯/etc/group文件,添加組hadoop。 echo &q…

    Linux干貨 2016-08-01
  • 搜索引擎的檢索模型-查詢與文檔的相關度計算

    1. 檢索模型概述       搜索結果排序時搜索引擎最核心的部分,很大程度度上決定了搜索引擎的質量好壞及用戶滿意度。實際搜索結果排序的因子有很多,但最主要的兩個因素是用戶查詢和網頁內容的相關度,以及網頁鏈接情況。這里我們主要總結網頁內容和用戶查詢相關的內容。     &nbsp…

    2015-12-10
  • 快速搭建ss上網

    快速搭建ss 方法一: [root@cloud ~]# yum install build-essential autoconf libtool openssl-devel gcc -y [root@cloud ~]# git clone&…

    Linux干貨 2016-06-09
  • Btrfs文件系統的管理和應用

        Btrfs(我們稱之為Butter FS或者B-tree FS)被稱為新一代的linux文件系統。一直以來,EXT文件系統以其卓越的穩定性成為linux標準的文件系統。但近年來,EXT3暴露出一些擴展性的問題(如單一文件大小限制、總文件系統大小限制等),于是便催生了EXT4。但同時,Btrfs向人們展現出諸多優…

    Linux干貨 2016-02-14
  • 正則表達式及其用法

    正則表達式及其用法 1.   什么是正則表達式 正則表達式是Global search REgular expression and Print out the line的縮寫。是一類用字符所書寫的模式,其中許多字符并不表示其字面意義,而是表達控制或通配等功能。 在Linux中,用正則表達式搜索文本的常用命令: grep: 使用基本正則表…

    Linux干貨 2015-09-14

評論列表(1條)

  • stanley
    stanley 2015-12-15 22:56

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

欧美性久久久久