FUSE module¶
Status¶
The FUSE module will never provide anything as good and reliable as a local filesystem. See the bug tracker for issues that may occur.
acd_cli’s FUSE module has the following filesystem features implemented:
Feature | Working |
---|---|
Basic operations | |
List directory | ✓ |
Read | ✓ |
Write | ✓ [1] |
Rename | ✓ |
Move | ✓ |
Trashing | ✓ |
OS-level trashing | ✓ [2] |
View trash | ❌ |
Misc | |
Automatic sync | ✓ |
ctime/mtime update | ❌ |
Custom permissions | ❌ |
Hard links | partially [3] |
Symbolic links | ❌ [4] |
[1] | partial writes are not possible (i.e. writes at random offsets) |
[2] | restoring might not work |
[3] | manually created hard links will be displayed, but it is discouraged to use them |
[4] | soft links are not part of the ACD API |
Usage¶
The command to mount the (root of the) Amazon Drive to the empty directory path/to/mountpoint
is
acd_cli -nl mount path/to/mountpoint
A non-root folder may be mounted similarly, by
acd_cli -nl mount --modules="subdir,subdir=/folder" path/to/mountpoint
Unmounting is usually achieved by the following command
fusermount -u path/to/mountpoint
If the mount is busy, Linux users can use the --lazy
(-z
) flag.
There exists a convenience action acd_cli umount
that unmounts all ACDFuse mounts on
Linux and Mac OS.
Note
Changes made to your Amazon Drive not using acd_cli will no longer be synchronized
automatically. See the --interval
option below to re-enable automatic synchronization.
Warning
Using acd_cli’s CLI commands (e.g. upload or sync) while having the drive mounted may lead to errors or corruption of the node cache.
Mount Options¶
For further information on the most of the options below, see your mount.fuse(8) man page.
To convert the node’s standard character set (UTF-8) to the system locale, the modules argument
may be used, e.g. --modules="iconv,to_code=CHARSET"
.
--allow-other, -ao | |
allow all users to access the mountpoint (may need extra configuration) | |
--allow-root, -ar | |
allow the root user to access the mountpoint (may need extra configuration) | |
--foreground, -fg | |
do not detach process until filesystem is destroyed (blocks) | |
--gid GID | override the group ID (defaults to the user’s gid) |
--interval INT, -i INT | |
set the node cache sync (refresh) interval to INT seconds | |
--nlinks, -n | calculate the number of links for folders (slower) |
--nonempty, -ne | |
allow mounting to a non-empty mount point | |
--read-only, -ro | |
disallow write operations (does not affect cache refresh) | |
--single-threaded, -st | |
disallow multi-threaded FUSE operations | |
--uid UID | override the user ID (defaults to the user’s uid) |
--umask UMASK | override the standard permission bits |
Automatic Remount¶
It is advisable to wait until your network connection is up before you try to run the mount command.
Linux users may use the systemd service file from the assets directory
to have the drive automatically remounted on login.
Alternative ways are to add a crontab entry using the @reboot
keyword or to add an
fstab entry like so:
acdmount /mount/point fuse _netdev 0 0
For this to work, an executable shell script /usr/bin/acdmount must be created
#!/bin/bash
acd_cli mount -nl $1
Library Path¶
If you want or need to override the standard libfuse path, you may set the environment variable LIBFUSE_PATH to the full path of libfuse, e.g.
export LIBFUSE_PATH="/lib/x86_64-linux-gnu/libfuse.so.2"
This is particularly helpful if the libfuse library is properly installed, but not found.
Deleting Nodes¶
“Deleting” directories or files from the file system will in reality trash them in Amazon Drive.
Calling rmdir
on a directory will always move it into the trash, even if it is not empty.
Logging¶
For debugging purposes, the recommended command to run is
acd_cli -d -nl mount -i0 -fg path/to/mountpoint
That command will disable the automatic refresh (i.e. sync) of the node cache (-i0) and disable detaching from the console.