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

Linux软件包管理

时间:2016-08-18 06:31:45      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:rpm   yum   编译安装程序包   linux包管理工具   

一、rpm包管理工具

1、rpm包简介

rpm是redhat的软件包管理器。rpm包管理器全称rpm: Redhat Package Manager RPM  Package Manager。它的软件包后缀也为.rpm。除此外,debian,deb文件有dpkg包管理器。


rpm包的命名方式:

源代码:name-version.tar.{gz|bz2|xz} 例如:zip-3.0-1.el6_7.1.x86_64.rpm

version:major.minor.release 

major:主版本 重大的分支

minor:次版本,其中某个功能有所改变

release:发行号,修正了某个BUG,修改了某个代码。


RPM格式:

yum-presto-0.6.2-1.el6.noarch.rpm

如:0.6.2为程序版本号,1.el6是release,noarch.rpm是使用的什么硬件架构平台

name-VERSION-relese.arch.rpm

version: 这是源代码的版本。就是上面的majob,minor,release。

release.arch:打包版本号。rpm的发行号。 

arch(archetecture)是硬件架构或系统的平台类型。


2、程序包管理

功能:将编译好的应用程序的各组成文件打包一个或几个 程序包文件,从而方便快捷地实现程序包的安装、卸载、查询、 升级和校验等管理操作。

包管理主要包括如:打包、安装、查询、升级、卸载、校验、数据库管理


3、包管理工具的使用

1)安装(常用组合rpm -ivh PACKAGE_.RPM)

rpm -ivh openssl-1.0.1e-48.el6.x86_64.rpm  


rpm [OPTIONS]  [PACKAGE_FILE]
     安装:-i,--install

    卸载:-e,--erase

    查询:-q,通常结合qa使用

    显示:-v,显示过程,-vv显示更详细的信息

    升级:-U,--update

    -h:hash marks输出进度条;每个#表示2%的进度; 
    --test:测试安装,检查并报告依赖关系及冲突消息等; 
    --nodeps:忽略依赖关系;不建议; 
    --replacepkgs:重新安装                   

2)升级

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

-U:升级或安装;如果原本就没有安装此软件,则安装。
-F:升级,如果没有安装些软件,则不升级。

--force:强制升级;有时候低版本的程序可能被其它程序所依赖,这时升级会报错。如果强制升级很可能会导致一些程序不能使用。这也是还要使用源代码安装软件的一个原因。

rpm -Uvh openssl-devel-3.0.1.el6_7.1.x86_64.rpm

rpm -Fvh openssl-devel-3.0.1.el6_7.1.x86_64.rpm


3)卸载
rpm -evh PACKAGE_NAME 

例如:rpm -evh tree 


4)查询 

rpm {-q|--query} [select-options] [query-options]

-a, --all:查询所有已经安装过的包,场结合qa一期使用;

-f  FILE:查询指定的文件由哪个程序包安装生成;
-p, --package PACKAGE_FILE:用于实现对未安装的程序包执行查询操作;


二、yum 包管理工具

1、简介

yum全称为:Yellowdog Update Modifier,可以解决包与包之间的依赖关系,使得程序包安装简洁方便、快速。yum包安装分为本地yum和网络yum两类别。

文件服务器(共享rpm包,通常使用http服务): 通过yum所支持的文件共享机制将各rpm包通过文件服务共享。
仓库存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata)

2、yum客户端配置和仓库的设置

要使用yum管理应用程序,首先得配置其可用的yum仓库,保存在配置文件中:

/etc/yum.conf:为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:为仓库的指向提供配置
 

配置文件格式:由两段组成,类似windows的ini配置文件。
[main] : 主配置段 
[repo] : 仓库配置段

其中/etc/yum.conf中一般是[main]配置段的设置,/etc/yum.repos.d/下面的各以.repo结尾的文件一般都是配置[repo]仓库段的。当然也可以把仓库段写到yum.conf文件中。不过这样分开设置的原因就是为了清晰,容易配置。


[main]

cachedir=/var/cache/yum/$basearch/$releasever

keepcache=0

debuglevel=2

logfile=/var/log/yum.log

exactarch=1

obsoletes=1

gpgcheck=1

plugins=1

installonly_limit=5

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum

distroverpkg=centos-release

[base]

name=CentOS-$releasever - Base - mirrors.aliyun.com

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/

        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7


未完结,待续。。。。。






本文出自 “小耳朵” 博客,请务必保留此出处http://purify.blog.51cto.com/10572011/1839739

Linux软件包管理

标签:rpm   yum   编译安装程序包   linux包管理工具   

原文地址:http://purify.blog.51cto.com/10572011/1839739

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