linux rpm和yum詳解

rpm


定義:包管理器


rpm程序包的組成部分:

    二進制程序:/bin, /sbin,/ /usr/bin, /usr/sbin,

    庫文件:/lib64, /usr/lib64

    配置文件:/etc

    幫助文件:manual, info, 


包文件名格式:

bash-4.2.4-1.el7.x86_64.rpm

包文件名-版本號(4爲主版本號,2爲次版本號,4爲包的版本號)-rpm包的版本號(1.el7)-系統架構(x86_64)


常用選項:

    -q 查詢

        -qa: 查詢本機已經安裝的所有程序包;
        -qf /PATH/TO/SOMEFILE: 查詢此處的文件由哪個程序包安裝生成;
        -qc: 查詢指定程序包安裝生成的配置文件
        -qd: 查詢指定的程序包安裝生成的文檔
        -qi: 查詢指定的程序包的相關信息;

        -ql: 查詢程序包安裝生成的所有文件的列表;
        -q --scripts:查詢程序包相關的腳本:
            preinstall: 安裝前腳本
            postinstall:安裝後腳本
            preuninstall: 卸載前腳本
            postuninstall: 卸載後腳本
        -p: 查詢針對是未安裝的程序包文件;

    {-i|--install} 安裝

    {-U|--upgrade} 更新軟件

    -v 安裝時顯示詳細信息 --vv 顯示更詳細的信息,一般還要顯示包的包含文件

    -h 以#號顯示安裝進度

    {-F|--freshen} 升級軟件包

    --nodeps 安裝包的時候不用安裝依賴包,雖然可以解決rpm安裝包時的依賴問題,但是會給後期包的使用帶來影響,建議不要使用這項.

    -V 校驗

    -e 卸載


常用實例:


1.安裝zsh rpm包

rpm -ivh zsh-4.3.11-4.el6.centos.x86_64.rpm

wKiom1X28Lngc6FEAADiCETkcR4241.jpg


2.查看已安裝的zsh包中包含哪些文件,如果未安裝不返回信息

[root@localhost yum.repos.d]# rpm -ql python
/usr/bin/pydoc
/usr/bin/python
/usr/bin/python2
/usr/bin/python2.6
/usr/share/doc/python-2.6.6
/usr/share/doc/python-2.6.6/LICENSE
/usr/share/doc/python-2.6.6/README
/usr/share/man/man1/python.1.gz

總結:python包包含了二進制程序和幫助文件


3.查看已安裝的zsh包的相關信息,如果未安裝不會返回任何信息,如情況2

[root@localhost yum.repos.d]# rpm -qi zsh
Name        : zsh                          Relocations: (not relocatable)
Version     : 4.3.11                            Vendor: CentOS
Release     : 4.el6.centos                  Build Date: 2015年07月24日 星期五 17時41分25秒
Install Date: 2015年08月02日 星期日 01時30分38秒      Build Host: c6b8.bsys.dev.centos.org
Group       : System Environment/Shells     Source RPM: zsh-4.3.11-4.el6.centos.src.rpm
Size        : 5283457                          License: BSD
Signature   : RSA/SHA1, 2015年07月25日 星期六 04時41分32秒, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://zsh.sunsite.dk/
Summary     : A powerful interactive shell
Description :
The zsh shell is a command interpreter usable as an interactive login
shell and as a shell script command processor.  Zsh resembles the ksh
shell (the Korn shell), but includes many enhancements.  Zsh supports
command line editing, built-in spelling correction, programmable
command completion, shell functions (with autoloading), a history
mechanism, and more.

情況1

[root@localhost yum.repos.d]# rpm -qi php
package php is not installed

情況2


4.列出python包所依賴的能力

rpm -qR python

[root@localhost yum.repos.d]# rpm -qR python
/usr/bin/python2.6  
libc.so.6()(64bit)  
libc.so.6(GLIBC_2.2.5)(64bit)  
libdl.so.2()(64bit)  
libm.so.6()(64bit)  
libpthread.so.0()(64bit)  
libpython2.6.so.1.0()(64bit)  
libutil.so.1()(64bit)  
python-libs(x86-64) = 2.6.6-51.el6
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
rtld(GNU_HASH)  
rpmlib(PayloadIsXz) <= 5.2-1



5.卸載zsh包 : rpm -e zsh


6.查看更新zsh包 : rpm -Uvh zsh


rpm來源:

    1.發行版提供的程序包;

    2.Fedora-EPEL

    3.項目的官方站點

    4.搜索引擎

        http://rpmfind.net

        http://rpm.pbone.net

        http://pkgs.org


運用光盤rpm包安裝軟件方法步驟

1.先將光盤加載DVD1安裝ios文件

2.掛載光盤 mount -r /dev/cdrom /mnt/cdrom

3.cd Packpages Packpages目錄下有很多rpm包都可以安裝


yum


定義:由於rpm解決包的相互依賴性很煩,就誕生yum,用yum安裝軟件,如果他安裝的包依賴包沒有安裝,它會自動去倉庫先安裝依賴的包


yum文件服務器格式:scheme(協議) + path(路徑)

    ftp://hostname/PATH/TO/REPO
    http://hostname/PATH/TO/REPO
    file:///PATH/TO/REPO


yum配置文件

    /etc/yum.conf 定義全局配置:對所有倉庫都適用的配置

    /etc/yum.repos.d/*.repo 一個文件通常用於一個或一組功能相近或相關的倉庫


    定義一個倉庫指向:
                [REPO_ID] 該倉庫的id
                name= 該倉庫的名稱
                baseurl= yum源基本鏈接
                # mirrorlist=SCHEME://HOSTNAME/PATH/TO/MIRROR_LIST_FILE yum基本鏈接文件集合,支持多個baseurl
                enabled={1|0} 是否有效
                gpgcheck={1|0} 是否校驗
                gpgkey= 校驗的key
                cost= 消耗(該值越小,yum源越優先)


定義倉庫指向可用變量:

    $releasever: 引用當前系統的主版本號;(如當前系統版本爲CentOS release 6.5 (Final),則主版本號爲6,這點老以爲是6.5)

    

    $basearch: 當前系統的基本架構;

        i386(32位), x86_64(64位


yum命令:

    yum [options] [command] [package ...]


    選項

        install 顧名思義就是安裝

        remove 刪除yum包

        update 升級

        info 查詢指定yum包的詳細信息 類似於rpm -qi,該項yum包未安裝也支持查看

        list all|installed|availiable 列出yum源的所有或有效的yum包

        provides /PATH/TO/SOMEFILE: 查詢指定文件由哪個包安裝生成

        reinstall 重新安裝

        downgrade 降級

        clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 清理緩存

        makecache 生成緩存

        

        分組選項:

        grouplist 列出可用的yum包組

groupinfo "GRP_NAME" 列出指定組的詳細信息

groupinstall "GRP_NAME" 安裝指定的組

groupremove "GRP_NAME" 卸載指定的組


倉庫:

repolist [all|enabled|disabled]  顯示系統定義的所有yum倉庫

repoinfo [all|enabled|disabled]  顯示指定倉庫的詳細信息

    

實例


  1. 將163的鏡像加入到系統的yum源中去

[root@localhost yum.repos.d]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# vim CentOS-Base.repo
[163]
name=163_yum_repos
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
cost=8


2. 展示yum所有倉庫

[root@localhost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirrors.ustc.edu.cn
repo id                                                                                        repo name                                                                                                                              status
163                                                                                            163_yum_repos                                                                                                                           6,575
epel                                                                                           Extra Packages for Enterprise Linux 6 - x86_64                                                                                         11,767
repolist: 18,342


3.查看php yum包的詳細信息

[root@localhost yum.repos.d]# yum info php
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirrors.ustc.edu.cn
Available Packages
Name        : php
Arch        : x86_64
Version     : 5.3.3
Release     : 40.el6_6
Size        : 1.1 M
Repo        : 163
Summary     : PHP scripting language for creating dynamic web sites
URL         : http://www.php.net/
License     : PHP
Description : PHP is an HTML-embedded scripting language. PHP attempts to make it
            : easy for developers to write dynamically generated webpages. PHP also
            : offers built-in database integration for several commercial and
            : non-commercial database management systems, so writing a
            : database-enabled webpage with PHP is fairly simple. The most common
            : use of PHP coding is probably as a replacement for CGI scripts.
            : 
            : The php package contains the module which adds support for the PHP
            : language to Apache HTTP Server.

        





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章