27
APT for RPM Simplified package management for rpm based distributions INFN - Napoli 1 INFM - UDR Napoli 2 HEPiX/HEPNT 2003 – Vancouver Rosario Esposito 1 Francesco Maria Taurino 1,2 Gennaro Tortone 1

APT for RPM Simplified package management for rpm based distributions

  • Upload
    yori

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

INFN - Napoli 1 INFM - UDR Napoli 2 HEPiX/HEPNT 2003 – Vancouver. Rosario Esposito 1 Francesco Maria Taurino 1,2 Gennaro Tortone 1. APT for RPM Simplified package management for rpm based distributions. Linux. - PowerPoint PPT Presentation

Citation preview

Page 1: APT for RPM Simplified package management for rpm based distributions

APT for RPMSimplified package management

for rpm based distributions

INFN - Napoli 1

INFM - UDR Napoli 2

HEPiX/HEPNT 2003 – Vancouver

Rosario Esposito1

Francesco Maria Taurino1,2

Gennaro Tortone1

Page 2: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 2

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 system’s 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

Linux

Page 3: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 3

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

Packages

Page 4: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 4

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…

Dependencies

Page 5: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 5

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

Scenarios

Page 6: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 6

Installing a package “mod_test1” : # rpm -Uvh mod_test1-xxx.rpm

error: 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…

Dependencies - Example

Page 7: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 7

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...)

Some solutions

Page 8: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 8

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 it’s not installable with these tools

Typically they have an X or ncurses interface Usually they cannot be used in non-interactive

way

Up2date et al...

Page 9: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 9

Page 10: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 10

Urpmi is a wrapper for the rpm commands Available only for Mandrake distributions It’s 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

Urpmi (1/2)

Page 11: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 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

Page 12: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 12

YUM is a fresh project, based on YUP It’s 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

YUM

Page 13: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 13

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

It’s a frontend to other tools, and it uses the underlying package management system, like the rpm or dpkg commands

It’s able to fetch packages from several media (cdrom, ftp, http, nfs), and it can be used to create ad-hoc software repositories

APT

Page 14: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 14

APT – Using (1/3)

[root]@[/] # apt-get install nautilusReading Package Lists... DoneBuilding Dependency Tree... DoneThe following extra packages will be installed: bonobo libmedusa0 libnautilus0The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus0 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]

Page 15: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 15

APT – Using (2/3)

[root]@[/] # apt-get remove gnome-panelReading Package Lists... DoneBuilding Dependency Tree... DoneThe following packages will be REMOVED: gnome-applets gnome-panel gnome-panel-data gnome-

session0 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]

Page 16: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 16

APT – Using (3/3)

[root]@[/] # apt-cache search pdfkghostview - PostScript viewer for KDEtetex - The TeX text formatting system.xpdf - A PDF file viewer for the X Window System…

[root]@[/] # apt-cache show xpdf…Filename: xpdf-1.00-3.i386.rpmDescription: 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.

Page 17: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 17

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

APT for RPM

Page 18: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 18

Create the directory tree <arch>/RPMS.os, <arch>/RPMS.updates,

<arch>/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)

APT – repository creation

Page 19: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 19

Create an apache virtual host<VirtualHost *>

ServerName apt.na.infn.it

DocumentRoot /linux/apt

<Directory /linux/apt>

Options +Indexes

</Directory>

</VirtualHost>

The source.list file to access this repository is

rpm http://apt.na.infn.it redhat/7.3/i386 os updates

APT – repository source.list

Page 20: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 20

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

APT – Naples repository

Page 21: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 21

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

Distros and repositories

Page 22: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 22

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...

APT - Benefits

Page 23: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 23

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

InGRID - Installing GRID (1/4)

Page 24: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 24

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

InGRID (2/4)

Page 25: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 25

Installation

“Gridification”

Configuration

RH Kickstart

APT

LCFGng

InGRID (3/4)

Page 26: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 26

We install a RH73 machine via kickstart Then we run a script

# ingrid CE to install all computing elementpackages 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

InGRID (4/4)

Page 27: APT for RPM Simplified package management for rpm based distributions

HEPiX/HEPNT 2003 – Vancouver 27

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/ingrid/ingrid.ppt

(Italian only)

References