Using “smart” with SUSE 10.1

As already mentioned SUSE’s ZENworks package management doesn’t do it’s job and YOU (Yast Online Update) isn’t really better. The alternative is smart. If you followed my instructions from “Installing SUSE Linux 10.1” you skipped both registration and update configuration. You may do so now either via Yast or by opening a console, becoming root and typing “suse_register -n” – maybe it works, maybe not… But you don’t need it. Anyway, I’d recommend getting smart from here (there’ a link to rpm’s for SUSE 10.1) and installing all three packages from console by changing to the download directory and typing

rpm -Uhv smart-*.rpm

You should use the “U” parameter (which stands for “update”) if you installed the version of smart which came with SUSE. That is the recommended way because all dependencies (needs some python stuff) are already installed then. If you haven’t installed smart during initial installation of SUSE you may try installing the packages via “rpm -ihv smart-*.rpm” but rpm won’t resolve dependencies this way.

Once installed you need to add channels to smart. These “channels” are repositories of SUSE rpm’s and you need at minimum three of them: SUSE 10.1, SUSE 10.1 non-oss and SUSE 10.1 updates. Open smart via K-menu -> System -> Configuration -> Smart, go to “Edit” -> “Channel”. You’ll find the default “rpm-sys” which represents all installed packages (don’t delete it!) and now we have to add some more. Click on “New” and then “Provide channel information”. On the next window choose “RPM meta data”. Now you can define your channel. We’ll start with “SUSE 10.1” which will include the core SUSE 10.1 rpms (present also on your SUSE DVD). This way you won’t have to insert the SUSE DVD every time you install something from main packages because smart will download them. As I’m a lazy bastard I appreciate this behavior! 🙂 For “Alias” and “Name” I’d choose “SUSE 10.1” (but that’s up to you) and the only thing that’s missing now ist the “Base URL”. Go here, choose a mirror and find a directory that looks like this:

ftp://xxxxxx/opensuse/distribution/SL-10.1/inst-source/suse/

Copy the URL and paste it into the “Base URL” field. Click OK and you’re done. Now repeat this for “SUSE 10.1 non-oss” with an URL like this:

ftp://xxxxxx/opensuse/distribution/SL-10.1/non-oss-inst-source/suse/

and for “SUSE 10.1 updates” with:

ftp://xxxxxx/suse/'arch'/update/10.1

(where ‘arch’ stands for “x86_64” or “i386”, depending on your architecture). Maybe you’ll have to search a little on your preferred mirror but the directories should be there. It’s important that it contains a subdirectory named “repodata”. If you’re all set click on the “Update channel”-button in the upper left of the smart main window and smart will download all package information. You may add other channels like Packman or Guru the same way.
Now we’re ready to perform the first update after installing SUSE which might include a bigger download. I prefer doing this without running X server, so we drop down to run level 3 by opening a console and typing as root

init 3

This should leave you with a login prompt, so login with your user and become root again. As first thing now we’re going to update channel information with invoking

smart update

When this is finished we can update our SUSE installation with

smart upgrade

It’ll print out a list with all updates which you need to confirm. Then wait… When smart tells you everything is installed we’ll reboot by typing

shutdown -r now

and your login screen should greet you again!

https://www.opensuse.org/