Thursday May 24, 2012

Overcoming Your Fear of Repositories

One of the best features of Oracle Solaris 11 is its software update model. As you have probably heard many times by now, the Image Packaging System (IPS) handles package dependencies automatically, so you no longer have to check them manually or create scripts that assemble the correct set of packages .

If you don't have a support contract, you have to wait until the next release of Oracle Solaris 11 to get the latest updates. But if you do have a support contract, you can keep your system updated with the latest security updates and bug fixes by downloading updates from the Oracle Support Repository. We recently published two articles that describe how, plus one more that shows you how to create multiple internal repositories.

How to Update Oracle Solaris 11 Systems from the Oracle Support Repository, by Glynn Foster

You may already know that you don't have to worry about manually tracking and validating patch dependencies when you update a version of Oracle Solaris 11. But did you also realize you can apply the updates to an alternate boot environment, and then schedule the switchover to happen automatically at a later time? Glynn Foster explains how, and how to make sure everything went well.

More Tips for Updating Oracle Solaris 11 Systems from the Oracle Support Repository, by Peter Dennis

The Oracle Support Repository contains bug fixes and critical security fixes that can be applied to existing Oracle Solaris 11 installations between major releases. The repository is updated monthly. Peter Dennis describes how to access those updates and apply them to your systems.

How to Create Multiple Internal Repositories for Oracle Solaris 11, by Albert White

Even though you may get all your software updates to Oracle Solaris 11 from an external repository, you may still want to create different internal repositories to serve different versions of Oracle Solaris 11 to different types of systems. Albert White shows you how to create and manage internal repositories for release, development, and support versions of Solaris 11.

There's plenty more where these came from. Be sure to bookmark our Installation Spotlight page, maintained by the kind and prolific folks who bring you Oracle Solaris 11.

About the picture ...
Laird Hamilton is a god.
Teahupoo is a killer wave.
Laird owned it.
Be like Laird.

- Rick

Website Newsletter Facebook Twitter

Friday Mar 23, 2012

How to subscribe to the free Oracle Linux errata yum repositories

Now that updates and errata for Oracle Linux are available for free (both as in beer and freedom), here's a quick HOWTO on how to subscribe your Oracle Linux system to the newly added yum repositories on our public yum server, assuming that you just installed Oracle Linux from scratch, e.g. by using the installation media (ISO images) available from the Oracle Software Delivery Cloud

You need to download the appropriate yum repository configuration file from the public yum server and install it in the yum repository directory. For Oracle Linux 6, the process would look as follows: as the root user, run the following command:

[root@oraclelinux62 ~]# wget \
-P /etc/yum.repos.d/
--2012-03-23 00:18:25--
Connecting to||:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1461 (1.4K) [text/plain]
Saving to: “/etc/yum.repos.d/public-yum-ol6.repo”

100%[=================================================>] 1,461       --.-K/s   in 0s      

2012-03-23 00:18:26 (37.1 MB/s) - “/etc/yum.repos.d/public-yum-ol6.repo” saved [1461/1461]
For Oracle Linux 5, the file name would be public-yum-ol5.repo in the URL above instead. The "_latest" repositories that contain the errata packages are already enabled by default — you can simply pull in all available updates by running "yum update" next:
[root@oraclelinux62 ~]# yum update
Loaded plugins: refresh-packagekit, security
ol6_latest                                                    | 1.1 kB     00:00     
ol6_latest/primary                                            |  15 MB     00:42     
ol6_latest                                                               14643/14643
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package at.x86_64 0:3.1.10-43.el6 will be updated
---> Package at.x86_64 0:3.1.10-43.el6_2.1 will be an update
---> Package autofs.x86_64 1:5.0.5-39.el6 will be updated
---> Package autofs.x86_64 1:5.0.5-39.el6_2.1 will be an update
---> Package bind-libs.x86_64 32:9.7.3-8.P3.el6 will be updated
---> Package bind-libs.x86_64 32:9.7.3-8.P3.el6_2.2 will be an update
---> Package bind-utils.x86_64 32:9.7.3-8.P3.el6 will be updated
---> Package bind-utils.x86_64 32:9.7.3-8.P3.el6_2.2 will be an update
---> Package cvs.x86_64 0:1.11.23-11.el6_0.1 will be updated
---> Package cvs.x86_64 0:1.11.23-11.el6_2.1 will be an update


---> Package yum.noarch 0:3.2.29-22.0.1.el6 will be updated
---> Package yum.noarch 0:3.2.29-22.0.2.el6_2.2 will be an update
---> Package yum-plugin-security.noarch 0:1.1.30-10.el6 will be updated
---> Package yum-plugin-security.noarch 0:1.1.30-10.0.1.el6 will be an update
---> Package yum-utils.noarch 0:1.1.30-10.el6 will be updated
---> Package yum-utils.noarch 0:1.1.30-10.0.1.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

 Package                     Arch    Version                       Repository   Size
 kernel                      x86_64  2.6.32-220.7.1.el6            ol6_latest   24 M
 kernel-uek                  x86_64  2.6.32-300.11.1.el6uek        ol6_latest   21 M
 kernel-uek-devel            x86_64  2.6.32-300.11.1.el6uek        ol6_latest  6.3 M
 at                          x86_64  3.1.10-43.el6_2.1             ol6_latest   60 k
 autofs                      x86_64  1:5.0.5-39.el6_2.1            ol6_latest  470 k
 bind-libs                   x86_64  32:9.7.3-8.P3.el6_2.2         ol6_latest  839 k
 bind-utils                  x86_64  32:9.7.3-8.P3.el6_2.2         ol6_latest  178 k
 cvs                         x86_64  1.11.23-11.el6_2.1            ol6_latest  711 k


 xulrunner                   x86_64  10.0.3-1.0.1.el6_2            ol6_latest   12 M
 yelp                        x86_64  2.28.1-13.el6_2               ol6_latest  778 k
 yum                         noarch  3.2.29-22.0.2.el6_2.2         ol6_latest  987 k
 yum-plugin-security         noarch  1.1.30-10.0.1.el6             ol6_latest   36 k
 yum-utils                   noarch  1.1.30-10.0.1.el6             ol6_latest   94 k

Transaction Summary
Install       3 Package(s)
Upgrade      96 Package(s)

Total download size: 173 M
Is this ok [y/N]: y
Downloading Packages:
(1/99): at-3.1.10-43.el6_2.1.x86_64.rpm                       |  60 kB     00:00     
(2/99): autofs-5.0.5-39.el6_2.1.x86_64.rpm                    | 470 kB     00:01     
(3/99): bind-libs-9.7.3-8.P3.el6_2.2.x86_64.rpm               | 839 kB     00:02     
(4/99): bind-utils-9.7.3-8.P3.el6_2.2.x86_64.rpm              | 178 kB     00:00     


(96/99): yelp-2.28.1-13.el6_2.x86_64.rpm                      | 778 kB     00:02     
(97/99): yum-3.2.29-22.0.2.el6_2.2.noarch.rpm                 | 987 kB     00:03     
(98/99): yum-plugin-security-1.1.30-10.0.1.el6.noarch.rpm     |  36 kB     00:00     
(99/99): yum-utils-1.1.30-10.0.1.el6.noarch.rpm               |  94 kB     00:00     
Total                                                306 kB/s | 173 MB     09:38     
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Retrieving key from
Importing GPG key 0xEC551F03:
 Userid: "Oracle OSS group (Open Source Software group) "
 From  :
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : yum-3.2.29-22.0.2.el6_2.2.noarch                                1/195 
  Updating   : xorg-x11-server-common-1.10.4-6.el6_2.3.x86_64                  2/195 
  Updating   : kernel-uek-headers-2.6.32-300.11.1.el6uek.x86_64                3/195 
  Updating   : 12:dhcp-common-4.1.1-25.P1.el6_2.1.x86_64                       4/195 
  Updating   : tzdata-java-2011n-2.el6.noarch                                  5/195 
  Updating   : tzdata-2011n-2.el6.noarch                                       6/195 
  Updating   : glibc-common-2.12-1.47.el6_2.9.x86_64                           7/195 
  Updating   : glibc-2.12-1.47.el6_2.9.x86_64                                  8/195 


  Cleanup    : kernel-firmware-2.6.32-220.el6.noarch                         191/195 
  Cleanup    : kernel-uek-firmware-2.6.32-300.3.1.el6uek.noarch              192/195 
  Cleanup    : glibc-common-2.12-1.47.el6.x86_64                             193/195 
  Cleanup    : glibc-2.12-1.47.el6.x86_64                                    194/195 
  Cleanup    : tzdata-2011l-4.el6.noarch                                     195/195 

  kernel.x86_64 0:2.6.32-220.7.1.el6                                                 
  kernel-uek.x86_64 0:2.6.32-300.11.1.el6uek                                         
  kernel-uek-devel.x86_64 0:2.6.32-300.11.1.el6uek                                   

  at.x86_64 0:3.1.10-43.el6_2.1                                                      
  autofs.x86_64 1:5.0.5-39.el6_2.1                                                   
  bind-libs.x86_64 32:9.7.3-8.P3.el6_2.2                                             
  bind-utils.x86_64 32:9.7.3-8.P3.el6_2.2                                            
  cvs.x86_64 0:1.11.23-11.el6_2.1                                                    
  dhclient.x86_64 12:4.1.1-25.P1.el6_2.1                                             


  xorg-x11-server-common.x86_64 0:1.10.4-6.el6_2.3                                   
  xulrunner.x86_64 0:10.0.3-1.0.1.el6_2                                              
  yelp.x86_64 0:2.28.1-13.el6_2                                                      
  yum.noarch 0:3.2.29-22.0.2.el6_2.2                                                 
  yum-plugin-security.noarch 0:1.1.30-10.0.1.el6                                     
  yum-utils.noarch 0:1.1.30-10.0.1.el6                                               


At this point, your system is fully up to date. As the kernel was updated as well, a reboot is the recommended next action.

If you want to install the latest release of the Unbreakable Enterprise Kernel Release 2 as well, you need to edit the .repo file and enable the respective yum repository (e.g. "ol6_UEK_latest" for Oracle Linux 6 and "ol5_UEK_latest" for Oracle Linux 5) manually, by setting enabled to "1". The next yum update run will download and install the second release of the Unbreakable Enterprise Kernel, which will be enabled after the next reboot.






Monday Feb 13, 2012

OMG! What Did I Just Install?

Quick Quiz:

Q: What's in this Solaris 10 package: SUNWlibstdcxx4S?
A: You cheated. You googled it and found the link to the Oracle Solaris 10 documentation.

You're in luck, because each release of the Solaris 10 documentation contains a Package List for that release. For example:

Now try this:

Q: What's in this Solaris 11 package: compress/p7zip?
A: buzzer!

The Solaris 11 documentation does not include a package list. You can find mentions of some packages through google, but it's hit and miss. And you still don't get the rest of the info about the package that the Solaris 10 documentation included. So how do you find out what Solaris 11 packages you just installed? Here are two methods.

The pkg list Command

The pkg list command lists all the packages currently installed on your system. If you use it, redirect the output to a file so your screen doesn't wind up looking like a scene out of The Matrix. Since package naming is hierarchical, you are likely to find similar packages grouped together in the list. For example:

$ pkg list

You can just list a subset of the packages you are interested in:

$ pkg list driver/network/ethernet/*

By the way, to list all packages that are available for you to install, add -a to the pkg-list command. This example asks for the name of all the packages you can install in the editor group:

$ pkg list -a editor/*

One you have a list of the packages, you can use one of the commands below to get additional info about each package.

The pkg info and pkginfo Commands

The pkg info command provides detailed information about a particular IPS package. For example:
$ pkg info p7zip
          Name: compress/p7zip
       Summary: The p7zip compression and archiving utility
   Description: P7zip is a unix port of the 7-Zip utility.  It has support for
                numerous compression algorithms, including LZMA and LZMA2, as
                well as for various archive and compression file formats,
                including 7z, xz, bzip2, gzip, tar, zip (read-write) and cab,
                cpio, deb, lzh, rar, and rpm (read-only).
      Category: System/Core
         State: Installed
     Publisher: solaris
       Version: 9.20.1
 Build Release: 5.11
Packaging Date: Wed Oct 19 09:13:22 2011
          Size: 6.73 MB
          FMRI: pkg://solaris/compress/p7zip@9.20.1,5.11- 

Here's another example:

$ pkg info -r solaris-large-server
          Name: group/system/solaris-large-server
       Summary: Oracle Solaris Large Server
   Description: Provides an Oracle Solaris large server environment
      Category: Meta Packages/Group Packages
         State: Not installed
     Publisher: solaris
       Version: 0.5.11
 Build Release: 5.11
Packaging Date: Mon Feb 06 22:33:56 2012
          Size: 5.45 kB
          FMRI: pkg://solaris/group/system/solaris-large-server@0.5.11,5.11-

The pkginfo command does the same for any SVR4 packages you may have installed on the same system.

For More Information

- Rick Ramsey with Alta Elstad






Rick Ramsey
Kemer Thomson
and members of the OTN community


« April 2014
Blogs We Like