Patch instalation problem

2007-12-25 9:17:00

Hi!

  The problem:

       I have Solaris 2.5.

       I download recomended patch from sunresolv1.sun.com

    When I try to apply is I get error:

    

    #./installpatch .

    Generating list of files to be patched...

    Verifying sufficient filesystem capacity (exhaustive method) ...

    Installing patch packages...

    pkgadd: ERROR: checkinstall script did not complete successfully

    The installation of patch 103169-06 was interrupted.

    Installpatch needs to be re-invoked to ensure proper installation of the patch.

    

    Backoutpatch is terminating.

    

    Installpatch is terminating.

    #

    

Many thanks all who reply me:

Casper Dik <casper@holland.Sun.COM>

Lewis Burgess <burgess@quickturn.com>

"Tony C. Wu" <tonywu@cyberhouse.com.tw>

"John M. Turner" <jturner@zeus.aetc.af.mil>

sfuqua@pulsar.cs.wku.edu (Stephen Fuqua)

"Coffindaffer, Virginia@MacPO1" <CoffindafferVirginia@wangfed.com>

Super-User <root@utopia.poly.edu>

Rachel Polanskis <rachel@juno.virago.org.au>

There is 2 main way to solve this problem:

The first way:

Make a user called "install" as described in solaris FAQ (thanks to

Casper Dik <casper@holland.Sun.COM>)

Install the patches as this user.

The solaris FAQ says:

5.53) Patch installation often fails with "checkinstall" errors.

    When installing a patch, the Solaris 2.5+ patch installation

    procedure will execute the script "checkinstall" with uid nobody.

    If any of the patch files cannot be read by nobody or if any part

    of the path leading up to the patch directory an error similar to

    the following will appear:

    ./installpatch .

    Generating list of files to be patched...

    Verifying sufficient filesystem capacity (exhaustive method) ...

    Installing patch packages...

    pkgadd: ERROR: checkinstall script did not complete successfully

    ....

    You can workaround this in two ways, one is to make sure that

    nobody can read all patch files and execute a "pwd" in the patch

    directory or add an account "install" to /etc/passwd:

        install:x:0:1:installpatch braindamage:/:/bin/true

    Installpatch uses "nobody" as a fallback if it cannot find the "install"

    user.

    --- end of excerpt from the FAQ

Questions marked with a * or + have been changed or added since

the FAQ was last posted

The most recently posted version of the FAQ is available from

<http://www.fwi.uva.nl/pub/solaris/solaris2/>

Make a user called "install" as described in solaris FAQ

Install the patches as this user.

The second way is (thanks to Rachel Polanskis <rachel@juno.virago.org.au>):

Copy the patch to /tmp.

Unpack it

Do (as root):

# cd /tmp

# chmod -R 777 patch_dir

install the patch as usual.

Delete the permissions on the patch directory

Solaris 2.5.x has a little bug where it wants to install the patch as

user nobody, if user install does not exist.

Since nobody has no access, it can't do anything.

Therefore, by making the patch directory world readable, it

allows the nobody user to read the directory and properly install the patch.

I make the directory mode 777 because I wanted to be sure the install

works correctly - be sure to delete these permissions after you finished!

I inslall all pathes by second way without any errors.

Andrey


--
Andrey A Perminov e-mail: and@mgul.ac.ru
System Administrator
Moscow State University of Forestry (Russia)

Comments

Got something to say?

You must be logged in to post a comment.