说明

这个命令用以将一个目录挂载到另一个目录,以实现类似于硬链的操作

但是这个命令只是在内存中建立了一个映射,重启系统之后挂载就消失了

linux是不支持目录硬链的,具体原因见linux为什么不能硬链接目录? - 知乎 (zhihu.com)

手动挂载

mount --bind olddir newdir

例如 mount --bind /home/st/go /home/st/1

取消挂载 umount /home/st/1

需要使用root权限

fstab自动挂载

修改/etc/fstab文件,按照olddir newdir none bind 0 0的格式增加挂载项

例如: /home/st/go /home/st/1 none bind 0 0

可以将go目录挂载到1目录,此时1里面就有go里面的目录了

需要注意的是,如果fstab文件编写错误,会导致系统不能开机,所以修改完之后一定要执行两个命令

  • systemctl daemon-reload
  • mount -a

    后者用来测试文件格式是否合法,如果不合法会报错,那么重启之后系统就会启动失败。必须确认mount -a执行没有问题才能重启系统

zfs自动挂载方法

以上的方法对zfs文件系统不好用,我猜测应该是/etc/fstab文件被执行时zfs文件系统还没有加载完成,所以挂载失败。

或者zfs有自己的挂载逻辑?

找了一圈之后没有发现类似的功能,只能是将dataset或者文件系统挂载到目录,并且挂载点只能有一个。

所以,方案就只能是开机后自动执行mount --bind命令了

使用systemd实现

编写/etc/systemd/system/bind-mounts.service文件,内容如下

[Unit]
Description=Bind Mount Services
After=local-fs.target [Service]
Type=oneshot
ExecStart=/bin/bash -c "mount --bind /export/docker/syncthing/st-sync/照相机 /export/docker/photoprism/Pictures/照相机" [Install]
WantedBy=multi-user.target

ExecStart后面跟随的就是需要开机执行的指令,如果有多个目录需要挂载,就使用&&或者||连接起来(前者失败一个后面的不执行,后者会执行所有连接的指令),又或者写到脚本中

[Linux] Linux 自动挂载mount --bind 实现类似目录硬链的效果 (包含ZFS方案)的更多相关文章

  1. Linux命令-自动挂载文件/etc/fstab功能详解

    Linux命令-自动挂载文件etcfstab功能详解 一./etc/fstab文件的作用 磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载. 系 ...

  2. 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]

    博客园 首页 新随笔 联系 订阅 管理 随笔 - 322  文章 - 0  评论 - 19 Linux命令-自动挂载文件/etc/fstab功能详解[转]     一./etc/fstab文件的作用 ...

  3. linux autofs自动挂载

    autofs:自动挂载器 自动挂载器是一个监视目录的守护进程,并在目标子目录被引用时,自动执行预定义的NFS挂载 自动挂载器由autofs服务脚本管理 自动挂载器由auto.master配置文件进行配 ...

  4. 自动挂载mount

    # 自动挂载mount(/etc/fstab) /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 # 第一列:/dev/fd0 挂载源 ...

  5. Linux开机自动挂载Windows分区

    使用Linux的朋友肯定都不会对本文所谈的内容陌生,在Linux系统里,通常不会开机自动挂载Windows文件系统下的分区.Ubuntu系统下要点击Windows分区才会挂载,Fedora下则甚至要输 ...

  6. Linux 开机自动挂载分区

    参考:http://linuxso.com/linuxrumen/3658.html 参考:http://www.jb51.net/os/RedHat/213998.html 查看磁盘UUID信息 [ ...

  7. linux --开机自动挂载硬盘【转】

    转:http://c.biancheng.net/view/900.html 了解了 mount 命令之后,读者可能会问,系统如何在开机时自动挂载硬盘,它又是怎么知道哪些分区是需要挂载的呢? 很简单, ...

  8. linux开机自动挂载NTFS-WINDOWS分区

    1.安装ntfs-3g-2009.4.4.tgz 2.输入fdisk -l 看一下分区 由此可见:/dev/sda5,6,7 即是windows下的D,E,F盘(NTFS格式). 3.vim /etc ...

  9. Linux分区和挂载(mount命令的学习)

    当Windows系统出现问题的时候,可能需要重装系统,这个时候我们往往会使用系统盘将系统重新安装在C盘上,其他盘上的文件都没有受到重装系统的影 响,这就是分区的好处之一.同样,在Linux中也需要分区 ...

  10. linux udev 自动挂载 SD卡/U盘

    本文记录使用udev自动挂载SD卡和U盘的方法. 参考链接 http://blog.chinaunix.net/uid-26119896-id-5211736.html 添加udev规则 创建文件/e ...

随机推荐

  1. js分钟转化为小时并且以某个数字进行递增

    有些时候,我们需要将分钟转为小时: 并且还有以一个数字进行递增: 呈现出[3,6,9,12,15,18]这样的递增形式 // 因为是递增,所以是相加: // 在使用+号的时候: // 注意两边都是数字 ...

  2. 【小测试】VictoriaMetrics中如何汇总单个time series上的多个data point?

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 问题最终在andy专家的帮助下解决,但是内部的原理还是很迷 ...

  3. el-tree只展示前三个节点数据

    后端也返回了第四等级,但是不想让他展示,可以这样解决只展示前三等级 // 获取room树 getRoomTreeList() { getRoomTree().then((res) => { // ...

  4. 卧槽!这 5 个后端程序员学习指南竟然斩获超过 350k 的 star

    前段时间弄应届生学习指南的时候,整理了几个不错的开源文档,分享给小伙伴们!我觉得应该可以对大家有帮助. 本期文章对应的视频地址:https://www.bilibili.com/video/BV1xZ ...

  5. 文档级关系抽取:基于结构先验产生注意力偏差SSAN模型

    文档级关系抽取:基于结构先验产生注意力偏差SSAN模型 Entity Structure Within and Throughout: Modeling Mention Dependencies fo ...

  6. 【三】强化学习之PaddlePaddlle-Notebook、&pdb、ipdb 调试---及PARL框架

    相关文章: [一]飞桨paddle[GPU.CPU]安装以及环境配置+python入门教学 [二]-Parl基础命令 [三]-Notebook.&pdb.ipdb 调试 [四]-强化学习入门简 ...

  7. python快速入门【五】---- 面向对象编程、python类

    python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...

  8. 【1】windows系统如何安装后缀是whl的python库

    相关文章: 全网最详细超长python学习笔记.14章节知识点很全面十分详细,快速入门,只用看这一篇你就学会了! [1]windows系统如何安装后缀是whl的python库 [2]超级详细Pytho ...

  9. 4.6 Windows驱动开发:内核遍历进程VAD结构体

    在上一篇文章<内核中实现Dump进程转储>中我们实现了ARK工具的转存功能,本篇文章继续以内存为出发点介绍VAD结构,该结构的全程是Virtual Address Descriptor即虚 ...

  10. C/C++ 关于继承与多态笔记

    继承的基本语法: 继承的目的就是用于提高代码的可用性,减少代码的重复内容,高效开发. #include <iostream> using namespace std; class Base ...