Skip to content

mw-white/node-linux-mountutils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-linux-mountutils

Node.js wrapper for Linux mount/umount.

Usage

var mountutil = require('linux-mountutils');

isMounted(path, isDevice)

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(dev, path, options, callback)

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(path, isDevice, options, callback)

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
  }
});

About

Node.js wrapper for Linux mount/umount

Resources

License

Stars

Watchers

Forks

Packages

No packages published