文章目录
前言
由Red Hat公司提出,被众多Linux发行版所采用;
建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖关系
RPM(软件包管理器)
rpm的软件包的格式
一,应用程序与系统命令的关系
系统命令
文件位置:一般在/bin和/sbin目录中,或为Shell内部指令
主要用途:完成对系统的基本管理工作,例如IP配置工具
适用环境:一般只在字符操作界面中运行
运行格式:一般包括命令字、命令选项和命令参数
应用程序
文件位置:通常在/usr/bin,lusr/sbin和 /usr/local/bin、/usr/local/sbin目录中
主要用途:完成相对独立的其他辅助任务,例如网页浏览器
适用环境:根据实际需要,有些程序可在图形界面中运行
运行格式:通常没有固定的执行格式,由程序开发者自行定义
常见的软件包封装类型
RPM软件包:扩展名为".rpm" ,适用于RHEL、 CentOS等系统
DEB软件包:扩展名为".deb" ,适用于Ubuntu,Debian等系统
源代码软件包:一般为".tar.g2"、".tar.bz2"等格式的压缩包包含程序的原始代码,需要编译安装
附带安装程序的软件包:软件包的扩展名不一,以TarBall格式的居多;在软件包中会提供用于安装的可执行程序或脚本文件,如install.sh、setup 等
在Linux系统中常用的是RPM软件包和源代码软件包
二,rpm命令
查询已经安装的RPM软件信息
rpm -q[子选项] [软件名]
1、q --query查询
2、query-options查询子选项
[-i,–info]:查看指定软件的详细信息
[-a,–all]:查看系统中已安装的所有RPM软件包列表
[-l,–list]:查询指定软件包所安装的目录、文件列表
[-c,–configfiles]:仅显示指定软件包安装的配置文件
[-d,–docfiles]:仅显示指定软件包安装的文档文件
rpm -qa (显示当前系统中以rpm方式安装的所有软件列表) 可以配合"grep"命令一起使用,达到过滤文件并显示的效果
rpm -qf 文件或目录(注意这边加的不能是软件包) ,可以查询已安装的指定软件属于哪个安装包
查询未安装的RPM包文件
1、-qpi:通过.rpm包文件查看该软件的详细信息
2、-qpl:查看.rpm安装包内所包含的目录、文件列表
3、-qpc:查看.rpm安装包内包含的配置文件列表
4、-qpd:查看.rpm安装包内包含的文档文件列表
三,rpm安装软件实例
1.查看版本
2、将对应系统的镜像文件放入虚拟机的光驱里
3、挂载镜像文件到/mnt
mount 是挂载命令;/dev/cdrom是光盘;mnt是临时挂载目录。挂载之后为只读,不能执行
mount /dev/cdrom /mnt/
4、进行安装
rpm -ivh /mnt/Packages/软件名称按tab键
1、安装两个例子
5.卸载指定的RPM软件
- 格式 rpm -e 软件名
l 卸载软件时只需要指定软件名即可,无需指定版本号
四,yum(Yellow dog Updater Modified)的概述及安装
- 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记
1、基于RPM包构建的软件更新机制
2、可以自动解决依赖关系
3、所有软件包由集中的YUM软件仓提供
(一),如何使用yum编译安装程序
进入终端,开始下步操作
mount /dev/cdrom /mnt/
##把光盘挂载到/mnt目录下
查看是否挂载成功,100%为成功cd /etc/yum.repos.d/
##进入到/etc下的yum.repos.d的本地源目录下
mkdir repos.bak
##创建一个叫做repos.bak的新目录
mv *.repo repos.bak
##将带有.repo的所有文件移动到repos.bak目录下
创建yum源仓库如下
cd /etc/yum.repos.d/vim local.repo里面什么都没有,需要我们进行编辑,按“i”进入编辑模式开始逐行编辑[main] #main仓库。[ ]中括号表示一个仓库的定义。其中是仓库的名称。
cachedir=/var/cache/yum/
b
a
s
e
a
r
c
h
/
basearch/
basearch/releasever #RPM包的缓存位置。
keepcache=0 #RPM包在本地是否需要长期保存。1表示yes,0表示no。
debuglevel=2 #日志级别。
logfile=/var/log/yum.log #日志文件。
exactarch=1 #下载的RPM包是否需要与本地平台完全匹配。1表示yes,0表示no。
obsoletes=1
gpgcheck=1 #是否需要自动来源合法性检测。
要删除yum缓存并进行更新验证下
yum常用命令
只显示已安装的包:yum list installed
删除程序:yum remove package1 删除程序包package1
查找和显示
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包
yum list package1 显示指定程序包安装情况package1
总结
RPM的功能:打包、安装、查询、升级、卸载、校验、数据库管理。
RPM的缺点:
由于Linux中的程序大多是小程序。程序与程序之间存在非常复杂的依赖关系。RPM无法解决软件包的依赖关系
rpm适用于所有环境,而yum要有本地yum源才可以使用。yum是上层管理工具,可以自动解决依赖性,而rpm是底层管理工具。
个人习惯用yum~