linux-blockdev

Linux Blockdevice library for Node.js

Usage no npm install needed!

<script type="module">
  import linuxBlockdev from 'https://cdn.skypack.dev/linux-blockdev';
</script>

README

node-linux-blockdev

Linux Bockdevice library for Node.js

API

blockdev.findAll(options) => Promise(Array(BlockDevice))

List all block devices

  • options.probe probe devices for PARTUUID and PTUUID

blockdev.findByName(options) => Promise(BlockDevice)

Find information about block device

  • options.deviceName device name, e.g. loop0
  • options.probe probe device for PARTUUID and PTUUID

blockdev.findByDevicePath(options) => Promise(BlockDevice)

Find information about block device

  • options.devicePath device path, e.g. /dev/loop0
  • options.probe probe device for PARTUUID and PTUUID

BlockDevice

BlockDevice.name => String

Name of the block device, e.g. "loop0"

BlockDevice.sizeInSectors => Number

Size of block device in sectors (512-byte blocks)

BlockDevice.sizeInBytes => Number

Size of block device in bytes

BlockDevice.deviceNode.major

Major device number

BlockDevice.deviceNode.minor

Minor device number

BlockDevice.PTUUID => String

Partition table UUID, if probed and available

BlockDevice.open(params) => Promise(FileHandle)

  • params.flags open flags, can be either "r", "w" or "r+"

BlockDevice.partitions => Array(Partition)

Partition

A partition has all fields of a block device, but additionally following fields.

Partition.startInSectors => Number

Start offset of partition inside block device in sectors (512-byte blocks)

Partition.startInBytes => Number

Start offset of partition inside block device in bytes

Partition.partition => Number

Partition number

Partition.PARTUUID => String

Partition UUID, if probed and available

Minimal example

import blockdev from "linux-blockdev";

const blockDevices = await blockdev.findAll();
console.log("blockDevices =", JSON.stringify(blockDevices, null, 2));