Using Inst

    Inst is the command-line tool for installing and removing software from an SGI.  There is a graphical version, Software Manager, that is much easier to use and highly recommended.  It can be used in place of inst on graphical systems, or non-graphical systems over the network; however it can never be used to do mini-root installations.  The title of this page is inst, because Software Manager is really a graphical front-end to inst, and not a separate program.  This is the beginning page for the section installing software, because SGI's software comes with your system, and it's also the most important to understand.  Many public-domain programs that formerly had to be compiled by the sysadmin are now available on SGI's freeware site in inst format.



What is inst, and why?
    Software installation on UNIX systems is often a tedious process, and very difficult to understand and interface with.  For the many times an admin would want to install or remove a piece of software, it requires thinking the way the computer did about the software, not the way the software user or even engineer would think about it.  That's why tools such as inst and others like it on other UNIX systems came into being.  This isn't to say that the software installation process is now a snap.  Au contraire!  Sometimes, it is even more complicated!  Rest assured, I will do my best to inform you of what to watch out for so these should be reduced to a minimum.

    Inst is a text-based menu program that allows the superuser to install and remove software on an SGI.  It also provides commands for doing tasks necessary for the installation, such as opening a shell, mounting a filesystem, etc.  (For full details on inst, see the SGI book, Software Installation and Licensing. )  Inst installs/removes an entity called the software package which is a couple of specially formatted files containing programs, man pages, libraries and other necessary files for a piece of software.  All software from SGI comes in the inst format.  SGI doesn't reserve the inst format to itself, though.  Some companies produce SGI software in this format and there is a tool that an ordinary user can use to make software into this format(although it isn't the easiest thing to do!)  Here are some examples of using inst and a rough breakdown of inst to help you use it in most situations.  Inst is a complicated program, so I can't tell you everything here.  "man inst" is a quick way to find out more.
 


The basics of Inst
    You invoke inst by entering "inst" on the command line as root.  You can start Software Manager from a graphical system or a non-graphical system if you're logged in through a graphical SGI by selecting "Software Manager" from the "Toolchest -> System" sub-menu.  You can also do this by entering "swmgr" at the command prompt.  You should now be at the menu in inst or the graphical interface in Software Manager.  Here is an example of a simple software installation using both inst and Software Manager.  If you're using Software Manager, read through the section on inst to get a feel for the concepts, as they remain basically the same in Software Manager.  The software we're going to install is on the SGI Freeware 8/99 CD-ROM and the inst used is version is v3.7.  I put the CD-ROM in the CD-drive of the SGI before beginning.  From reading the release notes on the CD, I'm interested in installing a product called "agrep" a grep-like utility.  It also tells me the software package's inst-product name is "fw_agrep".  The package resides in /CDROM/dist.

Using Inst

%inst
Inst> from
Previous installation sites:

 1 /os/6.5/6.5.5/overlays1/dist
 2 guest@b.chem:/CDROM/dist
 
Install software from: [/os/6.5/6.5.5/overlays1/dist] /CDROM/dist
Reading product descriptions ..  13%
Reading /var/inst/hist
Reading product descriptions ..  25%
Setting distribution to /CDROM/dist
Reading product descriptions ..  74%
WARNING: Unknown config type "ignore" at line 1 of fw_xntp.idb
Reading product descriptions .. 100% Done.
Inst> keep *
Inst> install fw_agrep
    The messages after "/CDROM/dist" above shows that inst is reading my system's software installation history( inst keeps track of what it installs and removes in a database) and then reads information on the software product fw_agrep.  I entered "keep *" because I didn't want to install the default product list for the whole freeware CD, just this agrep product.  With most CD's there is a default listing of software products on the CD that are selected automatically for installation.  "keep" removes any actions(install or remove) that were set for a software product.  The argument after keep tells inst what product to apply the keep to.  In this case, "*" means everything.  It's easier to do this for everything and then I will explicitly tell it what to install in the next step.    "install fw_agrep" tells inst to put an install order on the fw_agrep package.  Nothing will be installed or removed just yet.  Inst is just like an order form you're filling out for something.  Checking that you want something on an order form will not immediately produce the item, you need fill out all the items and have a clerk check to make sure your order is possible and make sure you can afford it by asking for the money before it is submitted to be produced.  Inst very closely resembles this same process!  Instead of adequate money it checks for disk space, and checks to make sure either you already have all the pre-requisite software installed or that the prerequisite software is going to be installed simultaneously before it proceeds.  To make sure everything looks right, I'm going to see what fw_agrep is comprised of and whether I have enough space to install it.
Inst> list fw_agrep
  View:      distribution
  Status:    N=new, U=upgrade, S=same, D=downgrade
  Stream:    feature
  Selection: i=install, r=remove, k=keep

  Subsystem Types [bdrpoc]:  b=reBoot needed, d=Default, r=Required, p=patch,
             o=overlay, c=Client only

 i S  fw_agrep.man.agrep [d]             0   agrep-2.04 man pages
 i S  fw_agrep.man.relnotes [d]          0   agrep-2.04 Release Notes
 i N  fw_agrep.src.agrep                44+  agrep-2.04 original source code
 i S  fw_agrep.sw.agrep [d]              0   agrep-2.04 execution only env

Disk space summary (Kbytes):            /     

Current free space                1258452    
- Selections net change                60+   
- Temporary inst overhead            2704+    
= Minimum free during install     1255688
Final projected free space        1258392
    This report looks cryptic, so let me explain what it says.  The first few lines tell me what the codes used in the four middle lines mean.  The four middle lines tell me about the product to be installed, and the last several lines are the disk space accounting.   Don't worry about understanding all the codes now.  First, there are four middle lines which tell me there are a number of sub-systems to fw_agrep that are going to be installed.  Inst software is usually broken up like this into sub-systems comprised of three fields separated by periods.  The first field here is the same as the product name; in the second field, there are three different codes, "sw" for software, "man" for documentation, and "src" for the original source code.  The third field usually tells us something else.  In this case, it's that the second sub-system is release notes.  This is important because it tells me that after installation I can expect to find information on agrep in the system documentation, both man pages and release notes.  What are the other fields in the row?

    The first letter field can either be an "i", "r" or blank.  An "i" means the product on this line will be installed on this "order", the "r" means the product will be removed.  No letter means "do nothing with respect to this sub-system or product".  The "keep" command described earlier gets rid of any i or r.  In the second field, N means "New Product" and S means "Same product" with respect to what is currently installed on the system.  In the next field "[d]" in brackets means that this is considered a default part of the CD and is set to be installed when loading the software distribution.  The next two fields describe the change in kilobytes to the system disk storage this action will effect and then a text description of the sub-system.  Finally, the net disk usage for this install is accounted for, as well as, any overhead needed.

    I'm going to check to see if installing this software will cause a problem with any software I already installed now and whether I am mising any pre-requisite software needed for this product(either already installed or on this distribution or "order form".)
 

Inst> conflicts
No conflicts
This is very good.  I am not missing anything.  If I were, it would give me a menu of possible actions, such as load another distribution to get the pre-requisite product; remove an old product which is in the way; I've changed my mind, don't install this sub-system after all, etc.  Dealing with a lot of conflicts can be tricky and is an advanced sysadminning discussion.  I'm ready to submit my order now.  I'll enter "go" to start the software installation process.
Inst> go
    Inst will output messages as to the progress of the installation, and when it's done, it will return me to an inst prompt, where I'll quit.
Inst installations can take a short amount of time or long amount, depending on how much your installing and how fast your system is.
Inst> quit
    Inst will probably return me to a command prompt.  In a lot of cases, the new software has made changes to important parts of the system and this needs to be dealt with to give the system internal consistency.  In this case, inst will arrange for the system to re-read certain files and do other housekeeping to integrate this software change with the current operating system code running.  This can sometimes take a while, so don't get worried if it's making progress but taking a LONG time.  C'est la vie!

    This was a simple example of how to install a small product.  Once you understand this, you'll be on the way to doing bigger things with inst.  Just to be complete, let's consider what I would have done if fw_agrep were already installed and I wanted to remove it.  In the first part of the example, I would have not loaded the software distribution.  I probably would have used a program called "showprods" before starting inst to look for the software product name for Freeware agrep.  Once I started inst, I would have skipped the "keep * "step and entered:
 

Inst> remove fw_agrep
and continued with the same steps to the end, although they would have done for removing.

Using Software Manager
Using software manager is easier to interface with and takes fewer steps, although the process underneath remains the same.  You should be able to guess the meaning of the components in the window.  Take a few minutes to look at the menus and options.  Here are the directions.
 

  1. Start Software Manager
  2. Under "File" select "Open distribution" and enter "/CDROM/dist" in the input window that pops up.
  3. Once the software descriptions are loaded, go to menu "Selected" and select "Unmark All."
  4. Go to the window with the software products listed.  Find "GNU agrep" or fw_agrep and click the check button at the beginning of the first row.
  5. The screen will automatically tell you the change in space for each filesystem on your system and whether there are any conflicts.
  6. If it doesn't require too much space as indicated in the pie-chart,  and there are no conflicts, then you're ready to install.
  7. Click "Start"; you'll see the progress of the installation and it will prompt you when done what you'd like to do
  8. Choose quit when prompted to do so.

 Back to table of contents

last updated 2/28/00 by Martin McCormick, martinm@sas.upenn.edu