[633] in linux-announce channel archive

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

Zlibc-0.7 - Library emulating a read-only compressed filesystem

daemon@ATHENA.MIT.EDU (Lars Wirzenius)
Thu Jun 8 01:16:27 1995

Date: Wed, 7 Jun 1995 04:39:09 -0500
From: Lars Wirzenius <wirzeniu@rose.uthscsa.edu>
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.7 - Library emulating a read-only compressed filesystem
Newsgroups: comp.os.linux.announce
Keywords: libc, compression, filesystem, read-only, library
Organization: ?
Approved: linux-announce@news.ornl.gov (Lars Wirzenius)
Followup-to: comp.os.linux.development.system

 I have uploaded zlibc-0.7 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 with the new ELF libraries (libc.so.5.0.9). (The
previous version only worked with the older libc.so.4.* ELF libraries)

 The previous version also had some problems with the linker in
binutils-2.5.2l.15.bin.tar.gz, these are fixed now too.

 Zlibc is a dynamic library that allows executables to uncompress
their datafiles on the fly. No kernel patch, no recompilation of these
executables and no recompilation of the C 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
(read-only) compressed file system.


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

 To install from source, type tar xfzvvp zlibc-0.7.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

 To install the binary release, go to the root directory, and type, as
root: tar xfzvvop zlibc-0.7.bin.tar.gz. Further instructions are in
/usr/doc/zlibc/INSTALL.linuxbin . The binary release only supports
preloadable objects, if you prefer the patched installation you need
to install from source.


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

 The following new features have been introduced:

 * zlibc now works with libc.so.5.0.9
 * a problem with the linker in binutils-2.5.2l.15.bin.tar.gz has been
fixed: this new linker makes QMAGIC binaries by default. This resulted
in segmentation faults when using the old Makefile.

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

 This package overrides the "open" function of the C library, as well
as other similar system call functions. For maximum safety, the
package contains statically linked rescue tools (ln, mv and symlink),
which should enable you to clear up the situation in case of trouble.

 Zlibc uses one of two methods to override the system call
functions. The first method patches the C library. This is done on a
copy of the original C library, in order to make it easyer to go back
to an unpatched library. This installation method is only available
for Linux a.out.

 This method works with every 4.x.y a.out shared library (tested
with 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 remained constant
for the major release number 4 of the shared library.

 The other method uses the LD_PRELOAD/LD_LIBRARY_PATH environmental
variables 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 for
SunOs and libc.so.5.0.9 on Linux). This method is available for SunOs,
Linux ELF and Linux a.out.

 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

--
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