1 Linux软件安装概述

安装程序的方式:

  • 通用二进制格式:直接解压压缩文件,就可以使用。但一定要注意安装平台。
  • 软件包管理器:如RPM。
  • 软件包管理器的前端工具:如YUM。
  • 源代码编译。

1 1.1 软件包概述

软件包的组成部分:

  • 二进制程序,位于 /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin 等目录中。
  • 库文件,位于 /lib, /usr/lib, /usr/local/lib 等目录中。Linux中库文件以 .so(动态链接库)或 .a(静态链接库)作为文件后缀名。
  • 配置文件,位于 /etc 目录中。
  • 帮助文件:手册, README, INSTALL (/usr/share/doc/)

在没有软件包管理器之前,安装程序,卸载程序是非常繁杂的。

软件包管理工具的特性:

  • 文件清单
  • 文件放置路径
  • 提供的功能说明
  • 依赖关系

软件包管理器内部有一个数据库,其中记载着程序的基本信息,校验信息,程序路径信息等。

2 RPM

RPM早期被称为RedHat Package Manager,但由于目前RPM非常流行,且已经成为Linux工业标准。所以RPM现在又被称为RPM is Package Manager。

RPM管理支持事务机制。增强了程序安装卸载的管理。

RPM的功能:打包、安装、查询、升级、卸载、校验、数据库管理。

2 2.1 RPM的缺点

由于Linux中的程序大多是小程序。程序与程序之间存在非常复杂的依赖关系。RPM无法解决软件包的依赖关系。

3 2.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.1 RPM分包

在把二进制文件打包时,将主要功能打入主包。将辅助功能打入分包。分包在需要的情况下安装,若不需要就可以不安装。

  • 主包:核心包。
  • 分包:又称为支包。

3.2 获取需要的RPM包

互联网中RPM常用站点:

http://mirrors.sohu.com

http://rpmfind.net

http://rpm.pbone.net/

3.3 epel

epel是为RedHat提供扩展的RPM包。这些包是Linux安装盘中没有的。该项目目前由Fedora维护。

例:使用网易镜像站查看epel。

注意:优先使用Linux光盘中的包。其次考虑epel中的包。尽量不要使用来路不明的RPM包。

3.4 RPM包的验正机制

RPM可以验证来源的合法性、软件包的完整性。

4 2.3 RPM命令的使用

RPM常用选项:

-i:表示安装。

-v, -vv, -vvv:表示详细信息。

-h:以"#"号显示安装进度。

-q:查询指定包名。

-e:卸载指定包名。

-U:升级软件,若未软件尚未安装,则安装软件。

-F:升级软件。

-V:对RPM包进行验证。

--nodeps:忽略依赖关系。

--query:查询指定包名。同-q选项。

--hash:同-h。

--install:表示安装,同-i选项。

--test:仅作测试,不真正执行,可用于测试安装,测试卸载。

--replacepkgs:重新安装。替换原有的安装。

--force:忽略软件包及文件的冲突。

--initdb:新建RPM的数据库。

--rebuilddb:重建RPM的数据库。

--percent:以百分比的形式输出安装的进度。

RPM包的查询:

rpm -q:查询某一个RPM包是否已安装

rpm -qi:查询某一个RPM包的详细信息

rpm -ql:列出某RPM包中所包含的文件。

rpm -qf:查询某文件是哪个RPM包生成的。

rpm -qa:列出当前系统所有已安装的包

安装或卸载时,可能出现如下类似警告信息:warning:/etc/sysconfig/named created as /etc/sysconfig/named.rpmnew

该警告信息表示:rpm的配置文件被另存为了一份文件。

4.1 安装RPM包

命令格式:rpm -i /PATH/TO/RPM_FILE

一般组合起来使用:-ivh

命令格式:rpm -ivh PATH/TO/RPM_FILE

4.2 卸载RPM包

命令格式:rpm -e 包名

4.3 查询RPM相关信息

结合-q选项,RPM提供了许多种查询信息的方式。

命令格式:rpm -q 包名

命令格式:rpm --query 包名

查询所有已经安装包:rpm -qa

1、rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep "软件或者包的名字"。

2、以deb包安装的,可以用dpkg -l能看到。如果是查找指定软件包,用dpkg -l | grep "软件或者包的名字";

3、yum方法安装的,可以用yum list installed查找,如果是查找指定包,命令后加 | grep "软件名或者包名";

4、如果是以源码包自己编译安装的,例如.tar.gz或者tar.bz2形式的,这个只能看可执行文件是否存在了,

查询所有已安装的软件包: rpm -qa 或者 rpm -qa | more (分屏显示)

查询文件隶属的软件包: rpm -qf

查询软件包信息: rpm -qi , rpm -qip

查询软件包安装文件: rpm -ql

查询软件包帮助文档: rpm -qd

查询软件包配置文件: rpm -qc

作者:夜郎西
链接:https://www.zhihu.com/question/382649994/answer/1107285200
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

yum针对centos软件包操作常用命令

1、$yum list installed //列出所有已安装的软件包
1.使用YUM查找软件包 
命令:yum search 
2.列出所有可安装的软件包 
命令:yum list 
3.列出所有可更新的软件包 
命令:yum list updates 
4.列出所有已安装的软件包 
命令:yum list installed 
5.列出所有已安装但不在 Yum Repository 内的软件包 
命令:yum list extras 
6.列出所指定的软件包 
命令:yum list 
7.使用YUM获取软件包信息 
命令:yum info 
8.列出所有软件包的信息 
命令:yum info 
9.列出所有可更新的软件包信息 
命令:yum info updates 
10.列出所有已安装的软件包信息 
命令:yum info installed 
11.列出所有已安装但不在 Yum Repository 内的软件包信息 
命令:yum info extras 
12.列出软件包提供哪些文件 
命令:yum provides

检查升级 yum check-update

卸载 yum remove

帮助 yum -help/man yum

显示所有仓库

命令:yum repo list all

显示禁用的仓库

命令:yum repo list enabled

显示启用的仓库

命令:yum repo list disabled

显示软件包的摘要信息

命令格式:yum info 包名

类似于rpm -qi 包名 ,yum info没有rpm -qi显示的详细全。但可以显示出安装状态(Installed,Available)

参考来源:https://www.cnblogs.com/shijiaqi1066/p/3843955.html

LINUX安装 RPM与YUM的更多相关文章

  1. Linux软件包安装(rpm、yum、apt-get)

    转载自:https://blog.csdn.net/wzq__janeGreen_/article/details/81774924 rpm/yum适用于Redhat.CentOS.Suse等平台: ...

  2. Linux下rpm及yum安装jdk

    笔者使用的Linux操作系统为CentOS7,Linux中有三种安装jdk的方式,在这里笔者主要介绍两种方式,即rpm和yum安装及卸载jdk,还有一种是直接从官网下载 tar.gz 压缩文件上传到L ...

  3. linux 基础入门(8) 软件安装 rpm、yum与源码安装详解

    8.软件 RPM包安装 8.1rpm安装 rpm[选项]软件包名称 主选项 -i 安装 -e卸载 -U升级 -q查找 辅助选项 -ⅴ显示过程 -h --hash 查询 -a-all查询所有安装的包 - ...

  4. Linux下rpm、yum和源码三种安装方式详细介绍

    第1章 源码安装 源码包安装会比RPM包安装慢,是因为RPM的软件包是根据特定系统和平台而指定的,经常一种 程序会提供很多RPM包的格式,用户根据系统情况选择适合的RPM包直接安装,而源码包相当于 通 ...

  5. 软件安装 RPM SRPM YUM

    RPM介绍 RPM是已经编译好的软件安装库.编译是有相应环境相适应的,包括系统,版本等相关信息都要跟编译版本一致才行,否则肯定会出现安装不成功的情况,强制安装的话,也会出现各种各样的问题. 在这种情况 ...

  6. linux中rpm和yum

    一.rpm介绍 一种用于互联网下载包的打包及安装工具.它生成具有.RPM 扩展名的文件.RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似 windo ...

  7. linux系统rpm和yum软件包管理

    软件安装方式总结 安装软件方式有如下几种: 方式1:编译安装 将源码程序按照需求进行先编译,后安装 缺点:装过程复杂,而且很慢 优点:安装过程可控,真正的按需求进行安装(安装位置.安装的模块都可以选择 ...

  8. 鸟哥的linux私房菜学习记录之软件安装RPM,SRPM,YUM

  9. linux 安装mysql5.6 yum

    安装mysql: 查看mysql: rpm -qa | grep -i mysql 安装必要的环境 yum -y install gcc gcc-c++ ncurses-devel perl 查看环境 ...

随机推荐

  1. 有了Autolayout的UILabel

    在没有Autolayout之前,UILabel的文字内容总是居中显示,导致顶部和底部会有一大片空缺区域 有Autolayout之后,UILabel的bounds默认会自动包住所有的文字内容,顶部和底部 ...

  2. IOS开发之----常用函数和常数--秀清

    介绍一下Objective-c常用的函数,常数变量 算术函数 [算术函数] 函数名 说明 int rand() 随机数生成.(例)srand(time(nil)); //随机数初期化int val = ...

  3. chmod以数字形式改变文件权限

    Linux文件的三种身份和四种权限,三种身份分别为: u:文件的拥有者 g:文件所属的群组 o:其他用户 对于每个身份,又有四种权限,分别为: r:读取文件的权限(read) w:写入文件的权限(wr ...

  4. Java中的equals和==的区别以及几个常用的object中的方法简单的调试方法

    一.equals 1.equals:是Object类中的方法,只能判断引用类型 2.默认判断的是地址是否相等(判断两个参数是否是同一个对象),子类中往往重写该方法,用于判断内容(值)是否相等 二.== ...

  5. MLlib学习——基本数据类型

    数据类型--基于RDD的API 本地矢量 标记点 本地矩阵 分布式矩阵 RowMatrix(行矩阵) IndexedRowMatrix(索引行矩阵) CoordinateMatrix(坐标矩阵) Bl ...

  6. Ubuntu service 命令

    启动指定服务 sudo service 服务名 start 停止指定服务 sudo service 服务名 stop 重启指定服务 sudo service 服务名 start 查看所有服务 sudo ...

  7. 解决使用putty 连接Windows主机与Linux虚拟机出现提示network error:connection refused问题

    使用putty 连接Windows主机与Linux虚拟机出现提示network error:connection refused的问题 问题描述: 主机与虚拟机可以互相ping通: 防火墙已经关闭 使 ...

  8. MySQL表单查询

    一.表单查询的语法 select 字段1.字段2....from 表名 where MySQL备份

  9. Django创建的第一个项目(2)

    如何创建一个项目?安装好python,pycharm,Django之后,然后在pycharm的命令行django-admin  startproject   MyFirstPjt.MyFirstPjt ...

  10. Python "爬虫"出发前的装备之一正则表达式

    1. 正则表达式 正则表达式是一种模板表达式语言 通过定义规则去匹配.查找.替换.分割一个长字符串中特定的子字符信息. 如在一篇文章中查找出所有合法的电子邮箱地址,则可以先用正则表达式定义一个电子邮箱 ...