pkg-get

 


 

NAME

pkg-get 1.9.5 - automatic install and upgrade of packages over the network

SYNOPSIS

pkg-get [-d] [-s site] {-i|install} {pkgname [...]|all} pkg-get [-d] [-s site] {-u|update} [pkgname...] pkg-get [-s site] {-c|compare} | {-a|available}

DESCRIPTION

pkg-get is similar to Debian Linux "apt-get". Its most basic use is that you tell it the name of a software package, and it automatically goes and grabs it from the net, then installs it on your system.

MODES

pkg-get updatecatalog This will 'update' a local inventory of all packages available for your system. pkg-get available will show you a list of freeware packages available to install pkg-get install {pkgname [pkgname...] | all} will install listed packages. If 'all' is specified, will install all packages available, at the latest ver- sion. pkg-get upgrade [pkgname [pkgname...]] will automatically upgrade the listed packages to the latest version. If no arguments, will upgrade all packages that are already installed. The upgrade option will remove any older versions of packages for you. It will also automatically choose the highest revision of a package to download, if there are multiple available.

OPTIONS

-d|download Downloads the pkg file, and does NOT install. Useful if you're trying to create a local archive of pkg files -v This is only meaningful for the 'install' option, without arguments. It adds "verbose" mode, to tell you what would be upgraded. BUT... it stops the program actually downloading any newer files! -i|install [softwarename] Looks through all packages you have installs, and com- pares them to the latest available on the site. If the site has newer versions, it will download and install all newer versions of software you already have. It will NOT install packages you do not already have installed. If you specify a particular software name, it will first look up the specific software name in the local contents cache. If you already have the same version installed, says so and quits. Otherwise, if it is available, pkg-get will download and install it. -U|updatecatalog Updates the local cache of the special "contents" file from the freeware site. All "compare versions" opera- tions are done on the locally cached copy. pkg-get will automatically update the catalog if it is older than a month. -u|upgrade Attempts to upgrade any installed packages that have newer versions available on the site. -a|available This just prints out the software name and revision of all packages available for download. In a future ver- sion, it may also print out descriptions of each pack- age. -c|compare Display a comparision of versions between installed packages, and what is available on the site. If you do not have a package installed, it will show "not installed" for the local version stamp. -f Force default action on pkg add or remove; Dont ask questions. This may mean that it will refuse to install some packages, depending on what the pkgadd defaults are, whether there are conflicts, etc. The 'normal' defaults are specified in /var/sadm/install/admin/default. See the "MORE AUTOMA- TION" section at the bottom of this manpage. -r|remove This option was added by request. However, it is inherently not as bulletproof as the other options, because nothing in the site catalog says that the pkg version and the software version have to match. How- ever, it should work as expected 95% of the time. And worst case, it will ONLY remove packages that are on the remote site catalog; It should not remove Solaris packages.

PROXIES

See /etc/pkg-get.conf for comments on how to use wget behind a proxy. Basically, just export the environment variables http_proxy and ftp_proxy. The conf file lets you do that without messing with users' environments directly.

MORE AUTOMATION

If you dont like answering pkgadd prompts, you can create an 'admin' file, as /var/pkg-get/admin A sample 100% hands-off admin file is provided, as /var/pkg-get/admin-fullauto. It will no longer give you warnings about setuid installscripts, conflicts, and other issues. However, it may still ask you in some instances, "Do you want to install/remove this package", unless you use the -f option to pkg-get. Contrariwise, if you use -f without overriding the defaults, pkg-get will not install a non-trivial amount of packages. For full details of the format of the admin file, man -s4 admin.

FILES

/etc/pkg-get.conf /var/pkg-get/catalog-sitename /var/pkg-get/admin /var/pkg-get/admin-fullauto

BUGS

I wouldn't be surprised if there are one or two bugs to be worked out. If so, please email me about them! Also, this was designed to only keep track of packages made by sunfreeware. If you get a package of gcc from elsewhere (eg: the "bonus software" package with solaris 8) the name of the pkg will probably be different (SMCgcc, vs SFWgcc, for example) . So when it says you dont have gcc installed, what it really means is, "you dont have SunFreeware-packaged gcc installed"

SEE ALSO

If you are interested in setting up your own local freeware server, http://www.bolthole.com/solaris/makecontents is the tool needed to automatically generate the catalog for each directory.

AUTHOR

Philip Brown phil@bolthole.com http://www.bolthole.com/solaris/ Phil's Software Last change: April 16th, 2002 4