Repositories/repos
The new
pkg
style is primarily network-based, rather than file-based.
While it has recently become possible to transfer a single .p5i
package via the file transport mechanism of your choice, you lose the automatic upgrade capability of IPS. For that, it requires a
repository to be running somewhere (commonly referred to as a repo). That said, it is certainly possible to have a copy of the full Solaris repository on your own machine.
A point of interest is that the new pkg
system is differential-based in an attempt to be network efficient. If you have an older version of a package, and if you request that a new version be installed, it will only pull the newer files from the repository server, rather than the entire package.
Note
The good news (or bad news) is that the default repo is provided by Oracle itself at oracle.com. It is a highly robust and high-bandwidth public server. Because of this, it is no longer strictly required to have a fully up-to-date local repository for network installs. You can get by with a small bootstrap image somewhere.
It is important to note that Oracle most likely logs access to its repo, so you should probably not be updating a score of machines from it unless you are confident of your licensing status.
It is possible to have a locally running repository server if you wish. Oracle provides a Repository
Image download in the same place where it provides regular ISO image downloads for Solaris 11. If you do decide to run a repository yourself, the standard Service Management Facility (SMF) name for the IPS-specific service is svc:/application/pkg/system-repository
. More details on how to do this is given in the Creating your own IPS repository and packages section in this chapter.
It is also possible to serve a local repository out using
NFS and using file:///
style URLs to access it. However, Oracle recommends using the custom server at this time.
Repository URIs, also known as origins
A Solaris machine is configured to know about a particular repository, using a repository URI. This type of URI is sometimes referred to as an origin.
It is actually possible to access multiple, separate repositories via the same repository URI as long as they are provided by separate publishers. The standard publisher name used for the Solaris OS is "solaris", not "oracle".
An IPS client is configured to point to one or more publisher-repository combinations as a source for packages.
The standard Oracle URI for Solaris 11 is http://pkg.oracle.com/solaris/release.
To configure your system to know about it (even though it is already known), you can use the following command:
pkg set-publisher -g http://pkg.oracle.com/solaris/release solaris
This tells your system the URI to use for the publisher named solaris
.
It should be noted that, while the address of an IPS repository is given with an http:
or https:
URL, the repository itself is not browsable with a web browser in the way you might expect. While the Oracle repository server does allow a web browser to connect and even query packages, there is no single link that says "here, download the package you want". For that, you have to use the appropriate client-side tool.