=========================== Mandrakelinux Configuration - making the server useful using urpmi =========================== -IAN! idallen@idallen.ca The Mandrake 10.1 Mini system contains only a basic small set of packages. It doesn't have a web browser client installed, ssh, wget, telnet or even the "man" command or man pages. You can use the Mandrake "urpmi" tool to fetch more software packages from the Internet, once you have told urpmi where the media sources are using "urpmi.addmedia". This file explains how to: - understand what a Mandrake "media source" is - use urpmi.addmedia to add new media sources to find new packages - use urpmi.update to update media sources with new package lists - use urpmi to fetch and install new packages - use rpm (Redhat Package Manager) to query installed files and packages Mandrake media sources - /etc/urpmi/urpmi.cfg ---------------------- A "media source" is a location, on disk, CDROM, or the Internet, that contains software packages (RPM files) for a Mandrake distribution. The master configuration file for media soures in the urpmi system is a text file named /etc/urpmi/urpmi.cfg. You can edit this file directly (as root) if you know what you are doing; but, Mandrake has some tools that do it for you. To list the currently defined media sources: # urpmq --list-media Broken urpmi.cfg in Mini system ------------------------------- After you have done a fresh install of Mandrake 10.1 Mini and have booted the Mini system, you will find that your urpmi.cfg file contains one media source: Installation\ Mini\ CD\ (disk-iso1) /media/main { hdlist: hdlist.Installation Mini CD (disk-iso1).cz with_hdlist: ../../media/media_info/hdlist1.cz key-ids: 70771ff3 } The first field on the first line "Installation Mini CD (disk-iso1)" is the "name" of this media source. You can use any names you like, even names with blanks in them. The second field "/media/main" is the location of this media source. Since the Mini system has no directory named /media/main, the location is broken and this media source does not work. Remove the broken media using urpmi.removemedia: # urpmi.removemedia "Installation Mini CD (disk-iso1)" Note the use of quotes to hide the blanks and parentheses from the shell. Adding media sources using urpmi.update --------------------------------------- Adding a new media source from which you can retrieve software packages involves two things: 1. finding the URL of the media source 2. using urpmi.addmedia to add the new source In the Algonquin College labs T111/114/115, your best media source is a local server "lab.idallen.ca" (192.168.4.206). This is method "A" below. At home, you must use Internet-based sources for your media. This is method "B" below. Choose method A or B below, depending on where you are. Dual Media: If you want to switch back and forth between Algonquin media sources and Internet media sources, save your urpmi.cfg file between A and B and empty it before adding new media, then simply replace the current urpmi.cfg file with the saved one containing the media you want to use. You can put *all* the media in one urpmi.cfg file; but, urpmi will only use the first ones it finds. If you do put everything in one file, put the Algonquin media first and the Internet media last. (You can edit urpmi.cfg to re-order the media as you wish.) At home, the Algonquin media will fail and urpmi will use the Internet media. Choose method A or B: A. Adding media sources in Algonquin labs T111/114/115 ------------------------------------------------------ A quick way to add "all" of the media sources available at a site (instead of using several separate urpmi.addmedia command lines) is to use the "--distrib" option to urpmi.addmedia and specify a URL that ends slightly above the media name. For the Algonquin lab media: # urpmi.addmedia --distrib http://lab.idallen.ca/distributions/Mandrake/10.1/mirror/cd1 retrieving hdlists file... ...retrieving done added medium Installation CD 12 added medium Installation CD 22 added medium Installation CD 35 added medium Installation CD 36 added medium Installation CD 37 added medium Installation CD 38 added medium Supplementary Applications CD 42 added medium Supplementary Applications CD 52 added medium Commercial Applications CD 63 added medium Commercial Applications CD 64 [...] write config file [/etc/urpmi/urpmi.cfg] You will now see ten media sources defined: # urpmq --list-media Installation CD 12 Installation CD 22 Installation CD 35 Installation CD 36 Installation CD 37 Installation CD 38 Supplementary Applications CD 42 Supplementary Applications CD 52 Commercial Applications CD 63 Commercial Applications CD 64 In addition to the fixed media sources (the ones that correspond to the CDROMs distributed by Mandrake), we also want to add the "contrib" media source and the media sources that contain the "update" packages that fix security issues. For the Algonquin labs T111/114/115, a local cache of "contrib" and updates is kept here: # urpmi.addmedia Contrib1 http://lab.idallen.ca/distributions/Mandrake/10.1/mirror/contrib added medium Contrib1 retrieving source hdlist (or synthesis) of "Contrib1"... write config file [/etc/urpmi/urpmi.cfg] # urpmi.addmedia --update Updates1 http://lab.idallen.ca/distributions/Mandrake/10.1/mirror/main_updates added medium Updates1 retrieving source hdlist (or synthesis) of "Updates1"... write config file [/etc/urpmi/urpmi.cfg] You will now see 12 media sources defined. Note: The site lab.idallen.ca only works in Algonquin labs T111/114/115. Skip over section "B" below and go to the following section: B. Adding media sources from the Internet ----------------------------------------- Internet media sources come and go - they are all unpaid gifts to the Mandrake community. You may find that what works today may not work tomorrow. Fetching from different media sources may be better or worse at different times of the day. Perhaps a good starting place to find Internet media sources is: http://easyurpmi.zarb.org/ Mandrake classifies media sources into several broad categories, each of which will have one (or more) of its own separate media sources: contrib main updates jpackage You might arrange that these four categories all come from the same machine, or you could have media sources on four different machines. The EasyURPMI site also defines the "plf-free" and "plf-nonfree" categories for packages and technologies that are subject to patent issues and cannot be distributed by Mandrake. You will want to find at least one media source for each of the Mandrake categories "main", "contrib", "jpackage", and "updates". The EasyURPMI web site lets you select each category and generate the shell command lines for urpmi.addmedia that will add that media to your urpmi.cfg file for you. For example, selecting the only Canadian site for "main", "contrib", and "jpackage" gives these three shell command lines: urpmi.addmedia main http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux//official/10.1/i586/media/main with media_info/hdlist.cz urpmi.addmedia contrib http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux//official/10.1/i586/media/contrib with media_info/hdlist.cz urpmi.addmedia jpackage http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux//official/10.1/i586/media/jpackage with media_info/hdlist.cz A quick way to add "all" of the media sources available at a site (instead of using several separate urpmi.addmedia command lines) is to use the "--distrib" option to urpmi.addmedia and specify a URL that ends slightly above the media name. I decide to choose the USherbrooke site as my distribution source, and I truncate the URL as follows when I pass it to urpmi.addmedia using the --distrib option: # urpmi.addmedia --distrib http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux//official/10.1/i586 retrieving hdlists file... ...retrieving done added medium Main1 added medium Contrib1 added medium Jpackage1 retrieving source hdlist (or synthesis) of "Main1"... retrieving source hdlist (or synthesis) of "Contrib1"... retrieving source hdlist (or synthesis) of "Jpackage1"... write config file [/etc/urpmi/urpmi.cfg] The urpmi.addmedia program went to the USherbrooke site and found three types of media sources, and named and added them all for me. If I look at /etc/urpmi/urpmi.cfg now, I will see three media sources defined, with names "Main1", "Contrib1", and "Jpackage1". I can also list them using the urpmq command: # urpmq --list-media Contrib1 Main1 Jpackage1 In addition to the fixed media sources (the ones that correspond to the CDROMs distributed by Mandrake), we also want to add media sources that contain the "update" packages that fix security issues. Use the EasyURPMI web site to find an "update" source: http://easyurpmi.zarb.org/ Using the web interface, generate the urpmi.addmedia command line for an "updates" site for Mandrake 10.1. For example: I select an update site in Michigan. EasyURPMI generates this command line for me: urpmi.addmedia --update updates ftp://mirror.aca.oakland.edu/pub/linux/mandrakelinux/official/updates/10.1/main_updates with media_info/hdlist.cz I don't like the name "updates" given by EasyURPMI, and I choose instead to call the media "Updates1" when I add it using urpmi.addmedia: # urpmi.addmedia --update Updates1 ftp://mirror.aca.oakland.edu/pub/linux/mandrakelinux/official/updates/10.1/main_updates with media_info/hdlist.cz added medium Updates1 retrieving source hdlist (or synthesis) of "Updates1"... write config file [/etc/urpmi/urpmi.cfg] The name Updates1 looks more like the other names ("Main1", "Contrib1") and it allows me to define Updates2, Updates3, etc. later, if I want. Now /etc/urpmi/urpmi.cfg has four media sources defined: # urpmq --list-media Contrib1 Main1 Jpackage1 Updates1 You can continue to use urpmi.addmedia to add multiple sources for each of these categories. If one source is not responding, urpmi will move to try fetching the package from the next source. Sources can also be stored on your own local hard disk, if you have enough space. Using urpmq and urpmf to locate packages ---------------------------------------- The Mini system doesn't have a telnet command. I use the urpmq (query) command to find out if there is some package name that contains the string telnet, and tell me the media source from where it would be fetched: # urpmq --sources telnet http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux//official/10.1/i586/media/contrib/telnet-0.17-9mdk.i586.rpm I see that there is a software package named "telnet-0.17-9mdk.i586.rpm" in the "contrib" section of the USherbrooke media source. I expect that this is the package containing the "telnet" command I am seeking. Sometimes a string will be found in more than one package name, in which case you'll get a list of packages instead of just one, and you will have to be more specific about which package you want: # urpmq --sources ssh following packages contain ssh: autossh dssh j2ssh j2ssh-demo kdeutils-kdessh mussh oldj2ssh oldj2ssh-demo openssh openssh-askpass openssh-askpass-gnome openssh-clients openssh-server rssh scanssh sshd-monitor urpmi-parallel-ssh zssh Above, urpmq is telling me that I was not specific enough in my request for it to tell me from where to fetch the package. I happen to know that the ssh command itself is in the "openssh-clients" package, which I can query more specifically: # urpmq --sources openssh-clients http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux//official/10.1/i586/media/main/openssh-clients-3.9p1-3mdk.i586.rpm In the case of "telnet" and "ssh", the command name and the package name have similar names, which isn't true for all (or even most) packages. There are no "date" or "sleep" packages - these commands are both in the "coreutils" package. You can find out which packages contain which files using the "urpmf" command. If you aren't sure in which package a command or file resides, the "urpmf" command will search all the known package media sources for a string. Beware! It can produce a *lot* of output for non-unique strings: # urpmf ssh | wc 1507 1508 92479 If you know more about the location of the file you are seeking, you can be more specific about searching for where the command would reside: # urpmf bin/ssh dsniff:/usr/sbin/sshmitm dsniff:/usr/sbin/sshow openssh:/usr/bin/ssh-keygen openssh:/usr/bin/ssh-keyscan openssh-clients:/usr/bin/ssh openssh-clients:/usr/bin/ssh-add openssh-clients:/usr/bin/ssh-agent openssh-clients:/usr/bin/ssh-copy-id openssh-server:/usr/sbin/sshd # urpmf /usr/bin/ssh openssh:/usr/bin/ssh-keygen openssh:/usr/bin/ssh-keyscan openssh-clients:/usr/bin/ssh openssh-clients:/usr/bin/ssh-add openssh-clients:/usr/bin/ssh-agent openssh-clients:/usr/bin/ssh-copy-id You can also use grep to help select leading package names in the output: # urpmf ssh | grep '^openssh' | wc 66 66 3018 # urpmf /ssh | grep '^openssh' | wc 32 32 1272 Using urpmi to install packages ------------------------------- I ask to install the telnet package using "urpmi", using the media sources defined in my urpmi.cfg file. The urpmi program first fetches the package file to a cache directory and then uses the "rpm" command to install the package (and delete the package file from the cache): # urpmi telnet http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux//official/10.1/i586/media/contrib/telnet-0.17-9mdk.i586.rpm installing /var/cache/urpmi/rpms/telnet-0.17-9mdk.i586.rpm Preparing... ################################################## 1:telnet ################################################## I also ask to install the "ssh" command, which I discovered (above) resides in the "openssh-clients" package: # urpmi openssh-clients http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux//official/10.1/i586/media/main/openssh-clients-3.9p1-3mdk.i586.rpm installing /var/cache/urpmi/rpms/openssh-clients-3.9p1-3mdk.i586.rpm Preparing... ################################################## 1:openssh-clients ################################################## You can supply multiple package names to urpmi. Redhat Package Manager (RPM) ----------------------------- The "rpm" (Redhat Package Manager) program manages packages that have been installed on the system, using a database of versions and dependencies. Where urpmi manages packages that reside in media sources that are often off-machine, rpm manages packages that have been installed. You use urpmi and friends to find packages and install them. You use rpm to find out what is installed, and to uninstall packages. Find out the version of the telnet package that is installed: # rpm -q telnet telnet-0.17-9mdk Find an information description of the "tar" package: $ rpm -qi tar | less [...] The GNU tar program saves many files together into one archive and can restore individual files (or all of the files) from the archive. [...] Count all the packages that are currently installed: # rpm -qa | wc 275 275 6248 Filter the large output for package names containing a particular string: $ rpm -qa | grep net telnet-0.17-9mdk net-tools-1.60-11mdk Show me all the file names that belong to the "which" package: $ rpm -ql which /usr/bin/which /usr/share/doc/which-2.16 /usr/share/doc/which-2.16/AUTHORS /usr/share/doc/which-2.16/COPYING /usr/share/doc/which-2.16/EXAMPLES /usr/share/doc/which-2.16/INSTALL /usr/share/doc/which-2.16/NEWS /usr/share/doc/which-2.16/README /usr/share/doc/which-2.16/README.alias /usr/share/info/which.info.bz2 /usr/share/man/man1/which.1.bz2 For an existing file on my system, tell me in what package it resides: $ rpm -qf /bin/date coreutils-5.2.1-4mdk $ rpm -qf /etc/passwd setup-2.4-3mdk $ rpm -qf /etc/inittab initscripts-7.61.1-17mdk Remove a package named foobar (as root): # rpm -e foobar If other packages depend on foobar, you will have to include the names of those packages on the same command line and remove them all. Updating the system (including security updates) ------------------------------------------------ You will recall that we did not install the software updates when we installed the Mini system. A good time to do the updates is now. We can ask urpmi to automatically select and update anything that needs it. Urpmi will use the Updates1 site that we defined earlier to find packages that are newer than the packages we have installed. In the output below, note that urpmi first dectects that it has to upgrade itself - it does this before it restarts itself and goes on to upgrade the rest of the packages: # urpmi --auto-select To satisfy dependencies, the following 2 packages are going to be installed (3 MB): perl-URPM-1.03-2.1.101mdk.i586 urpmi-4.5-29.1.101mdk.noarch Is this OK? (Y/n) ftp://mirror.aca.oakland.edu/pub/linux/mandrakelinux/official/updates/10.1/main_updates/./urpmi-4.5-29.1.101mdk.noarch.rpm ftp://mirror.aca.oakland.edu/pub/linux/mandrakelinux/official/updates/10.1/main_updates/./perl-URPM-1.03-2.1.101mdk.i586.rpm installing0/var/cache/urpmi/rpms/perl-URPM-1.03-2.1.101mdk.i586.rpm /var/cache/urpmi/rpms/urpmi-4.5-29.1.101mdk.noarch.rpm Preparing... ################################################## 1:perl-URPM ################################################## 2:urpmi ################################################## restarting urpmi To satisfy dependencies, the following 37 packages are going to be installed (129 MB): apache2-2.0.50-7.2.101mdk.i586 apache2-common-2.0.50-7.2.101mdk.i586 apache2-modules-2.0.50-7.2.101mdk.i586 bootloader-utils-1.9-1.1.101mdk.i586 cpio-2.5-4.2.101mdk.i586 curl-7.12.1-1.1.101mdk.i586 drakxtools-backend-10.1-27.5.101mdk.i586 glibc-2.3.3-23.1.101mdk.i586 gzip-1.2.4a-13.1.101mdk.i586 imlib-1.9.14-10.1.101mdk.i586 iptables-1.2.9-7.1.101mdk.i586 ldconfig-2.3.3-23.1.101mdk.i586 ldetect-lst-0.1.23-1.1.101mdk.i586 libcups2-1.1.21-0.rc1.7.4.101mdk.i586 libcurl3-7.12.1-1.1.101mdk.i586 libimlib1-1.9.14-10.1.101mdk.i586 libkrb53-1.3.4-2.1.101mdk.i586 libopenssl0.9.7-0.9.7d-1.1.101mdk.i586 libpng3-1.2.6-2.1.101mdk.i586 libtiff3-3.6.1-4.3.101mdk.i586 libxorg-x11-6.7.0-4.2.101mdk.i586 libxpm4-3.4k-28.2.101mdk.i586 mandrake_desk-10.1-13.1.101mdk.noarch nfs-utils-clients-1.0.6-2.2.101mdk.i586 openssl-0.9.7d-1.1.101mdk.i586 perl-5.8.5-3.3.101mdk.i586 perl-base-5.8.5-3.3.101mdk.i586 samba-client-3.0.10-0.1.101mdk.i586 samba-common-3.0.10-0.1.101mdk.i586 samba-server-3.0.10-0.1.101mdk.i586 shadow-utils-4.0.3-8.1.101mdk.i586 timezone-2.3.3-23.1.101mdk.i586 vim-minimal-6.3-5.3.101mdk.i586 xorg-x11-6.7.0-4.2.101mdk.i586 xorg-x11-75dpi-fonts-6.7.0-4.2.101mdk.i586 xorg-x11-server-6.7.0-4.2.101mdk.i586 xorg-x11-xfs-6.7.0-4.2.101mdk.i586 Is this OK? (Y/n) If we were to take the time to examine the version numbers on all the above packages, we would see that the above packages are all newer than the ones currently installed on our Mini system. For example, if we query the currently installed version of the "xorg-x11-6.7.0" package: # rpm -q xorg-x11-6.7.0 xorg-x11-6.7.0-3mdk This installed version is older than the one found for us by urpmi (presumably on the Updates1 media source site): xorg-x11-6.7.0-4.2.101mdk We could reply "yes" to have urpmi download and upgrade all of the out-of-date packages on the Mini system. Depending on the network load (especially at the Michigan update site), this could take a long time. Choose an update site and time of day to make this go as quickly as possible - don't try a major update during peak network hours. Late at night, when the network was less busy, I said "yes" to this update. During some of the connections to the Updates1 Michigan site that I had defined, this happened: ftp://mirror.aca.oakland.edu/pub/linux/mandrakelinux/official/updates/10.1/main_updates/./curl-7.12.1-1.1.101mdk.i586.rpm ...retrieving failed: curl failed: exited with 28 or signal 0 Installation failed, some files are missing: This usually indicates that the site had "too many" ftp connections, and I was refused access for some of the updates I wanted to fetch. Retrying the same updates later, the two missing package updates were downloaded successfully: # urpmi --auto-select To satisfy dependencies, the following 2 packages are going to be installed (1 MB): curl-7.12.1-1.1.101mdk.i586 timezone-2.3.3-23.1.101mdk.i586 Is this OK? (Y/n) y ftp://mirror.aca.oakland.edu/pub/linux/mandrakelinux/official/updates/10.1/main_updates/./curl-7.12.1-1.1.101mdk.i586.rpm ftp://mirror.aca.oakland.edu/pub/linux/mandrakelinux/official/updates/10.1/main_updates/./timezone-2.3.3-23.1.101mdk.i586.rpm installing /var/cache/urpmi/rpms/curl-7.12.1-1.1.101mdk.i586.rpm /var/cache/urpmi/rpms/timezone-2.3.3-23.1.101mdk.i586.rpm Preparing... ################################################## 1:timezone ################################################## 2:curl ################################################## I now have a fully updated Mini system: # urpmi --auto-select Everything already installed When I request new packages to be installed, if the packages have newer versions in the Updates1 media source, that is from where the packages will be fetched. The urpmi system always fetches the newest version of a package that it can find. Keeping the update media source updated --------------------------------------- The update media sources contain new versions of packages. Unlike the static media sources that never change (they are based on the CDROM images!), the "update" media sources change by having newly updated packages added to them from time-to-time. Our Mandrake system keeps a local cache of the packages that it thinks are in each media source, in the directory /var/lib/urpmi/. The caches are always correct for the static media sites that never change; but, the caches become stale for the "update" media sites. To update local "update" media caches by fetching the current accurate list of packages from a remote update media site, use "urpmi.update": # urpmi.update Updates1 [...] retrieving source hdlist (or synthesis) of "Updates1"... ...retrieving done The best time to update the update media is just before doing "urpmi --auto-select" to update all your packages to the latest versions. If you have many media sources defined, you can update all the media sources at once, then request an update of all new packages: # urpmi.update -a # urpmi --auto-select The above pair of lines keep your system current. (Requesting updates for the CDROM static media sources is rather pointless, since they never change. It's faster to request the Updates1 media directly.) Using the GUI to install packages --------------------------------- If I have an X11 GUI available (and the Mini system does, using "startx"), I can use the "rpmdrake" GUI program (as root) to find and install packages. The Mini system doesn't have rpmdrake installed; I have to use urpmi to fetch it first. To install rpmdrake, urpmi detects that it has to install many other missing packages: # urpmi rpmdrake To satisfy dependencies, the following 36 packages are going to be installed (51 MB): drakxtools-10.1-27.5.101mdk.i586 drakxtools-backend-10.1-27.5.101mdk.i586 drakxtools-newt-10.1-27.5.101mdk.i586 font-tools-0.1-10mdk.i586 foomatic-db-engine-3.0.1-0.20040828.1mdk.i586 foomatic-filters-3.0.1-0.20040828.1mdk.i586 freetype-tools-1.3.1-23mdk.i586 gtk+2.0-2.4.9-9mdk.i586 gtkdialogs-2.1-1mdk.i586 gurpmi-4.5-29.1.101mdk.noarch ldetect-lst-0.1.23-1.1.101mdk.i586 libatk1.0_0-1.6.1-2mdk.i586 libgdk_pixbuf2.0_0-2.4.9-9mdk.i586 libglade2.0_0-2.4.0-2mdk.i586 libgtk+-x11-2.0_0-2.4.9-9mdk.i586 libgtk+2.0_0-2.4.9-9mdk.i586 libpango1.0_0-1.4.1-1mdk.i586 libpango1.0_0-modules-1.4.1-1mdk.i586 libpython2.3-2.3.4-6.1.101mdk.i586 libxml2-2.6.13-1.1.101mdk.i586 mandrake-doc-common-10.1-1mdk.noarch mpage-2.5.4-1mdk.i586 msec-0.44.2-1mdk.i586 netprofile-0.7.3-1mdk.noarch pango-1.4.1-1mdk.i586 perl-Glib-1.054-1mdk.i586 perl-Gtk2-1.054-1mdk.i586 perl-Gtk2-TrayIcon-0.04-1mdk.i586 perl-Libconf-0.33-2mdk.noarch perl-MailTools-1.62-1mdk.noarch perl-TimeDate-1.16-3mdk.noarch python-base-2.3.4-6.1.101mdk.i586 rpmdrake-2.1.5-13mdk.i586 t1utils-1.32-1mdk.i586 usermode-1.63-12mdk.i586 usermode-consoleonly-1.63-12mdk.i586 Is this OK? (Y/n) The rpmdrake package has a long list of package dependencies that aren't available on the Mini system yet. You are given the list of dependencies and asked if urpmi should install all of them (including rpmdrake itself). On a production network server, the more software you install, the more risk you take in having faulty software provide a means of compromising the server. (More software installed also means more software to keep updated!) Given the risk, a production server might choose *NOT* to install the graphical rpmdrake and all its dependencies. For the moment, I choose to say "NO" to this update for rpmdrake. I can use urpmi to install any packages I need. Packages to add to the Mini system ---------------------------------- I used urpmi to fetch the packages below to the Mini system (the packages in parentheses were dependencies that urpmi automatically selected and asked me to agree to install - I did not ask for them explicitly): bind (and bind-utils-9.3.0-3.1.101mdk) bittorrent (and libgmp3-4.1.3-2mdk, libpython2.3-2.3.4-6.1.101mdk, python-2.3.4-6.1.101mdk, python-base-2.3.4-6.1.101mdk) coreutils-doc ethereal (and libadns1-1.1-3mdk libethereal0-0.10.9-0.1.101mdk libnet-snmp5-5.1.2-6mdk net-snmp-mibs-5.1.2-6mdk net-snmp-utils-5.1.2-6mdk tcp_wrappers-7.6-24mdk harddrake (and drakxtools-newt-10.1-27.5.101mdk msec-0.44.2-1mdk netprofile-0.7.3-1mdk perl-Glib-1.054-1mdk perl-Gtk2-1.054-1mdk perl-Libconf-0.33-2mdk usermode-consoleonly-1.63-12mdk) man (and groff-for-man) man-pages mandrake-doc-en (and mandrake-doc-common) mozilla (and GConf2-2.6.4-2mdk ORBit2-2.10.5-1mdk fam-2.7.0-2mdk gnome-mime-data-2.4.1-10mdk gnome-vfs2-2.6.2-7mdk gtk+2.0-2.4.9-9mdk indexhtml-10.1-5mdk.noarch libGConf2_4-2.6.4-2mdk libIDL2_0-0.8.4-1mdk libORBit2_0-2.10.5-1mdk libatk1.0_0-1.6.1-2mdk libbonobo-2.6.2-2mdk libbonobo2_0-2.6.2-2mdk libcdda0-IIIa9.8-9mdk libfam0-2.7.0-2mdk libgdk_pixbuf2.0_0-2.4.9-9mdk libgnome-vfs2_0-2.6.2-7mdk libgtk+-x11-2.0_0-2.4.9-9mdk libgtk+2.0_0-2.4.9-9mdk libnspr4-1.7.2-11mdk libnss3-1.7.2-11mdk libpango1.0_0-1.4.1-1mdk libpango1.0_0-modules-1.4.1-1mdk libsmbclient0-3.0.10-0.1.101mdk libxml2-2.6.13-1.1.101mdk mailcap-2.0.4-12mdk.noarch pango-1.4.1-1mdk pkgconfig-0.15.0-4mdk shared-mime-info-0.15-2mdk xinetd-2.3.13-1mdk) mtr nc nmap ntp (and ntp-client-4.2.0-10mdk) openssh-clients shorewall tcpdump (and libpcap0-0.8.3-2mdk) telnet traceroute ttcp wget Again, on a production network server, one would avoid installing software not absolutely essential to the operation of the server (e.g. mozilla, ethereal). For our classroom purposes (since we only have a single machine in front of us), we will install more software that would normally be prudent. Shorewall firewall ------------------ IMPORTANT NOTE: The default for the unconfigured "shorewall" firewall package is to block all incoming and outgoing connections. If you reboot your machine with shorewall installed and enabled, your machine will not be able to resolve host names or communicate with the network. Until you configure shorewall, disable it so that it does not start at boot time: # chkconfig --del shorewall The above helper program removes all the shorewall start and stop symbolic links from the /etc/rc?.d directories. Shorewall will not start on the next reboot. You can start and stop shorewall at the command line using: # shorewall start # shorewall stop Stopping shorewall opens your system up to all incoming/outgoing traffic. See Also: "less /usr/share/doc/shorewall*/releasenotes.txt" Resources --------- "man urpmi.addmedia" "man urpmi" "man urpmq" "man urpmf" "man rpm" urpmi http://www.zebulon.org.uk/urpmi_en.html http://easyurpmi.zarb.org/