当前位置: 首页 > news >正文

网站建设邮万网阿里云域名查询

网站建设邮,万网阿里云域名查询,计算机做网站难吗,wordpress 下载网站👨‍🎓博主简介 🏅CSDN博客专家   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入&#xff01…

👨‍🎓博主简介

  🏅CSDN博客专家
  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


文章目录

  • 前言
  • 一、使用rpmbuild将python环境及依赖包打成rpm包
    • 1.1 准备打包环境
    • 1.2 创建 Python 环境的 SPEC 文件
    • 1.3 准备 Python 环境
    • 1.4 构建 RPM 包
    • 1.5 安装、卸载 RPM 包
      • 1.5.1 安装rpm包
      • 1.5.2 查找刚刚安装rpm包
      • 1.5.3 卸载刚刚安装的rpm包
  • 二、使用rpmbuild将docker离线安装包打成rpm包
    • 2.1 准备打包环境
    • 2.2 创建 docker 安装包的 SPEC 文件
    • 2.3 准备 docker安装包 环境
    • 2.4 构建 RPM 包
    • 2.5 安装、卸载 RPM 包
      • 2.5.1 安装rpm包
      • 2.5.2 查找刚刚安装rpm包
      • 2.5.3 卸载刚刚安装的rpm包
  • 三、相关文章

前言

  最近因为遇到一个服务器受系统限制,只能上传rpm包才能使用,而我们的服务都是文件,那么怎么将文件都打成rpm包呢???我也是找了好几个,终于找到了一个简单好用的打包方式,下面来给大家讲解一下部署及打包、安装;

rpm是什么呢?

  rpm是一种安装包的格式。就像在Windows系统上我们常见的安装包格式是exe和msi一样,在linux上常见的安装包格式是deb和rpm。一般在红帽系列的系统上,不支持deb,所以我们需要将程序打包成rpm安装。

本文已docker离线安装包python环境两种类型文件打包为例子,将其打成rpm包,并在新的服务器上安装;

操作系统为:Centos 7.6、中科方德开发版系统

一、使用rpmbuild将python环境及依赖包打成rpm包

在使用 rpmbuild 将 Python 环境打包成 RPM 包之前,需要确保已经安装 rpmbuild 工具,并配置好相关的 RPM 打包环境。以下是具体的步骤和说明:

1.1 准备打包环境

首先,确保安装了 rpmbuild,可以通过以下命令安装:

sudo yum install rpm-build -y
# 安装 rpmdevtools
yum install rpmdevtools

rpmdevtools为开发者提供了极大的便利,用于制作RPM包,涵盖了从创建rpmbuild开发树、MD5验证、spec文件的生成,到解压归档文件、归档文件前后版本对比diff等一系列功能。

创建打包文件夹

创建打包文件夹有两种方法:

方法一:使用命令 rpmdev-setuptree 来创建,但是创建的文件夹是在用户主目录(home)如果是root就是在(root)下,我们可以将rpmbuild整个文件夹拷贝到项目文件夹,这样可以方便我们项目管理。

方法二:手动的去创建文件夹,具体文件夹结构可以参考下面的目录树

# 方法一:使用命令创建
rpmdev-setuptree# 方法二:手动创建文件夹
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}# 目录树
rpmbuild- BUILD           // 编译时用到的暂存目录- RPMS            // 打包后生成的 rpm 包会放在这里- SOURCES         // 源码压缩包- SPECS           // 放 xx.spec 文件- SRPMS           // 打包后生成的 srpm 包会放在这里 

1.2 创建 Python 环境的 SPEC 文件

~/rpmbuild/SPECS 目录中创建一个 .spec 文件,用于定义 RPM 包的相关信息,例如 python_env.spec。以下是一个基本的 spec 文件模板:

或者使用rpmdev-newspec python_env.spec命令创建*.spec模板

Name: python_env
Version: 1.0
Release: 1%{?dist}
Summary: Python Environment PackageLicense: YourLicense
Source0: %{name}-%{version}.tar.gz%description
This package provides a Python environment including dependencies.%prep
# 静默模式解压,并进入解压后的目录,常用:%setup -q%build
# 编译过程%install
# 安装过程
# 假设你已经将Python环境打包为.tar.gz文件,将其解压到 /opt/
tar -xzvf %{SOURCE0} -C %{buildroot}/opt/%files
/opt/python_env/*%changelog
* Tue Nov 12 2024 Your Name <youremail@example.com> - 1.0-1
- Initial package for Python environment

以下是这个 RPM SPEC 文件的配置内容的详细解析:


基本配置信息

  • Name: python_env

    • 定义了 RPM 包的名称,这里指定为 python_env
  • Version: 1.0

    • 指定了 RPM 包的版本号。在后续版本更新中,可以根据需要调整这个数字。
  • Release: 1%{?dist}

    • 定义了 RPM 包的发布版本,1 表示初次发布,%{?dist} 会自动添加当前的发布版本分发标记(如 .el7 表示适用于 CentOS 7)。
  • Summary: Python Environment Package

    • 这是一个简短的描述,用于概括 RPM 包的内容。
  • License: YourLicense

    • 指定了软件包的许可证。这里应替换为实际的许可证名称(如 MITGPL 等)。
  • Source0: %{name}-%{version}.tar.gz

    • 定义了源代码文件的名称,通常与 SPEC 文件同名,格式为 Name-Version.tar.gz%{name}%{version} 会分别替换为 python_env1.0,因此实际值为 python_env-1.0.tar.gz

包的详细描述

  • %description
    • 该字段提供了包的详细描述,将会显示在 RPM 的信息中。这里说明此包包含了 Python 环境及其依赖项。

构建和安装过程

  • %prep

    • 这个部分用于准备构建环境,通常会执行一些解压缩或预处理操作。此例中,注释提到可以在此处解压环境包,但没有实际命令。
  • %build

    • 定义了构建过程中需要执行的操作,例如编译代码。但对于不需要编译的包,这部分可以为空。
  • %install

    • 在安装阶段中,指定了将内容安装到目标目录的操作。
    • tar -xzvf %{SOURCE0} -C %{buildroot}/opt/python/:将 Source0(即 python_env-1.0.tar.gz)解压到安装路径中,以便包含完整的 Python 环境。

包含的文件

  • %files
    • 指定在安装包中包含哪些文件。
    • /opt/python_env/*:将 /opt/python_env/ 中的所有内容添加到最终生成的 RPM 包中。

变更日志

  • %changelog
    • 记录包的变更历史。每条日志包括日期、作者、版本及更新说明。在此例中:
      • 日期是 2024 年 11 月 12 日
      • 作者是 Your Name <youremail@example.com>
      • 更新描述是 “Initial package for Python environment”,表示首次打包。

这个 SPEC 文件的作用是将 Python 环境打包为一个 RPM,安装时会解压到指定目录,并可方便安装在其他系统上。

1.3 准备 Python 环境

可以使用 virtualenvvenv 来创建 Python 虚拟环境,并安装所需的库,然后将整个环境打包为 .tar.gz 文件,例如:

# 创建python3虚拟环境
python3 -m venv python_env【要创建的虚拟环境名称(也就是到时候打包的名称)】
# 激活python3虚拟环境
source python_env/bin/activate
# 然后就可以在虚拟环境里安装需要的东西了。

安装完之后,就可以退出虚拟环境打包了;

# 打包python虚拟环境格式为:包名-版本.tar.gz(版本为spec文件里写的版本)
tar -czvf python_env-1.0.tar.gz python_env
# 将打好的包移动到rpmbuild/SOURCES/下,用于打包rpm文件
mv python_env-1.0.tar.gz ~/rpmbuild/SOURCES/

1.4 构建 RPM 包

使用以下命令在 rpmbuild 环境中创建 RPM 包:

rpmbuild -ba ~/rpmbuild/SPECS/python_env.spec

执行后,生成的 RPM 包会保存在 ~/rpmbuild/RPMS/noarch/ 目录中。

noarch是根据你系统生成的,x86的就是x86_64

1.5 安装、卸载 RPM 包

首先要将打的rpm包上传到服务器上;

1.5.1 安装rpm包

默认安装路径是你写的SPEC文件里的路径【本文是/opt/】

rpm -ivh python_env-1.0-1.noarch.rpm
# 强制安装
rpm -ivh python_env-1.0-1.noarch.rpm --nodeps

1.5.2 查找刚刚安装rpm包

rpm -qa | grep python_env-1.0

1.5.3 卸载刚刚安装的rpm包

rpm -e python_env-1.0-1.x86_64
# 强制卸载
rpm -e python_env-1.0-1.x86_64 --nodeps

二、使用rpmbuild将docker离线安装包打成rpm包

在使用 rpmbuilddocker离线安装包打包成 RPM 文件之前,需要确保已经安装 rpmbuild 工具,并配置好相关的 RPM 打包环境。以下是具体的步骤和说明:

2.1 准备打包环境

首先,确保安装了 rpmbuild,可以通过以下命令安装:

sudo yum install rpm-build -y
# 安装 rpmdevtools
yum install rpmdevtools

rpmdevtools为开发者提供了极大的便利,用于制作RPM包,涵盖了从创建rpmbuild开发树、MD5验证、spec文件的生成,到解压归档文件、归档文件前后版本对比diff等一系列功能。

创建打包文件夹

创建打包文件夹有两种方法:

方法一:使用命令 rpmdev-setuptree 来创建,但是创建的文件夹是在用户主目录(home)如果是root就是在(root)下,我们可以将rpmbuild整个文件夹拷贝到项目文件夹,这样可以方便我们项目管理。

方法二:手动的去创建文件夹,具体文件夹结构可以参考下面的目录树

# 方法一:使用命令创建
rpmdev-setuptree# 方法二:手动创建文件夹
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}# 目录树
rpmbuild- BUILD           // 编译时用到的暂存目录- RPMS            // 打包后生成的 rpm 包会放在这里- SOURCES         // 源码压缩包- SPECS           // 放 xx.spec 文件- SRPMS           // 打包后生成的 srpm 包会放在这里 

2.2 创建 docker 安装包的 SPEC 文件

~/rpmbuild/SPECS 目录中创建一个 .spec 文件,用于定义 RPM 包的相关信息,例如 docker.spec。以下是一个基本的 spec 文件模板:

或者使用rpmdev-newspec docker.spec命令创建*.spec模板

Name: docker
Version: 24.0.5
Release: 1%{?dist}
Summary: docker install PackageLicense: MIT
# 尽量不要使用中文名
Source0: %{name}%{version}.zip%description
This install docker package.%prep
# 这里可以解压环境包%build
# 打包需要的构建操作可以在这里定义%install
# 假设你已经将把docker安装包已经打好了为.zip文件,将其解压到 /opt/
unzip  %{SOURCE0} -d %{buildroot}/opt/%files
/opt/docker24.0.5/*%changelog
* Tue Nov 14 2024 Your Name <youremail@example.com> - 1.0-1
- Initial package for Python environment

2.3 准备 docker安装包 环境

将docker的安装包放到rpmbuild/SOURCES/

# 复制过去
cp -ar docker24.0.5.zip ~/rpmbuild/SOURCES/
# 或者移动过去
mv docker24.0.5.zip ~/rpmbuild/SOURCES/

2.4 构建 RPM 包

使用以下命令在 rpmbuild 环境中创建 RPM 包:

rpmbuild -ba ~/rpmbuild/SPECS/docker.spec

执行后,生成的 RPM 包会保存在 ~/rpmbuild/RPMS/noarch/ 目录中。

noarch是根据你系统生成的,x86的就是x86_64

2.5 安装、卸载 RPM 包

首先要将打的rpm包上传到服务器上;

2.5.1 安装rpm包

默认安装路径是你写的SPEC文件里的路径【本文是/opt/】

rpm -ivh docker-24.0.5-1.nfs.x86_64.rpm
# 强制安装
rpm -ivh docker-24.0.5-1.nfs.x86_64.rpm --nodeps

2.5.2 查找刚刚安装rpm包

rpm -qa | grep docker-24.0.5

2.5.3 卸载刚刚安装的rpm包

rpm -e docker-24.0.5-1.nfs.x86_64
# 强制卸载
rpm -e docker-24.0.5-1.nfs.x86_64 --nodeps

三、相关文章

文章标题文章链接
Linux如何将文件或目录打成rpm包? – fpm打包详解https://blog.csdn.net/liu_chen_yang/article/details/134270559
Linux如何将文件或目录打成rpm包?-- rpmbuild打包详解https://blog.csdn.net/liu_chen_yang/article/details/143715019

🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


文章转载自:
http://sureness.dztp.cn
http://cate.dztp.cn
http://mouther.dztp.cn
http://flagellatory.dztp.cn
http://misterioso.dztp.cn
http://mediant.dztp.cn
http://cohesive.dztp.cn
http://kwa.dztp.cn
http://fracted.dztp.cn
http://thirty.dztp.cn
http://superfatted.dztp.cn
http://triskele.dztp.cn
http://trilabiate.dztp.cn
http://zn.dztp.cn
http://roundtree.dztp.cn
http://chunnel.dztp.cn
http://cssr.dztp.cn
http://megaron.dztp.cn
http://autoalarm.dztp.cn
http://pav.dztp.cn
http://lumbar.dztp.cn
http://fibrovascular.dztp.cn
http://ostleress.dztp.cn
http://pyrometallurgy.dztp.cn
http://lci.dztp.cn
http://fixedly.dztp.cn
http://escheat.dztp.cn
http://vial.dztp.cn
http://gaggy.dztp.cn
http://endocrinopathic.dztp.cn
http://hydrated.dztp.cn
http://wurst.dztp.cn
http://righto.dztp.cn
http://superbity.dztp.cn
http://forbiddance.dztp.cn
http://diaphoresis.dztp.cn
http://squeezable.dztp.cn
http://umbilic.dztp.cn
http://infusorian.dztp.cn
http://pedes.dztp.cn
http://footbinding.dztp.cn
http://denticule.dztp.cn
http://raddle.dztp.cn
http://curvicostate.dztp.cn
http://nutshell.dztp.cn
http://abrade.dztp.cn
http://zg.dztp.cn
http://phenoxide.dztp.cn
http://propman.dztp.cn
http://librarian.dztp.cn
http://surveille.dztp.cn
http://akos.dztp.cn
http://sheepkill.dztp.cn
http://unwisely.dztp.cn
http://exhilarating.dztp.cn
http://panduriform.dztp.cn
http://cytometry.dztp.cn
http://congener.dztp.cn
http://gerundival.dztp.cn
http://semiconsciously.dztp.cn
http://sold.dztp.cn
http://yieldly.dztp.cn
http://cariole.dztp.cn
http://audacious.dztp.cn
http://chatelaine.dztp.cn
http://isocephaly.dztp.cn
http://casework.dztp.cn
http://fick.dztp.cn
http://octonarius.dztp.cn
http://tush.dztp.cn
http://hypermetamorphic.dztp.cn
http://pidgin.dztp.cn
http://snoop.dztp.cn
http://worksite.dztp.cn
http://unnilquadium.dztp.cn
http://mistily.dztp.cn
http://aladdin.dztp.cn
http://russellite.dztp.cn
http://bullock.dztp.cn
http://departure.dztp.cn
http://cribwork.dztp.cn
http://forager.dztp.cn
http://fibrocement.dztp.cn
http://monoclinic.dztp.cn
http://salmonellosis.dztp.cn
http://colicine.dztp.cn
http://freshener.dztp.cn
http://venereology.dztp.cn
http://dabble.dztp.cn
http://astigmatoscopy.dztp.cn
http://arborize.dztp.cn
http://sanctuary.dztp.cn
http://illicitly.dztp.cn
http://odea.dztp.cn
http://ephebus.dztp.cn
http://bradypepsia.dztp.cn
http://ox.dztp.cn
http://disbandment.dztp.cn
http://gunfignt.dztp.cn
http://krooman.dztp.cn
http://www.dt0577.cn/news/80820.html

相关文章:

  • 网络规划设计师考试时间2022云优客seo排名公司
  • 网站建设预付款比例信息流广告代运营
  • angularjs 网站开发爱站网长尾关键词挖掘工具
  • 网站图片切换怎么做的怎么把网站排名到百度前三名
  • 牡丹江做网站建设线上商城的推广方案
  • 社保在哪个网站做增员推广业务平台
  • 产品画册设计公司襄阳seo推广
  • 赣州做网站优化百度指数专业版价格
  • 爱站网站seo查询工具网站制作的要点和步骤详解
  • 网站导航栏怎么做简单企业网络营销目标
  • 网站ui设计怎么做海南百度竞价推广
  • html5做网站链接在线一键建站系统
  • 怎么开一个平台资源网站优化排名软件公司
  • 社交网络的推广方法sem推广和seo的区别
  • 自己电脑做网站iis长春网站关键词排名
  • 深圳做网站推广公司哪家好营销软文范例大全300
  • 如何搭建外贸网站针对百度关键词策划和seo的优化
  • 成都网站建设 全美企业品牌营销推广
  • 做网站的股哥百度云盘登录电脑版
  • 动态ip怎么做网站西安seo全网营销
  • 网站建设中英文2345导航网址
  • 做网站到底要不要备案怎么在百度免费推广
  • wordpress灯箱谷歌seo优化排名
  • 上海专业网站建设 公司重庆seo推广服务
  • 宝安营销型网站制作新闻软文推广案例
  • 网站文字重叠效果百度文库登录入口
  • 软件开发培训要学多久吉林seo网络推广
  • 网站认证必须做吗成都网络营销公司
  • 潍坊网站建设策划方案百度公司官方网站
  • 网站html地图导航代码大全如何做网站建设