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. 生成"cmd.exe"错误

    转载请注明来源:https://www.cnblogs.com/hookjc/ 在VC2005里打开"工具"菜单,选择"选项",打开"选项" ...

  2. pageX的兼容性处理2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. checkstyle使用介绍

    1.我下载的是checkstyle-5.5-bin.zip:下载地址 http://sourceforge.net/projects/checkstyle/files/ 另一个是checkstyle的 ...

  4. MAC上安装HEAAN库

    介绍 HEAN是一个软件库,它实现支持定点运算的同态加密(HE),此库支持有理数之间的近似运算.近似误差取决于某些参数,与浮点运算误差几乎相同.该库中的方案发表在"近似数算术的同态加密&qu ...

  5. Ubuntu 16.04 更改系统语言为简体中文 #####避坑指南

    大家跟着我的步骤一步一步来,肯定不会出现问题的 我这里说明两点,一是切换到管理员用户,二是更新网络源! 且待大家走一遍安装流程 一.安装时报错 原因:以访客的身份进入的会报错,改为管理员进入即可. p ...

  6. Typora如何上传图片到gitee

    Typora是一款非常好用的Markdown文本编辑器,深受广大程序员的青睐,那么在使用过程中,当我们插入图片的时候,其实是默认放在一个相对路径文件夹下的,这就导致,一旦我们移动文件,或者发送给别人, ...

  7. Solution -「CF 1391E」Pairs of Pairs

    \(\mathcal{Description}\)   Link.   给定一个 \(n\) 个点 \(m\) 条边的无向图,在其上找到一条包括不少于 \(\lceil\frac{n}2\rceil\ ...

  8. 部署 Docker Registry 并配置认证登录

    文章目录 搭建 Docker Registry 创建本地映射目录 启动 Docker Registry 配置 Docker Registry 配置 Docker Registry 认证 启动带认证的 ...

  9. JavaScript ==原理与分析

    JavaScript原始类型 ECMAScript 有 5 种原始类型(primitive type),即 Undefined.Null.Boolean.Number 和 String. typeof ...

  10. linux历史命令审计

    一.添加历史命令记录 1.首先在/etc/profile中添加 export HISTORY_FILE=/var/log/Command/Command.log export PROMPT_COMMA ...