Author: Liviu Damian
Like any package management tool, y2pmsh installs, removes, and upgrades RPM packages. SUSE doesn’t install y2pmsh by default, but you can install it using YaST2. Once it’s there, you can enter its shell by typing the
y2pmsh command in your usual shell.
Managing installation sources
You must manage your installation sources before you can do any operations. The command
source -s shows you the installation sources, which are numbered. Use the command
source -a URL to add a new installation source. Unfortunately, y2pmsh supports only YaST2 repositories, and you’ll get an error if the URL is not a YaST2 repository. To remove an installation source, use the
source -R ID command, where ID is the number of the source shown in the source list.
Many installation sources change frequently, so you should refresh the cached data before running other commands. You can either update a source manually using the
source -u ID command or automatically using the
source -A ID command. The latter refreshes the installation source every time you use y2pmsh. If you wish to stop autorefreshing, use the
source -noautorefresh ID command.
You can also use
source -e ID and
source -d ID to enable or disable some installation sources.
Installing, removing, and upgrading the packages
upgrade commands, followed by the package name, to perform operations of the same name. If you use the
upgrade command with no parameters, all packages will be updated to the latest version (if a new version of the package exists).
y2pmsh doesn’t install, remove, or upgrade any packages immediately. With y2pmsh, you can install, remove, and upgrade packages simultaneously. Once you’ve specified what you want to do, you verify the dependences using the
solve command. Finally, you commit the changes using the
isc (install, solve, and commit) command is a cool feature that lets you do only an installation.
y2pmsh features a lot of options, including
deselect (the name is self-explanatory);
newer, which shows the packages with newer versions available;
search, which searches for packages; and
show, which shows the package information (equivalent to
This all-in-one tool can make packagers’ lives easier. Unlike users and administrators, packagers must edit two configuration files in the /etc/y2pmbuild directory before they can use y2pmsh: dists_common and the file for the version of SUSE for which they are making packages. All files have the same configuration options. The dists_common file is well documented.
You can modify
rpm_sign_key in dists_common, and specify all other options in the distribution-specific configuration file, all of which are located in the dists subdirectory.
Once you modify the config files, you’re ready to go. Call the build script using the
y2pmbuild-10.0) command from the directory containing the spec files to build all the packages and generate the repositories.
y2pmsh is a great tool for doing day-to-day package management, as well as for creating packages. If you don’t want to use a graphical interface or the classic YaST2, y2pmsh is an excellent alternative.