CLAMFS(1)
π CLAMFS π
okay so bestie, welcome to the clamfs(1) manual page, General Commands Manual edition, and honestly? it's giving antivirus but make it a file system. let's get into it π¦
β¨ NAME β¨
clamfs β an anti-virus protected file system π‘οΈ
no like literally, that's the whole vibe. it's a file system with a bouncer.
πΈ SYNOPSIS πΈ
clamfs <configuration.file>
that's it. one (1) argument. that's the whole synopsis. slay. π
π DESCRIPTION π
so this manual page is here to briefly document the ClamFS user-space file system, periodt. β¨
clamfs is a program that mounts an anti-virus protected file system into an existing directory tree. that's the whole thing. it just. moves in. π
π§ Features π§
- User-space file system (no kernel patches, no recompilation, none of that cursed energy, etc.) π«Ά
- Configuration stored in XML files π
- FUSE (and
libfuse) used as file system back-end π§ - Scan files using ClamAV π¦
- ScanCache (LRU with time-based and out-of-memory expiration) speeds up file access β‘
- Sends mail to administrator when it detects a virus π§π
π Idea π
ClamFS is completely a user-space anti-virus solution for Linux, no cap. it uses libfuse and the Linux kernel module to provide the file system. ClamAV is used as the anti-virus scanner. π¦ β¨
so normally, a program (or a library) uses the glibc open() call to obtain a file descriptor. glibc calls kernel VFS to open the file regardless of which file system is used. but β plot twist β if the file is on a ClamFS file system, the open call from VFS is directed to user-space by FUSE. then ClamFS calls libfuse to communicate with FUSE and, through it, with VFS. it's giving middle school telephone game but make it kernel architecture ππ«
π Internals π
ClamFS is split into four parts:
libfusebindings β used to communicate with FUSE (and with VFS through it) πScanCacheβ stores (per file) results of anti-virus scanning to speed up futureopen()requests ποΈScanQueueβ queues files for scanning πclamd/libclamavbindings β communicates with the anti-virus scanner π‘
four parts. iconic quartet energy. π
β¨ OPTIONS β¨
This program uses only one command line argument β the configuration file name. that's it bestie, no flags to memorise, no -x that means three different things depending on the phase of the moon. just the config file. we love a low-maintenance icon. π
π¦ SEE ALSO π¦
ClamFS Project Page: https://github.com/burghardt/clamfs β go look, iykyk π
π AUTHOR π
ClamFS and this manual page was written by Krzysztof Burghardt <krzysztof@burghardt.pl> and may be freely distributed under the terms of the GNU General Public License. π«Ά
and that's the whole page bestie, no notes. shoutout to the 09 Feb 2007 date stamp at the bottom β vintage, retro, genuinely main character energy. ππ β¨
π¦ where this page comes from
- debian bookworm: clamfs 1.2.0-2.1 Β· GPL-2.0-or-later
- debian trixie: clamfs 1.3.0-1+b1 Β· GPL-2.0-or-later
- ubuntu jammy: clamfs 1.2.0-2.1 Β· GPL-2.0-or-later
- ubuntu noble: clamfs 1.2.0-2.1build1 Β· GPL-2.0-or-later
- ubuntu questing: clamfs 1.3.0-1build2
- ubuntu resolute: clamfs 1.3.0-1build3 Β· GPL-2.0-or-later
- ubuntu stonking: clamfs 1.3.0-1build3 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms