zoukankan      html  css  js  c++  java
  • mount --bind 的妙用

     

    在固件开发过程中常常遇到这样的情况:为测试某个新功能,必需修改某个系统文件。而这个文件在只读文件系统上(总不能为一个小小的测试就重刷固件吧),或者是虽然文件可写,但是自己对这个改动没有把握,不愿意直接修改。这时候mount --bind就是你的好帮手。
    假设我们要改的文件是/etc/hosts,可按下面的步骤操作:
    1. 把新的hosts文件放在/tmp下。当然也可放在硬盘或U盘上。
    2. mount --bind /tmp/hosts /etc/hosts
    测试完成了执行 umount /etc/hosts 断开绑定。
    如果我需要在/etc下面增加一个exports文件怎么办?原来没有这个文件,不能直接bind。我们有两个方法:

    方法1:绑定整个/etc目录,绑定前先复制/etc

    # cp -a /etc /tmp
    # mount --bind /tmp/etc /etc

    此时的/etc目录是可写的,所做修改不会应用到原来的/etc目录,可以放心测试。

    方法2:挂载ramfs到/etc,挂载后再复制/etc

    挂载ramfs

    # mkdir /tmp/etc
    # mount -t ramfs none /tmp/etc

    复制/etc,这里我们不能用cp -a,改用tar

    # cd /etc
    # tar cf - . |(cd /tmp/etc; tar xf -)
    # cd /

    临时覆盖/etc

    # mount --move /tmp/etc /etc

    测试完了记着 umount /etc

  • 相关阅读:
    Annotation
    GIT的作用以及Versioncontrol为什么要用GIT
    Http协议
    人工智能的可怕与不可怕
    Makefile简易教程
    Node.js 学习笔记之一:学习规划 & 认知 Node.js
    《大教堂与集市》的启示 — 软件工程的另一种选择
    Git简易教程
    谈谈买书与读书
    clang编译器简介
  • 原文地址:https://www.cnblogs.com/linuxbo/p/4298052.html
Copyright © 2011-2022 走看看