Porting/Linux/2.6

Varnish on Linux 2.6

Varnish will build and run without modification on most Linux 2.6 systems. Several Varnish developers use Linux 2.6 as their primary development platform, and it is probably the most commonly used platform for Varnish, by a wide margin.

The build system will automatically detect the availability of epoll() and build the corresponding cache_acceptor. It will also automatically detect the availability of sendfile(), though its use is discouraged (and disabled by default) due to a variety of non-Linux-specific issues.

Please not that newer Linux kernels seem to write mmaped data synchronously to disk. This might affect performance if you have a lot of writes to cache. The malloc storage backend does not have this problem.

Each Varnish release is tested (to varying extent) on a variety of Linux distributions which currently includes Ubuntu Hardy (LTS), Debian Etch, RedHat? EL4 and EL5, and Fedora 7 and 8. Varnish is also expected to work on other related distributions such as CentOS, various Debian derivatives, etc.

Early releases were successfully built for SUSE, but the package maintainer seems to have lost interest. Current SUSE / OpenSUSE status is unknown.

Mandrake / Mandriva status is unknown.

Varnish packages are available for Gentoo, at least on x86 (maintained by Thilo Bangert).

One distribution which Varnish is known not to build on is PLD Linux, which places its ncurses headers in a non-standard location which is not in the include search path. The Varnish developers consider this a bug in the distribution.