首页 > 其他分享 >mock(一)

mock(一)

时间:2024-07-01 20:27:06浏览次数:17  
标签:chroot -- cfg 构建 home mock

        mock 是一个用于在隔离的环境中构建 RPM 包的工具。它使用 chroot 环境来确保构建过程与主机系统隔离,从而避免主机系统上的配置和依赖影响构建结果。

拷贝redflag.cfg

  sudo cp ../g.cfg .

初始化mock环境

mock -r g --rootdir=/home/g/build --init

        让我们详细解释一下命令 mock -r g --rootdir=/home/g/build --init 中的各个部分:

1. mock

        mock 是命令的主体,用于调用 mock 工具。

2. -r g.cfg

        -r 选项指定配置文件。配置文件g.cfg 定义了构建环境的详细信息,如基础系统(例如 Fedora、CentOS 等)、存储库、依赖项等。这个配置文件通常位于 /etc/mock/ 目录下,但你也可以指定一个自定义路径。

3. --rootdir=/home/g/build

        --rootdir 选项指定 mock 操作的根目录。这个目录将被用作 chroot 环境的根目录,所有构建活动都会在这个隔离的环境中进行。

        /home/g/build 是这个 chroot 环境的根目录。

4. --init

        --init 选项告诉 mock 初始化 chroot 环境。这意味着 mock 将会下载并安装基础系统(如定义在g.cfg 中的操作系统包),并配置好构建环境,以便后续的包构建操作可以在这个环境中进行。

完整流程解释

  1. 配置文件:mock 读取 g.cfg,了解需要构建的目标环境,包括基础系统和包存储库等。
  2. chroot 根目录:mock 使用 /home/g/build 作为 chroot 环境的根目录。所有的构建活动都会在这个目录中进行,确保与主机系统隔离。
  3. 初始化:mock 初始化 chroot 环境。这一步会下载并安装配置文件中定义的基础系统包,配置存储库和其他依赖项,以便为后续的构建过程准备好一个干净的隔离环境。

实际用途

        这个命令通常用于准备一个干净的构建环境,使你可以在其中构建 RPM 包。通过使用 mock,开发者可以确保构建出来的包在指定的目标环境中运行良好,而不会受到主机系统的影响。

示例操作假设你有一个g.cfg 配置文件,并且你想在 /home/g/build 目录中初始化一个 chroot 环境,执行以下命令:

mock -r g.cfg --rootdir=/home/g/build --init

执行后,mock 会读取 g.cfg,在/home/g/build 目录中创建一个 chroot 环境,并配置基础系统和依赖项。初始化完成后,你可以在这个环境中执行构建任务,例如:

mock -r g.cfg --rootdir=/home/g/build rebuild mypackage.src.rpm

这将会在之前初始化好的环境中构建mypackage.src.rpm,生成对应的二进制 RPM 包。

标签:chroot,--,cfg,构建,home,mock
From: https://blog.csdn.net/qq_43287763/article/details/140106560

相关文章

  • 三、mock 测试技术
    1.mock简介:mock技术主要分为两类:mock服务:实现mock功能的一个服务mock数据:mock一个对象,写入一些预期值mock模块是Python的测试框架unittest下的一个子库,可以模拟一个方法、一个对象或者一个类,然后使用模拟的对象替换系统的一部分,对系统的一......
  • testng + mockito + spring boot test 基本操作
    代码地址https://gitee.com/bzrj/thresh-boot如何使用在thresh-dependencies目录执行mvncleaninstall在跟目录执行make效果jacocoallure关键配置thresh-test此模块包含了测试需要的依赖定义了两个testng监听thresh-report此模块专门用于聚合jacoco......
  • mock虚拟数据
    1.安装json-serverjson-servernpminstalljson-server2.新建db.json{"posts":[{"id":"1","title":"atitle","views":100},{"id":"2","title":"a......
  • mockiot+junit5
    mokito+junit5使用前要Mock测试:在测试过程中,对于某些不容易获取的数据,用一个虚拟的对象来代替测试的方法。解决不同的单元之间由于耦合而难于开发、测试的问题。Mockito:是一种JavaMock框架,主要是用来做Mock测试,它可以模拟任何Spring管理的Bean、模拟方法的返回值、模拟......
  • Dubbo源码解析-mock原理
    上篇我们介绍了消费端调用流程Dubbo源码解读-Consumer调用流程解析_dubboconsumer-CSDN博客    因为篇幅问题,本文主单独Dubbo消费端mock原理,从dubbo源码角度进行解析。    大家可以好好仔细读一下本文。有疑问欢迎留言。    接着说明,读Dubbo源码......
  • Mockito官方文档阅读有感——基于最新的5.0.0以上文档
    根据通义千问的解释:在单元测试的上下文中,Mock是一个专门的技术术语,指的是创建和使用模拟对象(MockObjects)来替代真实的依赖对象进行测试的过程Mock:是模拟的意思,指的是在测试包中创建一个结构体,满足某个外部依赖的接口interface{}。Stub:  是桩的意思,指的是在测试包中创建一......
  • junit+mockito-PowerMock完成单测
    Mockito简介什么是MockitoMockito是一个开源的Mock框架,旨在为Java单元测试提供简单、可读的Mock对象。它可以模拟类的行为,使测试代码能够在不依赖真实对象的情况下运行。为什么使用Mockito隔离外部依赖:可以模拟外部系统(如数据库、网络服务等),使测试更加独立。提高测试覆盖率:......
  • 2024.06.09 与显哥在办公室Mock Interview复盘
    我已刷题3月,现正准备着下周一Weride的电面;今日回办公室与显哥进行mockinterview,一起做题LC30。耗时50分钟而我没有做出,结束后与显哥复盘,发现以下问题:没有充分理解题意没有进行时空复杂度分析,事先确定求解的复杂度没有打草稿后再写代码在对代码进行解释时,不足够high-level;容......
  • Mock 工具使用 - 模拟弱网测试
    在当今移动互联网的时代,网络的形态非常多变,不光有2G,3G,4G,不同的制式、不同的速率,让我们移动应用运行的场景更加丰富。而且移动产品使用场景非常多变,如近地铁,上公交,进电梯,进山区等是的弱网测试显得尤为重要。对于弱网的数据定义,不同的应用所界定的含义不完全一样。不仅要考虑各......
  • PowerMock入门:Java单元测试的终极武器
    在软件开发过程中,单元测试是确保代码质量的重要环节。它帮助开发者验证代码的各个部分是否按照预期工作,从而提高软件的稳定性和可维护性。然而,传统的单元测试工具,如JUnit和Mockito,虽然功能强大,但在某些场景下却显得力不从心。例如,它们在模拟静态方法、私有方法、构造函数以......