linux下rpm,yum学习

linux下RPM及yum学习

  • linux中程序管理程序主要分为两类

dpkg(Debian Packager):debian,Ubuntu,Knoppix
        rpm(Redhat Package Manager):Redhat,Centos,Fedora

linux通过管理程序实现程序的安装,但不管是dpkg还是rpm安装软件时若软件存在依赖性关系,则自动安装所需要软件及相关配置,为实现此功能,rpm需包含自己的数据库(/var/lib/rpm),将安装程序分别安装到指定位置,本次学习以rpm为本进行学习

  1.     RPM管理程序:

    1. RPM是什么

RPM是Redhat开发的为Redhat系列的linux提供程序安装管理的管理程序

RPM与SRPM

Linux由于开源关系导致其各发行版或多或少有点不一样,由于RPM安装程序事先编译按照,因此不可能适应全部发行版的linux环境,针对此现象可使用SRPM程序包,此程序包包含RPM源码,可根据具体发行部再行编译安装

RPM使用

 打包:rpmbuild:基于specs文件进行打包

主包:包含包的主要功能(app-version)

分包:包含包的部分非常用功能,根据需要进行安装(app-devel-version)

version格式:主版本号.此版本号.release号

例子:      zlib-1.2.7-13.el7.x86_64.rpm(主包)
                            zlib-devel-1.2.7-13.el7.x86_64.rpm(分包)

 获取包方式

1.发行版提供的程序包
              2.Fedora-EPEL  个别开源程序;

3. 项目官方站点
              4.搜索引擎

安装

格式:rpm {-i|--install} [install-options] PACKAGE_FILE ...

-i:表示安装程序

-v:表示显示安装过程

-vv:显示调试信息

--percent:以百分比方式显示安装进度

--excludedocs:不安装包中的文档文件

--ignoreach:不校验包结构

--includedocs:安装文档

--noscripts:不运行安装脚本

--prefix:安装到指定目录下

--force:忽略文件冲突

-h:安装时输出hash记号#

--nodeps:忽略依赖关系

--test:仅做测试

--replacepkgs:重装程序包

 例子

升级

格式:rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
                       rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

常用命令格式:

-Uvh:若有旧版程序则升级,若无则安装

-Fvh:若有旧版程序则升级,若无则不做操作

--nodeps:忽略依赖关系

--oldpackage:降级

--force:强制升级

--test:仅做测试

 卸载

格式: rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
                                   [--notriggers] [--test] PACKAGE_NAME ...

[--nodeps]:卸载忽略依赖关系

[--noscripts]:卸载时不运行脚本

[--test]:只是测试

查询

格式:rpm {-q|--query} [select-options] [query-options]

-q:查询

-qa:查询本机安装的所有程序

-qf FILE:查询FILE由那个安装包生成

-p:查询未安装的软件包

--whatprovides:查询所有提供了功能的软件包

--whatrequires:查询所有要求功能的软件包

-qc:查询程序包生成的配置文件

-qd:查询程序包生成的文档

-qi:查询程序包的信息

-ql:查询程序包生成的文件列表

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

preinstall:安装前

postinstall:安装后

preuninstall:卸载前

postuninstall:卸载后

例子:

 校验:

格式:rpm {-V|--verify} [select-options] [verify-options]

校验码含义:

S:  文件大小发生了变化

M:权限发生变化

5:MD5校验码变化

D:设备文件不匹配

U:属主改变

T:最近修改时间戳改变

P:功能变化

由于安全性考虑文件可能需要秘钥进行校验:

导入秘钥:rpm --import

校验:       rpm -k FILE

yum:

网上存在较多镜像站点,其中repodata所在父目录即仓库路径

yum仓库:

文件服务器:

ftp://hostname/PATH/TO/REPO

http://hostname/ PATH/TO/REPO

file:///PATH/TO/REPO

      yum配置文件:

全局配置文件:/etc/yum.conf

单个仓库或同类仓库:/etc/yum.repos.d/*.repo

name:仓库名称

baseurl:参照yum仓库文件服务器设置,可设置多个,随机挑选一个

mirrorlist:将仓库写成列表,在通过列表读取baseurl,实现baseurl冗余

gpgcheck:是否检验包的合法性(0/1)

gpgkey:秘钥文件

enable:是否启用(0/1)

cost:指明仓库开销,越小越优先

添加后yum repolist生效仓库

仓库定义变量:

$releasever:当前系统主版本号

$basearch:当前系统架构:

i386,i486,i586,i686

  例子:

yum管理软件:

安装:install

卸载:remove(自动卸载依赖关系包)

升级:update(yum check-update检察升级包)

查询:

info:不管安装没安装都能查询相关信息

search KEYWOED [all]:all代表只要出现了都search,没有all代表只搜索包名出现关键字的

list all|installed|availiable:显示所有包|已安装包|可安装包

provides:查询文件由那个包生成的

重新安装:reinstall

降级:downgrade

清理: [ packages | metadata | expire-cache | rpmdb | plugins | all ],一般可以clean all

生成缓存:makecache

包组:一次管理一组程序包

grouplist:列出所有包组

groupinfo GROUPNAME:查看GROUPNAME信息

groupinstall “GROUPNAME”包组安装

groupremove “GROUPNAME”包组卸载

仓库:

列出仓库: repolist [all|enabled|disabled]  默认enableed
                            查看仓库信息:repoinfo [all|enabled|disabled]

查看仓库包安装情况: repository-packages

时间: 2024-12-13 17:33:59

linux下rpm,yum学习的相关文章

linux下使用yum安装mysql以及启动、登录和远程访问

linux下使用yum安装mysql,以及启动.登录和远程访问. 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 查看有没有安装包: yum list mysql* 安装mysql客户端: yum install mysql 安装mysql 服务器端: yum install mysql-server yum install mysql-devel 2.启动&&停止 数据库字符集设置 mysql配置文件/etc/

linux下使用yum安装mysql、tomcat、httpd

一.linux下使用yum安装mysql 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 查看有没有安装包: yum list mysql* 安装mysql客户端: yum install mysql 安装mysql 服务器端: yum install mysql-server yum install mysql-devel www.2cto.com 2.启动&&停止 数据库字符集设置 mysql配置文件/etc

Linux 下使用yum 命令安装MySQL

Linux下使用yum安装MySQL,以及启动.登录和远程访问MySQL数据库. 1.yum安装mysql 1. 查看有没有安装包:   yum list mysql*    #移除已经安装的mysql    yum remove mysql mysql-server mysql-libs compat-mysql51    rm -rf /var/lib/mysql    rm /etc/my.cnf2. 查看是否还有mysql软件:    rpm -qa|grep mysql    #如果有

第十章 Linux下RPM软件的安装与卸载

第十章 Linux下RPM软件的安装与卸载 第一节 RPM软件包安装 rpm命名原则 如: vsftpd-3.0.2-9.el7.x86_64.rpm vsftpd 3.0.2 9 e17 x86_64 rpm 软件包名 软件版本 发行次数 适合的Linux平台 适合的硬件平台 rpm包扩展名 rpm包常用下载网址 http://www.rpmfind.net/ http://rpm.pbone.net/ rpm包安装 rpm -i    安装软件包 -v    显示安装过程 -h    显示安

在Linux下用yum安装所需的指令

在昨天用finger及tree指令时发现Linux默认情况下未安装这两个指令.于是就自己尝试了下安装这两个指令. 在进行操作前我们要有一个明确的思路,这样我们实际进行时可以事半功倍. 这两个文件安装有两种途径:1,上网下载安装:2,通过Linux的安装ISO文件进行安装. 我用的是第二种方法 基本流程 1,你需要先建立一个挂载时用到的文件夹不建随便找一个文件夹也可以.用mkdir指令 2,将ISO文件挂载到指定的文件夹内.用mount指令 3,通过vim对yum的文件进行修改指令为vim /et

Linux下RPM操作

在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装.卸载及管理等操作.RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件.Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装. RPM 有五种操作模式,分别为:安装.卸载.升级.查询和验证. RPM 安装操作 命令: rpm -i 需要安装的包文件名 举例如下: rpm -i example.rpm 安装 example.rp

centos 6.5下rpm yum仓库在线安装mysql5.7 非编译

1.查看当前本地仓库mysql(存在不一定是本机已安装的意思,可以理解成一个资源文件) rpm -qa | grep mysql 2.移除 yum -y remove mysql-libs* 3.打开mysql的官网      http://dev.mysql.com/downloads/repo/yum/ 4.根据需要选择mysql版本,这里我选择第二个 5.无需注册,地址就在这个页面上 6.拷贝这个地址 ,在终端下输入 wget http://dev.mysql.com/get/mysql5

Linux下光盘yum源搭建及简单软件安装

Linux下软件安装包常见的有源码包.二进制包, 软件安装一般有以下几种方式:RPM包安装.yum安装.以及脚本安装. 严格来说,脚本安装并不是独立的一种安装方式,只是对Linux字符界面下软件复杂安装的一个简化版,将复杂的安装命令写在了一个脚本文件中,例如Nginx的安装.fail2ban<采用python脚本>的安装.有兴趣的话可以去查查资料. 接下来就开始正式的yum源的搭建. 环境:Windows 7环境下VMware10,Linux--->CentOS6.5 首先需要说明的是,

Linux下RPM软件包的安装及卸载

在Linux 操作系统下,几乎所有的软件均通过RPM 进行安装.卸载及管理等操作.RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件.Linux 安装时...... 在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装.卸载及管理等操作.RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件.Linux 安装时,除了几个核心模块以外,