⑴ 详解linux软件安装中RPM与YUM 区别和联系
一般Linux软件安装有这么几种方式:
那么其中rpm与yum有什么区别呢?
RPM管理支持事务机制。增强了程序安装卸载的管理。
RPM的功能:打包、安装、查询、升镇燃级、卸载、校验、数据库管理。
1、RPM的缺点
由于Linux中的程序大多是小程序。程序与程序之间存在非常复杂的依赖关系。RPM无法解决软件包的弯旅激依赖关系。
2、RPM包
用RPM工具可以将二进制程序进行打包,包被称为RPM包。RPM包并不是跨平埋袜台的。RedHat的RPM包与SUSE的RPM包不能混用。实际上RedHat的安装,初始软件也都是使用RPM包进行安装的。
源程序的命名规范 : name-version.tar.{gz|bz2|xz}
版本号:major.minor.release
例:bash-4.3.1.tar.xz
RPM包的命名规范 : name-version-release.os.arch.rpm
name:程序名称。
version:程序版本号。
release(发行号):用于标识RPM包本身的发行号,与源程序的release号无关。
os:即说明RPM包支持的操作系统版本。如el6(即rhel6)、centos6、el5、suse11。
arch:主机平台。如i686、x86_64、amd64、ppc(power-pc)、noarch(即不依赖平台)
例:bash-4.3.2-5.el6.x86_64.rpm
3、安装RPM包
命令格式: rpm -i /PATH/TO/RPM_FILE
一般组合起来使用:-ivh
命令格式: rpm -ivh PATH/TO/RPM_FILE
4、卸载RPM包
命令格式: rpm -e 包名
查询RPM相关信息
命令格式: rpm -q 包名
查询所有已经安装包: rpm -qa
5、RPM的数据库
数据库文件位于: /var/lib/rpm
若库损坏,很多RPM的查询将无法使用。
YUM客户端基于RPM包进行管理,可以通过HTTP服务器下载、FTP服务器下载、本地软件池的等方式获得软件包,可以从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系。
YUM在安装RPM时,会从服务器下载相应包,且缓存在本地。
使用YUM进行RPM包的管理,非常简单方便。
1、YUM客户端的使用
YUM客户端的配置
YUM的配置方式是基于分段配置的。
主配置文件: /etc/yum.conf
YUM的片段配置: /etc/yum.repos.d/*.repo
主配置文件配置了一个特殊的仓库,名称为main。main是为其他仓库提供默认的全局配置的。
配置文件的说明:
查看CentOS-Base.repo配置文件:
对配置文件中的一些配置项作说明:
2、yum命令的使用
yum的命令形式一般是如下: yum [options] [subcommand] [package ...]
yum list相关命令
获取yum仓库中所有的包信息。
命令: yum list all
结果说明:
查看yum仓库中指定包名的软件包,可以使用通配符。
命令: yum list all mysql*
查看仓库
查看当前能够使用的yum仓库
命令: yun repo list
显示所有仓库
命令: yum repo list all
清空本地yum的缓存
yum仓库若更新,则本地缓存就没有意义了。所以本地缓存需要清空。
命令格式: yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
手动在本地建立缓存
yum客户端会下载远程yum的文件。在本地生成缓存。
命令: yum makecache
安装应用程序
基本格式: yum [-y] install 包1 包2 ... 包n
说明:
若安装多个包,则使用包名之间使用空格隔开。
安装过程中,yum会询问用户是否安装,使用yum -y 选项,表示自动回答为yes。
卸载软件包
命令格式: yum remove 包1 包2 ... 包n
注意:若该包被依赖,则该卸载可能会导致一些问题。如A依赖B,若卸载B,则A也会被卸载。
上面都是比较常用的命令,如果基本上用过的话那么在这一块的内容也就基本达标了。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
⑵ linux中rpm命令的作用
RPM软件包:这种软件包的扩展名为 “.rpm” ,只能在使用RPM机制的Linux操作系统中安装,如RHEL、Fedora、centOS等。RPM软件包一般针对特定版本的操作系统量身定制,因此依赖性较强。
源代码安装包:这种软件包是程序员开发完成的原始代码,一般被制作成 “.tar.gz” 或 “.tar.bz2” 等格式的压缩包文件,因多数使用 tar 命令打包而成的,所以经常被称为 “tarball”。《Linux就该这么学》一起学习更多知识。
使用RPM软件包管理命令——RPM
一、RPM命令具有非常强大的功能,结合不同的命令选项及子选项主要可以实现以下三类功能。
1、查询、验证RPM软件包的相关信息。
2、安装、升级、卸载RPM软件包。
3、维护RPM数据库信息等综合管理操作。
二、查询RPM软件包信息的各选项如下:
-q:查询已知名称的软件包是否已经安装;
-qp:针对尚未安装的RPM软件包文件进行查询;
-qa:显示当前系统中以RPM方式安装的所有软件列表;
-qi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息(–info);
-ql:显示指定的软件包在当前系统中安装的所有目录、文件列表(–list);
-qf:查看指定的文件或目录是哪个软件包所安装的(–file);
-qpi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息;
-qpl:查看该软件包准备要安装的所有目标目录、文件列表;
三、安装、升级、卸载 rpm软件包
在日常系统管理工作中,安装、升级及卸载软件包是管理应用程序是最基本的工作内容。那么我们来看一下,使用 rpm 命令实现这些操作时,基本的命令选项:
-i:在当前系统中安装(install)一个新的RPM软件包;
-e:卸载指定名称的软件包;
-U:检查并升级系统中的某个软件包,若该软件包原来并未安装,则等同于“-i” 选项;
-F:检查并更新系统中的某个软件包,若该软件包原来并未安装,则放弃安装;
-h:在安装或升级过程中,以 # 号显示安装进度;
-v:显示软件安装过程中的详细信息;
–force:强制安装某个软件包,当需要替换以安装的软件包及文件,或者安装一个比当前使用的软件版本更旧的软件时,可以使用此选项;
–nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系。
四、维护RPM数据库
(1)重建rpm数据库
rpm数据库用于记录在Linux操作系统中安装、卸载、升级应用程序的相关信息,由rpm软件包管理系统自动完成维护、一般不需要我们用户干预。当RPM数据库发生损坏(可能是由于误删文件、非法关机、病毒破坏等导致),且操作系统无法自动修复时,将导致无法正常使用 rpm 命令,这时我们可以执行以下操作: