<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.chepkov.com/w/index.php?action=history&amp;feed=atom&amp;title=Cleaning_AIX_fileset</id>
	<title>Cleaning AIX fileset - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.chepkov.com/w/index.php?action=history&amp;feed=atom&amp;title=Cleaning_AIX_fileset"/>
	<link rel="alternate" type="text/html" href="https://www.chepkov.com/w/index.php?title=Cleaning_AIX_fileset&amp;action=history"/>
	<updated>2026-04-30T20:33:12Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.chepkov.com/w/index.php?title=Cleaning_AIX_fileset&amp;diff=464&amp;oldid=prev</id>
		<title>Vvc at 21:51, 25 August 2010</title>
		<link rel="alternate" type="text/html" href="https://www.chepkov.com/w/index.php?title=Cleaning_AIX_fileset&amp;diff=464&amp;oldid=prev"/>
		<updated>2010-08-25T21:51:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===Using Script===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/ksh&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# NAME: mqsi61_odmcleanup&lt;br /&gt;
#&lt;br /&gt;
# PURPOSE: To cleanup any remaining entries left in the AIX&lt;br /&gt;
#          ODM after uninstalling WMB v6.1&lt;br /&gt;
#&lt;br /&gt;
# DISCLAIMER: Provided AS-IS&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
cleanup_odm ()&lt;br /&gt;
{  &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Deleting matching entries for $FILESET_PREFIX* from $ODMDIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Delete from history&lt;br /&gt;
for i in `odmget -q &amp;quot;name like $FILESET_PREFIX*&amp;quot; lpp | grep lpp_id | awk &amp;#039;{ print $3 }&amp;#039;`&lt;br /&gt;
do&lt;br /&gt;
  odmdelete -o history -q lpp_id=$i&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# Delete from inventory&lt;br /&gt;
for i in `odmget -q &amp;quot;name like $FILESET_PREFIX*&amp;quot; lpp | grep lpp_id | awk &amp;#039;{ print $3 }&amp;#039;`&lt;br /&gt;
do&lt;br /&gt;
  odmdelete -o inventory -q lpp_id=$i&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# Delete from vendor&lt;br /&gt;
for i in `odmget -q &amp;quot;name like $FILESET_PREFIX*&amp;quot; lpp | grep lpp_id | awk &amp;#039;{ print $3 }&amp;#039;`&lt;br /&gt;
do&lt;br /&gt;
  odmdelete -o vendor -q lpp_id=$i&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# Delete from product&lt;br /&gt;
odmdelete -o product -q &amp;quot;name like $FILESET_PREFIX*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Delete from lpp&lt;br /&gt;
odmdelete -o lpp -q &amp;quot;name like $FILESET_PREFIX*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#-----------------End of functions--------------------------&lt;br /&gt;
&lt;br /&gt;
#-----------------Main Routine------------------------------&lt;br /&gt;
&lt;br /&gt;
# Delete all entries with a name beginning &amp;quot;mqsi61&amp;quot;&lt;br /&gt;
FILESET_PREFIX=&amp;quot;mqsi61&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Delete entries from /usr/lib ODM database&lt;br /&gt;
ODMDIR=/usr/lib/objrepos&lt;br /&gt;
export ODMDIR&lt;br /&gt;
&lt;br /&gt;
cleanup_odm;&lt;br /&gt;
&lt;br /&gt;
# Delete entries from /etc ODM database&lt;br /&gt;
ODMDIR=/etc/objrepos&lt;br /&gt;
export ODMDIR&lt;br /&gt;
&lt;br /&gt;
cleanup_odm;&lt;br /&gt;
&lt;br /&gt;
#-----------------End of Main Routine-----------------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===Manually===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Uninstall the product using the uninstaller.&lt;br /&gt;
2. Compile a list of GUIDs (or UIDs) for your product. These are referenced in the Key for each Product, Feature, and Component in your project.&lt;br /&gt;
3. For each GUID, determine if it is referenced in any of the five classes in the SWVPD:&lt;br /&gt;
i) To search the lpp class run:&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmget -q &amp;quot;name = GUID&amp;quot; lpp&lt;br /&gt;
If the GUID is found, you will see output like the following:&lt;br /&gt;
lpp:&lt;br /&gt;
name = &amp;quot;Product GUID&amp;quot;&lt;br /&gt;
size = 0&lt;br /&gt;
state = 5&lt;br /&gt;
cp_flag = 131345&lt;br /&gt;
group = &amp;quot;&amp;quot;&lt;br /&gt;
magic_letter = &amp;quot;&amp;quot;&lt;br /&gt;
ver = 1&lt;br /&gt;
rel = 1&lt;br /&gt;
mod = 0&lt;br /&gt;
fix = 0&lt;br /&gt;
description = &amp;quot;Description of Product&amp;quot;&lt;br /&gt;
lpp_id = 1043&lt;br /&gt;
&lt;br /&gt;
- Record the lpp_id associated with each GUID as shown in the output of this command.&lt;br /&gt;
- For each entry found, run the following command to remove it:&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmdelete -o lpp -q &amp;quot;name = Product GUID&amp;quot;&lt;br /&gt;
To verify the entry was removed, rerun the command(there should be no output):&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmget -q &amp;quot;name = GUID&amp;quot; lpp&lt;br /&gt;
&lt;br /&gt;
ii) To search the product class run:&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmget -q &amp;quot;lpp_name = Product GUID&amp;quot; product&lt;br /&gt;
If the GUID is found, you will see output like the following:&lt;br /&gt;
product:&lt;br /&gt;
lpp_name = &amp;quot;Product GUID&amp;quot;&lt;br /&gt;
comp_id = &amp;quot;&amp;quot;&lt;br /&gt;
update = 0&lt;br /&gt;
cp_flag = 131345&lt;br /&gt;
fesn = &amp;quot;&amp;quot;&lt;br /&gt;
name = &amp;quot;Product GUID&amp;quot;&lt;br /&gt;
state = 5&lt;br /&gt;
ver = 1&lt;br /&gt;
rel = 1&lt;br /&gt;
mod = 0&lt;br /&gt;
fix = 0&lt;br /&gt;
ptf = &amp;quot;&amp;quot;&lt;br /&gt;
media = 0&lt;br /&gt;
sceded_by = &amp;quot;&amp;quot;&lt;br /&gt;
fixinfo = &amp;quot;&amp;quot;&lt;br /&gt;
prereq = &amp;quot;&amp;quot;&lt;br /&gt;
description = &amp;quot;Description of Product&amp;quot;&lt;br /&gt;
supersedes = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
- For each entry found, run the following command to remove it:&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmdelete -o product -q &amp;quot;lpp_name = Product GUID&amp;quot;&lt;br /&gt;
To verify the entry was removed, rerun the command(there should be no output):&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmget -q &amp;quot;lpp_name = Product GUID&amp;quot; product&lt;br /&gt;
&lt;br /&gt;
iii)To search the vendor class run:&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmget -q &amp;quot;GUID = Product GUID&amp;quot; vendor&lt;br /&gt;
If the GUID is found, you will see output like the following:&lt;br /&gt;
vendor:&lt;br /&gt;
GUID = &amp;quot;Product GUID&amp;quot;&lt;br /&gt;
ver = 1&lt;br /&gt;
rel = 1&lt;br /&gt;
mod = 0&lt;br /&gt;
fix = 0&lt;br /&gt;
type = 1&lt;br /&gt;
ddir = &amp;quot;install/directory&amp;quot;&lt;br /&gt;
uninstaller = &amp;quot;location/of/uninstaller&amp;quot;&lt;br /&gt;
msgcat = &amp;quot;&amp;quot;&lt;br /&gt;
msgnumber = 0&lt;br /&gt;
msgset = 0&lt;br /&gt;
lpp_id = 1043&lt;br /&gt;
PGUID = &amp;quot;Parent GUID&amp;quot;&lt;br /&gt;
time = 1023223295&lt;br /&gt;
instance = 1&lt;br /&gt;
description = &amp;quot;Description of Product&amp;quot;&lt;br /&gt;
misc1 = &amp;quot;&amp;quot;&lt;br /&gt;
misc2 = &amp;quot;&amp;quot;&lt;br /&gt;
misc3 = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that the lpp_id is also included in this record.&lt;br /&gt;
- For each entry found, run the following command to remove it:&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmdelete -o vendor -q &amp;quot;GUID = Product GUID&amp;quot;&lt;br /&gt;
To verify the entry was removed, rerun the command(there should be no output):&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmget -q &amp;quot;GUID = Product GUID&amp;quot; vendor&lt;br /&gt;
&lt;br /&gt;
iv) To search the history class, you must use the lpp_id (takes the place of id in the command shown here) that you got from either step i) or step iii) above. Run:&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmget -q &amp;quot;lpp_id = id&amp;quot; history&lt;br /&gt;
If the lpp_id is found, you will see output like the following:&lt;br /&gt;
history:&lt;br /&gt;
lpp_id = id&lt;br /&gt;
event = 2&lt;br /&gt;
ver = 1&lt;br /&gt;
rel = 1&lt;br /&gt;
mod = 0&lt;br /&gt;
fix = 0&lt;br /&gt;
ptf = &amp;quot;&amp;quot;&lt;br /&gt;
corr_svn = &amp;quot;&amp;quot;&lt;br /&gt;
cp_mod = &amp;quot;&amp;quot;&lt;br /&gt;
cp_fix = &amp;quot;&amp;quot;&lt;br /&gt;
login_name = &amp;quot;&amp;quot;&lt;br /&gt;
state = 1&lt;br /&gt;
time = 1023223295&lt;br /&gt;
comment = &amp;quot;&amp;quot;&lt;br /&gt;
- For each entry found, run the following command to remove it:&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmdelete -o history -q &amp;quot;lpp_id = id&amp;quot;&lt;br /&gt;
To verify the entry was removed, rerun the command(there should be no output):&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmget -q &amp;quot;lpp_id = id&amp;quot; history&lt;br /&gt;
&lt;br /&gt;
v) To search the inventory class, you must use the lpp_id (takes the place of id in the command shown here) that you got from either step i) or step iii) above. Note that only Components will have inventory entries (so you don&amp;#039;t have to check lpp_id&amp;#039;s for Products or Features)Run:&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmget -q &amp;quot;lpp_id = id&amp;quot; inventory&lt;br /&gt;
If the lpp_id is found, you will see output like the following:&lt;br /&gt;
inventory:&lt;br /&gt;
lpp_id = id&lt;br /&gt;
private = 0&lt;br /&gt;
file_type = 0&lt;br /&gt;
format = 1&lt;br /&gt;
loc0 = &amp;quot;location/of/file/installed/with/component&lt;br /&gt;
loc1 = &amp;quot;&amp;quot;&lt;br /&gt;
loc2 = &amp;quot;&amp;quot;&lt;br /&gt;
size = 779&lt;br /&gt;
checksum = 25483&lt;br /&gt;
&lt;br /&gt;
Note: You will have an inventory entry for each file that is installed for a particular lpp_id associated with a component, so in most cases, you will see multiple entries after running this comand.&lt;br /&gt;
To remove all entries for a particular lpp_id, run the command:&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmdelete -o inventory -q &amp;quot;lpp_id = id&amp;quot;&lt;br /&gt;
To verify the entry was removed, rerun the command(there should be no output):&lt;br /&gt;
ODMDIR=/usr/lib/objrepos odmget -q &amp;quot;lpp_id = id&amp;quot; inventory&lt;br /&gt;
&lt;br /&gt;
4. Finally, make sure that there are no entries for your product in the file /usr/lib/objrepos/vpd.properties. This is a plain ascii file. You can remove any lines that refer to your product simply by deleting them.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vvc</name></author>
	</entry>
</feed>