博客
关于我
mount --bind 的妙用
阅读量:797 次
发布时间:2023-02-09

本文共 723 字,大约阅读时间需要 2 分钟。

在固件开发过程中,经常需要测试某些新功能。这时候,如果系统文件处于只读状态或您不确定修改是否安全,使用mount --bind是非常实用的工具。以下将介绍如何通过绑定和挂载ramfs的方法来实现对系统文件的修改。

假设我们需要修改/etc/hosts文件:

  • 将新的hosts文件复制到临时目录下,如/tmp,也可以选择硬盘或U盘。
  • 使用mount --bind将临时目录绑定到/etc/hosts,这样修改会直接生效。
  • 测试完成后,记得执行umount /etc/hosts来移除绑定。
  • 如果需要在/etc目录下添加新的exports文件,而原系统中此文件不存在,可以采取以下方法:

    方法1:绑定整个/etc目录

  • 先用cp -a/etc目录复制到临时目录/tmp下。
  • 将临时目录绑定到/etc,即mount --bind /tmp/etc /etc
  • 此时,/etc目录变为可写状态,您可以对其进行修改。注意:此方法会覆盖原系统的/etc目录,建议在测试完成后备份原始文件。

    方法2:挂载ramfs到/etc

  • 创建临时目录/tmp/etc
  • 将ramfs挂载到该目录:mount -t ramfs none /tmp/etc
  • 复制/etc目录到临时目录/tmp/etc,使用tar命令:
    • 进入/etc目录,执行tar cf - .
    • /tmp/etc目录下执行tar xf -
  • 将临时目录挂载回/etc,并覆盖原目录:mount --move /tmp/etc /etc
  • 这样,/etc目录将被覆盖,修改将直接生效。

    无论采用哪种方法,完成测试后请记得执行umount /etc,以移除绑定或挂载。希望以上方法能为您提供有用的解决方案。

    转载地址:http://rpffk.baihongyu.com/

    你可能感兴趣的文章
    Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
    查看>>
    MySQL Cluster与MGR集群实战
    查看>>
    multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
    查看>>
    mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
    查看>>
    Multiple websites on single instance of IIS
    查看>>
    mysql CONCAT()函数拼接有NULL
    查看>>
    multiprocessing.Manager 嵌套共享对象不适用于队列
    查看>>
    multiprocessing.pool.map 和带有两个参数的函数
    查看>>
    MYSQL CONCAT函数
    查看>>
    multiprocessing.Pool:map_async 和 imap 有什么区别?
    查看>>
    MySQL Connector/Net 句柄泄露
    查看>>
    multiprocessor(中)
    查看>>
    mysql CPU使用率过高的一次处理经历
    查看>>
    Multisim中555定时器使用技巧
    查看>>
    MySQL CRUD 数据表基础操作实战
    查看>>
    multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
    查看>>
    mysql csv import meets charset
    查看>>
    multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
    查看>>
    MySQL DBA 数据库优化策略
    查看>>
    multi_index_container
    查看>>