Giter Site home page Giter Site logo

dpmb / dpmb Goto Github PK

View Code? Open in Web Editor NEW
68.0 68.0 20.0 21.34 MB

Debian Package Management Book / Debian-Paketmanagement-Buch

Home Page: https://www.dpmb.org/

License: Other

Makefile 61.30% Shell 5.82% CSS 32.88%
apt aptitude asciidoc book buch cc-by-sa debian deutsch dpmb e-book epub german html package-management paket-management pdf

dpmb's Introduction

Book "Debian Package Management" / Buch "Debian-Paketmanagement"

Creative Commons License Contract Build Status

English

This is the freely available source code for the (for now German written) book Debian Package Management by Axel Beckert and Frank Hofmann.

The book is written in AsciiDoc format and can be rendered to e.g. HTML, EPUB, PDF, or Mobipocket using AsciiDoc or Asciidoctor, and DocBook to LaTeX Publishing (dblatex) and Calibre's ebook-convert.

It has been written at many different locations.

License

The book "Debian Package Management" by Frank Hofmann and Axel Beckert is licensed under the Creative Commons Attribution - Share Alike 4.0 International License.

Read or Download the Book

You can also read it online or download as either single HTML file including all images (ca. 12 MB) or as PDF (ca. 10 MB), EPUB (ca. 9 MB) or Mobipocket (ca. 15 MB) file from https://book.dpmb.org/. The book is also available as package in Debian in Debian 9 Stretch or later.

The additional building of the book on GitBook has been disabled as it never worked properly, it recently requested write access and then renamed some files without asking first.

German / Deutsch

Dies ist der frei verfügbare Quelltext zum Buch Debian-Paketmanagement von Axel Beckert und Frank Hofmann.

Das Buch ist im AsciiDoc-Format geschrieben und kann mit AsciiDoc oder Asciidoctor, und je nach Format via DocBook to LaTeX Publishing (dblatex) und Calibres ebook-convert nach z.B. HTML, EPUB, PDF und Mobipocket gerendert werden.

Es wurde an vielen verschiedenen Orten geschrieben.

Lizenz

Das Buch "Debian-Paketmanagement" von Frank Hofmann und Axel Beckert ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

Das Buch lesen oder herunterladen

Man kann das Buch auch online lesen oder von https://book.dpmb.org/ als einzelne HTML-Datei mitsamt allen Bildern (ca. 12 MB), als PDF (ca. 10 MB), als EPUB (ca. 9 MB) oder als Mobipocket (ca. 15 MB) herunterladen.

Das zusätzliche Bauen des Buches auf GitBook haben wir eingestellt, es hat nie richtig funktioniert, zuletzt Schreibrechte verlangt und mit diesen dann Dateien im Git-Repository ungefragt umbenannt.

Klappentext

Die Debian-Distribution setzt sich aus mehreren zehntausend Bausteinen zusammen, die alle aufeinander abgestimmt sind und sich bei Bedarf in eine Installation integrieren. Diese sogenannten Pakete (Packages) sind so eigenständig, dass sie von einem oder mehreren Debian-Entwicklern für das Debian-Projekt gepflegt werden, interagieren aber zugleich so intensiv mit allen anderen, dass wechselseitige Abhängigkeiten erkannt und bei Bedarf automatisch aufgelöst werden. Nur so ist die Modularität des komplexen Gesamtsystems gewährleistet, die Administratoren weltweit die Möglichkeit bietet, Debian-Installationen sehr genau für die jeweilige Anforderung vom Embedded-Gerät über den Desktop bis zum Großrechner zu konfigurieren.

Effizientes Paketmanagement ist also für jeden Debian-Administrator ein ebenso interessantes wie lohnendes Feld, das in der Praxis aber oft nicht ausreichend beachtet und mit wenigen Standardbefehlen "erledigt" wird. Zwei ausgewiesene Debian-Experten nehmen dies zum Anlass, das Debian-Paketmanagement erstmals derart umfassend darzustellen. Das Buch kommt von den Konzepten, die der Struktur und dem Zusammenspiel der Pakete zugrunde liegen, über die Werkzeuge zu deren Nutzung immer auch zu den Best Practices der professionellen Systemadministration. Es wendet sich an Einsteiger ebenso wie an Berufsadministratoren, indem es, ausgehend von den Grundlagen, das Optimierungspotential in zunehmend umfangreichen Szenarien ausschöpft. So entsteht ein aktuelles Handbuch der Debian-Administration, das als praxisorientiertes HowTo ebenso dient wie als Nachschlagewerk für die unerwartet zahlreichen Optionen und Kombinationsmöglichkeiten.

Bau-Anleitung

Alle notwendigen Pakete installieren und das Git-Repository klonen

Zuerst sollten mit Root-Rechten (z.B. via sudo, su oder ssh root@…) alle zum Bau notwendigen Abhängigkeiten installiert werden:

apt install asciidoc dblatex texlive-lang-german xmlto calibre

(Hinweis für Gentoo-Nutzer: Es gibt ein Gentoo-Overlay für dblatex.)

Dann als Benutzer das entsprechende Git-Repository klonen und ins entsprechende Verzeichnis wechseln:

git clone https://github.com/dpmb/dpmb.git
cd dpmb

Alle E-Book-Formate bauen

Will man alle verfügbaren E-Book-Formate bauen reicht nun ein simples

make

Nur eines der E-Book-Formate bauen

Will man nur eines der Formate bauen, so reicht einer dieser Befehle:

make allinone.html
make online.html
make chunked
make doctor.html
make pdf
make epub
make mobi
  • allinone.html = Einzelne HTML-Datei mit allen Bildern eingebettet
  • online.html = HTML-Datei mit allen Bildern als eigene Dateien
  • chunked = Eine HTML-Datei pro Kapitel
  • doctor.html = HTML-Datei mit allen Bildern als eigene Dateien (mit asciidoctor statt asciidoc/a2x gerendert).

.deb-Paket bauen und installieren

Will man das ganze gleich als Debian-Paket bauen und installieren, so ruft man in o.g. Verzeichnis als Benutzer anstatt make folgenden Befehl (aus dem Paket dpkg-dev, das Paket build-essential muss auch installiert sein) ein:

dpkg-buildpackage -b

Das fertige Paket liegt danach unter ../debian-paketmanagement-buch_…_all.deb und man kann es mit Root-Rechten (siehe oben) entsprechend installieren, z.B. mittels sudo:

sudo dpkg -i ../debian-paketmanagement-buch_*_all.deb

dpmb's People

Contributors

benediktahrens avatar hofmannedv avatar imgbotapp avatar mechtilde avatar mirabilos avatar miwie avatar tretkowski avatar xtaran avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dpmb's Issues

Fails to build target 'pdf' in Debian 'unstable'

me@medion:~/git/dpmb/dpmb$ make
a2x -f xhtml -L debian-paketmanagement.txt
a2x -f epub -L debian-paketmanagement.txt
a2x -f pdf -L debian-paketmanagement.txt
a2x: ERROR: "dblatex" -t pdf -p "/etc/asciidoc/dblatex/asciidoc-dblatex.xsl" -s "/etc/asciidoc/dblatex/asciidoc-dblatex.sty" "/home/me/git/dpmb/dpmb/debian-paketmanagement.xml" returned non-zero exit status 1
Makefile:14: recipe for target 'pdf' failed
make: *** [pdf] Error 1

pdiffs.txt: missing ';'?

The line Acquire::PDiffs in file /praxis/systeme-mit-schlechter-anbindung-warten/pdiffs.txt probably should read Acquire::PDiffs;

Fehler bei "Paketcache aufräumen"

Unten auf der Seite steht

Schalter --clean-on-startup::
entspricht dem Aufruf aptitude autoclean

Schalter --autoclean-on-startup::
entspricht dem Aufruf aptitude clean

asciidoc.conf: 'docinfo' attrib. warning for purehtml target

The inclusion of the docinfo attribute in asciidoc.conf leads to the following warning for make purehtml:

mw@nuc:~/work/dpmb$ make purehtml
asciidoc  debian-paketmanagement.txt
asciidoc: WARNING: version.txt: line 2: {include:/opt/mw/work/dpmb/debian-paketmanagement-docinfo.html}: file does not exist

Makefile: missing FILE name for target doctor-html

The doctor-html target in Makefile misses the file to be processed (debian-paketmanagement.txt) and probably should read:

doctor-html: $(DEFAULTDEPENDENCIES)
        asciidoctor $(DOCTORDEFAULTOPTIONS) debian-paketmanagement.txt

Change directory layout and include:: macro calls in a way which is compatible with Gitbook.io

Currently Gitbook.io doesn't support Asciidoc's include:: macros, see GitbookIO/gitbook#1015. The document structure needs to be defined manually in a file called SUMMARY.adoc with an ordered and nested list containing link: macros. We can generate that SUMMARY.adoc from our current structure by finding all occurrences of include:: macros. The script bin/generate-gitbook-summary.pl in the gitbook branch does that already.

Gitbook.io seems to ignore all files which don't generate content already, i.e. those only containing more than just include:: macros (e.g. a header) are included. But if content and include:: macros are mixed, we get ugly hyperlinks labed with the .adoc file name despite pointing to the right .html file (in the online book). We should be able to avoid them by splitting up all files with such mixed contents.

Meta data for EPUB output

I'd like to see (more) metadata in the EPUB ouput, e.g. the names of the authors.
Could be done like:

  • add a debian-paketmanagement-docinfo.xml file e.g. like
<authorgroup>
 <author>
  <firstname>Axel</firstname>
  <surname>Beckert</surname>
  <email>...</email>
 </author>
 <author>
  <firstname>Frank</firstname>
  <surname>Hofmann</surname>
  <email>...</email>
 </author>
</authorgroup>

With or without email addresses
- change the epub target in Makefile to:
   a2x $(VERBOSE) -a docinfo -f epub $(DEFAULTOPTIONS) $<

Other 'bookinfo' related elements (e.g. editor, revhistory) could also be included.

I understand if this proposal will not be implemented e.g. due to some agreements with the editor.

Recursiv alle Build-Depends* anzeigen

Wie kann man denn fuer eine Liste von Paketen (bash nano), recursiv alle Build-Depends

Build-Depends, Build-Depends-Indep, Build-Depends-Arch

anzeigen fuer seine aktuell Architektur (z.B. armhf) ?

Da muss man zum Teil komplexe Bedingungen aufloesen wie

Build-Depends: abc [!i386]

oder

Build-Depends: xyz [hurd-i386 ia64 kfreebsd-amd64 s390x sparc]

oder

Build-Depends: qwe [linux-any]

Bei Auswahl (z.B. a | b) soll automatisch das erstere genommen werden.

Siehe: https://www.debian.org/doc/debian-policy/ch-relationships.html

Und zwar soll dies schnell passieren, und ohne Wiederholung von Paketen.

Folgendes

apt-rdepends --build-depends bash nano

ist nicht gut, weil es Pakete dauernd wiederholt, und einfach exzessiv langsam ist.

Ich bin gerade dabei ein eigenes python script zu machen, was selber durch

apt-cache showsrc bash nano | grep ^Build-Depends

durchscannt.

Gibt es da echt nichts von der Stange?
Danke.

Prioritäten zu APT-Pinning in Grenzbereichen unpräzise

Die Tabelle zu Prioritäten beim APT-Pinning stimmt nicht ganz mit der Tabelle in apt-preferences(5) überein.

man page Buch
1000 ≤ P < ∞ 1000 < P < ∞
990 ≤ P < 1000 991 < P < 1000
500 ≤ P < 990 500 < P < 990
100 ≤ P < 500 100 < P < 500
0 < P < 100 0 < P < 100
-∞ < P < 0 -∞ < P < 0

Natürlich ist das von mir als „<“ interpretierte Wort „zwischen“ etwas unscharf. Als „≤“ wird es jedoch auch nicht korrekt. Alternativ zu „zwischen 100 und 500“ bietet sich „von 100 bis 499“ an.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.