Debian Paketmanagement: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
 
*[[Paketmanagement unter Linux]]
 
*[[Paketmanagement unter Linux]]
−
 
+
*[[apt kurz und knapp]]
−
==DPKG==
 
 
*[[dpkg]]
 
*[[dpkg]]
−
==APT==
+
*[[apt]]
−
APT ist die Abkürzung für Advanced Package Tool. Ein großer Vorteil von ’apt’ ist, dass vor einer Installation oder
+
*[[aptitude]]
−
Deinstallation zunächst die Abhängigkeiten und Konflikte zwischen Paketen untersucht werden.
+
*[[apt-cache]]
−
 
+
*[[apt-file]]
−
Die Datei /etc/apt/sources.list bestimmt, welche Paketquellen ’apt’ verwenden soll. Dies Konfiguration geschieht
+
*[[debsums]]
−
schon bei der Installation. Mit dem Befehl apt-setup kann die ’sources.list’ jederzeit ergänzt bzw. verändert werden
+
*[[Debian Backports]]
−
 
+
*[[Package einsortieren]]
−
root@zero:~# cat /etc/apt/sources.list
 
−
deb http://de.archive.ubuntu.com/ubuntu/ jaunty multiverse
 
−
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty multiverse
 
−
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
 
−
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
 
−
 
−
deb http://security.ubuntu.com/ubuntu jaunty-security main restricted
 
−
deb-src http://security.ubuntu.com/ubuntu jaunty-security main restricted
 
−
deb http://security.ubuntu.com/ubuntu jaunty-security universe
 
−
deb-src http://security.ubuntu.com/ubuntu jaunty-security universe
 
−
deb http://security.ubuntu.com/ubuntu jaunty-security multiverse
 
−
deb-src http://security.ubuntu.com/ubuntu jaunty-security multiverse
 
−
...
 
−
 
 
−
Der Aufbau der Datei besteht aus Typ, Universal Resource Identifier (URI) und dem Namen der Distribution.  Zusätzlich
 
−
können optional noch Komponenten angegeben werden.
 
−
 
 
−
Der Typ ist entweder ’deb’ (Debian-Pakete, die Programme enthalten, die nach der Installation sofort ausgeführt werden
 
−
können) oder ’deb-src’ (Debian Quellcode-Pakete, die zunächst kompiliert werden müssen, bevor die Programme ausgeführt
 
−
werden können).
 
−
 
 
−
Die Reihenfolge der Einträge in der Datei von oben nach unten bestimmt, auf welche Quellen zuerst zugegriffen wird. Es kann
 
−
aber trotzdem vorkommen, dass ’apt’ die Pakete von einer hin­teren Quelle bezieht, wenn sie dort in einer aktuelleren Version
 
−
vorliegen.
 
−
 
 
−
apt-get [Optionen] [Kommando] Paketname(n)
 
−
 
 
−
====Optionen====
 
−
* -f : versucht gebrochene Abhängigkeiten zu installieren
 
−
* -s : Führt nur eine Simulation aus, ändert nichts am System
 
−
* -y : Nimmt für alle Nachfragen Ja/Yes an.
 
−
* -V : Zeigt alle Versionsnummmern für aktualisierte und installierte Pakete an
 
−
* --install-recommends : Installiert auch empfohlene Pakete
 
−
* --reinstall : Installiert installierte Pakete neu
 
−
* -d oder --download-only : Das Paket wird nur heruntergeladen, nicht entpackt oder installiert.(befindet sich dann in /var/cache/apt/archives/)
 
−
apt-get -d install bing
 
−
 
 
−
====Kommandos====
 
−
 
 
−
{| Border=1 Cellpadding=2
 
−
!Kommando
 
−
!Bedeutung
 
−
|-
 
−
|update
 
−
|Holt neue Paketlisten
 
−
|-
 
−
|install
 
−
|installiert das Paket, die Abhängigkeiten werden direkt mit aufgelöst
 
−
|-
 
−
|remove
 
−
|löscht das Paket, die Konfigurationsdateien bleiben aber erhalten
 
−
|-
 
−
|upgrade
 
−
|aktualisiert alle Pakete, für die Aktualisierungen bereit stehen, entfernt aber keine Pakete und installiert keine neuen; dies ist der "normale" Befehl, um innerhalb eines Releases ein Update durchzuführen
 
−
|-
 
−
|dist-upgrade
 
−
|aktualisiert alle Pakete, installiert neue und entfernt ggf. nicht mehr benötigte; dies ist der Befehl für ein Upgrade zwischen zwei Ubuntu-Versionen
 
−
|-
 
−
|clean
 
−
|leert den Paketcache, kann u.U. sehr viel Festplattenplatz frei machen
 
−
|-
 
−
|autoclean
 
−
|leert den Paketcache für alle Pakete aus den eingetragenen Quellen, kann u.U. sehr viel Festplattenplatz frei machen
 
−
|}
 
−
 
 
−
 
 
−
* update - Holt neue Paketlisten
 
−
root@zero:~# apt-get '''update'''
 
−
* upgrade : Erneuert Pakete; Hierbei werden jedoch keine zusätzlichen Pakete installiert oder bereits installierte Pakete
 
−
entfernt. Falls dies jedoch über neue Abhängigkeiten erforderlich ist, wird bei dem genannten Befehl angezeigt, dass eine
 
−
bestimmte Anzahl an Paketen nicht aktualisiert wurde. Um auch in diesem Fall eine Aktualisierung durchführen zu können,
 
−
muss folgender Befehl verwendet werden:
 
−
* dist-upgrade : Distribution Upgrade
 
−
root@zero:~# apt-get '''dist-upgrade'''
 
−
Paketlisten werden gelesen... Fertig
 
−
Abhängigkeitsbaum wird aufgebaut
 
−
Lese Status-Informationen ein... Fertig
 
−
Berechne Upgrade (Paketaktualisierung) ...Fertig
 
−
Die folgenden Pakete werden aktualisiert:
 
−
  cups cups-bsd cups-client cups-common libcups2 libcupsimage2 libpoppler-glib4 libpoppler4 libxi6 lsb-base
 
−
lsb-release poppler-utils
 
−
12 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
 
−
Es müssen 4576kB an Archiven heruntergeladen werden.
 
−
Nach dieser Operation werden 0B Plattenplatz zusätzlich benutzt.
 
−
Möchten Sie fortfahren [J/n]?
 
−
 
 
−
* install : Installiert neue Pakete
 
−
root@zero:~# apt-get '''install''' ding apache2
 
−
...
 
−
* remove : Entfernt Pakete
 
−
root@zero:~# apt-get '''remove''' ding
 
−
 
 
−
* remove : Entfernt Pakete inklusive Konfiguration
 
−
root@zero:~# apt-get '''purge''' ding
 
−
 
 
−
* autoremove : Entfernt automatisch nicht mehr weiterbenutzte Pakete
 
−
root@zero:~# apt-get '''autoremove'''
 
−
Paketlisten werden gelesen... Fertig
 
−
Abhängigkeitsbaum wird aufgebaut
 
−
Lese Status-Informationen ein... Fertig
 
−
Die folgenden Pakete wurden automatisch installiert und werden nicht länger benötigt:
 
−
  linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic tcl8.4 tk8.4 trans-de-en
 
−
Die folgenden Pakete werden ENTFERNT:
 
−
  linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic tcl8.4 tk8.4 trans-de-en
 
−
0 aktualisiert, 0 neu installiert, 5 zu entfernen und 0 nicht aktualisiert.
 
−
Nach dieser Operation werden 90,2MB Plattenplatz freigegeben.
 
−
Möchten Sie fortfahren [J/n]?
 
−
* purge : Entfernt Pakete und löscht deren Konfigurationsdateien
 
−
root@zero:~# apt-get '''purge''' avahi-daemon
 
−
...
 
−
* source : Lädt Quellcode herunter
 
−
* build-dep : Konfiguriert Abhängigkeiten für Quellcode-pakete
 
−
* check : Überprüf auf defekte Abhängigkeiten
 
−
 
 
−
Weitere Beispiele:
 
−
 
 
−
Paketliste aktualisieren, System auf den neuesten Stand bringen
 
−
root@zero:~# apt-get '''update'''; apt-get '''dist-upgrade'''
 
−
...
 
−
Paketliste aktualisieren, System ohne Nachfrage auf den neuesten Stand bringen
 
−
root@zero:~# apt-get update; apt-get '''dist-upgrade''' '''-y'''
 
−
...
 
−
Nicht mehr benutzte Pakete unbeaufsichtigt entfernen
 
−
root@zero:~# apt-get '''autoremove''' '''-y'''
 
−
...
 
−
 
 
−
Archive Dateien löschen
 
−
root@zero:~# apt-get '''clean'''
 
−
...
 
−
 
 
−
Alte Archive Dateien löschen
 
−
root@zero:~# apt-get '''autoclean'''
 
−
...
 
−
Defekte Pakete reparieren
 
−
root@zero:~# apt-get '''-f install'''
 
−
Paketlisten werden gelesen... Fertig
 
−
 
 
−
===Lock nicht aufrufbar===
 
−
Wenn apt oder ein anderer Paketmanager beim Installieren die Fehlermeldung: "Konnte Lock nicht bekommen" ausgibt, sollte man die Datei /var/cache/apt/archives/lock mit Root-Rechten löschen.
 
−
 
 
−
==APTITUDE==
 
−
aptitude ist eine Erweiterung der Paketverwaltung mittels APT (Advanced Packaging Tool), welches auf allen Debian-basierten Systemen und damit auch Ubuntu zum Einsatz kommt.
 
−
 
 
−
aptitude kann sowohl per Kommandozeile bedient werden als auch über eine grafische Oberfläche, welche auf ncurses basiert und somit Desktop-übergreifend eingesetzt werden kann. Weiterhin kann die Oberfläche auch auf Systemen ohne Grafik (z.B. Server) eingesetzt werden.
 
−
 
 
−
Im Gegensatz zu apt-get führt aptitude über Änderungen der installierten Pakete "genauer" Buch, so dass nicht mehr benötigte Pakete automatisch erkannt und deinstalliert werden, die Installationsgeschichte in ein Log geschrieben wird, angezeigt werden kann, warum ein Paket installiert ist (oder nicht installiert werden kann) etc.
 
−
 
 
−
Mit dem Erscheinen von Debian Etch 4.0 im April 2007 ist aptitude die "bevorzugte" Paketverwaltung und tritt damit die Nachfolge von dselect und apt an.
 
−
 
 
−
===Optionen===
 
−
{| Border=1 Cellpadding=2
 
−
!Kommando
 
−
!Bedeutung
 
−
|-
 
−
|install
 
−
|installiert das Paket, die Abhängigkeiten werden direkt mit aufgelöst
 
−
|-
 
−
|remove
 
−
|löscht das Paket, die Konfigurationsdateien bleiben aber erhalten
 
−
|-
 
−
|purge
 
−
|löscht das Paket inklusive aller Konfigurationsdateien
 
−
|-
 
−
|hold
 
−
|erzwingt, dass das Paket in der aktuell installierten Version gehalten wird, d.h. es werden keine Updates dafür installiert
 
−
|-
 
−
|download
 
−
|Lädt die .deb-Datei des angegebenen Pakets herunter und speichert sie im aktuellen Verzeichnis.
 
−
|-
 
−
|forbid-version
 
−
|verbietet die Installation einer bestimmten Paketversion, diese muss hinter dem Paketnamen mittels = angehängt werden, also z.B. xserver-xorg=1.2.3.broken-4
 
−
|-
 
−
|safe-upgrade
 
−
|aktualisiert alle Pakete, für die Aktualisierungen bereit stehen, entfernt aber keine Pakete und installiert keine neuen; dies ist der "normale" Befehl, um innerhalb eines Releases ein Update durchzuführen
 
−
|-
 
−
|full-upgrade
 
−
|aktualisiert alle Pakete, installiert neue und entfernt ggf. nicht mehr benötigte; dies ist der Befehl für ein Upgrade zwischen zwei Ubuntu-Versionen (entspricht bei apt-get dem dist-upgrade)
 
−
|-
 
−
|show
 
−
|zeigt Informationen zum Paket an
 
−
|-
 
−
|search "suchmuster"
 
−
|zeigt Pakete auf die das Suchmuster passt.
 
−
|-
 
−
|why
 
−
|zeigt an, welche Pakete von diesem abhängen
 
−
|-
 
−
|why-not
 
−
|zeigt an, warum ein Paket nicht installiert werden kann, also welche Konflikte existieren
 
−
|-
 
−
|clean
 
−
|leert den Paketcache, kann u.U. sehr viel Festplattenplatz frei machen
 
−
|-
 
−
|autoclean
 
−
|leert den Paketcache für alle Pakete aus den eingetragenen Quellen, kann u.U. sehr viel Festplattenplatz frei machen
 
−
|}
 
−
 
 
−
===Beispiele===
 
−
*Installation eines Paktes
 
−
root@zero:~# aptitude install sing bing ding wing
 
−
...
 
−
*Löschen eines Paketes
 
−
root@zero:~# aptitude remove bing
 
−
...
 
−
*Löschen eines Paketes inklusive Konfiguration und ohne Rückfrage
 
−
root@zero:~# aptitude purge  sing  -y
 
−
...
 
−
*Paket wird gehalten(eingefroren)
 
−
root@zero:~# aptitude hold sing
 
−
...
 
−
*Download des Paketes und abspeichern im aktuellen Verzeichnis
 
−
root@zero:~# aptitude download mc
 
−
...
 
−
Initialisiere Paketstatus... Fertig
 
−
Hole:1 http://de.archive.ubuntu.com jaunty/universe mc 2:4.6.2~git20080311-4ubuntu1 [2143kB]
 
−
2143kB wurden in 2s heruntergeladen (912kB/s)
 
−
root@zero:~# ls mc_2%3a4.6.2~git20080311-4ubuntu1_i386.deb
 
−
mc_2%3a4.6.2~git20080311-4ubuntu1_i386.deb
 
−
*Sicheres Upgrade des Systems(entsprichte apt-get upgrade)
 
−
root@zero:~# aptitude safe-upgrade
 
−
...
 
−
*Volles Upgrade des Systems(entsprichte apt-get dist-upgrade)
 
−
root@zero:~# aptitude full-upgrade
 
−
...
 
−
*Sucht in den Repositories nach einem Paket, auf dass das Suchmuster passt
 
−
root@zero:/var/cache/apt/archives# aptitude search "\<mc\>"
 
−
p  mc - midnight commander - ein mächtiger Dateimanager
 
−
p  mc-dbg - midnight commander - a powerful file manager - debug package
 
−
 
 
−
 
 
−
*Zeige Infos zu Paket
 
−
root@zero:~# aptitude show sing
 
−
Paket: sing
 
−
Zustand: nicht installiert
 
−
Version: 1.1-17
 
−
Priorität: optional
 
−
Bereich: universe/net
 
−
Verwalter: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
 
−
Unkomprimierte Größe: 168k
 
−
Hängt ab von: debconf | debconf-2.0, libc6 (>= 2.4), libnet0, libpcap0.8 (>= 0.9.3-1)
 
−
Beschreibung: A fully programmable ping replacement
 
−
  Sing is a little tool that sends ICMP packets fully customized from command line. The main purpose is to replace/complement the
 
−
  nice ping command with certain enhancements as:
 
−
  * Send fragmented packets (Linux and BSD).
 
−
  * Send monster packets > 65534 (Linux and BSD).
 
−
  * Send/read spoofed packets.(Libpcap included in distribution).
 
−
  * Send many ICMP Information types in addition to the ECHO REQUEST type sent by default as Address Mask Request, Timestamp,
 
−
    Information Request,
 
−
  * Router Solicitation and Router Advertisement.
 
−
  * Send many ICMP error types: Redirect, Source Quench, Time Exceeded, Destination Unreach and Parameter Problem.
 
−
  * Send to host with Loose or Strict Source Routing.
 
−
  * Use little fingerprinting techniques to discover Windows or Solaris boxes.
 
−
  * Send ICMP packets emulating certain OS: Cisco, Solaris, Linux, Shiva, Unix and Windows at the moment.
 
−
 
 
−
Welche Pakete hängen von diesem abhängen?
 
−
root@zero:~# aptitude why ding
 
−
i  ding        Empfiehlt  trans-de-en (>= 1.4) | translation-dictionary
 
−
i A trans-de-en Schlägt vor ding
 
−
Paketcache leeren
 
−
root@zero:~# aptitude auto-clean
 
−
 
 
−
==apt-cache==
 
−
apt-cache wird benutzt um Pakete zu suchen.
 
−
 
 
−
Beispiele
 
−
root@zero:~# apt-cache search wlan
 
−
linux-wlan-ng - Hilfsprogramme für Wireless Prism2 Karten
 
−
linux-wlan-ng-doc - documentation for wlan-ng
 
−
ifplugd - configuration daemon for ethernet devices
 
−
linux-wlan-ng-firmware - firmware files used by the linux-wlan-ng driver
 
−
linux-wlan-ng-source - linux-wlan-ng driver
 
−
ap-utils - Access-Point-SNMP-Werkzeuge für Linux
 
−
kismet - Wireless 802.11b-Beobachtungs-Programm
 
−
kwlan - KDE-Oberfläche für wpasupplicant
 
−
rt73-common - RT73(RT2571W) Wireless Lan Linux Driver - common files
 
−
rt73-source - RT73(RT2571W) Wireless Lan Linux Driver - kernel module sources
 
−
oder
 
−
root@zero:~# apt-cache search apache | grep mysql
 
−
libapache2-mod-auth-mysql - Apache 2 module for MySQL authentication
 
−
libapache2-mod-log-sql-mysql - Use SQL to store/write your apache queries logs - MySQL interface
 
−
proftpd-mod-mysql - versatile, virtual-hosting FTP daemon - MySQL module
 
−
pure-ftpd-mysql - Pure-FTPd FTP server with MySQL user authentication
 
−
 
 
−
Infos über ein Paket anzeigen
 
−
root@zero:~# apt-cache show  man-db
 
−
Package: man-db
 
−
Priority: standard
 
−
Section: doc
 
−
Installed-Size: 2680
 
−
Maintainer: Colin Watson <cjwatson@debian.org>
 
−
Architecture: i386
 
−
Version: 2.5.5-1build1
 
−
Replaces: man, manpages-de (<< 0.5-4), nlsutils
 
−
Provides: man, man-browser
 
−
Depends: groff-base (>= 1.18.1.1-15), bsdmainutils, debconf (>= 1.2.0) | debconf-2.0, dpkg (>= 1.9.0), libc6 (>= 2.8), libgdbm3, zlib1g (>= 1:1.1.4)
 
−
Suggests: groff, less, www-browser
 
−
Conflicts: man, suidmanager (<< 0.50)
 
−
Filename: pool/main/m/man-db/man-db_2.5.5-1build1_i386.deb
 
−
Size: 973440
 
−
MD5sum: 0b72088eaccb960b5f11baac2f43869c
 
−
SHA1: f5a6556c92afa574bf81538bfac56d40a7dac1ad
 
−
SHA256: 1f9fdfe23af6be42c6b8dc982468b3552f5a9c35f54e6c1515c9ef8fe04c26e0
 
−
Description-de: Programm zum Lesen von Manpages
 
−
  Dieses Paket enthält das Programm man, das die primäre Methode zum Lesen
 
−
  der Online-Hilfedateien (Manpages) darstellt. Weitere Tools sind die
 
−
  Programme whatis und apropos (zum Durchsuchen der Manpage-Datenbank), das
 
−
  Programm manpath zum Bestimmen des Manpage-Suchpfades, sowie die
 
−
  Pflegeprogramme mandb, catman und zsoelim. man-db benutzt die
 
−
  »groff«-Suite, um Manpages zu formatieren und anzuzeigen.
 
−
Homepage: http://man-db.nongnu.org/
 
−
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
 
−
Origin: Ubuntu
 
−
Task: standard, mobile-live, mobile-mid
 
−
 
 
−
Abhängigkeiten eines Paket anzeigen
 
−
root@zero:~# apt-cache depends ssh
 
−
ssh
 
−
  Hängt ab: openssh-client
 
−
  Hängt ab: openssh-server
 
−
 
 
−
Statistiken anzeigen
 
−
root@zero:~# apt-cache stats
 
−
Gesamtzahl an Paketnamen: 34851 (1394k)
 
−
  davon gewöhnliche Pakete: 26580
 
−
  davon rein virtuelle Pakete: 366
 
−
  davon einzelne virtuelle Pakete: 2239
 
−
  davon gemischte virtuelle Pakete: 263
 
−
  davon fehlend: 5403
 
−
Gesamtzahl an unterschiedlichen Versionen: 27442 (1537k)
 
−
Gesamtzahl an unterschiedlichen Beschreibungen: 39403 (946k)
 
−
Gesamtzahl an Abhängigkeiten: 175909 (4925k)
 
−
Gesamtzahl an Version/Datei-Beziehungen: 28936 (463k)
 
−
Gesamtzahl an Beschreibung/Datei-Beziehungen: 39403 (630k)
 
−
Gesamtzahl an Bereitstellungen: 4744 (94,9k)
 
−
Gesamtzahl an Mustern: 121 (1588)
 
−
Gesamtmenge an Abhängigkeits/Versionsspeicher: 820k
 
−
Gesamtmenge an Slack: 82,5k
 
−
Gesamtmenge an Speicher: 8498k
 
−
 
 
−
Umgekehrte Abhängigkeiten eines Paket anzeigen
 
−
root@zero:~# apt-cache rdepends openssh-server
 
−
openssh-server
 
−
Reverse Depends:
 
−
  mythbuntu-desktop
 
−
  ssh-krb5
 
−
  slack
 
−
  |sdm
 
−
  scponly
 
−
  rssh
 
−
  gitosis
 
−
  gforge-shell-postgresql
 
−
  fai-server
 
−
  apt-dater-host
 
−
  ajaxterm
 
−
  ubuntu-virt-server
 
−
  ssh
 
−
  rsync
 
−
  ltsp-server-standalone
 
−
  |ltsp-server
 
−
 
 
−
====Dateien====
 
−
* /etc/apt/sources.list : Orte, von wo die Pakete geholt werden
 
−
* /etc/apt/apt.conf : APT-Konfigurationsdatei
 
−
* /etc/apt/apt.conf.d/ : Weitere Konfigurationsanpassungen
 
−
* /var/cache/apt/archives/ : Speicherort für heruntergeladene Pakete
 
−
* /var/cache/apt/archives/partial/ : Speicherort für momentan übertragene Pakete
 
−
* /var/lib/apt/lists/ : Speicherort für Statusinformationen der Pakete
 
−
 
 
−
==APT-FILE==
 
−
apt-file dient zur Such in den Repositories
 
−
*Installation
 
−
root@zero:~# apt-get install apt-file
 
−
*Update
 
−
root@zero:~# apt-file update
 
−
*In welchem Paket ist die Datei xxx
 
−
root@zero:~# apt-file search nids.h
 
−
libnids-dev: /usr/include/nids.h
 
−
 
 
−
==dpkg-reconfigure==
 
−
Manche Pakete erfordern eine Konfiguration. Die Grundkonfiguration wird automatisch bei der ersten Installation erzeugt. Später dient der Befehl dpkg-reconfigure zur Bearbeitung.Die Liste der zur Zeit installierten und mit dpkg-reconfigure konfigurierbaren Pakete erhält man im Terminal [1] mit:
 
−
root@zero:~# ls /var/lib/dpkg/info/*.templates|xargs -n 1 basename|sed -e "s/.templates$//"
 
−
===Ein Paket neu konfigurieren===
 
−
 
 
−
Die gestellten Fragen werden nach ihrer Priorität gefiltert. Normalerweise werden nur wenige Fragen gestellt. Mit den folgenden Parametern kann man das einstellen:
 
−
*-plow (alle Fragen werden gestellt)
 
−
*-pmedium
 
−
*-phigh
 
−
*-pcritical (fast alles wird auf die Vorgabewerte gesetzt, nur überlebenswichtige Fragen werden gestellt)
 
−
 
 
−
Der folgende Befehl konfiguriert zum Beispiel das Paket man-db neu, wobei alle möglichen Fragen gestellt werden:
 
−
root@zero:~# dpkg-reconfigure -plow man-db
 
−
 
 
−
==TAR==
 
−
*[[tar]]
 
−
 
 
−
==alien==
 
−
alien konvertiert verschiedene Paketformate in jeweils andere um. Das Programm kann mit folgenden Formaten umgehen:
 
−
* RedHat (rpm)
 
−
* Debian (deb)
 
−
* Stampede (slp)
 
−
* Slackware (tgz)
 
−
* Solaris (pkg)
 
−
 
 
−
===Kommandos===
 
−
Die Aufrufform ist sehr einfach. alien erkennt das Format einer angegebenen Paketdatei automatisch und konvertiert
 
−
es dann in das angegebene Format. Das gewünschte Ausgabeformat wird durch die folgenden Parameter angegeben:
 
−
 
 
−
* --to-deb : Aus dem angegebenen Paket wird ein Debian-Paket erstellt
 
−
* --to-rpm : Aus dem angegebenen Paket wird ein RedHat-Paket erstellt
 
−
* --to-tgz : Aus dem angegebenen Paket wird ein Slackware-Paket erstellt
 
−
* --to-slp : Aus dem angegebenen Paket wird ein Stampede-Paket erstellt
 
−
 
 
−
alien [--to-deb] [--to-rpm] [--to-tgz] [--to-slp] [Optionen] Datei(en)
 
−
 
 
−
===Optionen===
 
−
* -i : Installiere generierte Pakete und entfernte Paketdatei nach der Installation
 
−
* -g : Generiert ein temporäres Verzeichnis
 
−
* --patch=''patch'' : Fügt einen Patch ein (nur Debian Pakete)
 
−
* --test : Testet die generierten Pakete (nur Debian Pakete)
 
−
* -k : alien erhöht standardmäßig die kleinere Versionsnummer (minor) um Eins nach einer Konvertierung; mit der Option wird
 
−
dies nicht durchgeführt
 
−
* --scripts : Versucht Skripte zu konvertieren, die beim Installieren oder Entfernen des Pakets ausgeführt werden
 
−
* -v : ausführliche Ausgabe
 
−
* --veryverbose : sehr ausführliche Ausgabe
 
−
* -V : zeigt die Version von alien an
 
−
 
 
−
Beispiele
 
−
 
 
−
Umwandlung eines Debian Pakets in ein RPM Paket
 
−
root@zero:~# alien --to-rpm mailutils_1%3a1.2+dfsg1-4_i386.deb
 
−
Warning: Skipping conversion of scripts in package mailutils: postinst preinst prerm
 
−
Warning: Use the --scripts parameter to include the scripts.
 
−
mailutils-1.2+dfsg1-5.i386.rpm generated
 
−
 
 
−
Wie oben, aber mit Skripte des Pakets
 
−
root@zero:~# alien '''--scripts''' --to-rpm mailutils_1%3a1.2+dfsg1-'''4'''_i386.deb
 
−
mailutils-1.2+dfsg1-'''5'''.i386.rpm generated
 
−
 
 
−
Umwandlung eines Debian Pakets in ein RPM Paket unter Beibehaltung der kleineren Versionsnummer
 
−
root@zero:~# alien --scripts -k --to-rpm mailutils_1%3a1.2+dfsg1-'''4'''_i386.deb
 
−
mailutils-1.2+dfsg1-'''4'''.i386.rpm generated
 
−
 
 
−
 
 
−
==sources.list wheezy==
 
−
<pre>
 
−
deb http://httpredir.debian.org/debian wheezy main
 
−
deb-src http://httpredir.debian.org/debian wheezy main
 
−
 
 
−
deb http://httpredir.debian.org/debian wheezy-updates main
 
−
deb-src http://httpredir.debian.org/debian wheezy-updates main
 
−
 
 
−
deb http://security.debian.org/ wheezy/updates main
 
−
deb-src http://security.debian.org/ wheezy/updates main
 
−
 
 
−
</pre>
 
−
 
 
−
=Locakles Repository=
 
−
==Benötigte Pakete==
 
−
apt-get install apt-mirror
 
−
==Konfiguration==
 
−
vi /etc/apt/mirror.list
 
−
*Repositorys eintragen die man Spiegeln will
 
−
*Mirror erstellen
 
−
apt-mirror
 
−
*Mirror nutzbar machen
 
−
ln -s /var/spool/apt-mirror/mirror/de.archive.ubuntu.com/ubuntu /var/www/ubuntu
 
−
 
 
−
=Debian Paket erstellen=
 
−
==How to==
 
−
*Paketordner erstellen:
 
−
mkdir paketordner
 
−
mkdir paketordner/usr
 
−
mkdir paketordner/DEBIAN
 
−
*Control-file erstellen und anpassen:
 
−
vi paketordner/DEBIAN/control
 
−
*Beispielinhalt von '''control''' file
 
−
Package: namedesprogrammes
 
−
Version: 0.7
 
−
Section: admin
 
−
Priority: optional
 
−
Architecture: all
 
−
Essential: no
 
−
Depends:
 
−
Installed-Size: 400
 
−
Maintainer: Name des Paketerstellers <name@adresse.com>
 
−
Description: Dies ist die Beschreibung des Paketes"
 
−
*Programm im '''usr''' Ordner platzieren. Beispiel:
 
−
/usr/share/namedesprogrammes/programm.sh
 
−
*Ausführskript '''usr/bin/namedesprogrammes''' platzieren:
 
−
#!/bin/bash
 
−
cd /usr/share/namedesprogrammes
 
−
./programm.sh
 
−
:Ausführbar machen
 
−
chmod a+rx /usr/bin/namedesprogrammes
 
−
*Eintrag im Anwendungsmenü:
 
−
;unter
 
−
/usr/share/applications
 
−
;Textdatei erstellen
 
−
namedesprogrammes.desktop
 
−
;und (angepassten) Text einfügen
 
−
[Desktop Entry]
 
−
Encoding=UTF-8
 
−
Name=namedesprogrammes
 
−
Comment=Dies ist ein Kommentar welcher beim Ueberfahren mit der Maus angezeigt wird
 
−
Exec=namedesprogrammes
 
−
Terminal=false
 
−
Type=Application
 
−
Categories=GNOME;GTK;System;
 
−
*Programm ein Symbol zuweisen
 
−
;Ordner anlegen:
 
−
usr/share/pixmaps
 
−
;Symboldatei platzieren:
 
−
namedesprogrammes.png
 
−
;In namedesprogrammes.desktop-Datei Zeile einfügen:
 
−
Icon=namedesprogrammes.png
 
−
*Paket erstellen
 
−
dpkg -b paketordner namedesprogrammes-0.7-all.deb
 
−
 
 
−
= Entpacken =
 
−
apt-get install binutils # enthält "ar" zum entpacken von *.deb Dateien
 
−
 
 
−
<pre>
 
−
#!/bin/bash
 
−
 
 
−
phrase=xinux
 
−
 
 
−
extract_deb() {
 
−
  deb="$1"
 
−
  package="${deb/_*/}"
 
−
  mkdir -pv "${package}/DEBIAN"
 
−
  cd "${package}"
 
−
  ar x "../${deb}"
 
−
  tar xvf "control.tar.gz" -C "DEBIAN/"
 
−
  tar xvf "data.tar.gz"
 
−
  rm "control.tar.gz"
 
−
  rm "data.tar.gz"
 
−
  sed -i "s/^Version: \(.*\)ubuntu/Version: \1$phrase/" "DEBIAN/control"
 
−
  version=$(grep -o "^Version:.*$phrase.*" 'DEBIAN/control')
 
−
  [ -z "$version" ] && (
 
−
    sed -i "s/^Version: \(.*\)$/Version: \1${phrase}1/" 'DEBIAN/control'
 
−
  )
 
−
  cd - >/dev/null
 
−
}
 
−
 
 
−
build_deb() {
 
−
  package="$1"
 
−
  version=$(grep -e ^Version "$package/DEBIAN/control" | sed -e 's/.*: //' -e 's/:/%3a/g' )
 
−
  arch=$(grep -e ^Arch "$package/DEBIAN/control" | sed 's/.*: //')
 
−
  dpkg -b "$package" "${package}_${version}_${arch}.deb"
 
−
}
 
−
 
 
−
case $1 in
 
−
xf)
 
−
  dir=$(dirname "$2")
 
−
  cd "$dir"
 
−
  extract_deb $(basename "$2")
 
−
;;
 
−
cf)
 
−
  dir=$(dirname "$2")
 
−
  cd "$dir"
 
−
  build_deb $(basename "$2")
 
−
;;
 
−
x)
 
−
  dir="$2"
 
−
  [ -z "$dir" ] && dir='.'
 
−
  cd "$dir"
 
−
  for deb in $(ls *.deb | grep -v "$phrase")
 
−
  do
 
−
    extract_deb "$deb"
 
−
  done
 
−
;;
 
−
c)
 
−
  dir="$2"
 
−
  [ -z "$dir" ] && dir='.'
 
−
  cd "$dir"
 
−
  find -maxdepth 1 -type d | \
 
−
  sed '/^\.$/ d' | \
 
−
  sed 's#^\./##' | \
 
−
  while read package
 
−
  do
 
−
    build_deb "$package"
 
−
  done
 
−
;;
 
−
*)
 
−
  echo -e "Usage: $0 command file
 
−
\txf\textract file
 
−
\tx\textract dir
 
−
\tcf\tbuild package from package-dir
 
−
\tc\tbuild packages from dir"
 
−
;;
 
−
esac
 
−
</pre>
 
−
 
 
−
=debmirror=
 
−
nur trusty ...
 
−
 
 
−
*debmirror -a amd64 -d trusty -s main,universe --nosource  -h archive.ubuntu.com --progress  /mnt/md0/data/www/ubuntu/mirror/trusty >> /var/log/debmirror
 
−
 
 
−
 
 
−
=pre und post scripte=
 
−
*/var/lib/dpkg/info/
 

Aktuelle Version vom 3. Mai 2025, 12:46 Uhr