Linux的包管理工具介绍

程序包管理:

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

获取程序包的途径

(1)系统发版的光盘或官方的服务器;
CentOS镜像:
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com

(2) 项目官方站点

(3) 第三方组织:
Fedora-EPEL
搜索引擎:
http://pkgs.org
http://rpmfind.net
http://rpm.pbone.net

(4) 自己制作

CentOS系统上rpm命令管理程序包:

功能:安装、卸载、升级、查询、校验、数据库维护

安装

格式:rpm -i[option] PACKAGE_FILE
选项:
     -i:表示install安装
     -v -vv:表示显示安装过程,后者显示更加详细;
     -h:以#号显示进度条格式;
     –nodeps:忽略依赖关系
     –force:强制动作,注意安装成功后可能不能运行;
     –test:测试安装,作为测试检查
     –nosignature:不检查签名就是来源合法性;
     –nodigest:不检查包完整性;MD5头;

升级

格式: rpm -U|F[optIon] PACAGE_FILE  
选项:
     -U:表示不管软件事先是否存在都要升级,存在就升级,不存在就安装;
     -F:表示软件软件存在就升级,如何不存在,就放弃升级;
     -oldpackage:降级,如果升级之后发现有Bug或者兼容性问题,可以使用此选项回滚到升级前的版本;
     -force:强制动作,注意安装成功后可能不能运行;
     -replacepkgs:注意不能替换配置文件;
     注意:
        (1)不要对kernel做升级操作;支持多kernel并存;可以直接安装;
        (2)修改过的配置升级不会覆盖,升级同新文件,会重命名为file.rpmnew

查询:

格式:rpm -q[option] [PACKAGE-NAME|PACKAGE_FILE]
选项:
     -qa:查询系统所有已安装的程序包;
     -qf /path/to/file:查询文件是由那个程序包生成;
     -ql:查询程序生成的文件:
     -qi:查询程序属性信息;
     -qc:查询程序配置文件;
     -qd:查询程序提供的文档
     -q -whatprovides CAPABILITY(功能):查询这种CAPABILITY由那个程序提供;
     -q -whatrequires CAPABILITY:查询这种CAPABILITY被哪些程序包依赖;
     -q -scripts:查询程序包生成的脚本;
     -q -changelog:查询软件历史
     查询未安装的软件包信息,需要加-p选项跟上面的选项结合使用,后面的参数必须是PACKAGE_FILE;
     列如:
        -qpi:查询指定PACKAGE_FILE的程序属性信息;

卸载

格式:rpm -e[option] PACKAGE-NAME
选项:
     -vh:显示过程
     -nodeps:忽略依赖
     -noscripts:忽略脚本
     -allmatches:卸载所有匹配指定名称的程序包,也就是说卸载软件名称中包含此名称的所有包;
     -test:测试检查卸载,不是真卸载
 注意:
     卸载会检查依赖关系,如果卸载的软件被其他程序依赖,请谨慎卸载,否则导致其依赖程序无法运行;

校验

工作原理:校验检查的是软件包来源的合法性和完整性,要想对它们校验检查,必须要有校验机制,这种机制是根据签名和加密实现的,通常发行版的光盘中会有一个包含所有软件特征码的文件,特征码是根据软件包特征提取的,通过单项加密实现的用来校验软件包的完整性,如果软件包在获取途中被修改,在系统中再次提取软件包特征码,跟系统已有的特征码文件比对,不同则判断被攥该,修改过的软件包,根据相同的加密算法提取的特征肯定不同;来源合法性是根据签名实现的;特征码文件被称为公钥;校验是由校验程序完成的,默认rpm命令安装时会调用;
公钥获取:
      官方网站
      系统光盘
      系统配置文件中,这是系统在安装时从安装光盘复制进去的
        系统公钥位置:/etc/pik/rpm-gpg/RPM-GPG-KEY-CentOS-7
导入公钥:
        rpm –import /path/to/pub.key
校验软件:
         rpm -V PACKAGE-NAME:校验安装文件自安装后是否被修改过,根据PMS记录信息判断;
         rpm -K PACKAGE_FILE:对指定未安装的软件包进行手工校验;

数据库重建

默认数据库目录位置:/var/lib/rpm
语法格式:
       rpm –initdb :初始化数据库
       rpm –rebuilddb :重新构建
       –dbpath=/path/ :指定数据库创建位置;
时间: 2024-10-13 12:57:48

Linux的包管理工具介绍的相关文章

Linux程序包管理工具简介

一.Linux程序包管理器-RPM RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件.Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装.RPM 有五种操作模式,分别为:安装.卸载.升级.查询和验证. 1.RPM 安装操作 命令: rpm -i 需要安装的包文件名 例: rpm -i example.rpm 安装 example.rpm 包 rpm -iv example.rpm 安装

linux基础--包管理工具yum详解

rpm常用命令 安装 -ivh:安装rpm包 --nodeps:忽略依赖关系强制安装 --replacepkg:无论软件包是否已被安装,都强行安装软件包 卸载 -e:卸载rpm包 --nodeps:忽略依赖关系强制卸载 升级 -Uvh:升级软件包--Update -Fvh:只有安装在系统上的包才会升级 --nodeps:忽略依赖关系升级 查询 -q:查看安装包名称 -qa:查看是否安装指定rpm包 -qf:查找指定文件属于哪个RPM软件包 -qi:查看安装包的详细信息 -qc:查看安装包的配置文

Python包管理工具介绍

常见的包管理工具及关系 setuptools -->distribute easy_install-->pip 1.distribute distribute是对标准库disutils模块的增强,我们知道disutils主要是用来更加容易的打包和分发包,特别是对其他的包有依赖的包.distribute被创建是因为setuptools包不再维护了. 主页:https://pypi.python.org/pypi/distribute 安装及使用 wget https://pypi.python.

linux yum包管理工具

yum 构成简介 C/S架构:Client --> Server yum仓库 base库:通常为系统发行版所提供的程序包 updates库: extra库: epel库: 数据: 各个rpm包: 元数据: 数据文件 包名.版本信息.各包所包含的文件列表.依赖关系.包分组信息 centos5: xml, centos6,7: sqlite createrepo: 制作yum仓库元数据的工具 yum客户端: 指供repo配置文件,指明仓库访问路径及各种属性信息 主配置文件(中心配置文件):/etc/

Python包管理工具小结

此文已由作者张耕源授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 作为一名接触Python有一段时间的初学者,越来越体会到Python的方便之处,它使人能更 多的关注业务本身的逻辑,而不用太纠结语言层面的技巧与细节.然而,随着服务的规模 变得越来越大,如何方便快速地制作与发布一个Python软件包则越来越成为一个让人头疼 地问题,特别是像Openstack这种相对复杂.各种依赖也很多的Python项目,到目前也没有 发现特别完美的解决方案.这里将尝试对Python的包管

Yarn 包管理工具

Yarn 包管理工具 介绍: Facebook出的,因为 node自带的 npm 包管理工具有缺陷 直接用 Yarn官网 的描述 : (注:查看官网的文档和下载安装包可能需要科学上网) 下载, 安装, 配置环境变量 下载 最新稳定版: v0.21.3,(2017.3.18 最新),有候选发布版本 v0.22.0 我把下载链接放在CSDN上: http://download.csdn.net/detail/xiaocong2015/9785955 5M左右,不大 安装 一直下一步,我安装在C盘,因

Linux包管理工具(rpm/dpkg,yum/apt,alien)

概括: rpm/yum  redhat dpkg/apt  debian alien 转换 在 GNU/Linux( 以下简称 Linux) 操作系统中,RPM 和 DPKG 为最常见的两类软件包管理工具,他们分别应用于基于 RPM 软件包的 Linux 发行版本和 DEB 软件包的 Linux 发行版本.软件包管理工具的作用是提供在操作系统中安装,升级,卸载需要的软件的方法,并提供对系统中所有软件状态信息的查询.RPM 全称为 Redhat Package Manager,最早由 Red Ha

Linux平台上的多种软件安装方式与更友好的包管理软件介绍

一.Linux平台上软件安装卸载的四种方式 1.源码包安装.卸载 优点:性能最好,稳定 缺点:安装稍微复杂,容易出错 一般软件的源码包都进行了压缩,压缩的格式分为gz和bz(或bz2)两种格式. 源码包的格式:***.tar.gz(或bz,bz2). 如下图所示,是PHP的源码包: 源码包(以PHP的安装包为例)的安装.卸载的方法如下: 1)安装: 第一步:解压安装包 gz后缀用:tar -zxvf php-5.5.14.tar.gz bz(或bz2)后缀用:tar -jxvf php-5.5.

linux程序包管理之rpm程序包管理器与yum前端工具

这里主要讲以CentOS为例,rpm程序包管理器的相关内容: CentOS的程序包管理器:   1) 程序包的命名规则:        源代码包:            software_name-VERSION.tar.gz            VERSION:major.minor.release                major:主版本号,通常代表重大功能改进的版本分支:                minor:次版本号,通常代表在某个版本的分支中的某个功能发生变化: