已经过去一周,现在Docker中的AFP也出现相同的问题了。
Mac上已经卸载了TimeMachine的磁盘,看了一下afpd的进程信息,发现其中有一些文件还没关闭。
- 代碼: 選擇全部
root@AS6602T-7445:/volume1/.@root # ps aux|grep afpd
19010 root 0:00 grep afpd
22160 admin 0:17 /usr/sbin/afpd -d -F /etc/netatalk/afp.conf
22724 root 0:01 /usr/sbin/afpd -d -F /etc/netatalk/afp.conf
root@AS6602T-7445:/volume1/.@root # cd /proc/22160/fd
root@AS6602T-7445:/proc/22160/fd # ll
total 0
dr-x------ 2 root root 0 Jan 8 13:31 ./
dr-xr-xr-x 8 admin administ 0 Jan 8 01:13 ../
lrwx------ 1 root root 64 Jan 8 13:31 0 -> /dev/pts/0
lrwx------ 1 root root 64 Jan 8 13:31 1 -> /dev/pts/0
lrwx------ 1 root root 64 Jan 8 13:31 10 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/b6f*
lrwx------ 1 root root 64 Jan 8 13:31 11 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/30*
lrwx------ 1 root root 64 Jan 8 13:31 12 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/266*
lrwx------ 1 root root 64 Jan 8 13:31 13 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/3*
lrwx------ 1 root root 64 Jan 8 13:31 14 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/22d*
lrwx------ 1 root root 64 Jan 8 13:31 15 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/bcf
lrwx------ 1 root root 64 Jan 8 13:31 16 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/65*
lrwx------ 1 root root 64 Jan 8 13:31 17 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/4*
lrwx------ 1 root root 64 Jan 8 13:31 18 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/e19
lrwx------ 1 root root 64 Jan 8 13:31 19 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/bd1
lrwx------ 1 root root 64 Jan 8 13:31 2 -> /dev/pts/0
lrwx------ 1 root root 64 Jan 8 13:31 20 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/65*
lrwx------ 1 root root 64 Jan 8 13:31 21 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/235*
lrwx------ 1 root root 64 Jan 8 13:31 22 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/bd0
lrwx------ 1 root root 64 Jan 8 13:31 23 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/24f*
lrwx------ 1 root root 64 Jan 8 13:31 24 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/22b*
lrwx------ 1 root root 64 Jan 8 13:31 25 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/24f*
lrwx------ 1 root root 64 Jan 8 13:31 26 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/35*
lrwx------ 1 root root 64 Jan 8 13:31 27 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/bd3
lrwx------ 1 root root 64 Jan 8 13:31 28 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/30*
lrwx------ 1 root root 64 Jan 8 13:31 29 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/22b*
l-wx------ 1 root root 64 Jan 8 13:31 3 -> /volume1/debian_afp.log
lrwx------ 1 root root 64 Jan 8 13:31 30 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/132*
lrwx------ 1 root root 64 Jan 8 13:31 31 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/bd3
lrwx------ 1 root root 64 Jan 8 13:31 32 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/235*
lrwx------ 1 root root 64 Jan 8 13:31 33 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/132*
lrwx------ 1 root root 64 Jan 8 13:31 34 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/bd1
lrwx------ 1 root root 64 Jan 8 13:31 35 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/3*
lrwx------ 1 root root 64 Jan 8 13:31 36 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/bd0
lrwx------ 1 root root 64 Jan 8 13:31 37 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/35*
lrwx------ 1 root root 64 Jan 8 13:31 39 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/bcf
lr-x------ 1 root root 64 Jan 8 13:31 4 -> /dev/urandom
lrwx------ 1 root root 64 Jan 8 13:31 40 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/3f*
lrwx------ 1 root root 64 Jan 8 13:31 41 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/4*
lrwx------ 1 root root 64 Jan 8 13:31 42 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/e19
lrwx------ 1 root root 64 Jan 8 13:31 43 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/258*
lrwx------ 1 root root 64 Jan 8 13:31 44 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/b6f*
lrwx------ 1 root root 64 Jan 8 13:31 46 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/266*
lrwx------ 1 root root 64 Jan 8 13:31 47 -> /volume1/TimeMachine/MacBook Pro.backupbundle/bands/22d*
lrwx------ 1 root root 64 Jan 8 13:31 5 -> socket:[177578687]=
lrwx------ 1 root root 64 Jan 8 13:31 6 -> /volume1/TimeMachine/MacBook Pro.backupbundle/token*
lrwx------ 1 root root 64 Jan 8 13:31 7 -> /volume1/TimeMachine/MacBook Pro.backupbundle/mapped/3f*
lrwx------ 1 root root 64 Jan 8 13:31 8 -> socket:[177576781]=
尝试在Mac中挂载TimeMachine磁盘,可以挂载成功,但是afpd未关闭的文件在Mac中就无法读取了。
- 代碼: 選擇全部
[jjm@MacBook-Pro:/Volumes]$ cd TimeMachine/
[jjm@MacBook-Pro:/Volumes/TimeMachine]$ ls
MacBook Pro.backupbundle
[jjm@MacBook-Pro:/Volumes/TimeMachine]$ cd MacBook\ Pro.backupbundle/
[jjm@MacBook-Pro:/Volumes/TimeMachine/MacBook Pro.backupbundle]$ ll
total 56
-rwxrwxrwx 1 jjm staff 500 12 30 15:43 Info.bckup
-rwxrwxrwx 1 jjm staff 500 12 30 15:43 Info.plist
drwxrwxrwx 1 jjm staff 111748 1 8 02:17 bands
-rwxrwxrwx 1 jjm staff 516 1 8 13:24 com.apple.TimeMachine.MachineID.bckup
-rwxrwxrwx 1 jjm staff 516 1 8 13:24 com.apple.TimeMachine.MachineID.plist
-rwxrwxrwx 1 jjm staff 1111 1 8 02:17 com.apple.TimeMachine.Results.plist
-rwxrwxrwx 1 jjm staff 5601 1 8 02:17 com.apple.TimeMachine.SnapshotHistory.plist
drwxrwxrwx 1 jjm staff 111748 1 8 02:17 mapped
-rwxrwxrwx 1 jjm staff 0 12 30 15:43 token
[jjm@MacBook-Pro:/Volumes/TimeMachine/MacBook Pro.backupbundle]$ dd if=token of=/dev/null bs=1 count=1
dd: token: Resource temporarily unavailable
[jjm@MacBook-Pro:/Volumes/TimeMachine/MacBook Pro.backupbundle]$ dd if=mapped/3f of=/dev/null bs=1 count=1
dd: mapped/3f: Resource temporarily unavailable
[jjm@MacBook-Pro:/Volumes/TimeMachine/MacBook Pro.backupbundle]$ dd if=mapped/123 of=/dev/null bs=1 count=1
1+0 records in
1+0 records out
1 bytes transferred in 0.000025 secs (39946 bytes/sec)
从上面两段命令可以看出:
token和
mapped/3f两个文件都是afpd没关闭的,所以都无法读取。而
mapped/123未被打开,就能读取。
不知什么原因导致afpd锁定了一些文件,导致TimeMachine无法正常读写文件。