[Linux] Linux 自动挂载mount --bind 实现类似目录硬链的效果 (包含ZFS方案)
说明
这个命令用以将一个目录挂载到另一个目录,以实现类似于硬链的操作
但是这个命令只是在内存中建立了一个映射,重启系统之后挂载就消失了
而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-reloadmount -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方案)的更多相关文章
- Linux命令-自动挂载文件/etc/fstab功能详解
Linux命令-自动挂载文件etcfstab功能详解 一./etc/fstab文件的作用 磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载. 系 ...
- 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]
博客园 首页 新随笔 联系 订阅 管理 随笔 - 322 文章 - 0 评论 - 19 Linux命令-自动挂载文件/etc/fstab功能详解[转] 一./etc/fstab文件的作用 ...
- linux autofs自动挂载
autofs:自动挂载器 自动挂载器是一个监视目录的守护进程,并在目标子目录被引用时,自动执行预定义的NFS挂载 自动挂载器由autofs服务脚本管理 自动挂载器由auto.master配置文件进行配 ...
- 自动挂载mount
# 自动挂载mount(/etc/fstab) /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 # 第一列:/dev/fd0 挂载源 ...
- Linux开机自动挂载Windows分区
使用Linux的朋友肯定都不会对本文所谈的内容陌生,在Linux系统里,通常不会开机自动挂载Windows文件系统下的分区.Ubuntu系统下要点击Windows分区才会挂载,Fedora下则甚至要输 ...
- Linux 开机自动挂载分区
参考:http://linuxso.com/linuxrumen/3658.html 参考:http://www.jb51.net/os/RedHat/213998.html 查看磁盘UUID信息 [ ...
- linux --开机自动挂载硬盘【转】
转:http://c.biancheng.net/view/900.html 了解了 mount 命令之后,读者可能会问,系统如何在开机时自动挂载硬盘,它又是怎么知道哪些分区是需要挂载的呢? 很简单, ...
- 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 ...
- Linux分区和挂载(mount命令的学习)
当Windows系统出现问题的时候,可能需要重装系统,这个时候我们往往会使用系统盘将系统重新安装在C盘上,其他盘上的文件都没有受到重装系统的影 响,这就是分区的好处之一.同样,在Linux中也需要分区 ...
- linux udev 自动挂载 SD卡/U盘
本文记录使用udev自动挂载SD卡和U盘的方法. 参考链接 http://blog.chinaunix.net/uid-26119896-id-5211736.html 添加udev规则 创建文件/e ...
随机推荐
- js分钟转化为小时并且以某个数字进行递增
有些时候,我们需要将分钟转为小时: 并且还有以一个数字进行递增: 呈现出[3,6,9,12,15,18]这样的递增形式 // 因为是递增,所以是相加: // 在使用+号的时候: // 注意两边都是数字 ...
- 【小测试】VictoriaMetrics中如何汇总单个time series上的多个data point?
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 问题最终在andy专家的帮助下解决,但是内部的原理还是很迷 ...
- el-tree只展示前三个节点数据
后端也返回了第四等级,但是不想让他展示,可以这样解决只展示前三等级 // 获取room树 getRoomTreeList() { getRoomTree().then((res) => { // ...
- 卧槽!这 5 个后端程序员学习指南竟然斩获超过 350k 的 star
前段时间弄应届生学习指南的时候,整理了几个不错的开源文档,分享给小伙伴们!我觉得应该可以对大家有帮助. 本期文章对应的视频地址:https://www.bilibili.com/video/BV1xZ ...
- 文档级关系抽取:基于结构先验产生注意力偏差SSAN模型
文档级关系抽取:基于结构先验产生注意力偏差SSAN模型 Entity Structure Within and Throughout: Modeling Mention Dependencies fo ...
- 【三】强化学习之PaddlePaddlle-Notebook、&pdb、ipdb 调试---及PARL框架
相关文章: [一]飞桨paddle[GPU.CPU]安装以及环境配置+python入门教学 [二]-Parl基础命令 [三]-Notebook.&pdb.ipdb 调试 [四]-强化学习入门简 ...
- python快速入门【五】---- 面向对象编程、python类
python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...
- 【1】windows系统如何安装后缀是whl的python库
相关文章: 全网最详细超长python学习笔记.14章节知识点很全面十分详细,快速入门,只用看这一篇你就学会了! [1]windows系统如何安装后缀是whl的python库 [2]超级详细Pytho ...
- 4.6 Windows驱动开发:内核遍历进程VAD结构体
在上一篇文章<内核中实现Dump进程转储>中我们实现了ARK工具的转存功能,本篇文章继续以内存为出发点介绍VAD结构,该结构的全程是Virtual Address Descriptor即虚 ...
- C/C++ 关于继承与多态笔记
继承的基本语法: 继承的目的就是用于提高代码的可用性,减少代码的重复内容,高效开发. #include <iostream> using namespace std; class Base ...