Clone wiki

snusmumrik / Home


Snusmumrik is a cyber-anarchist e-library directory based on FUSE virtual file system. It is intended to work with FB2 e-book archives in the first place.

Today it consists of two utilities: snus (to build e-library index) and mumrik (to attach e-library to local file system). When e-library is attached to local file system, user can navigate it as a usual directory:

Navigating e-library from Nautilus file manager.

How to use

Use snus to build index

Given with FB2 files inside, add it to e-library index with snus:

    snus path/to/

You can index more than one zip-archive at once.

FB2 files inside of zip containers is the only supported format in this version of Snusmumrik. This is how some major e-libraries are distributed. Support of other e-book formats and archive layouts may be added later.

Use mumrik to mount the library

To attach e-library to your file system, please run

    mumrik -f path/to/mount/point

where path/to/mount/point should be an empty directory. When mumrik is launched, path/to/mount/point will appear as a usual directory full of e-books organized by author, genre and language.

Mounting with -o sync_read -o max_readahead=4000000 is really helpful if your library contains big files (to avoid performance penalty of unpacking the same file many times, the program does not cache unpacked files).

Current version has a bug (#1), which makes it impossible to use mumrik in daemon mode, so please use -f option until the bug is fixed.

To detach e-library from your file system, run

    fusermount -u path/to/mount/point

If anything goes wrong, killall -9 mumrik should help.


Requirements: Linux, GHC 6.10, Haskell Platform 2009.2.0.2, cabal-install, libfuse, libzip. Necessary Haskell libraries may be installed automatically by cabal-install or manually.

Installing from Hackage:

$ cabal update
$ cabal install Snusmumrik

Installing from the Hg repository

$ hg clone
$ cd snusmumrik
snusmumrik$ runhaskell Setup.lhs configure --user
snusmumrik$ runhaskell Setup.lhs build
snusmumrik$ runhaskell Setup.lhs install

Executables will be installed in ~/.cabal/bin. Update your PATH if necessary.

To enable debug logging, build with -fdebug flag:

snusmumrik$ runhaskell Setup.lhs configure -fdebug --user

Log is usually saved in /var/log/daemon.log.

About the name

Snusmumrik is a Russian name for Snufkin (Swedish: Snusmumriken), a character in the Moomin series of books by Tove Jansson. Snufkin dislikes all symbols of private property, forbidding signs and fenced lawns. He likes travelling, living in a tent, smoking a pipe and playing the harmonica.