Skip to main content

A wrapper around libmount, for reading and manipulating filesystem tables.

Project description

A library for reading and manipulating filesystem tables, such as /etc/fstab.

It uses ctypes to wrap libmount, part of util-linux.

Usage

Every reading and manipulation of the filesystem table should take place in a with block to take the lock:

from libmount import FilesystemTable

with FilesystemTable() as fstab:
    print fstab[0].target

A FilesystemTable acts like a list, so you can slice and iterate:

with FilesystemTable() as fstab:
    print [fs.source for fs in fstab]
    print fs[2:5]

FilesystemTable objects contain Filesystem objects, that each have source, target, fstab and options attributes. The first three are strings, whereas the latter is set-like:

with FilesystemTable() as fstab:
    fs = fstab[0]

    # Will print e.g. "/dev/sda1 on / type ext4 (user_xattr)"
    print fs

    fs.source = '/dev/sda2'
    print "Options: %s" % ", ".join(fs.options)
    fs.options -= set(['user_xattr'])

To update the on-disk filesystem table, call save():

with FilesystemTable() as fstab:
    for fs in fstab:
        if fs.fstype in ('ext3', 'ext4'):
            fs.options.add('user_xattr')
    fstab.save()

Limitations

It is not yet possible to add or remove entries. This has not been thoroughly tested when run by non-privileged users.

Feedback

Feedback is gratefully received to infodev@oucs.ox.ac.uk, or as an issue in the issue tracker.

Project details


Release history Release notifications | RSS feed

This version

0.9

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libmount-0.9.tar.gz (2.8 kB view details)

Uploaded Source

File details

Details for the file libmount-0.9.tar.gz.

File metadata

  • Download URL: libmount-0.9.tar.gz
  • Upload date:
  • Size: 2.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for libmount-0.9.tar.gz
Algorithm Hash digest
SHA256 016b61dfce3e8b0a5ea9367dc44cb54a6fc80cb04d0e5493fca2be41b4ba504a
MD5 175897121291e60bc7f98f78dac1c823
BLAKE2b-256 fe4d3bd201d78d9ff51c2eeb278603dae915ef695999fb4cc132a28cc6f1cd0a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page