HOWTO: Use SUMA to Download AIX Updates PDF Print E-mail
User Rating: / 17
PoorBest 
Written by Michael Felt   

IBM has changed it's website - I suspect to be more aligned with the policy of using technology levels as the basis of updates. And, maybe even to promote SUMA as the method for managing updates.

Right now, I miss the old interface - but as I get more accustomed to using SUMA top automate the process I may be glad IBM gave me a reason to look into using SUMA after all.

Right now, I am only worrying about a simple situation of maintaining only one software level (AIX 5.3) and not managing several levels. So read more if you are interested in automating the download process of AIX software updates.

The fisrt step to using SUMA is to make sure you have a location where you will store the downloads. I created a logical volume - 4G large, and mounted it at /data/suma

Step 1: Create Storage area
    mkvg -y lvSuma -c 2 -t jfs2 vgData 4G
    crfs -v jfs2 -A yes -m /data/suma -d lvSuma
    mount /data/suma

Step 2: Setup suma (as root)
    smit suma
    There are several settings you may want to change - for example, the default directory from /usr/sys/inst.images to /data/suma. But for the most part, you can start by leaving the defaults as they are.


 

                      Configure SUMA


Move cursor to desired item and press Enter.

  Base Configuration
  Task Defaults
  Saved Email Addresses


            View/Change SUMA Task Defaults

Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                         [Entry Fields]
  Action                          [Download]    +
  Directory for item storage      [/data/suma]
  Type of item to request         [Critical]    +
  Name of item to request         []
  Level of item to request        []
  Get prerequisites/corequisites? yes           +
  Get ifrequisites?               yes           +
  Get superseding items           yes           +
  Get items which fix regressions?[If Available]+
  Repository to filter against    []
  Maintenance or Technology Level []            +
  System or lslpp output to filter[localhost]
  Maximum total download size (MB)[-1]         +#
  EXTEND file systems if space needed? no       +
  Maximum file system size (MB)   [-1]         +#
  Notify email address            [root]        +

 

 


The next step is to start your downloads. My experience is that it doesnt really matter too much what you do - your downloads are going to be a lot. Perhaps the most likely request is to download the current technology level using All latest files. Or you might only download the critical files. I downloaded my current technology level, and afterwards a smitty update_all to verify that I had it all up to date.

 

However, I had a slight puzzle. How can I request the next technology level if SUMA does not know about the next technology level. The 'trick' is to download the fileset bos.rte.install at Latest level. 


 

An example

After using my trick above to get the next technology level downloaded (5.3 TL07) I did a smitty update_all - and was surprised by a failure notice (I had already installed bos.rte.install from the command line, so that wasn not the cause of smit's idea of a 'failure' (non-zero exit).

Instead, it was a problem with the xlC run-time environment. 

Requisite Failures 
------------------ 
SELECTED FILESETS:  The following is a list of filesets that you asked to install. They cannot be installed until all of their requisite filesets are also installed. See subsequent lists for details of requisites.
   
    xlC.aix50.rte 9.0.0.1      # XL C/C++ Runtime for AIX 5.2
    xlC.cpp 9.0.0.0            # C for AIX Preprocessor
    xlC.msg.en_US.cpp 9.0.0.0  # C for AIX Preprocessor Messa...
    xlC.msg.en_US.rte 9.0.0.1  # XL C/C++ Runtime Messages--U...
    xlC.rte 9.0.0.1            # XL C/C++ Runtime
 
  MISSING REQUISITES:  The following filesets are required by one or more
  of the selected filesets listed above.  They are not currently installed
  and could not be found on the installation media.
   
    xlC.aix50.rte 9.0.0.0      # Base Level Fileset
    xlC.msg.en_US.rte 9.0.0.0  # Base Level Fileset
    xlC.rte 9.0.0.0            # Base Level Fileset
    xlC.rte 8.0.9998.0         # Base Level Fileset
 
  << End of Failure Section >>


Using SUMA I choose to download a fileset:
            Download by Fileset Name

Type or select values in entry fields.      
Press Enter AFTER making all desired changes.

                                  [Entry Fields]
* Fileset name                [xlC.aix50.rte]         +
  Fileset level               [9.0.0.0]


And SUMA supplied all the files I needed!

Download SUCCEEDED: /data/suma/installp/ppc/xlC.msg.en_US.rte.9.0.0.0.bff
Download SUCCEEDED: /data/suma/installp/ppc/xlC.msg.ja_JP.rte.9.0.0.0.bff
Download SUCCEEDED: /data/suma/installp/ppc/xlC.msg.Ja_JP.rte.9.0.0.0.bff
Download SUCCEEDED: /data/suma/installp/ppc/xlC.rte.9.0.0.0.bff
Download SUCCEEDED: /data/suma/installp/ppc/xlC.aix50.rte.9.0.0.0.bff
Summary:
        5 downloaded
        0 failed
        492 skipped
       
[BOTTOM]

 
< Prev   Next >
77 queries executed
1
SET sql_mode = 'MYSQL40'
2 SELECT folder, element, published, params FROM jos_mambots WHERE published >= 1 AND access <= 0 AND folder = 'system' ORDER BY ordering
3 SELECT template FROM jos_templates_menu WHERE client_id = 0 AND ( menuid = 0 OR menuid = 193 ) ORDER BY menuid DESC LIMIT 1
4 DELETE FROM jos_session WHERE ( ( time < '1548314842' ) AND guest = 0 AND gid > 0 ) OR ( ( time < '1548314842' ) AND guest = 1 AND userid = 0 )
5 SELECT COUNT(*) FROM jos_stats_agents WHERE agent = 'Unknown' AND type = 0
6 UPDATE jos_stats_agents SET hits = ( hits + 1 ) WHERE agent = 'Unknown' AND type = 0
7 SELECT COUNT(*) FROM jos_stats_agents WHERE agent = 'Unknown' AND type = 1
8 UPDATE jos_stats_agents SET hits = ( hits + 1 ) WHERE agent = 'Unknown' AND type = 1
9 SELECT COUNT(*) FROM jos_stats_agents WHERE agent = 'com' AND type = 2
10 UPDATE jos_stats_agents SET hits = ( hits + 1 ) WHERE agent = 'com' AND type = 2
11 SELECT * FROM jos_menu WHERE id = 193
12 SELECT a.*, u.name AS author, u.usertype, cc.name AS category, s.name AS section, g.name AS groups, s.published AS sec_pub, cc.published AS cat_pub, s.access AS sec_access, cc.access AS cat_access, s.id AS sec_id, cc.id as cat_id FROM jos_content AS a LEFT JOIN jos_categories AS cc ON cc.id = a.catid LEFT JOIN jos_sections AS s ON s.id = cc.section AND s.scope = 'content' LEFT JOIN jos_users AS u ON u.id = a.created_by LEFT JOIN jos_groups AS g ON a.access = g.id WHERE a.id = 209 AND ( a.state = 1 OR a.state = -1 ) AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2019-01-24 08:42' ) AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2019-01-24 08:42' ) AND a.access <= 0
13 SELECT a.id FROM jos_content AS a WHERE a.catid = 19 AND a.state = 1 AND a.access <= 0 AND ( a.state = 1 OR a.state = -1 ) AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2019-01-24 08:42' ) AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2019-01-24 08:42' ) ORDER BY a.ordering
14 SELECT ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count FROM jos_content AS a LEFT JOIN jos_content_rating AS v ON a.id = v.content_id WHERE a.id = 209
15 UPDATE jos_content SET hits = ( hits + 1 ) WHERE id = '209'
16 SELECT hits FROM jos_core_log_items WHERE time_stamp = '2019-01-24' AND item_table = '#__content' AND item_id = '209'
17 UPDATE jos_core_log_items SET hits = ( hits + 1 ) WHERE time_stamp = '2019-01-24' AND item_table = '#__content' AND item_id = '209'
18 SELECT folder, element, published, params FROM jos_mambots WHERE access <= 0 AND folder = 'content' ORDER BY ordering
19 SELECT value FROM jos_bookmarks_prefs WHERE userid = '-1' AND category = 'params' AND name = 'urlkey'
20 SELECT value FROM jos_bookmarks_prefs WHERE userid = '-1' AND category = 'params' AND name = 'snapshotactiv'
21 SELECT value FROM jos_bookmarks_prefs WHERE userid = '-1' AND category = 'params' AND name = 'snapshotother'
22 SELECT id FROM jos_mambots WHERE element = 'mosbookmarks' AND folder = 'content'
23 SELECT * FROM jos_mambots WHERE id = '32'
24 SELECT name, value FROM jos_bookmarks_prefs WHERE userid = '-1' AND category = 'params' ORDER BY name
25 SELECT c.id, c.parent FROM jos_bookmarks_categories as c WHERE c.id = -1
26 SELECT * FROM jos_bookmarks_columns WHERE category='' AND custom='0'
27 SELECT * FROM jos_bookmarks_columns WHERE category='' ORDER BY ordering
28 SELECT * FROM jos_bookmarks_columns WHERE category='admin'
29 SELECT * FROM jos_bookmarks_columns WHERE category='admin' ORDER BY ordering
30 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
31 SELECT * FROM jos_mambots WHERE id = '27'
32 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
33 SELECT * FROM jos_mambots WHERE id = '27'
34 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
35 SELECT * FROM jos_mambots WHERE id = '27'
36 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
37 SELECT * FROM jos_mambots WHERE id = '27'
38 SELECT a.* FROM jos_components AS a WHERE ( a.admin_menu_link = 'option=com_syndicate' OR a.admin_menu_link = 'option=com_syndicate&hidemainmenu=1' ) AND a.option = 'com_syndicate'
39 SELECT m.id FROM jos_modules AS m WHERE m.module = 'mod_rssfeed' AND m.published = 1
40 SELECT id, title, module, position, content, showtitle, params FROM jos_modules AS m INNER JOIN jos_modules_menu AS mm ON mm.moduleid = m.id WHERE m.published = 1 AND m.access <= 0 AND m.client_id != 1 AND ( mm.menuid = 0 OR mm.menuid = 193 ) ORDER BY ordering
41 SELECT a.id, a.introtext, a.fulltext , a.images, a.attribs, a.title, a.state FROM jos_content AS a INNER JOIN jos_categories AS cc ON cc.id = a.catid INNER JOIN jos_sections AS s ON s.id = a.sectionid WHERE a.state = 1 AND a.access <= 0 AND cc.access <= 0 AND s.access <= 0 AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2019-01-24 08:42' ) AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2019-01-24 08:42' ) AND a.catid = 44 AND cc.published = 1 AND s.published = 1 ORDER BY a.ordering LIMIT 15
42 SELECT id FROM jos_mambots WHERE element = 'mosbookmarks' AND folder = 'content'
43 SELECT * FROM jos_mambots WHERE id = '32'
44 SELECT name, value FROM jos_bookmarks_prefs WHERE userid = '-1' AND category = 'params' ORDER BY name
45 SELECT c.id, c.parent FROM jos_bookmarks_categories as c WHERE c.id = -1
46 SELECT * FROM jos_bookmarks_columns WHERE category='' AND custom='0'
47 SELECT * FROM jos_bookmarks_columns WHERE category='' ORDER BY ordering
48 SELECT * FROM jos_bookmarks_columns WHERE category='admin'
49 SELECT * FROM jos_bookmarks_columns WHERE category='admin' ORDER BY ordering
50 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
51 SELECT * FROM jos_mambots WHERE id = '27'
52 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
53 SELECT * FROM jos_mambots WHERE id = '27'
54 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
55 SELECT * FROM jos_mambots WHERE id = '27'
56 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
57 SELECT * FROM jos_mambots WHERE id = '27'
58 SELECT id FROM jos_menu WHERE link = 'index.php?option=com_search' AND published = 1
59 SELECT m.*, sum(case when p.published=1 then 1 else 0 end) as cnt FROM jos_menu AS m LEFT JOIN jos_menu AS p ON p.parent = m.id WHERE m.menutype='rt_splitSuckerFish' AND m.published='1' AND m.access <= '0' GROUP BY m.id ORDER BY m.parent, m.ordering
60 SELECT m.* FROM jos_menu AS m WHERE menutype='rt_splitSuckerFish' AND m.published='1'
61 SELECT * FROM jos_banner WHERE showBanner=1
62 SELECT id FROM jos_mambots WHERE element = 'mosbookmarks' AND folder = 'content'
63 SELECT * FROM jos_mambots WHERE id = '32'
64 SELECT name, value FROM jos_bookmarks_prefs WHERE userid = '-1' AND category = 'params' ORDER BY name
65 SELECT c.id, c.parent FROM jos_bookmarks_categories as c WHERE c.id = -1
66 SELECT * FROM jos_bookmarks_columns WHERE category='' AND custom='0'
67 SELECT * FROM jos_bookmarks_columns WHERE category='' ORDER BY ordering
68 SELECT * FROM jos_bookmarks_columns WHERE category='admin'
69 SELECT * FROM jos_bookmarks_columns WHERE category='admin' ORDER BY ordering
70 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
71 SELECT * FROM jos_mambots WHERE id = '27'
72 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
73 SELECT * FROM jos_mambots WHERE id = '27'
74 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
75 SELECT * FROM jos_mambots WHERE id = '27'
76 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
77 SELECT * FROM jos_mambots WHERE id = '27'