我刚买了一个Transcend StoreJet 25M3 1TB USB 3.0 外置硬盘备份运行 Ubuntu 14.10 的笔记本电脑上的数据。我尝试使用 unison 文件同步器,但出现错误
无法将文件 /media/hakon/Transcend/.unison..bash_profile.b54585281d82effb5afc6d1bfff73346.unison.tmp 的权限设置为 rw-rw-r--:权限被设置为 rw-------。文件系统可能不支持所有权限位。如果这是 FAT 文件系统,则应将“fat”选项设置为 true。否则,您可能应该将“perms”选项设置为 0o1713(如果不需要同步权限,则设置为 0)
外部驱动器上的文件系统类型为fuseblk
,而我的笔记本电脑上的文件系统为ext4
:
$ df -T /home/hakon
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext4 953333636 76460660 828423340 9% /
$ df -T /media/hakon/Transcend/
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sdc1 fuseblk 976759996 135728 976624268 1% /media/hakon/Transcend
我猜想错误消息的原因unison
与不支持 ext4 和 NTFS 的权限位差异有关。但为什么unison
建议设置?代表perms = 0o1713
什么?0o1713
经过一些谷歌搜索后,我想知道我推荐的继续方式是什么:
- 将外部驱动器上的文件系统转换为
ext4
,例如使用mkfs -t ext4 /dev/sdc1
或 - 尝试修改配置文件中的设置
unison
,例如使用perms = 0o1713
?
答案1
我决定使用,unison
因为我有多台需要同步的机器(rsync
是一个镜像工具;unison
是一个同步器)..我还决定重新格式化外部硬盘以使用ext4
文件系统:
sudo umount /media/hakon/Transcend
sudo mkfs -t ext4 /dev/sdc1
/dev/sdc1 contains a ntfs file system labelled 'Transcend'
Proceed anyway? (y,n) y
Creating filesystem with 244190000 4k blocks and 61054976 inodes
Filesystem UUID: 0ddde628-b54a-4bb2-9823-b734fe0f78b9
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
现在我可以unsion
毫无问题地运行了:
sudo unison-gtk myprofile.prf
更新:
事实证明,重新格式化后,硬盘将归用户所有root
。您应该收回驱动器的所有权,以避免在文件权限方面出现很多麻烦unison
。例如:
sudo chown hakon:hakon -R /media/hakon/0ddde628-b54a-4bb2-9823-b734fe0f78b9/
现在,unison
无需 也可以运行sudo
。
答案2
除非您在 Windows 计算机上使用外部驱动器,否则我会将其重新格式化为 ext4。您可以使用您引用的命令,也可以使用图形前端GNOME 磁盘,它在 Ubuntu 上默认安装。
对于备份,我更喜欢同步。Arch wiki 有很棒的文章关于如何使用同步。