This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
linux:unmount_all_fuse_mount_points [2011/06/10 17:56] Joel Dare |
linux:unmount_all_fuse_mount_points [2020/06/01 22:53] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Unmount All Fuse Mount Points ====== | ||
+ | On my laptop, a //Macbook Pro 7,1//, I need to remove all the fuse mounts before I disconnect from the network. If I don't disconnect these fuse mount points before I suspend or shut down then fuse seems to lock up. I believe that is because after I put the machine to sleep it will no longer be connected to the network when I turn it back on. Here's how I do it. | ||
+ | |||
+ | ===== The Unmount ===== | ||
+ | |||
+ | Here's the line of commands I use to unmount all of the mount points currently mounted with fuse. | ||
+ | |||
+ | mount -l -t fuse.sshfs | awk -F " " '{print "fusermount -u " $3}' | bash | ||
+ | | ||
+ | ===== How it Works ===== | ||
+ | |||
+ | I'll break these commands down for you so that they are a little easier to understand. | ||
+ | |||
+ | In the first part, we list everything that is currently mounted with a type of //fuse.sshfs//. | ||
+ | |||
+ | mount -l -t fuse.sshfs | ||
+ | |||
+ | Next, we pipe that output into //awk//, splitting on spaces, and printing out the fusermount command that will unmount each of them. I have another page about [[:Using Awk on CSV Files]] that explains this command in a little more detail. | ||
+ | |||
+ | awk -F " " '{print "fusermount -u " $3}' | ||
+ | | ||
+ | Finally, we pipe that output back into //bash// so that each command is executed. | ||
+ | |||
+ | bash | ||
+ | |||
+ | ===== Automatic on Suspend ===== | ||
+ | |||
+ | On my system, //Ubuntu 10.10 Maverick//, I'm using pm-utils. To execute something on suspend (sleep) I create a script in the /etc/pm/sleep.d directory. Here's the whole script. | ||
+ | |||
+ | <code> | ||
+ | #!/bin/sh | ||
+ | |||
+ | mount -l -t fuse.sshfs | awk -F " " '{print "fusermount -u " $3}' | bash | ||
+ | </code> | ||
+ | |||
+ | I've called the script //05_fuse// and then I ran chmod to make the file executable. | ||
+ | |||
+ | sudo chmod +x 05_fuse |