Node.js wrapper for Linux mount/umount.
var mountutil = require('linux-mountutils');
isMounted checks to see if a specific mount exists, either by mountpoint or device. It takes 2 arguments:
- path - the mountpoint or device
- isDevice - true means to look for a device, else a mountpoint
The function returns an object with details of the mount if it exists. ret.mounted is always a boolean that indicates whether a mount exists. If there was an error, ret.error will contain a description. If the mount is there, there will be additional fields (see below).
Example:
// See if device /dev/sda1 is mounted
var ret = mountutil.isMounted("/dev/sda1",true);
console.log(JSON.stringify(ret));
// Returns:
// {"mounted":true,"device":"/dev/sda1","mountpoint":"/boot","fstype":"ext2","fsopts":"rw,relatime,errors=continue"}
// See if device /dev/notarealdevice is mounted
ret = mountutil.isMounted("/dev/notarealdevice",true);
// Returns:
// {"mounted":false}
// See if a device is mounted at /boot
ret = mountutil.isMounted("/boot",false);
// Returns:
// {"mounted":true,"device":"/dev/sda1","mountpoint":"/boot","fstype":"ext2","fsopts":"rw,relatime,errors=continue"}
mount is an asynchronous wrapper around the system mount binary. It will mount (or try to mount) a device (or network filesystem) 'dev' at the mountpoint 'path'. When it finishes, it calls the callback function with a single JSON object with result details.
Valid options:
- fstype - filesystem type (ie. nfs, ext4, etc). Default autodetected
- readonly - mount device read only
- fsopts - mount options for filesystem (ie. acl,quota)
- mountPath - path to mount binary (defaults to /bin/mount)
- sudoPath - path to sudo binary (defaults to /usr/bin/sudo)
- noSudo - don't use sudo when calling binaries (default: use sudo)
- createDir - create the mountpoint 'path' if it doesn't exist (default: no)
- dirMode - mode to use for mountpoint if createDir is true
Example:
// Mount /dev/sdc1 to /tmp/testmount
mountutil.mount("/dev/sdc1","/tmp/testmount", { "createDir": true }, function(result) {
if (result.error) {
// Something went wrong!
console.log(result.error);
} else {
// mount succeeded - do stuff here
}
});
umount is an asynchronous wrapper around the system umount binary. It will umount a device or mountpoint.
Arguments:
- path - the mountpoint or device
- isDevice - true means to look for a device, else a mountpoint
- options - object, see below
- callback - function, will be called with success or fail
Valid options:
- umountPath - path to mount binary (defaults to /bin/mount)
- sudoPath - path to sudo binary (defaults to /usr/bin/sudo)
- noSudo - don't use sudo when calling binaries (default: use sudo)
- removeDir - remove mountpoint after umount (default no)
Example:
// Unmount device mounted at /tmp/testmount and delete mountpoint
mountutil.umount("/tmp/testmount", false, { "removeDir": true }, function(result) {
if (result.error) {
// Something went wrong!
console.log(result.error);
} else {
// umount succeeded - do stuff here
}
});