设为首页 收藏本站
查看: 460|回复: 0

[经验分享] linux rpm和yum详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-16 08:46:24 | 显示全部楼层 |阅读模式
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

QQ截图20150916084608.png

2.查看已安装的zsh包中包含哪些文件,如果未安装不返回信息
1
2
3
4
5
6
7
8
9
[iyunv@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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[iyunv@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
1
2
[iyunv@localhost yum.repos.d]# rpm -qi php
package php is not installed



情况2

4.列出python包所依赖的能力
rpm -qR python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[iyunv@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]         显示指定仓库的详细信息               

实例

  • 将163的镜像加入到系统的yum源中去

1
2
3
4
5
6
7
[iyunv@localhost yum.repos.d]# cd /etc/yum.repos.d
[iyunv@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所有仓库
1
2
3
4
5
6
7
8
[iyunv@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包的详细信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[iyunv@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.












运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-114201-1-1.html 上篇帖子: 部署基于Centos7的Zimbra邮件系统-之二系统准备及安装 下篇帖子: centos程序包管理 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表