From: chip@fin.uucp (Chip Salzenberg)
Newsgroups: comp.os.linux.announce
Subject: Re: How to use Perl to upgrade libc (was Re: sash)
Date: 16 Apr 1993 15:31:57 GMT
Approved: linux-announce@tc.cornell.edu (Matt Welsh)
Message-ID: <1qmjhd$nvl@fitz.TC.Cornell.EDU>

According to "David I. Bell" <dbell@pdact.pd.necisa.oz.au>:
>This is release 1.0 of sash, my stand-alone shell for Linux.
>The purpose of this program is to make replacing of shared libraries
>easy and safe.

Not to slight "sash", but...

Much of this goal can be achieved already through the use of Perl.

Consider: once a shared library is in use by a given process, it need
not continue to exist under its current name.  Thus you can safely
rename and symlink shared libraries from a continuously running Perl
process.

The simplest way to get a continuous Perl process is:

    # perl -de 0

This command puts you into the Perl debugging mode.  From the
debugging prompt you can evaluate arbitrary expressions:

    1> unlink("libc.so.4")
    2> symlink("libc.so.4.3.3", "libc.so.4")
    3> system "ls -l"

etc.

PS:  I know this hack works.  I used it to upgrade to libc 4.3.3.
-- 
Chip Salzenberg, at home             <chip@fin.uucp> or <tscs!fin!chip>
                  * Tailfin smarts from orca bite
                    * Waters ahead hide dangers unknown
                      * Still I chase fish and laugh *

-- 
Send submissions for comp.os.linux.announce to: linux-announce@tc.cornell.edu
