Title: APT for RPM Simplified package management for rpm based distributions
1APT for RPMSimplified package management for rpm
based distributions
- INFN - Napoli 1INFM - UDR Napoli 2
- HEPiX/HEPNT 2003 Vancouver
2 Linux
- Linux strengths allowed this operating system to
gain a central place in the IT market - Package management played an important role in
this process - The Linux systems coherency is assured
maintaining databases of installed files. In this
way installing or removing programs gets an easy
task - Nowadays only few programs are installed using
source files
3 Packages
- In more widespread linux distributions, programs
are distributed in binary RPM, DEB or modified
TGZ formats - RPM (RedHat Package Management) packages are used
on RedHat, Mandrake, Suse, Conectiva - DEB are used on the open source distribution
Debian and its forks - Modified TGZ are used on SlackWare
4 Dependencies
- Dependencies management is a very useful feature
of package management software - They keep systems in a consistent state and
guarantee the applications to run in the expected
way - rpm or dpkg commands have limited dependencies
management features - They can report which library a package relies
on, but the library can itself relies on other
packages
5 Scenarios
- System Administrator
- After installation, usually an os needs some
updated packages - Experiment
- Experiment software has to be installed on
machines - Grid
- Add grid programs to installed machines
6 Dependencies - Example
- Installing a package mod_test1
- rpm -Uvh mod_test1-xxx.rpmerror failed
dependencies package-a1 is needed by mod_test1
- rpm -Uvh package-a1-xxxx.rpmerror failed
dependencies package-b2 is needed by
package-a1 - rpm -Uvh package-b2-xxxx.rpm
- And so on
7 Some solutions
- Up2date RedHat
- RedCarpet Ximian
- YOU (YaST Online Update) Suse
- YUP (YellowDog Updater) YellowDog PPC
- Urpmi Mandrake
- YUM (YellowDog Updater Modified)
- APT (Advanced Packaging Tool) Debian (and
rpm...)
8 Up2date et al...
- Up2date, RedCarpet, YOU and YUP solve the
dependencies and upgrade problems for rpm.
RedCarpet is also available for Debian - They are bounded to RedHat, Ximian, Suse and
YellowDog distribution servers, or their mirrors - They require expensive software in order to
create ad-hoc software repository, so if a
package is not available on their repositories
its not installable with these tools - Typically they have an X or ncurses interface
- Usually they cannot be used in non-interactive
way
9(No Transcript)
10 Urpmi (1/2)
- Urpmi is a wrapper for the rpm commands
- Available only for Mandrake distributions
- Its possible to use package repositories
different from the Mandrake official ones - It has a good graphical front-end, but all
functions are also available in command line and
in non-interactive mode - There are several commands for various functions
11 Urpmi (2/2)
- urpmi.addmedia, urpmi.removemedia add and remove
a media used by urpmi - urpmq query the package database
- urpmf search the packages which contain the
given file name - urpmi package installation
- Automatic upgrade on a Mandrake machine
- urpmi.update update_source urpmi --auto
--auto-select--media update_source
12 YUM
- YUM is a fresh project, based on YUP
- Its written in python and exploits some portions
of code of Anaconda, the RedHat installer - With YUM you can create ad-hoc packages
repositories - Currently available only for RedHat
- Its logic is slightly different from APT
- YOUNG, BUT VERY POWERFUL
- http//linux.duke.edu/projects/yum
13 APT
- APT is a system created in the Debian community
to automatically manage the packages dependencies - APT can install, remove and upgrade packages,
managing dependencies and downloading the
packages - Its a frontend to other tools, and it uses the
underlying package management system, like the
rpm or dpkg commands - Its able to fetch packages from several media
(cdrom, ftp, http, nfs), and it can be used to
create ad-hoc software repositories
14 APT Using (1/3)
root_at_/ apt-get install nautilus Reading
Package Lists... Done Building Dependency Tree...
Done The following extra packages will be
installed bonobo libmedusa0 libnautilus0 The
following NEW packages will be installed
bonobo libmedusa0 libnautilus0 nautilus 0
packages upgraded, 4 newly installed, 0 to remove
and 1 not upgraded. Need to get 8329kB of
archives. After unpacking 17.2MB will be used. Do
you want to continue? Y/n
15 APT Using (2/3)
root_at_/ apt-get remove gnome-panel Reading
Package Lists... Done Building Dependency Tree...
Done The following packages will be REMOVED
gnome-applets gnome-panel gnome-panel-data
gnome-session 0 packages upgraded, 0 newly
installed, 4 to remove and 1 not upgraded. Need
to get 0B of archives. After unpacking 14.6MB
will be freed. Do you want to continue? Y/n
16 APT Using (3/3)
- root_at_/ apt-cache search pdf
- kghostview - PostScript viewer for KDE
- tetex - The TeX text formatting system.
- xpdf - A PDF file viewer for the X Window System
-
- root_at_/ apt-cache show xpdf
-
- Filename xpdf-1.00-3.i386.rpm
- Description A PDF file viewer for the X Window
System. - Xpdf is an X Window System based viewer for
Portable Document Format (PDF) files. Xpdf is a
small and efficient program which uses standard X
fonts.
17 APT for RPM
- Brazilian distribution Conectiva ported the apt
system on its linux distribution, which uses rpm
packages - Apt is now available for all distributions using
rpm, also thanks to the SourceForge project
apt4rpm (http//apt4rpm.sourceforge.net) - Some features of Debian apt are not yet
available, like package priority or requests to
change configuration files, because of some
differences in deb and rpm format
18 APT repository creation
- Create the directory tree
- ltarchgt/RPMS.os, ltarchgt/RPMS.updates, ltarchgt/base
(for apt specific files)Ex /linux/apt/redhat/7.3
/i386/RPMS.os - In RPMS.os copy the distribution rpms
- In RPMS.updates copy the updates rpms
- Give the command
- genbasedir --topdir/linux/apt --bloat --bz2only
redhat/7.3/i386 os (for os section) - genbasedir --topdir/linux/apt --bloat --bz2only
redhat/7.3/i386 updates (for updates section)
19 APT repository source.list
- Create an apache virtual host
- ltVirtualHost gt
- ServerName apt.na.infn.it
- DocumentRoot /linux/apt
- ltDirectory /linux/aptgt
- Options Indexes
- lt/Directorygt
- lt/VirtualHostgt
- The source.list file to access this repository
is rpm http//apt.na.infn.it redhat/7.3/i386 os
updates
20 APT Naples repository
- We have an apt repository in our campus in
Naples, accessible at -
- http//apt.na.infn.it
- apt packages for RedHat 7.2, 7.3, 8 e 9 and
corresponding sources.list files for os and
updates are available on this site - Updates rpms and apt lists are updated every
night
21 Distros and repositories
- YellowDog Linux PPC includes apt
- New RedHat beta distro includes apt
- Suse is plannig to include apt
- Some public repositories for RedHat
- www.freshrpms.net
- apt-rpm.tuxfamily.org
- apt.42h.de
22 APT - Benefits
- Apt simplifies package management on rpm based
distributions, even on RedHat, most used
distribution in HEP environments - Systems update is possible with only two
commands apt-get update apt-get -y upgrade - Using a local repository is possible to upgrade
machines using no external links - It is possible to include non standard packages
in local repositories...
23 InGRID - Installing GRID (1/4)
- We are developing a procedure to install the
Grid-IT distribution on RedHat 7.3 with
kickstart, APT and LCFGng - Kickstart
- Unattended installations
- Known and well documented behaviour
- Perhaps more flexible than other tools
- APT
- Simplified package management
- Automatic package download to satisfy dependencies
24 InGRID (2/4)
- LCFGng
- University of Edinburgh project to setup and
maintain Unix systems - It can configure many system files, execute
scripts, create users, etc - Client-server architecture to manage many systems
from a single machine
25 InGRID (3/4)
RH Kickstart
APT
LCFGng
26 InGRID (4/4)
- We install a RH73 machine via kickstart
- Then we run a script ingrid CE to install
all computing element - packages via APT
- After the first reboot LCFG customizes all
configuration files - This system is actually used to install grid
resources in the INFN, INFM and Physics
Department laboratories in Naples
27References
- Apt - http//packages.debian.org/apt
- Apt4rpm - http//apt4rpm.sourceforge.net
- FreshRPMS - http//www.freshrpms.net
- RedCarpet http//www.ximian.com
- YUM - http//linux.duke.edu/projects/yum
- LCFG http//www.lcfg.org
- InGRID http//people.na.infn.it/taurino/pres/in
grid/ingrid.ppt - (Italian only)