首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用fpm制作mysql的rpm包

基础概念

FPM(Fast Package Manager)是一个用于创建各种类型软件包的工具,它支持多种包格式,包括RPM(Red Hat Package Manager)。RPM是一种广泛使用的Linux软件包管理格式,主要用于基于Red Hat的Linux发行版,如Fedora、CentOS和RHEL。

MySQL是一种流行的关系型数据库管理系统,广泛用于各种应用程序中。

相关优势

  1. 标准化:RPM包提供了一种标准化的软件分发和安装方式,便于管理和维护。
  2. 依赖管理:RPM包可以定义依赖关系,确保安装时所有依赖项都已正确安装。
  3. 版本控制:RPM包可以方便地管理软件的不同版本,支持升级和回滚。
  4. 安全性:RPM包可以对软件进行签名,确保软件的完整性和来源可信。

类型

RPM包主要分为两类:

  1. 源码包(SRPM):包含源代码,用户可以根据需要编译生成二进制包。
  2. 二进制包(RPM):已经编译好的可执行文件和相关文件。

应用场景

在Linux系统中,RPM包广泛应用于各种软件的安装和管理,特别是在企业级环境中,便于集中管理和自动化部署。

制作MySQL RPM包的步骤

以下是一个简单的示例,展示如何使用FPM制作MySQL的RPM包:

1. 安装FPM

首先,确保你已经安装了FPM。如果没有安装,可以使用以下命令进行安装:

代码语言:txt
复制
sudo yum install ruby rubygems
sudo gem install fpm

2. 准备MySQL源码

下载MySQL源码并进行编译:

代码语言:txt
复制
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26.tar.gz
tar -zxvf mysql-8.0.26.tar.gz
cd mysql-8.0.26
cmake .
make
sudo make install

3. 使用FPM创建RPM包

假设MySQL已经安装在/usr/local/mysql目录下,以下是一个简单的FPM命令示例:

代码语言:txt
复制
sudo fpm -s dir -t rpm -n mysql -v 8.0.26 --prefix /usr/local/mysql -d "libaio" -d "openssl" .

解释:

  • -s dir:指定源类型为目录。
  • -t rpm:指定目标类型为RPM包。
  • -n mysql:指定包名称为mysql。
  • -v 8.0.26:指定版本号为8.0.26。
  • --prefix /usr/local/mysql:指定安装前缀。
  • -d "libaio"-d "openssl":指定依赖项。
  • .:指定源目录。

4. 安装RPM包

生成RPM包后,可以使用以下命令进行安装:

代码语言:txt
复制
sudo rpm -ivh mysql-8.0.26-1.x86_64.rpm

常见问题及解决方法

1. 编译错误

如果在编译MySQL源码时遇到错误,可以查看详细的错误日志,通常在config.log文件中。常见的编译错误包括缺少依赖项或配置选项错误。

解决方法

确保所有依赖项都已安装,并检查配置选项是否正确。

2. FPM命令错误

如果在运行FPM命令时遇到错误,可以查看详细的错误信息。

解决方法

确保FPM已正确安装,并检查命令参数是否正确。

3. RPM包安装错误

如果在安装RPM包时遇到错误,可以查看详细的错误日志,通常在/var/log/rpm目录下。

解决方法

确保所有依赖项都已安装,并检查RPM包是否完整和签名正确。

参考链接

通过以上步骤,你可以使用FPM制作MySQL的RPM包,并在Linux系统中进行安装和管理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

fpm制作rpm

CentOS使用FPM制作RPM方法 在Linux系统中,RPM制作是很困难,其实使用工具就能快速制作RPM,简单易学,下面小编就给大家介绍下Linux使用FPM制作RPM方法,感兴趣朋友可以来了解一下...一、我们来先安装FPM:   # FPM是Ruby模块   yum -y install ruby rubygems ruby-devel   # 添加淘宝Ruby仓库   gem sources -...install fpm   二、官网介绍了FPM打deb,我来翻译成rpm版:   # 去nodejs官网下载最新源码   wget http://nodejs.org/dist/v0.10.12...dir适合源码安装程序 -t 指定目标类型,制作什么格式 -n 名字 -v 版本号 -C 根目录,之后是需要打包程序路径...软件卸载完成之前所要运行脚本 --post-uninstall 软件卸载完成之后所要运行脚本   # 查看RPM信息   rpm -qpi ~/rpmbuild/RPMS/x86

1.5K10
  • 制作RPM

    redhat系列linux使用RPM来管理安装软件很方便,把自己常用脚本变成RPM之后,用起来就方便了。...1.要制作RPM,首先要看一下RPM内容(可以忽略) 2020-01-16_101241.png 2.环境准备 软件依赖:rpm-build rpmdevtools 2020-01-16_101653....png 3.设置 制作RPM 环境 直接执行命令:rpmdev-setuptree即可在当前用户家目录生成如下目录结构 2020-01-16_102024.png 4.拷贝自己脚本到相应目录...RPM %description #描述 this is set ddcw some habit %prep #安装前所需要做事情 echo -e "\033[1;41;33m pre install... 2020-01-16_105549.png 我换一台机器测试这个RPM: 2020-01-16_110258.png 再验证一下功能(根据自己脚本测试,我测试出来是OK): 2020-01-16

    1.5K30

    fpm来做rpm打包

    现在自己写程序需要自己做打包。 rpmbuild做了打包,但总感觉很不方便。 于是便找到了fpm工具。...1.4.0 2、FPM常用参数: -s:指定源类型 -t:指定目标类型,即想要制作为什么 -n:指定名字 -v:指定版本号 -C:指定打包相对路径 -d:指定依赖于哪些 -f:第二次时目录下如果有同名安装存在...,则覆盖它 -p:输出安装目录,不想放在当前目录下就需要指定 –post-install:软件安装完成之后所要运行脚本;同–offer-install –pre-install:软件安装完成之前所要运行脚本...支持源类型: dir: 将目录打包成所需要类型,可以用于源码编译安装软件 rpm: 对rpm进行转换 gem: 对rubygem进行转换 python: 将Python模块打包成相应类型...支持目标类型rpm: 转换为rpm deb: 转换为deb solaris: 转换为solaris puppet: 转换为puppet 3、打包 以我自己一个小工具为例子

    74580

    rpm-build方式制作rpm

    一.简介 可以将编译完成服务打成rpm放到私有仓库了,用于自定义各种软件进行安装部署配置。...二.具体操作 1.安装软件,这个命令将构建rpm yum -y install rpm-build 2.开始初始化,如下命令必定报错,他会在当前生成一个文件夹 rpmbuild -ba nginx.spec...,默认存在 vim rpmbuild/SPECS/nginx.spec Name:nginx #name用来定义软件名称,后面可以使用%{name}方式引用 Version:1.8.0 #version...:nginx-1.8.0.tar.gz #source制定源代码,后面可以%{source1}引用 %define nginx_datadir /usr/local/nginx #下面定义了nginx...rpmbuild/RPMS/x86_64/nginx-1.8.0-1.el7.centos.x86_64.rpm 因为打包时,没有将nginx脚本复制出来,所以要进到目录 rpm -qi 可以看到打包信息

    5.9K00

    RPM制作方法

    RPM制作方法 最近有同学问我制作RPM相关问题,我发现我以前做过,但是忘记记录了,现在记录一下: 以打包nginx并带有nginx-rtmp工程为rpm为例: 首先,需要安装一个...,当然,做前提是我们手动能够编译,安装nginx+nginx-rtmp 接下来就可以开始写spec,因为打包rpm时,rpmbuild会根据spec来进行操作,将源码解压,然后按照我们手动操作步骤进行操作.../brp-compress + /usr/lib/rpm/brp-strip + /usr/lib/rpm/brp-strip-static-archive + /usr/lib/rpm...rpmbuild/BUILDROOT/nginx-1.3.8.with.rtmp-1.el6.x86_64 + exit 0 [root@sr01 SOURCES]# 然后即可看到生成rpm... 点击(此处)折叠或打开 [root@sr01 SOURCES]# ls /root/rpmbuild/RPMS/x86_64/nginx-1.3.8.with.rtmp-1.el6

    1.3K40

    实战演练:MySQL RPM定制化制作全过程

    墨墨导读:本文详细介绍一键式安装部署,定制化制作MySQL RPM过程,希望可以帮助到读者朋友 。 在部署MySQL时候,经常用RPM简易安装。非常快,也非常有效。...下面是制作过程。...1 安装工具 因为需要通过源码编译,需要按照比较多依赖 yum install make gcc rpm-build rpmdevtools -y yum install make cmake...release}引用 Group: 软件分组,建议使用标准分组 License: 软件授权方式,通常就是GPL Source: 源代码,可以带多个Source1、Source2等源,后面也可以%{...: 发行版标识 Prefix: %{_prefix} 这个主要是为了解决今后安装rpm时 %description 软件详细说明 %build 开始构建 %install 开始把软件安装到虚拟根目录中

    1.7K20

    简单介绍RPM制作方法

    RPM是RedHat Package Manager(RedHat软件包管理工具)缩写,是一种用于互联网下载打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名文件。...使用rpm安装软件和管理软件非常方便。而这节我们不是介绍如何使用rpm安装或管理软件,而是如何把源码制作rpm。 下面我们以制作nginxrpm开始介绍其制作方法。.../usr/src/redhat/RPMS — 存放由rpmbuild制作二进制。 /usr/src/redhat/SRPMS —存放由rpmbuild制作源码。...RPM之前需要安装必要工具,如rpmbuild,gcc等。...测试rpm rpm -ivh /usr/src/redhat/RPMS/i386/nginx-1.11.1-1.el7.ngx.x86_64.rpm spec文件解释 从以上简单例子可以看出,制作rpm

    1.3K30

    Centos安装mysql rpm

    Centos安装mysql rpm 安装mysql步骤: 清理环境 centos有可能会自带一个mariadb 查看是否已安装 rpm -qa |grep -i mysql #(centos7默认系统自带...) rpm -qa |grep -i mariadb #rpm -e 加上名,把mariadb清掉 rpm -e --nodeps XXXX 可以看到rpm删除会失败,提示有依赖关系软件需要安装...rpm删除时如果有依赖关系,可以yum remove + 名来删除mariadb 开始安装: 一般装软件yum直接安装也可以,但是有一个问题:yum的话,是到默认mariadbyum.../ rpm –ivh + 安装所需要 rpm -ivh mysql-community-client-5.7.22-1.el6.x86_64.rpm(如果报错则加上--force --nodeps..._64.rpm rpm -vih mysql-community-server-5.7.33-1.el7.x86_64.rpm 具体操作 #启动 service start mysqld #查看自动生成密码

    1.7K20

    RPM制作之Spec文件参数详解

    不是版本太低就是文件分布太野路子”,此时我们需要自己订制软件需求,我们会把一些源码按照我们需求来做成rpm,其中Spec文件是制作RPM核心。...下面我们以制作NGINXRPM开始介绍其制作方法。以下操作在CentOS7.4 64位系统进行(切记,不要把7上文件装到6上去)。  ...以下为目录所对应存放文件解释: BUILD:源码解压以后放目录 RPMS:制作完成后rpm存放目录 SOURCES:存放源文件,配置文件,补丁文件等放置目录...【常用】 SPECS:存放spec文件,作为制作rpm文件,即:nginx.spec……【常用】 SRPMS:src格式rpm目录 BuiltRoot:虚拟安装目录...}指/usr,而对于其他文件,例如/etc下配置文件,则需要用%{_sysconfdir}标识 Requires: 该rpm所依赖软件名称,可以>=或<=表示大于或小于某一特定版本

    4.4K00

    RPM制作之Spec文件参数详解

    不是版本太低就是文件分布太野路子”,此时我们需要自己订制软件需求,我们会把一些源码按照我们需求来做成rpm,其中Spec文件是制作RPM核心。...下面我们以制作NGINXRPM开始介绍其制作方法。以下操作在CentOS7.4 64位系统进行(切记,不要把7上文件装到6上去)。  ...以下为目录所对应存放文件解释: BUILD:源码解压以后放目录 RPMS:制作完成后rpm存放目录 SOURCES:存放源文件,配置文件,补丁文件等放置目录...【常用】 SPECS:存放spec文件,作为制作rpm文件,即:nginx.spec……【常用】 SRPMS:src格式rpm目录 BuiltRoot:虚拟安装目录...}指/usr,而对于其他文件,例如/etc下配置文件,则需要用%{_sysconfdir}标识 Requires: 该rpm所依赖软件名称,可以>=或<=表示大于或小于某一特定版本

    3.1K20

    使用 rpm 安装 MySQL 8.0.35

    本文主要针对初学者介绍如何在 Linux 系统上使用 rpm 方式安装一台单机版 MySQL,之前也在 Win10 上安装过单机版 MySQL8.0,有需要也可以点击此处 Windows 10...https://dev.mysql.com/downloads/repo/yum/ 如上图,选择合适自己操作系统 rpm,点击 Download,会出现 Login 登录页面,这里选择“No thanks...然后将下载后 rpm mysql80-community-release-el7-11.noarch.rpm” 上传到 Linux 服务器。...除非该模块被禁用,否则它会屏蔽 MySQL 存储库提供。要禁用包含模块并使 MySQL 存储库可见,使用以下命令(对于启用 dnf 系统,将命令中 yum 替换为 dnf)。...[root@JiekeXu ~]# 这将安装 MySQL 服务器(MySQL -community-server)和运行服务器所需组件,包括客户端(MySQL -community-client

    80310
    领券