[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ weiter ]
Dieses Kapitel behandelt einige tiefer gehende Internas der Debian-Paketverwaltung. Wenn Sie hauptsächlich an der Verwendung der entsprechenden Programme interessiert sind, springen Sie zu Die Debian-Paketverwaltungswerkzeuge, Kapitel 8 und/oder Wie man sein Debian-System auf aktuellem Stand hält, Kapitel 9.
Pakete beinhalten im Grundsatz alle notwendigen Dateien, um eine Sammlung zusammengehöriger Befehle und Fähigkeiten zu implementieren. Es gibt zwei Arten von Debian-Paketen:
Binärpakete, die ausführbare Dateien, Konfigurationsdateien,
man/info-Seiten, Copyright-Informationen und andere Dokumentation beinhalten.
Diese Pakete werden in einem speziellen Debian-Archivformat verteilt (siehe Wie ist ein binäres Debian-Pakets aufgebaut?, Abschnitt
7.2). Sie sind für gewöhnlich an der Dateierweiterung ».deb« zu
erkennen. Binärpakete können mittels des Debian-Werkzeugs dpkg
entpackt werden (eventuell auch über Frontends wie aptitude
).
Mehr Details finden Sie auf dessen Handbuchseite.
Quellpakete, welche aus einer .dsc-Datei bestehen, die
das Quellpaket beschreibt (inklusive der Namen der folgenden Dateien), einer
.orig.tar.gz-Datei, welche den Original-Quellcode ohne
Veränderungen in einem gzip-komprimierten tar-Format enthält, sowie
üblicherweise einer .diff.gz-Datei mit Debian-spezifischen
Änderungen des Codes. Das Dienstprogramm dpkg-source packt und
entpackt Debian-Quellpakete. Mehr Details sind auf der Handbuchseite zu
finden. (Das Programm apt-get
kann als Frontend für
dpkg-source genutzt werden.)
Installation of software by the package system uses "dependencies"
which are carefully designed by the package maintainers. These dependencies
are documented in the control file associated with each package.
For example, the package containing the GNU C compiler (gcc
)
"depends" on the package binutils
which includes the
linker and assembler. If a user attempts to install gcc
without
having first installed binutils
, the package management system
(dpkg) will send an error message that it also needs binutils
, and
stop installing gcc
. (However, this facility can be overridden by
the insistent user, see dpkg(8)
.) See more in Was ist damit gemeint, dass ein Paket eine Depends-,
Recommends-, Suggests-, Conflicts-,
Replaces- oder Provides-Abhängigkeit zu einem anderen Paket
hat?, Abschnitt 7.9 below.
Debian-Paketwerkzeuge können benutzt werden, um:
Pakete oder Paketteile zu verändern und zu verwalten;
lokal eine vom Nutzer bevorzugte Version einer Datei in ein Paket einzufügen;
Entwickler beim Aufbau von Paketarchiven zu unterstützen, und
Benutzern die Installation von Paketen zu ermöglichen, die sich z.B. auf fernen FTP-Servern befinden.
Ein Debian-Paket oder eine Debian-Archivdatei beinhaltet ausführbare Dateien, Bibliotheken und Dokumentationen, die zu einem Programm oder einer Menge verwandter Programme gehören. Normalerweise hat eine Debian-Archivdatei die Dateiendung .deb.
The internals of this Debian binary packages format are described in the
deb(5)
manual page. This internal format is subject to change
(between major releases of Debian GNU/Linux), therefore please always use
dpkg-deb(1)
if you need to do lowlevel manipulations on
.deb files.
Die Namen aller Debian-Binärpaketdateien sind folgendermaßen aufgebaut: <foo>_<Versionsnummer>-<Debian-Revisionsnummer>_<Debian-Architektur>.deb
Bitte beachten Sie, dass foo nur nach landläufiger Auffassung den Paketnamen darstellt. Sie können den Paketnamen der Debian-Archivdatei (.deb-Datei) auf eine der folgenden Arten herausfinden:
untersuchen Sie die Packages
-Datei in dem Verzeichnis, in dem es
im Debian-FTP-Archiv abgelegt ist. Diese Datei enthält einen Eintrag für
jedes Paket. Der erste Abschnitt in jedem Eintrag enthält den formalen
Paketnamen.
benutzen Sie den Befehl dpkg --info foo_VVV-RRR_AAA.deb (wobei VVV durch die Version, RRR durch die Revisionsnummer und AAA durch die Architektur des Paketes ersetzt werden muss). Dies gibt unter anderem den zur entpackten Archivdatei gehörenden Paketnamen aus.
Die VVV-Komponente ist die Versionsnummer, die vom Original-Entwickler festgelegt worden ist. Hierfür sind keine Standards festgelegt. Für sie sind daher völlig unterschiedliche Formate, von »19990513« bis »1.3.8pre1« in Gebrauch.
Die RRR-Komponente ist die Debian-Revisionsnummer, die von einem Debian-Entwickler (oder einem individuellen Benutzer, der sich entschieden hat, das Paket selber zu bauen) festgelegt wurde. Diese Nummer entspricht dem Stand des Debian-Paketes. Eine neue Revisionsnummer kennzeichnet daher Änderungen im Debian-Makefile (debian/rules), der Debian-control-Datei (debian/control), den Installations- oder Entfernungs-Skripten (debian/p*) oder in den Konfigurationsdateien, die mit diesem Paket benutzt werden.
The AAA component identifies the processor for which the package
was built. This is commonly amd64, which refers to AMD64, Intel
64 or VIA Nano chips. For other possibilities review Debian's FTP directory
structure at Was haben all die
Verzeichnisse in den Debian-FTP-Archiven zu bedeuten?, Abschnitt 6.7. For
details, see the description of "Debian architecture" in the manual
page dpkg-architecture(1)
.
Die Spezifikationen zu den Debian-control-Dateien finden Sie im Debian-Policy-Handbuch, Abschnitt 5, siehe Welche andere Dokumentation gibt es auf einem und für ein Debian-System?, Abschnitt 12.1.
Hier beispielsweise eine control-Datei des Debian-Pakets »hello«:
Package: hello Version: 2.9-2+deb8u1 Architecture: amd64 Maintainer: Santiago Vila <sanvila@debian.org> Installed-Size: 145 Depends: libc6 (>= 2.14) Conflicts: hello-traditional Breaks: hello-debhelper (<< 2.9) Replaces: hello-debhelper (<< 2.9), hello-traditional Section: devel Priority: optional Homepage: http://www.gnu.org/software/hello/ Description: example package based on GNU hello The GNU hello program produces a familiar, friendly greeting. It allows non-programmers to use a classic computer science tool which would otherwise be unavailable to them. . Seriously, though: this is an example of how to do a Debian package. It is the Debian version of the GNU Project's `hello world' program (which is itself an example for the GNU Project).
Das »Package«-Feld zeigt den Paketnamen an. Diesen Namen erwarten die Paketverwaltungswerkzeuge als Eingabe. Er stimmt nicht unbedingt mit dem ersten Teil des Namens der Debian-Archivdatei überein, ähnelt ihm aber gewöhnlich.
Das »Version«-Feld gibt sowohl die Original-Entwickler-Versionsnummer (an erster Stelle) wie auch (im zweiten Teil) die Revisionsnummer des Debian-Paketes an. Dieses wird unter Warum sind Debian-Paketdateinamen so lang?, Abschnitt 7.3 näher beschrieben.
Das »Architecture«-Feld gibt den Prozessor-Typ an, für den das Binärpaket kompiliert worden ist.
Das »Depends«-Feld enthält eine Liste von Paketen, die benötigt werden, um dieses Paket erfolgreich installieren zu können.
»Installed-Size« gibt an, wieviel Speicherplatz das installierte Paket auf der Festplatte belegen wird. Dieser Wert wird von den Frontends benutzt, um zu prüfen, ob noch genug Festplattenplatz für die Installation vorhanden ist.
Die »Section«-Zeile gibt an, in welchem Bereich des Debian-FTP-Archives das Paket zu finden ist.
Die »Priority« zeigt, wie wichtig dieses Paket für die Installation ist. Quasi-intelligente Programme wie "apt" oder "aptitude" übernehmen diese Angabe und bilden entsprechende Paketgruppen, zum Beispiel eine Gruppe optionaler Software, siehe Was ist ein Essential-, Required-, Important-, Standard-, Optional- oder Extra-Paket?, Abschnitt 7.7.
Das »Maintainer«-Feld enthält die E-Mail-Adresse der Person, die momentan für die Paketbetreuung zuständig ist.
Das »Description«-Feld umreißt das Anwendungsgebiet und die Funktionen eines Paketes.
Mehr Informationen über alle möglichen Felder, die ein Paket haben kann, finden Sie im Debian-Policy-Handbuch, Abschnitt 5 »Control files and their fields«, siehe Welche andere Dokumentation gibt es auf einem und für ein Debian-System?, Abschnitt 12.1.
»Conffiles« ist eine Liste von Konfigurationsdateien (meistens unter /etc zu finden). Diese Dateien werden vom Paketverwaltungswerkzeug bei einer Paketaktualisierung nicht überschrieben. Dies stellt sicher, dass eigene Einstellungen, die in diesen Dateien gesetzt wurden, beibehalten werden. Dies ist notwendig, um den Austausch von Paketen auf laufenden Systemen zu ermöglichen.
Um herauszufinden, welche Dateien bei einem Update erhalten bleiben, benutzen Sie:
dpkg --status paket
und schauen unter »Conffiles:« nach.
Diese Dateien sind ausführbare Skripte, die automatisch vor oder nach einer Paketinstallation bzw. -entfernung ausgeführt werden. Genau wie die control-Datei sind all diese Dateien Teil des »control«-Abschnitts der Debian-Archivdatei.
Die einzelnen Dateien sind:
Dieses Skript wird ausgeführt, bevor die Debian-Archivdatei (».deb«-Datei), zu der sie gehört, entpackt wird. Viele »preinst«-Skripte stoppen Dienste, die aktualisiert werden, bis deren Installation bzw. Update abgeschlossen ist (nach dem erfolgreichen Ausführen des »postinst«-Skripts).
Bei Software, die für das konkrete System konfiguriert werden muss, ist es typischerweise ein solches Skript, das (nach dem Transfer der Dateien auf die Festplatte) die Konfiguration des Pakets foo abschließt. Oft erfragen »postinst«-Skripte Eingaben vom Benutzer und/oder warnen ihn, dass er das Paket bei Bedarf neu konfigurieren muss, wenn er die Standardwerte akzeptiert. Viele »postinst«-Skripte führen nach der Installation/Aktualisierung die für das Starten bzw. Neustarten der Dienste nötigen Befehle aus.
Dieses Skript stoppt üblicherweise alle Dienste, die mit einem Paket verknüpft sind. Es wird ausgeführt, bevor die Dateien des Paketes gelöscht werden.
Typischerweise modifiziert dieses Skript Links oder andere Dateien, die zu foo gehören und/oder entfernt Dateien, die vom Paket erzeugt wurden. (Siehe auch Was ist ein virtuelles Paket?, Abschnitt 7.8.)
Momentan können Sie alle control-Dateien in /var/lib/dpkg/info finden. Die für das Paket foo relevanten Dateien beginnen mit »foo« und haben die Dateierweiterungen »preinst«, »postinst« usw. Die Datei foo.list in diesem Verzeichnis enthält eine Liste aller Dateien, die mit dem Paket foo installiert worden sind. (Beachten Sie, dass die Pfade der Dateien ein dpkg-Interna sind. Sie sich sollten nicht darauf verlassen.)
Von den Distributionsbetreuern wird jedem Debian-Paket eine Priorität zugeordnet, auf die das Paketverwaltungssystem zugreifen kann. Die Prioritäten sind:
Required: Pakete die für das korrekte Funktionieren des Systems benötigt werden.
Dieses schließt alle Werkzeuge mit ein, die notwendig sind, um Systemdefekte zu reparieren. Sie dürfen diese Pakete nicht entfernen, ansonsten kann es passieren, dass Ihr System zusammenbricht und Sie sogar außerstande sind, mittels dpkg Sachen wieder zu installieren. Ein nur aus Required-Paketen aufgebautes System ist vermutlich unnütz, aber es bietet genug Funktionalität, um dem Systemadministrator zu ermöglichen, weitere Programme zu installieren.
Important-Pakete sollten auf jedem Unix-ähnlichen System installiert sein.
Andere Pakete, ohne die das System nicht vernünftig laufen kann, finden Sie hier. Das beinhaltet nicht Emacs, X11, TeX oder andere große Anwendungen. Diese Pakete stellen lediglich die Basisinfrastruktur dar.
Standard-Pakete sind Standard auf jedem Linux-System, einschließlich eines recht kleinen, aber nicht zu begrenzten Text-Modus-Systems. Es sind Werkzeuge enthalten, um E-Mails zu verschicken (mit mutt) oder Dateien von FTP-Servern herunterzuladen.
Programme dieser Priorität werden standardmäßig installiert, wenn der Benutzer nichts anderes ausgewählt hat. Es beinhaltet keine großen Programme, aber den Python-Interpreter und einiges an Server-Software, wie OpenSSH (für ferne Administration) und Exim (für E-Mail-Auslieferung; allerdings kann Exim auch so konfiguriert werden, dass er nur lokale Nachrichten verarbeitet). Auch grundlegende Dokumentation, die für die meisten Benutzer hilfreich sein könnte, ist enthalten.
Optional-Pakete beinhalten alles das, was abseits spezieller Anforderungen zur Verfügung stehen sollte oder wovon unterstellt wird, dass Sie es nutzen wollen, ohne es von vornherein zu kennen.
Dazu gehört X, eine komplette TeX-Distribution und viele andere Programme.
Extra: Pakete, die in Konflikt mit Paketen höherer Priorität stehen, die nur für jemanden interessant sind, der sie schon kennt, oder die spezielle Anforderungen haben, welche sie ungeeignet für »Optional« machen.
Wenn Sie eine Standard-Debian-Installation durchführen, werden alle Pakete mit der Priorität Standard oder höher auf Ihrem System installiert. Wenn Sie vordefinierte Programmgruppen (Tasks) auswählen, bekommen Sie auch Pakete mit geringerer Priorität.
Zusätzlich sind einige Pakete als Essential markiert. Da diese Pakete für die Grundfunktionalität des Systems absolut notwendig sind, lehnen es die Paketverwaltungswerkzeuge ab, diese zu entfernen.
Virtuelle Pakete stellen Verweise auf grundlegende Funktionen des Systems dar und tragen einen entsprechenden, systematischen Namen. Zum Beispiel sind konqueror and firefox-esr beides Webbrowser, folglich werden beide Programme die Abhängigkeit erfüllen, die ein Programm hat, das einen Webbrowser braucht, um auf einem System richtig zu funktionieren. Beide Pakete erfüllen also die Abhängigkeit des »virtuellen Pakets« namens www-browser.
Ebenso bieten exim4 und sendmail beide die Funktionalität eines Mail-Transport-Agents. Wir sagen also, dass beide Programme das »virtuelle Paket« mail-transport-agent anbieten. Wenn eines der Programme installiert ist, dann wird die Installation jedes Paketes, das von einem mail-transport-agent abhängig ist, durch die Existenz des virtuellen Paketes ermöglicht.
Für den Fall, dass mehr als ein Paket installiert ist, von denen alle dasselbe virtuelle Paket bereitstellen, bietet Debian einen Mechanismus an, der es dem Systemadministrator erlaubt, ein Paket als bevorzugt einzustellen. Der zugehörige Befehl ist update-alternatives und wird später in Einige Benutzer mögen mawk, andere gawk; einige mögen vim, andere elvis; einige trn, wieder andere tin; wie unterstützt Debian die Vielfalt?, Abschnitt 11.11 näher erläutert.
Das Debian-Paketverwaltungssystem hat eine Reihe von »Paket-Abhängigkeiten«, die (in einer einzigen Markierung) anzeigen, inwieweit ein Programm A unabhängig vom Vorhandensein von Programm B auf einem gegeben System arbeiten kann:
Paket A hängt ab von Paket B (depends), wenn B unbedingt installiert sein muss, damit A läuft. In manchen Fällen hängt A überdies von einer bestimmten Version von B ab. Meistens handelt es sich dabei um eine Untergrenze, wonach As Abhängigkeit durch jede Version von B erfüllt wird, die neuer ist als die angegebene Version.
Paket A empfiehlt Paket B (recommends), wenn der Paketverwalter der Meinung ist, dass die meisten Benutzer A nicht ohne die Funktionalität von B haben wollen.
Paket A schlägt Paket B vor (suggests), wenn B Dateien beinhaltet, die auf die Funktionen von A bezogen sind und dessen Gebrauchswert für gewöhnlich deutlich steigern.
Paket A steht in Konflikt mit Paket B (conflicts), wenn A nicht funktioniert, solange B auf dem System installiert ist. Sehr oft sind Konflikte Fälle, in denen A Dateien beinhaltet, die eine Verbesserung gegenüber denen aus B darstellen. »Conflicts« werden oft mit »Replaces« verbunden.
Paket A ersetzt Paket B (replaces), wenn Dateien, die von B installiert wurden, von Dateien aus A entfernt und (in manchen Fällen) überschrieben werden.
Paket A beschädigt Paket B (breaks), wenn diese beiden Pakete nicht gleichzeitig auf einem System konfiguriert werden können. Die Paketverwaltung wird es ablehnen, eines davon zu installieren, wenn das andere bereits auf dem System installiert und konfiguriert ist.
Paket A stellt Paket B bereit (provides), wenn alle Dateien und Funktionalitäten von B in A vereinigt sind. Dieser Mechanismus ermöglicht es Benutzern mit einem begrenzten Festplattenplatz, nur den Teil von Paket A zu installieren, den sie wirklich benötigen.
Detaillierte Informationen über die Nutzung all dieser Bezeichnungen finden Sie im Policy-Handbuch, Abschnitt 7.2 »Binary Dependencies«, siehe Welche andere Dokumentation gibt es auf einem und für ein Debian-System?, Abschnitt 12.1.
»Pre-Depends« ist eine spezielle Abhängigkeit. Im Fall der meisten Pakete entpackt dpkg die Archiv-Datei eines Pakets (also die .deb-Datei) unabhängig davon, ob die Dateien, von denen das Paket abhängt, auf dem System existieren oder nicht. Stark vereinfacht bedeutet »entpacken«, das dpkg die Dateien aus der Archiv-Datei in Ihrem Dateisystem an der entsprechenden Stelle abgelegt. Wenn solch ein Paket von der Existenz anderer Pakete abhängt, lehnt dpkg es ab, die Paketinstallation abzuschließen (d.h. die Konfiguration des Pakets wird nicht durchgeführt), bevor die anderen Pakete installiert sind.
Für einige Pakete lehnt dpkg jedoch sogar das Entpacken ab, bis bestimmte Abhängigkeiten erfüllt sind. Solche Pakete haben eine sogenannte »Pre-depends«-Abhängigkeit von anderen Paketen. Das Debian-Projekt führte diese Kategorie ein, um ein sicheres Upgrade des Systems vom a.out- zum ELF-Format zu ermöglichen; dabei war die Reihenfolge, in der die Pakete ausgepackt wurden, kritisch. Es gibt andere große Upgrade-Situationen, bei denen diese Methode hilfreich ist, z.B. bei Paketen mit der Priorität »Required« und ihrer Abhängigkeit zu LibC.
Genau wie zuvor finden Sie weiterführende Informationen dazu im Policy-Handbuch.
Diese »Wunsch«-Markierungen zeigen an, was ein Benutzer mit einem Paket tun wollte, z.B. als er dpkg aufrief.
Ihre Bedeutungen sind:
unknown (unbekannt) - der Benutzer hat nie angegeben, ob er das Paket wünscht;
install (installieren) - der Benutzer möchte das Paket installiert oder aktualisiert haben;
remove (entfernen) - der Benutzer möchte das Paket entfernt haben, aber die Konfigurationsdateien sollen erhalten bleiben;
purge (vollständig entfernen)- der Benutzer möchte das Paket samt der zugehörigen Konfigurationsdateien entfernt haben;
hold (zurückhalten) - der Benutzer wünscht keine Veränderung an diesem Paket, d.h. das Paket soll in der derzeitigen Version beibehalten werden, wie es ist.
Es gibt drei Wege, Pakete zurückzuhalten: mit dpkg, apt oder aptitude.
Mit dpkg müssen Sie lediglich die Liste der Paketauswahlen mittels
dpkg --get-selections \* > selections.txt
exportieren. Dann modifizieren Sie die daraus resultierende Datei
selections.txt
: ändern Sie die Zeile, die das Paket beinhaltet,
das Sie zurückhalten wollen (in diesem Beispiel libc6
) von:
libc6 install
in:
libc6 hold
Speichern Sie die Datei und laden Sie sie mit folgendem Befehl zurück in die »dpkg«-Datenbank:
dpkg --set-selections < selections.txt
Mit apt können Sie ein Paket auf Zurückhalten setzen mittels:
apt-mark hold Paketname
Oder Sie entfernen die Zurückhalten-Markierung mit:
apt-mark unhold Paketname
Mit aptitude können Sie ein Paket auf Zurückhalten setzen mittels:
aptitude hold Paketname
Oder Sie entfernen die Zurückhalten-Markierung mit:
aptitude unhold Paketname
Debian-Quellpakete können nicht im eigentlichen Sinne »installiert« werden. Sie werden lediglich in ein Verzeichnis Ihrer Wahl entpackt, wo Sie dann die Binärpakete daraus erzeugen können.
Source packages are distributed on most of the same mirrors where you can
obtain the binary packages. If you set up your APT's
sources.list(5)
to include the appropriate "deb-src"
lines, you'll be able to easily download any source package by running
apt-get source foo
Um Ihnen beim Bauen der Quelltext-Pakete zu helfen, bieten die Debian Quellpakete den sogenannten »build-dependencies«-Mechanismus (Bau-Abhängigkeiten). Das bedeutet, dass die Quellpaket-Betreuer eine Liste anderer Pakete pflegen, die zum Bauen des Paketes benötigt werden. Um zu sehen, wozu dies nützlich ist, probieren Sie einmal dies aus
apt-get build-dep foo
bevor Sie den Quellcode kompilieren.
Der beliebteste Weg hierfür ist die Nutzung verschiedener Wrapper-Werkzeuge. Im folgenden Beispiel wird die Programmsammlung devscripts eingesetzt. Installieren Sie dies Paket, falls noch nicht geschehen.
Laden Sie jetzt das Quellpaket herunter:
apt-get source foo
und wechseln Sie in dessen Verzeichnisbaum:
cd foo-*
Installieren Sie, falls zum Bauen weitere Pakete gebraucht werden, diese mit:
sudo apt-get build-dep foo
Beugen Sie Verwirrung vor, wenn später seitens Debian neue Versionen veröffentlicht werden, indem Sie mit folgendem Kommando die selbst erstellte Version kennzeichnen:
dch -l local 'Irgendein Text ...'
Und dann bauen Sie Ihr Paket:
debuild -us -uc
Wenn alles korrekt gelaufen ist, sollten Sie jetzt Ihr Paket installieren können mittels
sudo dpkg -i ../*.deb
Wenn Sie es vorziehen, die Dinge händisch zu erledigen, statt devscripts zu benutzen, gehen Sie folgendermaßen vor:
Sie benötigen alle foo_*.dsc-, foo_*.tar.gz- und foo_*.diff.gz-Dateien, um den Quellcode zu kompilieren. (Wobei die innerhalb des Debian-Projekts entstandenen Pakete nicht unbedingt eine .diff.gz-Datei beinhalten).
Wenn Sie diese Dateien haben (siehe Wie installiere ich
ein Quellpaket?, Abschnitt 7.13) und das Paket dpkg-dev
auf
Ihrem System installiert ist, können Sie mit
dpkg-source -x foo_version-revision.dsc
das Paket in ein Verzeichnis namens foo-version entpacken.
Wollen Sie einfach nur das Paket kompilieren, wechseln Sie in das foo-version-Verzeichnis und führen folgenden Befehl aus:
dpkg-buildpackage -rfakeroot -b
um das Paket zu bauen (beachten Sie, dass dazu das Paket fakeroot
erforderlich ist). Installieren Sie dann mit
dpkg -i ../foo_version-revision_arch.deb
das neu gebaute Paket.
Details hierzu finden Sie im Debian-Leitfaden für neue Paketbetreuer (aus dem
maint-guide
-Paket bzw. unter http://www.debian.org/doc/devel-manuals#maint-guide
)
oder in dem Handbuch für Debian-Paketbetreuer (verfügbar im Paket
debmake-doc
oder unter https://www.debian.org/doc/devel-manuals#debmake-doc
).
[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ weiter ]
Die Debian GNU/Linux-FAQ
Version 9.0, 17 November 2018