问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

centos7中如何打包用户目录

发布网友 发布时间:2022-12-21 22:22

我来回答

4个回答

热心网友 时间:2024-05-02 09:25

一、RPM打包的目的
1、当目标机中不存在编译环境时,可以先在本地环境中编译打包,然后直接在目标机中用rpm -ivh *.rpm安装即可。
2、当需要在目标机中安装多个软件或者增加多个文件时,可以将整体打成RPM包,方便使用。
二、RPM打包命令
$cd ~ #进入home目录 $ sudo yum -y install rpmdevtools #安装rpm打包所需的工具 $rpmdev-setuptree #生成rpm打包目录 $cd rpmbuild/SPECS #进入SPECS目录 $rpmdev-newspec test.spec #生成spec文件模板 $mv your_path/source.tar.gz ../SOURCES #将要打包的源码以tar.gz的格式移动到SOURCES目录
此时会在home目录下生成一个rpmbuild目录,此目录下有五个子目录 BUILD 编译时所用的暂存目录 RPMS 放打包好的二进制rpm包 SOURCES 放置源代码和补丁文件 SPECS 放置spec文件 SRPMS 放置RPM源码包
三、spec文件简要说明
RPM打包的关键之处就在于spec文件的编写
1、spec基本信息
Name: 软件名称 Version: 软件版本 Release: 发布次数 如: 1%{?dist} Summary: 软件说明 Group: 软件分组 License: 授权模式,例如 GPL,即自由软件 URL: 源码包的URL地址,可随意填写 Source0: 源码包,可指定多个,下面可用%{SOURCE0}变量引用 BuildRoot: 编译过程中的中间存档目录,考虑到多用户的环境,一般定义为: %{_tmppath}/%{name}-%{version}-%{release}-root , 后面可使用$RPM_BUILD_ROOT 方式引用 BuildArch: 平台 %{_arch} BuildRequires: 编译过程依赖的工具 Requires: 打包生成的rpm包安装时所依赖的软件包 %description 说明文档 %prep 准备部分,比如创建目录,解压源码包等,可使用%setup内部函数 %build 在BUILD目录编译,可使用%configure内部函数,或者其他编译工具,如cmake, perl等 %install 安装到BUILDROOT虚拟目录 %clean 清理文件 %files 将指定的文件添加到rpm包中,文档类型可用%doc,配置文件可 用%config %changelog 更新记录.格式: 第一行 "* 日期 作者 " 第二行 "- 更新内容" 最终的生成的rpm名称: {Name}-{Version}-{Relesae}-{BuildArch}.rpm
2、spec内部变量
在spec文件运行时,定义的宏会主动读取/usr/lib/rpm/macros中的变量
RPM_BUILD_DIR ~/rpmbuild/BUILD
RPM_BUILD_ROOT ~/rpmbuild/BUILDROOT
3、spec文件示例(以git为例)
Name: git Version: 2.10 Release: 1%{?dist} Summary: this is the test code License: GPL URL: http://www.hao123.com Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRequires: automake Requires: rpm %description %prep %setup -q %build autoconf ./configure --prefix=/opt/git/ make %{?_smp_mflags} %install make DESTDIR=$RPM_BUILD_ROOT install %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" make clean %files %defattr (-,root,root) /opt/git/ %changelog
4、生成RPM包
$rpmbuild -ba test.spec #生成RPM包
生成的RPM包在rpmbuild/RPMS目录下。

热心网友 时间:2024-05-02 09:26

、当目标机中不存在编译环境时,可以先在本地环境中编译打包,然后直接在目标机中用rpm -ivh *.rpm安装即可。
2、当需要在目标机中安装多个软件或者增加多个文件时,可以将整体打成RPM包,方便使用。
二、RPM打包命令
$cd ~ #进入home目录 $ sudo yum -y install rpmdevtools #安装rpm打包所需的工具 $rpmdev-setuptree #生成rpm打包目录 $cd rpmbuild/SPECS #进入SPECS目录 $rpmdev-newspec test.spec #生成spec文件模板 $mv your_path/source.tar.gz ../SOURCES #将要打包的源码以tar.gz的格式移动到SOURCES目录
此时会在home目录下生成一个rpmbuild目录,此目录下有五个子目录 BUILD 编译时所用的暂存目录 RPMS 放打包好的二进制rpm包 SOURCES 放置源代码和补丁文件 SPECS 放置spec文件 SRPMS 放置RPM源码包
三、spec文件简要说明
RPM打包的关键之处就在于spec文件的编写
1、spec基本信息
Name: 软件名称 Version: 软件版本 Release: 发布次数 如: 1%{?dist} Summary: 软件说明 Group: 软件分组 License: 授权模式,例如 GPL,即自由软件 URL: 源码包的URL地址,可随意填写 Source0: 源码包,可指定多个,下面可用%{SOURCE0}变量引用 BuildRoot: 编译过程中的中间存档目录,考虑到多用户的环境,一般定义为: %{_tmppath}/%{name}-%{version}-%{release}-root , 后面可使用$RPM_BUILD_ROOT 方式引用 BuildArch: 平台 %{_arch} BuildRequires: 编译过程依赖的工具 Requires: 打包生成的rpm包安装时所依赖的软件包 %description 说明文档 %prep 准备部分,比如创建目录,解压源码包等,可使用%setup内部函数 %build 在BUILD目录编译,可使用%configure内部函数,或者其他编译工具,如cmake, perl等 %install 安装到BUILDROOT虚拟目录 %clean 清理文件 %files 将指定的文件添加到rpm包中,文档类型可用%doc,配置文件可 用%config %changelog 更新记录.格式: 第一行 "* 日期 作者 " 第二行 "- 更新内容" 最终的生成的rpm名称: {Name}-{Version}-{Relesae}-{BuildArch}.rpm
2、spec内部变量
在spec文件运行时,定义的宏会主动读取/usr/lib/rpm/macros中的变量
RPM_BUILD_DIR ~/rpmbuild/BUILD
RPM_BUILD_ROOT ~/rpmbuild/BUILDROOT
3、spec文件示例(以git为例)
Name: git Version: 2.10 Release: 1%{?dist} Summary: this is the test code License: GPL URL: http://www.hao123.com Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRequires: automake Requires: rpm %description %prep %setup -q %build autoconf ./configure --prefix=/opt/git/ make %{?_smp_mflags} %install make DESTDIR=$RPM_BUILD_ROOT install %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" make clean %files %defattr (-,root,root) /opt/git/ %changelog
4、生成RPM包
$rpmbuild -ba test.spec #生成RPM包
生成的RPM包在rpmbuild/RPMS目录下。

热心网友 时间:2024-05-02 09:26

RPM打包命令
$cd ~ #进入home目录 $ sudo yum -y install rpmdevtools #安装rpm打包所需的工具 $rpmdev-setuptree #生成rpm打包目录 $cd rpmbuild/SPECS #进入SPECS目录 $rpmdev-newspec test.spec #生成spec文件模板 $mv your_path/source.tar.gz ../SOURCES #将要打包的源码以tar.gz的格式移动到SOURCES目录
此时会在home目录下生成一个rpmbuild目录,此目录下有五个子目录 BUILD 编译时所用的暂存目录 RPMS 放打包好的二进制rpm包 SOURCES 放置源代码和补丁文件 SPECS 放置spec文件 SRPMS 放置RPM源码包

热心网友 时间:2024-05-02 09:27

RPM打包命令 $cd ~ #进入home目录 $ sudo yum -y install rpmdevtools #安装rpm打包所需的工具 $rpmdev-setuptree #生成rpm打包目录 $cd rpmbuild/SPECS #进入SPECS目录 $rpmdev-newspec test.spec #生成spec文件模板 $mv your_path/source.tar.gz ../SOURCES #将要打包的源码以tar.gz的格式移动到SOURCES目录 此时会在home目录下
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 丰明电子厂12月能辞职吗 “我只能一个人偷偷的哭”是哪首歌的歌词啊? ...防晒霜怎么定妆涂完防晒霜后还需要用定妆粉么 有趣的游戏作文开头 21天减肥法能不能喝牛奶 丰明电子与美的的关系 歌词我。是我总想偷偷的哭。轻轻的把你留住。求歌名 ...歌词我只会在心里偷偷地哭 这是 那首歌的歌词 我给你30分 求歌词:第一句是 只想偷偷的哭 佛山市顺德区丰明电子科技有限公司效益如何? 广东丰明电子科技有限公司怎么样? 庐山的云雾让你感受到了什么? 哪些杂志可以发表教育类论文 农商银行电子账户的5000元是什么 如何用生物技术开发生物新药 《寂静岭》电影讲了什么? 寂静岭电影的剧情是什么? 寂静岭/沉默之丘最后是怎么回事啊 我现在要和别人合伙买房子是二手房。在房主方面我应该注意什么要签什... 我女儿于2012年7月29日下午7点30出世。我姓袁,请取个三个字的名子! 惠州鸿标电子科技有限公司怎么样? 红酒喝酒的正确方法技巧红酒应该如何喝 佛山市创华美生物科技有限公司怎么样? 这句话为什么好懂/难懂?——"我也想过过过儿过过的生活" 手刹向上和向下分别是什么意思 科目二打学时卡步骤 摔伤腿一个月了,还是有点疼,会不会是肌肉粘连? 驾考读书卡一般多久能收到 一个月前摔了一跤 为什么现在才感觉右腿膝盖有点疼 到底怎么回事啊 快2个月没来事了,怎么办 两个月没来月经了怎么回事 老婆一个月前腿被磕了一下有点青,现在皮肤都一样好了。但是触摸的时候还... 50天没来月经怎么办,两个月没来月经咋回事 请问小腿肌肉一个月前被撞伤,现在绷紧肌肉会疼,但不影响运动 我想过过过过过过的生活该怎么读 我的腿摔了一下,只是把膝盖摔的发青,发紫了而已,可是都一个月了... 微信账单查询某个人的收钱码关闭了怎么办 文明在我们身边小学作文 小学文明征文 车怎么关 汽车关闭正确步骤