码迷,mamicode.com
首页 > 系统相关 > 详细

Linux程序包管理

时间:2014-12-01 06:43:08      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:linux   软件包   

                               Linux程序包管理



RPM软件包管理器是由Redhat公司提出的,英文原意为Redhat Package Manager。是用来管理linux下软件包的工具。现在包括OpenLinuxS.u.S.E.以及Turbo LinuxLinux的分发版本都有采用,成了公认的业界标准,也为了迎合开源人士的幽默特点所以RPM英文本意改成RPM is Package ManagerRPM可是实现软件包的安装、卸载、升级、查询和验证等功能。

 

 

RPM包安装

命令格式:rpm{-i|--install} [install-options] PACKAGE_FILE

通常使用rpm –ivh 加软件包路径安装软件包 vh表示安装过程中输出安装信息。

bubuko.com,布布扣

支持的安装选项:

     --replacepkgs:重新安装

     --nodeps:忽略包的依赖关系

     --test:测试安装,不真正执行安装过程

     --perfix:制定包的安装路径

 

 

RPM包升级

命令格式:rpm{-U|--upgrade} [install-options] PACKAGE_FILE

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

通常使用rpm –Uvh(如果有相应包的旧版本则升级否则直接安装新版本)或用rpm –Fvh(如果有相应包的旧版本则升级否则不安装新版本)升级软件包。

支持的选项:

--oldpackage:降级安装

--force:忽略冲突强制执行安装

注意:不要对内核包执行升级操作,Linux支持多版本内核并存。因此,对新版本内核可直接安装。此外升级时被修改过的配置文件不会被覆盖,而是把新版本的文件重命名后加.rpmnew后缀保留。

 

 

RPM包卸载

命令格式:rpm {-e|--erase}PACKAGE_NAME

支持的选项:

--nodeps:卸载时忽略依赖关系

--test:卸载测试,不真正执行卸载过程

 

注意:如果软件包的配置文件安装后被改动过,卸载时,此文件将不会删除,而是被重命名(原文件名加.rpmsave后缀)并保留。

 

 

RPM包查询

rpm {-q|--query}PACKAGE_NAME 检查软件包是否已安装

支持的选项:

-qa:列出已经安装的所有软件包

-qi:查询包的简要说明信息

bubuko.com,布布扣

-ql:查询某包安装后生成的所有文件的列表

bubuko.com,布布扣

-qc:查看某包所有生成的配置文件

bubuko.com,布布扣

-qd:查询某包安装后的帮助文件

bubuko.com,布布扣

-q --changelog:查询某包制作时随版本变化的changelog列表

bubuko.com,布布扣

-q -- provides:查询某包提供的capabilities

bubuko.com,布布扣

-q --requires:查询某包所依赖的capabilities

bubuko.com,布布扣

-q --scripts:查询某包安装卸载时的脚本

bubuko.com,布布扣

 

 

RPM包验证

检查包安装之后生成的文件是否发生了改变

rpm{-V|--verify} [select-options] [verify-options]

常用用法:rpm -VPACKAGE_NAME

 

包来源合法性及完整性验证:

rpm --importPUBKEY ...  导入公钥(前提是工作目录下要有此公钥文件)

bubuko.com,布布扣

rpm{-K|--checksig} [--nosignature] [--nodigest] PACKAGE_FILE ...

bubuko.com,布布扣

--nosignature: 不检查来源合法性

--nodigest: 不检查完整性

 

 

 

 

 

由于程序包存在依赖关系,在用RPM命令安装程序包的时候如果此包所依赖的软件包没有安装还要下载安装它所以来的包,这样就会很麻烦。Yum是可以自动处理依赖性关系的前端包管理器,可以一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

Yum客户端的配置:

配置文件:/etc/yum.repos.d/*.repo  /etc/yum.repos.d目录下创建以.repo结尾的文件定义软件仓库。

 

[DVD]                        

name=DVD

baseurl=file:///media/cdrom

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

 

 

[DVD]字段:REPO_ID   ID不能重复

Name字段:repo description   可以添加一些描述信息

Baseurl字段:定义软件仓库的地址可以是FTPHTTP地址或本地文件系统目录等

enabled字段:表示是否启用本仓库  0为禁用  1为启用

gpgcheck字段:表示是否校验软件包的完整性和来源可靠性 0为不校验 1为校验

gpgkey字段:校验软件包用的文件路径

 

 

 

yum相关命令

命令格式:yum[options] [command] [package ...]

yum repolist  列出所有可用仓库

bubuko.com,布布扣

yum list {all|installed|available} 列出所有程序包或安装过的活可用程序包

yum list 后也可加globing元字符模糊匹配列出匹配的安装包

例如:列出前几个字符是bash的包 yum list bash*

bubuko.com,布布扣

yum grouplist  列出所有包组

bubuko.com,布布扣

yum clean {all|packages} 清除yum缓存

bubuko.com,布布扣

yum makecache建立缓存,会把仓库的元数据同步到本地

bubuko.com,布布扣

yum install PACKAGE_NAME ...  安装某个软件包

bubuko.com,布布扣

yum reinstall PACKAGE_NAME ... 重装某个软件包

bubuko.com,布布扣

yum erase|remove PACKAGE_NAME 卸载指定数据包,依赖于此程序包的其他程序包也会被卸载   

bubuko.com,布布扣

yum {groupinstall|groupremove|groupupdate|grouplist|groupinfo}  ”GROUP_NAME“ 对包组的安装、卸载、升级、查询、显示相关信息

bubuko.com,布布扣

对包组的操作也可用yum{install|gremove|update|list|info} @“GROUP_NAME”实现包组的安装、卸载、升级、查询、显示相关等信息(同普通包一样的选项只是在包组前加@符号) 

bubuko.com,布布扣 

      注意:以上操作收到Is this ok[y|N]:提示时表示安装或升级已经准备好是否执行操作,键入y然后回车可以继续执行,如果不想继续可以键入n放弃本次操作。如果不行收到此提示可以在输入命令时添加-y选项表示默认同意继续执行。

例如 yuminstall –y tree

bubuko.com,布布扣

 

                            

 

                

 


本文出自 “叼炸天的” 博客,请务必保留此出处http://linux2016.blog.51cto.com/4799006/1584841

Linux程序包管理

标签:linux   软件包   

原文地址:http://linux2016.blog.51cto.com/4799006/1584841

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!