[633] in linux-announce channel archive
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.