First: THANKS To ALL WHO REPLIED (I would like to include the names when I
summarize, but my e-mail software is not very cooperative...)
Here's my original post:
>>I just deleted a bunch of products with setld -d. I removed all MME
>>(Multimedia extensions) and the command seemed to work fine...
>>It asked to rebuild the kernel and I aswered no because I had other stuff
to >>remove. I said to myself: I will rebuild the kernel after all subsets
are >>removed.
>>After I removed the subsets, I rebuilt the kernel, It went just fine.
>>I rebooted and checked to see that the MME extensions were removed witrh
setld >>-i | grep MME: I got a listing showing all subsets !
>>I tried to remove it again and setld -d tells me: subset xxxx not installed !
>>What's wrong ?
And the answers:
setld DOES NOT REMOVE THE ENTRIES int the inventory when you use the "setld
-d switch". All it does is remove the product files, links, etc... and the
word "installed" which shows when you do an "setld -i" command. All the
subsets that were once installed (and later removed) appear in the listing
given by setld -i. The installed subsets show the word "installed" in the
second column.
I thought that the setld -i would only give me the "installed" subsets. I
should have remembered the many examples where the manuals says to issue a
"setld -i" | grep installed command....
What I did was issue a "setld -i | grep MME" command and I did not notice
that the "installed" was gone after the setld -d.
If you really want to get rid of the lines showing the old subsets, you'll
have to go in the /usr/.smdb directory (where the setld info is kept)
Here are various examples from the people who replied:
===============================================================================
Louis:
Hello,
setld -i will still list subsets that were installed but if the second
field doesn't show "installed" it means that it was installed and then removed.
For example, if the kit BRXNSSALPHA301 was installed and then removed,
you will find in the directory /usr/.smdb. the files BRXNSSALPHA301.ctrl,
BRXNSSALPHA301.inv and BRXNSSALPHA301.scp but you will not see a file named
BRXNSSALPHA301.lk which indicates to setld that the subset is installed.
If you want to get rid of subsets which are no longer installed but
still appear in the "setld -i" listing, delete the .ctrl, .inv and .scp files
that don't have a .lk (do a copy of /usr/.smdb. before just in case ...)
In the example above, if you remove the three files
BRXNSSALPHA301.ctrl, BRXNSSALPHA301.inv and BRXNSSALPHA301.scp the subset
BRXNSALPHA301 will no longer appear in the setld as is shown in the followin
example :
# setld -i | grep BRXNSSALPHA301
BRXNSSALPHA301 NetWorker SingleServer executables
# rm -f /usr/.smdb./BRXNSSALPHA301.*
# setld -i | grep BRXNSSALPHA301
#
Et voila!!! the subset reference has gone
Hope it helps
...Louis
----------------------------------------------------------------------------
| Louis Bouchard
J'aimes que ca cesse quand c'est fini. Quand | Ingenieur Systeme
ca recommence, ca me scie. | bouchard_l_at_decus.fr
R. Ducharme | Bouygues Telecom
----------------------------------------------------------------------------
===============================================================================
Just because setld lists a subset in the -i listing doesn't mean that it is
installed. If the subset is installed, it will say "installed" in the
status (I think that's the heading) column.
To REALLY get rid of the subset information for subsets that are not present
on your system, you need to do the following as root using the Bourne shell:
cd /usr/.smdb.
for inv in *.inv; do
ssn=`basename $inv .inv`
[ -f $ssn.lk ] || rm -f $ssn.*
done
This will go through all the inventory files (.inv) and if there is no lock
file (.lk) corresponding to the inventory file, it will remove the inventory
file and all the other files related to the subset.
If you want to restrict this procedure to the files associated with a
product, put the product prefix (e.g., O3D or MME) in front of the "*.inv"
in the for statement.
You can do this with other shells, or you can do it manually, but this
little script will do it right and quickly.
You can free up a bunch of space by doing this, and your output from a
setld -i will no longer list subsets that aren't installed.
Tom
Dr. Thomas P. Blinn, UNIX Software Group, Digital Equipment Corporation
110 Spit Brook Road, MS ZKO3-2/U20 Nashua, New Hampshire 03062-2698
Technology Partnership Engineering Phone: (603) 881-0646
Internet: tpb_at_zk3.dec.com Digital's Easynet: alpha::tpb
Worry kills more people than work because more people worry than work.
My favorite palindrome is: Satan, oscillate my metallic sonatas.
-- Phil Agre, pagre_at_ucsd.edu
Opinions expressed herein are my own, and do not necessarily represent
those of my employer or anyone else, living or dead, real or imagined.
===============================================================================
Received on Mon Jul 22 1996 - 17:52:37 NZST