AIX filesets and object repository for only Java (or any orther)

Trying to find information related to Java installed on AIX.

Q: (version of client as string), (name of operating system as string)
A: 9.5.6.63, AIX 7.2

This will show all products:
(out is trimmed)

Q: products of object repository
A: EMC
A: GSKit8
A: ICU4C.rte
A: Java6.sdk
A: Java6_64.sdk
A: Java7_64.jre
A: Java7_64.sdk
A: Java8_64.docs
A: Java8_64.jclsource
A: Java8_64.jre
A: Java8_64.sampsource
A: Java8_64.sdk
A: LGE.tonic.aix


This shows True using contains “Java”
(lpp_name of it contains “Java” ) of filesets of products of object repository
A: False
A: False
A: True
A: True
A: True
A: True
A: True
A: True
A: True
A: True
A: True
A: True
A: True
A: True
A: True
A: False

For AIX, Any ideas how to show only the names which contain “Java”?

Linux it is very easy.
Q: (name of it & " " & version of it as string) of packages whose (name of it contains “java”) of rpm
A: java-1_7_1-ibm 1.7.1_sr3.0-1.1
A: java-1_7_1-ibm-plugin 1.7.1_sr3.0-1.1
A: java-1_7_1-ibm-alsa 1.7.1_sr3.0-1.1
A: java-1_7_1-ibm-jdbc 1.7.1_sr3.0-1.1

The Bigfiix 8,2 Inspector documentation indicates: *Returns the product whose LPP name exactly matches the string."

Any help is appreciated.

I’d try one of

Q: products whose (it as string starts with "Java") of object repository

Or

q: products whose (exists filesets whose (lpp_name of it contains "Java")) of object repository

1 Like

Hello Jason, thanks for prompt reply.
The first one shows the names, starts with “Java” or contains “Java” both work.
The second for version, does not work.

Q: products whose (it as string starts with “Java”) of object repository
A: Java6.sdk
A: Java6_64.sdk
A: Java7_64.jre
A: Java7_64.sdk
A: Java8_64.docs
A: Java8_64.jclsource
A: Java8_64.jre
A: Java8_64.sampsource
A: Java8_64.sdk

Q: products whose (exists filesets whose (lpp_name of it contains “Java”)) of object repository
E: The operator “filesets” is not defined.

Apologies, I’m typing this from my phone and can’t debug here.
I left off 'of it’s inside the whose clause. Please try

q: products whose (exists filesets whose (lpp_name of it contains "Java") of it) of object repository

In any case, did the first query meet your needs?

1 Like

Try:

q: names of products whose (name of it as lowercase contains "java") of object repository
q: titles of products whose (title of it as lowercase contains "java") of object repository
q: lpp_names of of filesets whose (lpp_name of it as lowercase contains “java” ) of products of object repository

You can see what other properties, beyond name, that an AIX Product has on this page:
https://developer.bigfix.com/relevance/reference/product.html

2 Likes

Only the first works and gives the names only.
The link is for version 8, i’ve been reviewing it for but its not clear.

Would like to get the versions and any other info, for any product with Java in the object repository. Where its seems difficult is combining the fileset properties with the object repository properties.

Here is the AIX command, i would use.

lslpp -l |grep “Java”

Java5.sdk 5.0.0.620 COMMITTED Java SDK 32-bit
Java5_64.sdk 5.0.0.620 COMMITTED Java SDK 64-bit
Java6.sdk 6.0.0.655 COMMITTED Java SDK 32-bit
SYMCnbjava 7.6.0.1 COMMITTED NetBackup Java Console Fileset
SYMCnbjre 7.6.0.1 COMMITTED NetBackup Java JRE Fileset
Java GUI & WEB Client
Java5.sdk 5.0.0.620 COMMITTED Java SDK 32-bit
Java5_64.sdk 5.0.0.620 COMMITTED Java SDK 64-bit
Java6.sdk 6.0.0.655 COMMITTED Java SDK 32-bit
SYMCnbjava 7.6.0.1 COMMITTED NetBackup Java Console File

products whose (exists filesets whose (lpp_name of it contains “Java”) of it) of object repository
Only shows names still.

The link for developer.bigfix.com shows the version of BES in which the inspector was added/updated. So where brolly33 referenced https://developer.bigfix.com/relevance/reference/product.html, the “8.0.584.0 AIX, HP-UX” indicates that the "product’ inspector was added in version 8.0.584 but the documentation still applies to the current BES versions.

products whose (exists filesets whose (lpp_name of it contains “Java”) of it) of object repository

Checking the link, most of the properties of ‘product’ were removed in version 9.5.0, leaving only ‘name’ and ‘fileset’. Many of the properties you seek appear to be part of the ‘fileset’ object at https://developer.bigfix.com/relevance/reference/fileset.html

So, there are a lot of fileset properties you may retrieve. Try some of

(description of it, lpp_name of it, state of it, updates of it, version of it, version record of it) of filesets of products whose (exists filesets whose (lpp_name of it contains "Java") of it) of object repository

2 Likes

Here is what I get, and can use these results.

Q: (lpp_name of it, state of it, updates of it, version of it) of filesets of products whose (exists filesets whose (lpp_name of it contains “Java” or lpp_name of it contains “java” ) of it) of object repository as string
A: Java5.sdk, COMMITTED, 0, 5.0.0.591
A: Java5.sdk, COMMITTED, 1, 5.0.0.600
A: Java5.sdk, COMMITTED, 1, 5.0.0.615
A: Java5.sdk, COMMITTED, 1, 5.0.0.620
A: Java5_64.sdk, COMMITTED, 0, 5.0.0.620
A: Java6.sdk, COMMITTED, 0, 6.0.0.655
A: SYMCnbjava, COMMITTED, 0, 7.6.0.1

Using this for analysis is working.

Q: if (not exists filesets of products whose (exists filesets whose (lpp_name of it contains “Java” or lpp_name of it contains “java”) of it) of object repository) then (“no Java filesets in object repository”) else (lpp_name of it, state of it, updates of it, version of it) of filesets of products whose (exists filesets whose (lpp_name of it contains “Java” or lpp_name of it contains “java”) of it) of object repository as string
A: Java5.sdk, COMMITTED, 0, 5.0.0.591
A: Java5.sdk, COMMITTED, 1, 5.0.0.600
A: Java5.sdk, COMMITTED, 1, 5.0.0.615
A: Java5.sdk, COMMITTED, 1, 5.0.0.620
A: Java5_64.sdk, COMMITTED, 0, 5.0.0.620
A: Java6.sdk, COMMITTED, 0, 6.0.0.655
A: SYMCnbjava, COMMITTED, 0, 7.6.0.1

May refine further.

Thanks very much for the help.

Glad we were able to help!
To simplify matches for mixed-case such as this, it’s often helpful to cast the string “as lowercase” (or “as uppercase”, either way works). This comparison could be simplified to

(exists filesets whose (lpp_name of it as lowercase contains “java”) of it)

1 Like

Glad the community could help! Suggested refinement - you can use the pipe character as a simple if/then/else.

Try:
(((it as string) of(lpp_name of it|"MissingLPPName", state of it|"missingState", updates of it"MissingUpdate", version of it as string|"MissingVersion"))|("no Java filesets in object repository")) of filesets of products whose (exists filesets whose (lpp_name of it as lowercase contains "java") of it) of object repository as string

3 Likes


I’ve incorporated “as lowercase” and included and as i’ve been asked to only show java+jre.
This works nice.
Will be able to use this for any lpp’s and proceses.

Really good examples of how to use the inspectors

Q: if (not exists filesets of products whose (exists filesets whose (lpp_name of it as lowercase contains “java” and lpp_name of it as lowercase contains “jre”) of it) of object repository) then (“no Java filesets in object repository”) else ((lpp_names of it, versions of it) of filesets of products whose (exists filesets whose (lpp_name of it as lowercase contains “java” and lpp_name of it as lowercase contains “jre”) of it) of object repository as string)
A: Java7_64.jre, 7.0.0.610
A: Java7_64.jre, 7.0.0.625
A: Java8_64.jre, 8.0.0.410
A: Java8_64.jre, 8.0.0.516

Thanks for all the help.
,

1 Like

This gives a E: “It” used outside of “whose” clause.

Just getting good with the if/then/else syntax will try this method.

Thanks for help.

ok, I might have misplaced a paren. I don’t have an AIX test box handy, so I am free-handing this.
try:
(((it as string) of ((lpp_name of it) |"MissingLPPName" , (state of it) |"missingState" , (updates of it) |("MissingUpdate") , (version of it as string) |"MissingVersion")) |("no Java filesets in object repository")) of filesets of products whose (exists filesets whose (lpp_name of it as lowercase contains "java") of it) of object

I’m just getting a little bit stuck by using simalar in webreports. Getting filesets is no problem but version and filter for java doesn’t work.

<?Relevance ( name of computer of it, values of it) of results from (bes computers whose (operating system of it as lowercase starts with "aix")) of (bes properties whose (name of it = "Fileset Name")) ?>

@matthias.wulkow it looks like you might be hitting the difference between Session Relevance (runs in Web Reports. BigFix console, Dashboards) and Client Relevance (runs on the BigFix agent)

The relevance we are discussing in this thread was to run on the Client, inside of a BigFix Analysis or BigFix Property.

Once the results are calculated by the BigFix client, it gets reported upstream to the BigFix server and then becomes available for viewing via BigFix Web Reports, BigFix console and WebUI by filtering on the results of BES Property

Try:

<?Relevance ( name of computer of it, values of it) whose (item 1 of it as lowercase contains "java" AND item 1 of it as lowercase contains "7.0.0.625") of results from (bes computers whose (operating system of it as lowercase starts with "aix")) of (bes properties whose (name of it = "Fileset Name")) ?>

Thanks for reply. Yes, I’m aware of the difference between client and session relevance. Unfortunately, even after some time working with bigfix, building session relevance is not an easy task for me.

It seems like the property “fileset name” only includes surprise the name, not the version. Your example led me to:

<?Relevance ( name of computer of it, values of it) whose (item 1 of it as lowercase contains "java") of results from (bes computers whose (operating system of it as lowercase starts with "aix")) of (bes properties whose (name of it contains "Fileset Name")) ?>

or

<?Relevance ( name of computer of it, values of it) whose (item 1 of it as lowercase contains "java") of results from (bes computers whose (operating system of it as lowercase starts with "aix")) of (bes properties whose (name of it contains "Fileset")) ?>