CentOS-rpm与yum程序包管理

作业(练习)内容:

1、总结rpm和yum实现程序包的管理功能.

要求:作业要图文并茂

一、RPM包管理的用途;

1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;
2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;
3、可以在查询系统中的软件包是否安装以及其版本;
4、作为开发者可以把自己的程序打包为RPM 包发布;
5、软件包签名GPG和MD5的导入、验证和签名发布
6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;

二、RPM 的使用权限;

RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装;

三、rpm 的一点简单用法;

我们除了软件包管理器以外,还能通过rpm 命令来安装;是不是所有的软件包都能通过rpm 命令来安装呢?不是的,文件以.rpm 后缀结尾的才行;有时我们在一些网站上找到file.rpm ,都要用 rpm 来安装;

RPM数据库在/var/lib/rpm

RPM数据库的建立可以利用rpm --rebuilddb命令。

安装选项参数

命令格式:
rpm -i ( or --install) options file1.rpm ... fileN.rpm
参数:
file1.rpm ... fileN.rpm 将要安装的RPM包的文件名
通用选项
rpm -i /PATH/TO/PACKAGE_FILE:安装软件包

rpm -h :以#显示安装进度,每个#表示2%

rpm -v :显示安装详细信息

rpm -vv :更详细的信息

rpm -ivh :一般都是组合使用

--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安
装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为

--dbpath 设置RPM资料库存所在的路径为

上图其中zsh-5.0.2-7.el7.x86_64.rpm是你要安装的rpm包的文件名,一般置于当前目录下。

详细选项:
-h (or --hash) 安装时输出hash记号(``#‘‘)
--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--noscripts 不运行预安装和后安装脚本
--prefix 将软件包安装到由 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy 用 作为 FTP代理
--ftpport 指定FTP的端口号为
这里列出几个常用的:

rpm --nodeps:忽略依赖关系。

rpm --replacepkgs|repackage:重新安装、替换原来安装。

rpm -ivh --oldpackage:降级安装。

rpm -ivh --force:强行安装,可以实现重装或降级

rpm --test:仅测试有没有依赖关系

查询:

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

查询选项:

-qa: 查询本机已经安装的所有程序包;

-qf /PATH/TO/SOMEFILE: 查询此处的文件由哪个程序包安装生成;

如果某个rpm包尚未安装,我们需要查询其说明信息,安装后会生成的文件

rpm -qpi /PATH/TO/PACKAGE_FILE

-qc: 查询指定程序包安装生成的配置文件

-qd: 查询指定的程序包安装生成的文档

-qi: 查询指定的程序包的相关信息;

-ql: 查询程序包安装生成的所有文件的列表;

查看软件包的文档所在的位置;

语法: rpm -qpd file.rpm

查看一个软件包的依赖关系

语法: rpm -qpR file.rpm

-q --scripts:查询程序包相关的脚本:

preinstall: 安装前脚本

postinstall:安装后脚本

preuninstall: 卸载前脚本

postuninstall: 卸载后脚本

-p: 查询针对是未安装的程序包文件;

升级:

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

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

-Uvh: 如果有旧版程序包,则升级之;如果没有,则安装之;

-Fvh:如果有旧版程序包,则升级之;如果没有,则不安装;

--nodeps

--oldpackage:降级;

--force:

卸载:

rpm {-e|--erase} [--nodeps] [--noscripts][--notriggers] [--test] PACKAGE_NAME ...

校验:

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

S file Size differs

M Mode differs (includes permissions andfile type)

5 digest (formerly MD5 sum) differs

D Device major/minor number mismatch

L readLink(2) path mismatch

U User ownership differs

G Group ownership differs

T mTime differs

P caPabilities differ

包校验:

来源合法性验正:非对称加密

完整性验正:单向加密

导入密钥:rpm --import /PATH/TO/KEY_FILE

校验:rpm -K /PATH/TO/RPM_FILE

校验都OK 的

YUM: Yellowdog Updater Modified

yum repositories:

文件服务器:

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]

name=

baseurl=

#mirrorlist=SCHEME://HOSTNAME/PATH/TO/MIRROR_LIST_FILE

enabled={1|0}

gpgcheck={1|0}

gpgkey=

cost=

定义仓库指向可用变量:

$releasever:引用当前系统的主版本号;

$basearch:当前系统的基本架构;

i386, i486, i586, i686: i386

http://mirrors.magedu.com/CentOS/$releasever/os/$basearch

默认情况下:yum 安装好后的rpm包会被自动清除,如果我们想不自动清除的话,
[[email protected] ~]# vi /etc/yum.conf 
[main]
cachedir=/var/cache/yum
keepcache=1     #将这里的0修改为1
debuglevel=2
#保存退出
#我们安装好后的软件存放的位置:/var/cache/yum/base/packages

创建本地仓库:

yum installcreaterepo

createrepo/PATH/TO/RPMFILES/

这里发现报错了,错误显示连接不到那个地址,为什么会出现这样的情况咧,是因为在/etc/yum.conf文件,里面有包含/etc/yum.repo.d/下面的配置,如下图:

那就去修改/etc/yum.repos.d目录下修改

yum命令:

yum [options][command] [package ...]

命令:

安装:install

卸载:remove

升级:update

查询:

Info

searchKEYWORD

listall|installed|availiable

provides/PATH/TO/SOMEFILE: 查询指定文件由哪个包安装生成

重新安装:reinstall

降级:downgrade

清理缓存:clean [ packages | metadata | expire-cache| rpmdb | plugins | all ]

生动生成缓存:makecache

包组:

Grouplist  列出所有包组

groupinfo"GRP_NAME"   查看包组

groupinstall"GRP_NAME"   安装包组

groupremove"GRP_NAME"    移除包组

仓库:

repolist[all|enabled|disabled]

repoinfo[all|enabled|disabled]

如何使用光盘当做本地仓库:

挂载光盘至某目录

定义仓库,使用file:///指明其访问路径;

时间: 2024-08-09 10:28:48

CentOS-rpm与yum程序包管理的相关文章

rpm,yum程序包管理器

在早期我们在Linux上安装程序时,都采用的源代码来安装应用程序,这就意味着我们每次都要经过预处理,编译,汇编,链接最后生成可执行的二进制文件:这样的操作太过繁琐,为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,而对这些程序包进行管理的就是程序包管理器: 不同Linux发行版本,就有不同的程序包管理器:在这里列举一些常用的程序包管理器: 在Debian中dpkg工具来管理所有.deb后缀名的包文件:Redhat中就使用最

rpm和yum程序包的管理

rpm和yum程序包的管理 rpm简介: RPM,是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux.S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了. 程序包管理: 内核功能:进程管理.内存管理.网络协议栈.驱动程序.... 应用程序:由二进制程序.管理程序文件.配置文件.文档文件.帮助手册文件组成 程序包的组成部分: 二进

yum程序包管理器浅谈

基于rpm安装程序包时,程序包之间的依赖性太过于复杂和麻烦,开发了yum程序包管理器,可以自行的解决程序包之间的依赖关系,并且一次性安装所有的有依赖关系的程序包,无须繁琐的下载依赖性的程序包,相对于rpm来说,rpm为基础包管理,yum是前端工具.而yum需要一个文件服务的服务器,总共有四种文件服务器:ftp服务,http服务,本地文件目录,NFS服务.yum命令工具可以通过配置文件,指向仓库的位置以及相关的各种配置信息:每个yum命令行可以同时指向多个仓库,仓库间可以优先级等相关的配置. 当y

RPM(RPM Package Manager)程序包管理工具的常见使用方法

软件包有两种: 二进制格式的软件包和源码程序包. 如何选择适合自己的二进制格式的软件包? 1.根据CPU架构选择软件包 二进制格式的软件包就是已经把源程序转化为CPU所支持的指令集,它可以直接运行的.因为不同架构的CPU指令集不完全一样的.所以二进制格式的 软件包通常会标识适用于那种架构的CPU. CPU 常见平台arch:     1).Power  造价高.性能强劲     2).简化板的 PowerPC     3).UItraSparc     4).x86 功耗低,性能接近服务器级架构

yum 程序包管理简介

rpm可以实现程序的快速,简单安装(跟编译安装比),但是rpm自己不能解决依赖,所以很多工具为了自动解决依赖应运而生,其中yum就是其中之一. yum解决依赖的办法: 必须有个文件服务器,里面放置所以的rpm包,以及包的相关元数据(-qi,-qR得到的数据).元数据可以使用createrepo来创建.并放置在repodata目录下. 这个文件服务器可以使用ftp,http,nfs协议来传输数据,也可以使用file:///(本地服务). 客户端使用yum程序,安装程序包.安装时,查询文件服务器,自

Linux学习之:yum程序包管理命令

1.yum简述:   yum(全称 Yellow dog Updater, Modified)是一个前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装.              文件服务器:            ftp://. htpp:// .nfs://. file://                yum客户端:        配置文件:            /etc/yu

[9-5]Rpm与Yum安装包管理知识梳理

本文旨在复习Linux上安装包管理rpm与yum工具 知识储备 所谓的包管理是指在Linux平台上查询.校验.安装.升级.卸载以及打包package 不同的Distribution Linux上包管理工具各不相同,最主流的有通吃RedHat/CentOS的RPM.YUM.DNF[新一代的前端管理工具],Debian上的APT管理工具 一个程序包package通用组成部分 二进制程序:/bin, /sbin,/, /usr/bin, /usr/sbin, 库文件:/lib, /lib64, /us

linux下yum程序包管理及源码安装

1.yum仓库中的repodata目录中元数据文件: primary.xml.gz:代表所有RPM包的列表和依赖关系以及每个RPM安装生成的文件列表: filelists.xml.gz:代表当前仓库中所有RPM包的所有文件列表: other.xml.gz:代表额外信息,RPM包的修改日志: repomd.xml记录的是上面三个文件的时间戳和校验和: comps*.xml: RPM包分组信息 2.yum定义repo文件 [Repo_ID] name=Description baseurl= ftp

CentOS程序包管理器rpm、yum以及程序包编译安装详解

一.程序包管理器RPM和Yum简介 程序包管理器:将编译好的应用程序的各组成文件打包成一个或几个程序包文件,可以更方便地实现程序包的安装.升级.卸载和查询等管理操作. rpm软件包管理器(RPM Package Manager):rpm包存在依赖关系,依赖关系复杂,安装时间很长,虽然可以忽略依赖关系,但是可能会导致程序包安装后无法正常使用. yum程序包管理器( Yellow dog Updater, Modified):yum是基于RPM包管理,自动解决程序包间的依赖关系.根据配置文件的资源地