# oerebuilder **Repository Path**: t_feng/oerebuilder ## Basic Information - **Project Name**: oerebuilder - **Description**: openEuler rebuilder - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 6 - **Created**: 2021-03-17 - **Last Updated**: 2025-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # oerebuilder工具使用指导 ## 概述 oerebuilder是一个能显著提升替换openEuler镜像ISO中软件包效率的工具,支持openEuler换标软件包的自动重编,软件包的自动替换等功能。 ## 开发原因 openEuler换标工作之前只能使用深度换标或者人工修改软件包来进行换标工作。 深度换标需要搭建OBS编译环境,搭建完成后需要2小时以上的时间进行全量软件包编译来生成最终镜像。用户有时并不需要深度换标所以不愿搭建obs。 制作镜像使用的是oemaker工具,该工具会使用lorax重新构建install.img,较为耗时,重新生成可用ISO需要1小时左右。 ## 效率比对 使用oerebuilder后浅层换标后生成新的rpm包仅需要5分钟,重新生成iso也仅需5分钟,总体从开始工作到完成新镜像时长不超过10分钟,效率从原本的1-2小时以上缩短为10分钟之内。 oerebuilder还支持自动替换ISO中软件包的能力,可以对安装环境install.img进行软件包重装,文件替换,执行命令等功能。支持替换ISO中repo源的功能。使用oerebuilder后不重新构建install.img而是对install.img进行修改替换,替换时间消耗控制在5分钟内,相较于oemaker工具,时间花费从1小时缩短为5分钟,可大幅提升镜像制作的效率。 ## 使用说明 `oerebuilder`: oerebuilder [-h] {edvendor,ediso,edreplace} ... ``` rebuild RPM/ISO for linux distribution positional arguments: {edvendor,ediso,edreplace} edvendor 重新构建具有vendor信息的软件包 ediso 重新构建具有vendor信息ISO edreplace 重新构建自定义ISO optional arguments: -h, --help show this help message and exit ``` `edvendor [-h] --vendor-src VENDOR_SRC --product-name PRODUCT_NAME --version-info VERSION_INFO --version-id VERSION_ID --logos LOGOS --output OUTPUT` ``` optional arguments: -h, --help show this help message and exit --vendor-src VENDOR_SRC 指定所有具有vendor信息的源码包 --product-name PRODUCT_NAME 新的发行商的名称 --version-info VERSION_INFO 新的指定版本信息 --version-id VERSION_ID 信息版本ID,如果不清楚,可以指定与VERSION_INFO相同 --logos LOGOS 指定 --output OUTPUT rebuild rpm的输出目录 ``` `ediso [-h] --iso ISO --rpms RPMS --work-dir WORK_DIR --output OUTPUT --product-name PRODUCT_NAME --version-info VERSION_INFO --version-id VERSION_ID` ``` optional arguments: -h, --help show this help message and exit --iso ISO 源iso路径,用于定制的基线iso --rpms RPMS 由edvendor步骤构建生成的rpm路径 --work-dir WORK_DIR 用于iso重新构建的目录, 需要有足够空间进行解压iso --output OUTPUT iso定制的输出目录, 需要有足够的空存放定制完成之后的iso文件 --product-name PRODUCT_NAME 新的发行商名称 --version-info VERSION_INFO 新的版本信息 --version-id VERSION_ID 信息版本id, 如果不清楚,可以设置与version-info一致 ``` `edreplace [-h] --iso ISO [--rpms RPMS] [--work-dir WORK_DIR] [--tmpl TMPL] --output OUTPUT [--replace-dir REPLACE_DIR]` ``` optional arguments: -h, --help show this help message and exit --iso ISO 源iso路径,用于定制的基线iso --rpms RPMS 用于替换基线iso的rpms路径,tmpl参数为空时会替换安装小系统以及repo源中软件包 --work-dir WORK_DIR 用于iso重新构建的目录, 需要有足够空间进行解压iso,默认使用/root/isotemp --tmpl TMPL 用于在小系统中执行的模板文件,提供命令支持安装软件包,安装软件包的某个文件,或执行某个命令 --output OUTPUT iso定制的输出目录, 需要有足够的空存放定制完成之后的iso文件 --replace-dir REPLACE_DIR 存放需要替换到安装小系统中的文件 ``` ``` temp文件支持三个子命令: installpkg pkg_name 可将参数rpms指定的路径下的软件包安装到小系统中 installfile pkg_name src_path1 [src_path2...] 可将参数rpms指定的路径下的软件包中的文件安装到小系统中 runcmd command 可对小系统执行command命令,例如chmod,rm等 ```