Package Management/Tools/smart
From openSUSE
Contents |
Installing smart
In order to install smart, you must satisfy the dependencies: rpm-python and python-gtk for the smart gui. You can install smart via YaST, or other package managers such as apt or yum. Make sure you have your YaST sources set, or other package manager set, with the appropriate YaST, or yum, or apt repositories.
Using smart to maintain updates on development/OSS-Factory installations
Smart can be quite useful for keeping a development build up to date. To add a repository for the latest development build, you do something like:
- Note
- You probably want to use the sanest mirror for your location, this example uses mirrors.kernel.org
smart channel --add suse-devel-yast2 type=yast2 name="SUSE Development Build (yast2)" \ baseurl=http://mirrors.kernel.org/opensuse/distribution/SL-OSS-factory/inst-source
Installation Repositories
With smart repositories are named channels. So the command to handle Installation Repositories is smart channel.
Add your SUSE Linux CDs as installation repository
| earth:~ # smart channel --add /media/cdrom |
|---|
Here's a somewhat longer description on how to use smart on 10.1RC and configure the smart channel for the Factory repository: How to use smart with SUSE Linux Factory
Packages
smart *all* of the metadata formats above (and it has no smart-specific format).
When you add a smart "channel" (repository information), here are the types you can use (excerpt from "smart channel --help"):
apt-deb - APT-DEB Repository apt-rpm - APT-RPM Repository deb-dir - DEB Directory red-carpet - Red Carpet Channel rpm-dir - RPM Directory rpm-hdl - RPM Header List rpm-md - RPM MetaData slack-site - Slackware Repository up2date-mirrors - Mirror Information (up2date format) urpmi - URPMI Repository yast2 - YaST2 Repository
- note
- the *-sys channels where removed, they represent the packages currently installed in the RPM database (or DEB database on Debian, etc...)).
And yes, you can even mix the types of sources/channels as long as you don't cross distributions. In a list of channels for smart, one can mix yast2, rpm-md and apt-rpm repositories.While in theory you can combine rpm channels with deb channels, and smart will attempt to resolve it as best as it can, it is still not recommended since the scripts and location of files are entirely different. Even mixing distributions such as Fedora, Mandriva, with openSUSE is also not recommended for the same reasons. You can mix, for example YaST2, rpm-md, red-carpet, apt-rpm, as long as you keep the sources/chanels with in the given distribution.
smart is even independent of the package subsystem, as it works for RPM (SUSE/Redhat/Fedora/Mandriva), Deb (Debian/Ubuntu) and Slackware.
Supported Sources
- RPM repositories
- RPM System Database (locally installed packages)
- APT repositories for .rpm
- YaST repositories (SuSE 9.3 and below (this is in testing))
- RPM-MD (used by YUM)
- Red Carpet (used by Ximian/Novell)
- RPM Header List (used by RedHat and Conectiva installation CDs, probably others)
- RPM Directory (a directory with a bunch of RPMs in it, no indexing required)
The complete list, of supported sources see here.
Adding media
Local CD
With smart, repositories are named channels. So the command to handle Installation Repositories is smart channel.
Add your SUSE Linux CDs as installation repository
| earth:~ # smart channel --add /media/cdrom |
|---|

