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.

        





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