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

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.

Files for libmount, version 0.9
Filename, size File type Python version Upload date Hashes
Filename, size libmount-0.9.tar.gz (2.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page