Paketverwaltung: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
(Paketformate)
(Paketformate)
Zeile 12: Zeile 12:
 
| <b>System V</b> || [[AIX]], HP-UX, [[Solaris]] || [[pkgadd]], [[pkginfo]], [[pkgrm]] || Pakete mit binaries
 
| <b>System V</b> || [[AIX]], HP-UX, [[Solaris]] || [[pkgadd]], [[pkginfo]], [[pkgrm]] || Pakete mit binaries
 
|-
 
|-
| <b>[[RPM]]</b> || Mandriva, [[Red Hat]], [[SUSE Linux]] || [[rpm]] || source rpms enthalten die Quellen (woraus optimierte binaries gebaut werden können).<br>binaries.<br>RPM prüft Abhängigkeiten.
+
| <b>[[RPM]]</b> || [[Mandriva]], [[Red Hat]], [[SUSE Linux]] || [[rpm]] || source rpms enthalten die Quellen (woraus optimierte binaries gebaut werden können).<br>binaries.<br>RPM prüft Abhängigkeiten.
 
|-
 
|-
 
| <b>Freebsd</b> || [[Freebsd]] || || "/usr/ports" zeigt eine Verzeichnisstruktur, aus der heraus installiert werden kann (dabei werden auch Pakete installiert).
 
| <b>Freebsd</b> || [[Freebsd]] || || "/usr/ports" zeigt eine Verzeichnisstruktur, aus der heraus installiert werden kann (dabei werden auch Pakete installiert).

Version vom 7. Februar 2009, 13:18 Uhr

Eine Paketverwaltung (auch: Paketmanager) wird für die Installation von Software-Paketen auf einem Betriebssystem verwendet. Mit ihrer Hilfe lassen sich die installierten Pakete und das Installationsdatum feststellen sowie die installierten Dateien aufrufen. Besonders beim Upgrade eines Pakets kennt die Paketverwaltung die Konfigurationsdateien der installierten Programme und schützt sie vor dem Überschreiben.

Die am häufigsten eingesetzten Paketverwaltungen sind apt-get und dpkg (Debian, Ubuntu) sowie rpm (Fedora, Red Hat, SUSE).

  • Die Installation einer Distribution errfolgt gewöhnlich unter unter "/". Davon getrennt sollten alle zusätzlich installierten Programme unter "/opt" bzw. "/usr/local" abgelegt werden.

Paketformate

Paketformat Distribution Shell-Befehl Bemerkungen
System V AIX, HP-UX, Solaris pkgadd, pkginfo, pkgrm Pakete mit binaries
RPM Mandriva, Red Hat, SUSE Linux rpm source rpms enthalten die Quellen (woraus optimierte binaries gebaut werden können).
binaries.
RPM prüft Abhängigkeiten.
Freebsd Freebsd "/usr/ports" zeigt eine Verzeichnisstruktur, aus der heraus installiert werden kann (dabei werden auch Pakete installiert).
DEB Debian, Ubuntu apt-get, aptitude, dpkg

alien kann Debian- und Slackware-Pakete in unter SUSE Linux installierbare Pakete umwandeln.

Paketinstallation

Beim Kompilieren werden üblicherweise folgende drei Befehle verwendet:

  • configure überprüft, ob alle zum Kompilieren notwendigen Programme und Bibliotheken vorhanden sind und gibt entsprechende Hinweise aus.
  • make ruft den Compiler auf und sorgt dafür, dass er den Quelltext in ein ausführbares Programm verwandelt (kompiliert).
  • make install kopiert die Programmdateien in die durch den Befehl "configure" festgelegten Zielverzeichnisse.

1. Vor der Installation von Paketen sollte das Verzeichnis "/usr/local/pkg" immer leer sein.

2. Herunterladen der Quelldateien (z. B. "xyz-1.47.tar.gz")

3. Installation der Quelldateien

$ cd /usr/src
$ gunzip xyz-1.47.tar.gz
$ tar xvf xyz-1.47.tar
$ cd xyz-147

4. Lesen der Dateien "INSTALL" bzw. "README", worin auch allfällige Abhängigkeiten beschrieben sind.

5. Konfigurieren mit configure

$ ./configure

6. Kompilieren

$ make

7. Installation (zwingend als Benutzer "root").

# make install

8. Testen der Anwendung

Steuerdateien

1. ...

$ cd /usr/local/pkg

2. Erzeugen der Prototype-Datei

$ find . -print | pkgproto > prototype

3. Einfügen folgender Zeilen am Anfang der Prototype-Datei.

i pkginfo=./pkginfo
d none bin 0755 root root
...
f none bin/program 0755 root root
...

4. Erstellen der Datei "pkginfo".

$ vi pkginfo
PKG=<Paketname>, z. B. GNUsudo
NAME=<Name>, z. B. sudo
ARCH=<Prozessortyp>, z. B. i386/sparc
CERSION=<Version>, z. B. 1.2.7
CATEGORY=<Kategorie>, z. B. application
VENDOR=<Hersteller>, z. B. GNU
EMAIL=<E-Mail-Adresse>, z. B. xyz@gnu.org
PSTAMP=<zuständige Person>, z. B. Markus Gnu
BASEDIR=<>, z. B. "/usr/local" (der Ort, wohin das Paket installiert werden soll)
CLASSES=<>, z. B. none

5. Erzeugen der Datei bzw. Verzeichnisstruktur "/var/spool/pkg/GNUsudo", wobei "GNUsudo" der Paketname ist.

$ pkgmk -r ${PWD}

6. Mit "pkgtrans" wird eine einzelne Datei namens "sudo-1.0" erzeugt.

$ cd /var/spool/pkg
$ pkgtrans -s ${PWD} /tmp/sudo-1.0
$ gzip sudo-1.0

7. Test des Pakets (Installation). Das Paket sollte danach unter "/usr/local" stehen.

$ cd /tmp
$ pkgadd -d sudo-1.0

Weblinks

Vorlage:dewi