[Linux]解决FTP服务器不支持软连接目录



原创文章,欢迎转载。转载请注明:转载自 祥的博客
原文链接:https://blog.csdn.net/humanking7/article/details/87898889


1.原因

我有一个移动硬盘,里面存放了许多电影,有时候插在做FTP服务器Linux电脑上,想直接用iPad去访问移动硬盘,所以必须要把移动硬盘挂在FTP服务器上(不挂在Samba服务器的原因是,我的FTP服务器 只读不可写,而Samba服务器 可读可写),所以就有了这个需求。

但是FTP服务器不支持软连接,所以只能另寻他法了。

2. 情况说明

我的FTP服务器的共享目录是 /srv/qfxFtp/

我的 移动硬盘 的挂在点目录是 /media/qfx/Qfx_01/,具体情况如下所示:

root@qfx-HP-xw4600-Workstation:/srv/qfxFtp# df -h
文件系统        容量  已用  可用 已用% 挂载点
udev            3.9G     0  3.9G    0% /dev
... ...
/dev/sdc1       932G  847G   86G   91% /media/qfx/Qfx_01

root@qfx-HP-xw4600-Workstation:/srv/qfxFtp# ls -lF /media/qfx/Qfx_01/
总用量 32
drwxrwxrwx 1 qfx qfx  4096 10月 18 17:39 电视剧/
drwxrwxrwx 1 qfx qfx 28672 11月  2 22:50 电影/

3. 将硬盘挂在到FTP服务器共享目录中

3.1. 新建目录

FTP服务器共享目录中新建一个目录用于挂载移动硬盘的目录,这里这个目录我就直接起名为Q_rmDisk

root@qfx-HP-xw4600-Workstation:/srv/qfxFtp# mkdir Q_rmDisk
root@qfx-HP-xw4600-Workstation:/srv/qfxFtp# ls -lF
总用量 3360
...
drwxrwxrwx 2 root root    4096 2月  23 22:58 Q_rmDisk/
...

3.2. 挂载目录

mount --bind 源目录 目标目录
root@qfx-HP-xw4600-Workstation:/srv/qfxFtp# mount --bind /media/qfx/Qfx_01/ /srv/qfxFtp/Q_rmDisk/

root@qfx-HP-xw4600-Workstation:/srv/qfxFtp# cd Q_rmDisk/
root@qfx-HP-xw4600-Workstation:/srv/qfxFtp/Q_rmDisk# ls -lFa
总用量 40
drwxrwxrwx 1 qfx    qfx     4096 11月  2 22:42 ./
drwxr-xr-x 6 qfxFtp qfxFtp  4096 2月  23 23:29 ../
drwxrwxrwx 1 qfx    qfx     4096 10月 18 17:39 电视剧/
drwxrwxrwx 1 qfx    qfx    28672 11月  2 22:50 电影/

说明

vsftpd本身不支持软连接,而在用FTP共享的时候又不想移动文件位置,这是一个变通方案。
Linux内核从2.4.0开始支持把一部分文件系统挂载到文件系统中的其他位置,mount命令的--bind选项正好提供了这个功能。
可以把需要共享的文件夹media/qfx/Qfx_01/挂载到FTP目录中的一个子目录/srv/qfxFtp/Q_rmDisk/。这个目录对于vsftpd而言是一个正常文件系统的目录,于是就可以被共享了。当不需要共享目录时,直接umount即可。

mount --bind命令本身支持单个文件的挂载,可以把目标文件挂载到另外一个文件上,起到类似于软链接的功能。同目录的挂载类似,这也是vsftpd支持的。

windows访问

3.3. 取消挂载

强行解除挂载

umount  /srv/qfxFtp/Q_rmDisk/

取消挂载可能出现的问题

取消挂载/srv/qfxFtp/Q_rmDisk/时出现 umount: /srv/qfxFtp/Q_rmDisk/: device is busy

原因是因为有程序在使用 /srv/qfxFtp/Q_rmDisk/ 目录,我们可以使用 fuser 命令查看挂载目录被哪些进程占用:

fuser -kvm  /srv/qfxFtp/Q_rmDisk/

然后 kill 就可以了。

命令:kill -9 pid

如果还是不行,还可以强行解除挂载

# 强行解除挂载
umount -l /srv/qfxFtp/Q_rmDisk/ 

OK!
以上,Enjoy~


赞赏码New

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值