[172] in linux-announce channel archive

home help back first fref pref prev next nref lref last post

Zlibc-0.6: Transparent data (un)compression. Works with ELF now.

daemon@ATHENA.MIT.EDU (Lars Wirzenius)
Tue Feb 14 14:09:52 1995

Date: Tue, 14 Feb 1995 19:07:11 +0200
From: Lars Wirzenius <wirzeniu@cc.helsinki.fi>
To: linux-activists@niksula.hut.fi, linux-announce@vger.rutgers.edu

X-Mn-Key: announce

From: Alain.Knaff@imag.fr (Alain Knaff)
Subject: Zlibc-0.6: Transparent data (un)compression. Works with ELF now.
Newsgroups: comp.os.linux.announce
Keywords: Zlibc, compression, C-library, transparent, ELF
Organization: ?
Approved: linux-announce@tc.cornell.edu (Lars Wirzenius)
Followup-to: comp.os.linux.development.system

 I have uploaded zlibc-0.6 to sunsite.unc.edu:/pub/Linux/Incoming
and to tsx-11:/incoming
 It will soon be moved to /pub/Linux/libs on sunsite and to
/pub/linux/sources/libs on tsx.

 This version works also with ELF binaries.

 Zlibc is a library patch that allows executables to uncompress their
datafiles on the fly. No kernel patch, no recompilation of these
executables and no recompilation of the libraries is needed. Using
gzip -9, a compression ratio of 1:3 can easily be achieved! (See
examples below). This program has (almost) the same effect as a
(mostly read-only) compressed file system.


 How to install it:
 ==================

 To install, type tar xfzvvp zlibc-0.6.src.tar.gz, and see the included
INSTALL.* files for further instructions:

 INSTALL.linux          installation as a patched a.out library
 INSTALL.linux.preload  installation as a preloaded a.out object
 INSTALL.linux.elf      installation as a (preloaded) elf object
 INSTALL.sun            installation on a Sun

 There is no binary release this time.


 New in this release:
 ====================

 This is the fourth public release of zlibc.

 The following new features have been introduced:

 * zlibc now works with ELF
 * all configuration by environmental variables is disabled if the effective
uid doesn't match the real uid, or if the effective gid doesn't match the
real gid. (This is to prevent abuse of suid/sgid binaries)
 * minor (and not so minor) bugfixes
 * minor cleanups in the Makefiles

 How it works:
 =============

 This package patches the "open" function (and other similar system
call functions) in the shared library. You don't need to have the
sources of the shared library, a copy of the library is binary
patched. The original library is still kept, just in case. For maximum
safety, the package also contains statically linked rescue tools (ln,
mv and symlink), which should enable you to put the old library back
in place in case of trouble.

 On Linux, this package _should_ work with every .4 a.out shared
library (tested on 4.3.3, 4.4, 4.4.1, 4.4.4, 4.5.26, 4.6.20,
4.6.27). This is because it patches the jumptable, and the jumptable
should remain constant for the same major release number (4) of the
shared library.

 On SunOs (and on Linux, if you use ELF), this package uses the
LD_PRELOAD/LD_LIBRARY_PATH mechanism to redirect the dynamic linker to
use the relevant functions of uncompress.o instead of the shared
library. Thus, it should work with every release of the shared library
(tested on libc.so.1.7). On SunOs, you don't need to be superuser to
install this package.


 Examples: (compressed with gzip -9)
 ===================================

				Before				After
/usr/info/			1568k				521k
/usr/lib/emacs/19.19/		6750k				2550k

/usr/local/smalltalk/		326k				126k
/usr/local/lib/lisp		2256k				779k

/usr/lib/*.a 			1094k				476k
/usr/X386/lib/*.a 		1110k				470k
/usr/include			655k				325k

/usr/lib/X11/fonts/75dpi/	3158k (1531 compressed)		1095 (gzipped)
/usr/lib/X11/fonts/Speedo/	530k (479 compressed)		373 (gzipped)
/usr/lib/X11/fonts/misc/	892k (323 compressed) 		254 (gzipped)

/usr/TeX/macros/		1167k				223k (sic!)
/usr/TeX/inputs			242k				74k
/usr/TeX/formats		779k				251k

 Alain

--
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember Keywords: and a short description of the software.


home help back first fref pref prev next nref lref last post