Yum is an update tool for RPM packages that works much like apt-get does in Debian. It allows you to conveniently download and install packages, and it can easily be configured to automatically keep your system up-to-date.
This page explains how to get yum working on NetWinders that are running the nw-9 disk image. There is no support for older images such as the DM and OfficeServer series, because it is not clear if yum will work with the old version of rpm package manager. Volunteers to test it would be appreciated!
We'll assume you have installed the base-nw9 image and you are able to log in, configure networking, etc. In order to install yum you will need to install python and several other support packages, which total 7.1MB. (In the future, we will likely include these on the base image). The packages can be obtained from our FTP site in the pub/netwinder/RPMS/nw/9 directory.
Download the above packages to a temporary directory and then install them all using the "rpm -i *.rpm" command.
Optional: The first time you run YUM, it will download headers for all of the available RPM packages. These total about 14MB as individual files. You can download a tarball of the headers which is only 8.9MB. This tarball should be unpacked with "tar jxf headers.tar.bz2" in the /var/cache/yum directory.
Yum stores its configuration in /etc/yum.conf. A default config file will be installed if you followed the above steps. You need to edit this file and change the URLs so they point to ftp.netwinder.org, or preferably one of the mirror sites. Here is a working example that you can use: (but remember to change ftp.netwinder.org to one of the mirrors instead).
[main] cachedir=/var/cache/yum debuglevel=2 logfile=/var/log/yum.log pkgpolicy=newest distroverpkg=redhat-release tolerant=1 exactarch=1 [base] name=NetWinder ARM Linux $releasever - $basearch baseurl=ftp://ftp.netwinder.org/pub/netwinder/RPMS/nw/9 [updates] name=NetWinder ARM Updates $releasever - Updates baseurl=ftp://ftp.netwinder.org/pub/netwinder/updates/nw-9/armv4l
Yum has several options, but the basic usage is "yum install PKGNAME". This will download the most recent version of the package and install it, getting any required other packages as well.
Yum has a nice man page that explains the other options. Unfortunately on the nw-9 base image we forgot to include the "man" program for displaying man pages. No problem, you can use yum to install it, like so:
# yum install man Gathering header information file(s) from server(s) Server: NetWinder ARM Linux 9 - armv4l Server: NetWinder ARM Updates 9 - Updates Finding updated packages Downloading needed headers Resolving dependencies ..Dependencies resolved I will do the following: [install: man 1.5k-8.armv4l] I will install/upgrade these to satisfy the dependencies: [deps: groff 1.18.1-20.armv4l] [deps: libstdc++ 3.3-1_nw1.armv4l] Is this ok [y/N]: y Getting man-1.5k-8.armv4l.rpm man-1.5k-8.armv4l.rpm 100% |=========================| 89 kB 00:11 Getting groff-1.18.1-20.armv4l.rpm groff-1.18.1-20.armv4l.rp 100% |=========================| 1.8 MB 03:47 Getting libstdc++-3.3-1_nw1.armv4l.rpm libstdc++-3.3-1_nw1.armv4 100% |=========================| 263 kB 00:32 Running test transaction: Test transaction complete, Success! libstdc++ 100 % done 1/3 groff 100 % done 2/3 man 100 % done 3/3 Installed: man 1.5k-8.armv4l Dep Installed: groff 1.18.1-20.armv4l libstdc++ 3.3-1_nw1.armv4l Transaction(s) Complete
You can get yum to run a daily update on your system, automatically installing any new packages (for example security updates). The yum rpm package includes a service called "yum" which you can enable like so:service yum start
It will write to /var/log/yum.log so you can see what it did.
The combination of python, large RPM header files, and the NetWinders slow processor and little RAM, result in yum being quite slow to execute. For example the yum install man command above took over 10 minutes to execute, even thought the FTP transfer took less than 5 minutes (due to the bandwidth limits on ftp.netwinder.org). Just be patient, it does work...
Using an HTTP mirror rather than FTP appears to speed things up considerably.