Initial commit

This commit is contained in:
Norbert Tretkowski 2025-06-22 18:23:26 +02:00
commit c61393c39b
Signed by: norbert
GPG key ID: EAA31A3693AAB231
162 changed files with 5158 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,444 @@
<HTML>
<HR>
<FONT SIZE=+2></FONT><DIV ALIGN=CENTER>
<FONT SIZE=+2><BR>
<BR>
<BR>
<BR>
Debian: das Projekt, die Distribution<BR>
<BR>
</FONT><FONT SIZE=-1><BR>
Norbert Tretkowski<BR>
Team(ix) GmbH<BR>
<BR>
Debian Entwickler<BR>
nobse@debian.org<BR>
</FONT></DIV>
<BR>
(page 1)<BR>
<HR>
<BR>
Verschiedene Arten von Distributionen<BR>
<BR>
<BR>
<UL>
<LI>Kommerzielle Distributionen (SuSE, Red Hat, Lindows, ...)
</UL>
<BR>
<UL>
<LI>Freie Distributionen (Debian, Gentoo, Fedora, ...)
</UL>
<BR>
(page 2)<BR>
<HR>
<BR>
Nachteile der Kommerziellen (1/2)<BR>
<BR>
<BR>
<UL>
<LI>Geld verdienen
</UL>
<BR>
<UL>
<LI>Mitarbeiter bezahlen
</UL>
<BR>
<UL>
<LI>Release Druck
</UL>
<BR>
<UL>
<LI>Neues machen, auch wenn es nix neues gibt
</UL>
<BR>
<UL>
<LI>Focus auf dem was Zeitschriften testen
<UL>
<LI>einfache Installation
<LI>aktuelle Software nur bei Eye-Catchern
<LI>bunt
</UL>
</UL>
<BR>
(page 3)<BR>
<HR>
<BR>
Nachteile der Kommerziellen (2/2)<BR>
<BR>
<BR>
<UL>
<LI>Wirtschaftliches Risiko
</UL>
<BR>
<UL>
<LI>Weniger Entwickler
</UL>
<BR>
<UL>
<LI>Management hat das Sagen
</UL>
<BR>
(page 4)<BR>
<HR>
<BR>
Ein paar Jahreszahlen<BR>
<BR>
<BR>
<UL>
<LI>1994: Ian Murdock gruendet das Debian Projekt
<UL>
<LI>Freiheit
<LI>Offenheit
</UL>
</UL>
<BR>
<UL>
<LI>1997: Social Contract
</UL>
<BR>
<UL>
<LI>1999: Verfassung fuer Debian
</UL>
<BR>
(page 5)<BR>
<HR>
<BR>
Social Contract<BR>
<BR>
<BR>
<UL>
<LI>Debian muss immer frei sein und auch bleiben
</UL>
<BR>
<UL>
<LI>Probleme werden nicht verheimlicht
</UL>
<BR>
<UL>
<LI>Primaerer Focus auf Usern und freier Software (oder freier Software und Usern?)
</UL>
<BR>
<UL>
<LI>Unfreie Software wird soweit moeglich supported
<UL>
<LI>Netscape
<LI>Flash-Plugin
<LI>Qmail
</UL>
</UL>
<BR>
(page 6)<BR>
<HR>
<BR>
Debian Free Software Guidelines<BR>
<BR>
<BR>
<UL>
<LI>Sie legen fest, was freie Software im Sinne von Debian ist
</UL>
<BR>
<UL>
<LI>Freie Software, kein Freibier
<UL>
<LI>Software muss frei vertrieben werden duerfen
<LI>Sourcecode muss vorhanden und veraenderbar sein
<LI>Patchregel muss erlaubt sein
<LI>Personen/Gruppen und Einsatzbereiche duerfen nicht ausgeschlossen werden
<LI>Alle Rechte muessen komplett weiter gegeben werden duerfen
<LI>Lizenz darf nicht nur fuer Debian gelten
<LI>Lizenz darf andere Software nicht stoeren
</UL>
</UL>
<BR>
<UL>
<LI>Auf den Punkt gebracht muss man Software ohne zu ueberlegen weitergeben und veraendern duerfen
</UL>
<BR>
<UL>
<LI>Jeder Debian Entwickler muss den Debian Free Software Guidelines zustimmen
</UL>
<BR>
(page 7)<BR>
<HR>
<BR>
Verfassung fuer Debian<BR>
<BR>
<BR>
<UL>
<LI>Wer darf was
</UL>
<BR>
<UL>
<LI>Wer muss was machen
</UL>
<BR>
<UL>
<LI>Langweilig zu lesen
<UL>
<LI>Jeder macht seine Arbeit selber, freiwillig, und wird zu nichts gezwungen
<LI>Jeder kann in seinem Bereich alles machen, solange er andere dabei nicht stoert
<LI>Alles soll zusammen beschlossen werden
<LI>Keine zentrale Leitung
<LI>Das letzte Wort haben alle Debian Entwickler (Wahl)
<LI>Debian Leader hat nix zu sagen
</UL>
</UL>
<BR>
(page 8)<BR>
<HR>
<BR>
Organe<BR>
<BR>
<BR>
<UL>
<LI>Der kleine Entwickler
</UL>
<BR>
<UL>
<LI>Alle Entwickler
</UL>
<BR>
<UL>
<LI>Projektleiter (offizieller Repraesentant)
</UL>
<BR>
<UL>
<LI>Technischer Ausschuss, kann in technischen Sachen Entwickler ueberstimmen
</UL>
<BR>
<UL>
<LI>Sekretariat fuer Wahlen
</UL>
<BR>
(page 9)<BR>
<HR>
<BR>
Debian Policy<BR>
<BR>
<BR>
<UL>
<LI>Viele Entwickler (911), jeder macht ein paar Pakete
</UL>
<BR>
<UL>
<LI>Alle Pakete muessen zusammen funktionieren
</UL>
<BR>
<UL>
<LI>Policy regelt, wie die Pakete auszusehen haben
<UL>
<LI>Wo gehoert welche Datei hin
<LI>Wie sehen die Runlevels aus
<LI>Wo werden Cronjobs eingetragen, wie oft werden Logs routiert
<LI>Wie wird mit Shared Libraries umgegangen
<LI>Kein Paket darf Konfigurationsdateien anderer Pakete veraendern
<LI>Wo werden CGI Scripte abgelegt (es gibt mehrere Webserver)
<LI>Wie funktioniert das mit den Menues fuer die Window Manager
<LI>Pruefung der Policy mit linitan und/oder linda
</UL>
</UL>
<BR>
(page 10)<BR>
<HR>
<BR>
Wie wird entwickelt (1/2)<BR>
<BR>
<BR>
<UL>
<LI>Debian ist langsam
</UL>
<BR>
<UL>
<LI>Das aktuelle stable Release ist bereits zwei Jahre alt
<UL>
<LI>Daran wird nichts mehr geaendert, ausser Security Fixes und grober Bugs
<LI>Dafuer hat der User ein stabiles System
</UL>
</UL>
<BR>
<UL>
<LI>Entwicklungszweig unstable aendert sich taeglich
<UL>
<LI>Ueber 10.000 Pakete
<LI>Jede Woche ca. 400 neue/aktualisierte Pakete
<LI>Kann kaputt sein, z.B. PAM letzte Woche
</UL>
</UL>
<BR>
(page 11)<BR>
<HR>
<BR>
Wie wird entwickelt (2/2)<BR>
<BR>
<BR>
<UL>
<LI>Zwischenschritt testing
<UL>
<LI>Wird automatisch aus unstable generiert
<LI>Pakete wandern von unstable nach testing, wenn
<UL>
<LI>das Paket 10 Tage lang keine kritischen Bugs hatte
<LI>das Paket fuer alle Architekturen verfuegbar ist
<LI>alle Dependencies in testing vorhanden sind
</UL>
</UL>
</UL>
<BR>
<UL>
<LI>W00T kr00ss karp0tt experimental
<UL>
<LI>experimenteller Spielplatz der Entwickler
<LI>kein kompletter Zweig, nur einzelne Pakete
<LI>keine automatischen Builds fuer andere Architekturen
</UL>
</UL>
<BR>
<UL>
<LI>Neues Release wird vom Release Manager koordiniert und gibts dann, wenn keine release-critical Bugs mehr vorhanden sind
</UL>
<BR>
(page 12)<BR>
<HR>
<BR>
Besonderheiten von Debian (1/3)<BR>
<BR>
<BR>
<UL>
<LI>Freie und unfreie Software sind getrennt (main, contrib und non-free)
</UL>
<BR>
<UL>
<LI>Hohe Qualitaet (den Entwicklern liegt was an ihren betreuten Paketen)
</UL>
<BR>
<UL>
<LI>Bestes Package Management System wo gibt
</UL>
<BR>
<UL>
<LI>Lange Entwicklungszeiten
</UL>
<BR>
<UL>
<LI>Alle Konfigurationsdateien liegen in /etc
</UL>
<BR>
<UL>
<LI>Viele Pakete (woody 8000, sid derzeit 10000)
</UL>
<BR>
(page 13)<BR>
<HR>
<BR>
Besonderheiten von Debian (2/3)<BR>
<BR>
<BR>
<UL>
<LI>Installation und Updates aus dem Netz
</UL>
<BR>
<UL>
<LI>Trennung von Client und Server Paketen
</UL>
<BR>
<UL>
<LI>Aktives Security Team
</UL>
<BR>
<UL>
<LI>Umfangreiche Dokumentation, da offenes Projekt
</UL>
<BR>
<UL>
<LI>Support ueber Mailinglisten, IRC oder kommerziell
</UL>
<BR>
<UL>
<LI>Viele unterstuetzte Architekturen
<UL>
<LI>Toll, aber... das bremst die Entwicklung
<LI>Debian ohne Linux, z.B. Hurd, Debian GNU/NetBSD, Debian GNU/Win32
<LI>Pakete werden von Autobuildern gebaut
</UL>
</UL>
<BR>
(page 14)<BR>
<HR>
<BR>
Besonderheiten von Debian (3/3)<BR>
<BR>
<BR>
<UL>
<LI>Jeder kann und darf mithelfen
</UL>
<BR>
<UL>
<LI>Kernel Package
</UL>
<BR>
<UL>
<LI>Kein zentrales Konfigurationswerkzeug
</UL>
<BR>
<UL>
<LI>Jedes Programm hat eine Manpage
</UL>
<BR>
<UL>
<LI>Viele Entwickler
</UL>
<BR>
(page 15)<BR>
<HR>
<BR>
Die Frage aller Fragen<BR>
<BR>
<BR>
Wann wird Debian GNU/Linux 3.1 (sarge) released<BR>
<BR>
<BR>
W000T !!!!!<BR>
<BR>
WENN ES FERTIG IST !!!!111<BR>
<BR>
(page 16)<BR>
<HR>
<BR>
Wo bekommt man Debian her<BR>
<BR>
<BR>
<UL>
<LI>Von der lokalen Linux User Group
</UL>
<BR>
<UL>
<LI>Von Freunden
</UL>
<BR>
<UL>
<LI>Aus dem Internet
</UL>
<BR>
<UL>
<LI>Zeitschriften
</UL>
<BR>
<UL>
<LI>Buchhandlungen
</UL>
(page 17)<BR>
</BODY>
</HTML>
<!--
FILE ARCHIVED ON 18:30:18 Nov 3, 2006 AND RETRIEVED FROM THE
INTERNET ARCHIVE ON 15:35:09 Apr 7, 2016.
JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
SECTION 108(a)(3)).
-->

Binary file not shown.

View file

@ -0,0 +1,49 @@
Undo Branches
=======================================
:earlier 10m
:earlier 2h
:later 2h
:undolist
Tabs
=======================================
vim -p foo.txt bar.txt
gvim -p foo.txt bar.txt
:tabnew (neues leeres Tab aufmachen)
:tabe /home/tretkowski/foo.txt (Datei in neuem Tab oeffnen)
:tabdo %s/foo/bar/g (auf alles Tabs ausfuehren)
:tabs (Liste der Tabs)
:tabc (schliessen des aktuellen Tabs)
:tabn (naechstes Tab)
:tabp (vorheriges Tab)
:qa
Extended Highlighting
=======================================
:set cursorline
:set cursorcolumn
Omni/Word Completion
=======================================
:set completeopt=menu
:autocmd FileType python set omnifunc=pythoncomplete#Complete
ctrl x, ctrl p
ctrl x, ctrl o
Spellchecking
=======================================
:set spelllang=de_de,en_us
:autocmd FileType mail set spell
]s (naechster Fehler)
[s (vorheriger Fehler)
zg (hinzufuegen)
zw (entfernen)
z= oder ctrl x, s (Liste mit moeglichen Verbesserungen anzeigen)

BIN
static/talks/XMPP_2007.pdf Normal file

Binary file not shown.

BIN
static/talks/XMPP_2016.pdf Normal file

Binary file not shown.

360
static/talks/chroot.html Normal file
View file

@ -0,0 +1,360 @@
<html>
<hr>
<font size="+2"></font><div align="CENTER">
<font size="+2"><br>
<br>
<br>
<br>
Changeroot Umgebungen an den Beispielen Apache und BIND<br>
<br>
</font><font size="-1"><br>
Norbert Tretkowski<br>
Debian Entwickler<br>
tretkowski@bzimage.de<br>
</font></div>
<br>
(page 1)<br>
<hr>
<br>
Was ist chroot?<br>
<br>
<br>
<ul>
<li>Ein Betriebssystemaufruf
</ul>
<br>
<ul>
<li>Ein Programm
</ul>
<br>
(page 2)<br>
<hr>
<br>
Was macht chroot? (1)<br>
<br>
<br>
<ul>
<li>Einschließen von Programmen in ein Verzeichnis
</ul>
<br>
<ul>
<li>Ein eingesperrter Prozess kann nur noch unterhalb dieses Verzeichnises Unheil treiben
</ul>
<br>
<ul>
<li>Dieses Verzeichnis muß aber alle vom Prozess benötigten Dateien, Pipes und Unix-Domain Sockets enthalten
</ul>
<br>
(page 3)<br>
<hr>
<br>
Was macht chroot? (2)<br>
<br>
<br>
<ul>
<li>Der Systemcall chroot() wird von einigen Programmen (z.B. Postfix) schon von Haus aus verwendet
</ul>
<br>
<ul>
<li>Programme die diese Funktionalität von sich aus nicht haben können auch in einer abgeschlossenen Umgebung laufen
</ul>
<br>
(page 4)<br>
<hr>
<br>
Beispiel BIND: Installation<br>
<br>
<br>
<ul>
<li>Benötigte Software: BIND
</ul>
<br>
<ul>
<li>Installation der Software wie in der jeweils beiliegenden Dokumentation beschrieben
</ul>
<br>
(page 5)<br>
<hr>
<br>
Beispiel BIND: Erstellen statischer Binaries<br>
<br>
<br>
<ul>
<li>In der Zeile 'CDEBUG= -O2 -g' in src/port/linux/Makefile.set ein '-static' hinzufügen
</ul>
<br>
<ul>
<li>Aufruf von 'make clean &amp;&amp; make'
</ul>
<br>
(page 6)<br>
<hr>
<br>
Beispiel BIND: Erstellen eines Verzeichnisses<br>
<br>
<br>
<ul>
<li>Möglichkeit /chroot/bind
</ul>
<br>
<ul>
<li>Die Verzeichnisstruktur darunter:
</ul>
<br>
<ul>
<ul>
<li>/chroot/bind/dev
<li>/chroot/bind/etc/bind
<li>/chroot/bind/usr/sbin
<li>/chroot/bind/var/run
</ul>
</ul>
<br>
(page 7)<br>
<hr>
<br>
Beispiel BIND: Füllen der Verzeichnisse (1)<br>
<br>
<br>
<ul>
<li>/chroot/bind/etc
</ul>
<br>
<ul>
<ul>
<li>named.conf
<li>localtime
<li>group (nur ein Eintrag für GID named)
<li>passwd (ein Eintrag für UID named)
</ul>
</ul>
<br>
<ul>
<li>/chroot/bind/etc/bind
</ul>
<br>
<ul>
<ul>
<li>Zonenfiles für BIND
</ul>
</ul>
<br>
(page 8)<br>
<hr>
<br>
Beispiel BIND: Füllen der Verzeichnisse (2)<br>
<br>
<br>
<ul>
<li>/chroot/bind/dev
</ul>
<br>
<ul>
<ul>
<li>mknod -m 666 /chroot/bind/dev/null c 1 3
</ul>
</ul>
<br>
<ul>
<li>/chroot/bind/usr/local/bin
</ul>
<br>
<ul>
<ul>
<li>Statisch gelinkte `named` und `named-xfer` Binaries hinein kopieren
</ul>
</ul>
<br>
(page 9)<br>
<hr>
<br>
Beispiel BIND: User und Gruppe hinzufügen<br>
<br>
<br>
<ul>
<li>User 'named' in /chroot/bind/etc/passwd
<br>
<li>Gruppe 'named' in /chroot/bind/etc/group
</ul>
<br>
<ul>
<li>Verzeichnis /chroot/bind/var/run für User 'named' beschreibbar machen
</ul>
<br>
<ul>
<li>Besitzer der Dateien unter /chroot/bind/etc/bind: named.named
</ul>
<br>
(page 10)<br>
<hr>
<br>
Beispiel BIND: Init Scripte<br>
<br>
<br>
<ul>
<li>BIND:
</ul>
/chroot/named/usr/local/sbin/named \ <br>
-u named -g named -t /chroot/named<br>
<br>
<ul>
<li>syslogd:
</ul>
syslogd -m 0 -a /chroot/named/dev/log<br>
<br>
(page 11)<br>
<hr>
<br>
Beispiel Apache: Erstellen der Verzeichnisse<br>
<br>
<br>
<ul>
<li>Moeglichkeit /chroot/apache
</ul>
<br>
<ul>
<li>Verzeichnisse darunter:
</ul>
<br>
<ul>
<ul>
<li>/chroot/apache/dev
<li>/chroot/apache/lib
<li>/chroot/apache/etc
<li>/chroot/apache/bin
<li>/chroot/apache/usr/local
</ul>
</ul>
<br>
(page 12)<br>
<hr>
<br>
Beispiel Apache: Verzeichnisse fuellen (1)<br>
<br>
<br>
<ul>
<li>/chroot/apache/dev
</ul>
<br>
<ul>
<ul>
<li>mknod -m 666 /chroot/apache/dev/null c 1 3
</ul>
</ul>
<br>
(page 13)<br>
<hr>
<br>
Beispiel Apache: Verzeichnisse fuellen (2)<br>
<br>
<br>
<ul>
<li>/chroot/apache/etc
</ul>
<br>
<ul>
<ul>
<li>cp /etc/passwd /chroot/apache/etc
<li>cp /etc/shadow /chroot/apache/etc
<li>cp /etc/group /chroot/apache/etc
<li>cp /etc/resolv.conf /chroot/apache/etc
<li>cp /etc/hosts /chroot/apache/etc
<li>cp /etc/localtime /chroot/apache/etc
<li>cp /etc/ld.so.* /chroot/apache/etc
</ul>
</ul>
<br>
(page 14)<br>
<hr>
<br>
Beispiel Apache: Verzeichnisse fuellen (3)<br>
<br>
<br>
<ul>
<li>/lib
<ul>
<li>cp /lib/libm.* /chroot/apache/lib/
<li>cp /lib/libgdbm.* /chroot/apache/lib
<li>cp /lib/libdb.* /chroot/apache/lib
<li>cp /lib/libdl.* /chroot/apache/lib
<li>cp /lib/libc.* /chroot/apache/lib
<li>cp /lib/libnss* /chroot/apache/lib
</ul>
</ul>
<br>
(page 15)<br>
<hr>
<br>
Beispiel Apache: Verzeichnisse fuellen (4)<br>
<br>
<br>
<ul>
<li>/usr/local
</ul>
<br>
<ul>
<ul>
<li>cp -rp /usr/local/apache/ /chroot/apache/usr/local
</ul>
</ul>
<br>
(page 16)<br>
<hr>
<br>
Beispiel Apache: Init Script<br>
<br>
<br>
<ul>
<li>chroot /chroot/apache /usr/local/apache/bin/apachectl start
</ul>
<br>
(page 17)<br>
<hr>
<br>
Feinheiten<br>
<br>
<br>
<ul>
<li>Anpassen von passwd, group und httpd.conf
</ul>
<br>
<ul>
<li>Permission 600 fuer passwd, shadown und group
</ul>
<br>
(page 18)<br>
<hr>
<br>
Fazit<br>
<br>
<br>
<ul>
<li>Pro Dienst ein Verzeichnis
</ul>
<br>
<ul>
<li>Pro Dienst einen User und eine Group
</ul>
(page 19)<br>
</body>
</html>
<!--
FILE ARCHIVED ON 14:25:42 Jan 03, 2005 AND RETRIEVED FROM THE
INTERNET ARCHIVE ON 10:25:25 May 11, 2024.
JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
SECTION 108(a)(3)).
-->
<!--
playback timings (ms):
captures_list: 0.756
exclusion.robots: 0.21
exclusion.robots.policy: 0.198
esindex: 0.012
cdx.remote: 18.814
LoadShardBlock: 301.043 (3)
PetaboxLoader3.datanode: 330.626 (4)
load_resource: 80.75
PetaboxLoader3.resolve: 39.298
-->

372
static/talks/gnupg.html Normal file
View file

@ -0,0 +1,372 @@
<html>
<hr>
<font size="+2"></font><div align="CENTER">
<font size="+2"><br>
<br>
<br>
<br>
GnuPG - sicherer E-Mail Verkehr<br>
<br>
</font><font size="-1"><br>
Norbert Tretkowski<br>
Debian Entwickler<br>
nobse@debian.org<br>
</font></div>
<br>
(page 1)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Klassische Kryptographie Programme</font><font size="-3"><br>
</font><br>
<br>
<ul>
<li>Kommunikationspartner müssen vor der Kommunikation geheime Schlüssel austauschen
</ul>
<br>
<ul>
<li>Lästig wenn sie sehr weit auseinander leben
</ul>
</div>
<br>
(page 2)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Abhilfe</font><font size="-3"><br>
</font><br>
<br>
<ul>
<li>Whitfield Diffie und Martin Hellmann entwickelten 1976 das asymetrische Verfahren
</ul>
<br>
<ul>
<li>Bei diesem hat jeder Benutzer zwei Schlüssel
</ul>
<br>
<ul>
<ul>
<li>einen öffentlichen (den er verbreitet)
</ul>
</ul>
<br>
<ul>
<ul>
<li>einen privaten (der geheim bleiben muss)
</ul>
</ul>
</div>
<br>
(page 3)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Wie's funktioniert</font><font size="-3"><br>
</font><br>
<br>
<ul>
<li>Jemand will mir eine verschlüsselte E-Mail schicken
</ul>
<br>
<ul>
<li>Diese Person holt sich meinen öffentlichen Schlüssel von einem Keyserver
</ul>
<br>
<ul>
<li>Nachricht wird mit dem eben geholten Key verschlüsselt
</ul>
<br>
<ul>
<li>Nur der Besitzer des entsprechenden privaten Keys kann die Nachricht entschlüsseln
</ul>
</div>
<br>
(page 4)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Populärste Implementation</font><font size="-3"><br>
</font><br>
<br>
Bisher PGP, aber<br>
<br>
<ul>
<li>Problem: CAF
</ul>
<br>
<ul>
<li>Source Code nicht verfügbar
</ul>
<br>
<br>
Abhilfe: GnuPG<br>
</div>
<br>
(page 5)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Anlegen eines neuen Keys (1)</font><font size="-3"><br>
</font><br>
<br>
<ul>
<li>Aufruf: `gpg --gen-key`
</ul>
<br>
<ul>
<li>Standardeinstellungen übernehmen
</ul>
<br>
<ul>
<ul>
<li>Algorithmus
<li>Schlüssellänge
<li>Gültigkeitsdauer
</ul>
</ul>
</div>
<br>
(page 6)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Anlegen eines neuen Keys (2)</font><font size="-3"><br>
</font><br>
<br>
<ul>
<li>User-ID für den Schlüssel wählen
</ul>
<br>
<ul>
<ul>
<li>Name, z.B. 'Norbert Tretkowski'
</ul>
</ul>
<br>
<ul>
<ul>
<li>Kommentar, z.B. 'nobse'
</ul>
</ul>
<br>
<ul>
<ul>
<li>E-Mail Adresse, z.B. 'nobse@debian.org'
</ul>
</ul>
</div>
<br>
(page 7)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Anlegen eines neuen Keys (3)</font><font size="-3"><br>
</font><br>
<br>
<ul>
<li>Passphrase eingeben
</ul>
<br>
<ul>
<ul>
<li>Der private Schlüssel wird nicht im Klartext gespeichert
</ul>
</ul>
<br>
<ul>
<ul>
<li>Wird nur bei Bedarf entschlüsselt
</ul>
</ul>
<br>
<ul>
<ul>
<li>Passphrase darf niemals über eine unsichere Verbindung eingegeben werden
</ul>
</ul>
<br>
<ul>
<li>Nach Eingabe der Passphrase wird Schlüsselpaar generiert
</ul>
</div>
<br>
(page 8)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Hinzufügen zusätzlicher User-ID's</font><font size="-3"><br>
</font><br>
<br>
<ul>
<li>Hinzufügen weiterer E-Mail Adressen möglich
</ul>
<br>
<ul>
<li>Befehl 'adduid' auf der Schlüsselmanagement Console
</ul>
<br>
<ul>
<li>Erneute Abfrage von Name, Kommentar und E-Mail Adresse
</ul>
<br>
<ul>
<li>Löschen einer User-ID: 'deluid'
</ul>
</div>
<br>
(page 9)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Revoke Zertifikat</font><font size="-3"><br>
</font><br>
<br>
<ul>
<li>Revoke Zertifikat zum ungültig erklären eines Schlüssels
</ul>
<br>
<ul>
<li>Aufruf: 'gpg --gen-revoke <user-id>
</ul>
<br>
<ul>
<li>Zertifikat wird ausgegeben
</ul>
<br>
<ul>
<ul>
<li>Speichern des Zertifikats auf einer Floppy
</ul>
</ul>
<br>
<ul>
<ul>
<li>Ausdrucken des Zertifikats
</ul>
</ul>
</div>
<br>
(page 10)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Keys auf einen Keyserver</font><font size="-3"><br>
</font><br>
<br>
<ul>
<li>Uploaden des Keys<font size="-2">
</ul>
$ gpg --keyserver keys.de.pgp.net --send-key <user-id><br>
gpg: success sending to `keys.de.pgp.net' (status=200)<br>
</font><font size="-1"><br>
<ul>
<li>Aktualisieren des Keys durch erneutes Uploaden
</ul>
<br>
<ul>
<li>Loeschen eines Keys nicht moeglich
</ul>
<br>
<ul>
<li>Holen eines Keys</font><font size="-2">
</ul>
$ gpg --keyserver keys.de.pgp.net --recv-key <user-id><br>
</font></div>
<br>
(page 11)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Verschlüsseln und entschlüsseln</font><font size="-3"><br>
</font><br>
<br>
<ul>
<li>Verschluesseln einer Datei<font size="-2">
</ul>
$ gpg -a -r <user-id oder key-id> -e <dateiname><br>
</font><font size="-1"><br>
<ul>
<li>Neu Datei <dateiname.asc>
</ul>
<br>
<ul>
<li>Entschluesseln via</font><font size="-2">
</ul>
$ gpg -d <dateiname><br>
</font></div>
<br>
(page 12)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Signieren und Prüfen</font><font size="-3"><br>
</font><br>
<br>
<ul>
<li>Signieren einer Datei<font size="-2">
</ul>
$ gpg -clearsign [-u <user-id>] <dateiname><br>
<br>
<ul>
<li>Pruefen einer Signatur</font><font size="-2">
</ul>
$ gpg -verify <dateiname><br>
</font><font size="-1"><br>
<ul>
<li>Pruefen und ausgeben</font><font size="-2">
</ul>
$ gpg -d <dateiname><br>
</font></div>
<br>
(page 13)<br>
<hr>
<div align="LEFT">
<font size="-3"></font><font size="+2"><br>
Unterschreiben von Schlüsseln</font><font size="-3"><br>
</font><br>
<br>
<ul>
<li>Nur bei
</ul>
<br>
<ul>
<ul>
<li>Vorlage des Fingerprints
<li>Vorlage des Personalausweis oder Reisepass
</ul>
</ul>
<br>
<ul>
<li>Importieren des Schlüssels
</ul>
<br>
<ul>
<li>Aufruf: 'gpg --sign-key <user-id>'
</ul>
<br>
<ul>
<li>Key exportieren und an Besitzer schicken
</ul>
(page 14)<br>
</body>
</html>
<!--
FILE ARCHIVED ON 14:25:48 Jan 03, 2005 AND RETRIEVED FROM THE
INTERNET ARCHIVE ON 10:25:20 May 11, 2024.
JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
SECTION 108(a)(3)).
-->
<!--
playback timings (ms):
captures_list: 0.8
exclusion.robots: 0.23
exclusion.robots.policy: 0.217
esindex: 0.01
cdx.remote: 8.358
LoadShardBlock: 633.455 (3)
PetaboxLoader3.datanode: 66.978 (4)
PetaboxLoader3.resolve: 641.132 (2)
load_resource: 78.289
-->

363
static/talks/sourcen.html Normal file
View file

@ -0,0 +1,363 @@
<html>
<hr>
<font size="+2"></font><div align="CENTER">
<font size="+2"><br>
<br>
<br>
14:00 Uhr<br>
<br>
Sourcen kompilieren und Pakete selber bauen<br>
</font><font size="-1"><br>
Norbert Tretkowski<br>
Team(ix) GmbH<br>
<br>
Debian Entwickler<br>
tretkowski@inittab.de<br>
</font></div>
<br>
(page 1)<br>
<hr>
<br>
Warum selber kompilieren?<br>
<br>
<br>
<ul>
<li>Programm ist bei der Distribution nicht oder in einer alten Version dabei
</ul>
<br>
<ul>
<li>Die benoetigten Funktionen wurden beim Bauen der Pakete des Distributors nicht aktiviert
</ul>
<br>
(page 2)<br>
<hr>
<br>
Wo gibts die Software?<br>
<br>
<br>
<ul>
<li>Freshmeat (<a href="https://web.archive.org/web/20041108233147/http://www.freshmeat.net/)">http://www.freshmeat.net/)</a>
</ul>
<br>
<ul>
<li>Sourceforge (<a href="https://web.archive.org/web/20041108233147/http://www.sourceforge.net/)">http://www.sourceforge.net/)</a>
</ul>
<br>
<ul>
<li>Google (<a href="https://web.archive.org/web/20041108233147/http://www.google.com/)">http://www.google.com/)</a>
</ul>
<br>
(page 3)<br>
<hr>
<br>
Vorausetzungen<br>
<br>
<br>
<ul>
<li>Packprogramm(e) (gzip, bzip2)
</ul>
<br>
<ul>
<li>Compiler (gcc, g++)
</ul>
<br>
<ul>
<li>Sonstige Tools (tar, make)
</ul>
<br>
<ul>
<li>Headerfiles (libc6-dev, libgtk1.2-dev, ...)
</ul>
<br>
(page 4)<br>
<hr>
<br>
Vorbereitungen fuer diesen Workshop<br>
<br>
<br>
<ul>
<li>Separates Changeroot anlegen
</ul>
<br>
(page 5)<br>
<hr>
<br>
Nach dem Download<br>
<br>
<br>
<ul>
<li>Download der Datei als tar.gz, tar.bz2, o.ae.
</ul>
<br>
<ul>
<li>Entpacken der Datei mit gzip, bzip2 und/oder tar
</ul>
<br>
(page 6)<br>
<hr>
<br>
Beispiele zum Entpacken<br>
<br>
<br>
<ul>
<li>tar zxvf foobar.tar.gz
</ul>
<br>
<ul>
<li>tar jxvf foobar.tar.bz2
</ul>
<br>
(page 7)<br>
<hr>
<br>
Einfach mal drauf los<br>
<br>
<br>
<ul>
<li>Aufruf von ./configure --help
</ul>
<br>
<ul>
<li>Aufruf von ./configure --foo=bar --baz=qux
</ul>
<br>
<ul>
<li>Aufruf von make
</ul>
<br>
(page 8)<br>
<hr>
<br>
Wenn kein ./configure vorhanden ist<br>
<br>
<br>
<ul>
<li>Makefile sollte dann vorhanden sein
</ul>
<br>
<ul>
<li>Von Hand editieren um Einstellungen zu aendern
</ul>
<br>
(page 9)<br>
<hr>
<br>
Wenn ./configure abbricht<br>
<br>
<br>
<ul>
<li>Installieren der gewuenschten Libraries
</ul>
<br>
<ul>
<li>Erneut ./configure starten
</ul>
<br>
(page 10)<br>
<hr>
<br>
Trouble erschiessen (1)<br>
<br>
<br>
<ul>
<li>Abbruch weil foo.h fehlt
</ul>
<br>
<ul>
<li>Abbruch weil ...
</ul>
<br>
(page 11)<br>
<hr>
<br>
Trouble erschiessen (2)<br>
<br>
<br>
<ul>
<li>Aufruf von ldconfig, falls neu installierte Library nicht gefunden wird
</ul>
<br>
<ul>
<li>Unter Umstaenden noch /etc/ld.so.conf anpassen
</ul>
<br>
(page 12)<br>
<hr>
<br>
Konkretes Beispiel<br>
<br>
<br>
<ul>
<li>Ein FTP Client: lftp
</ul>
<br>
<ul>
<li>Entpacken
</ul>
<br>
<ul>
<li>Aufruf von ./configure
</ul>
<br>
<ul>
<li>make
</ul>
<br>
<ul>
<li>make install
</ul>
<br>
(page 13)<br>
<hr>
<br>
Ordnung ins Chaos bringen<br>
<br>
<br>
<ul>
<li>Stow
</ul>
<br>
<ul>
<li>Checkinstall
</ul>
<br>
(page 14)<br>
<hr>
<br>
Stow<br>
<br>
<br>
<ul>
<li>Installiert jede Software in ein separates Verzeichnis
</ul>
<br>
<ul>
<li>Legt Links unter /usr/local/bin, /usr/local/sbin, etc an
</ul>
<br>
<ul>
<li>Aufruf von ./configure --prefix=/usr/local/stow/foo
</ul>
<br>
<ul>
<li>Aufruf von make
</ul>
<br>
<ul>
<li>Aufruf von make install
</ul>
<br>
<ul>
<li>Aufruf von stow foo unterhalb von /usr/local/stow
</ul>
<br>
(page 15)<br>
<hr>
<br>
Checkinstall<br>
<br>
<br>
<ul>
<li>Baut auf einfache Weise RPM und DEB Pakete
</ul>
<br>
<ul>
<li>Aufruf von ./configure
</ul>
<br>
<ul>
<li>Aufruf von checkinstall, Fragen beantworten
</ul>
<br>
(page 16)<br>
<hr>
<br>
Spezialfall Kernel<br>
<br>
<br>
<ul>
<li>Entpacken wie gehabt
</ul>
<br>
<ul>
<li>Aufruf von make {menu|x}config
</ul>
<br>
<ul>
<li>Aufruf von make dep clean (b)zImage modules modules_install
</ul>
<br>
<ul>
<li>Kernel arch/$ARCH/boot/kernel/(b)zImage nach /boot kopieren
</ul>
<br>
<ul>
<li>Lilo konfiguration anpassen und aufrufen
</ul>
<br>
<ul>
<li>Rebooten
</ul>
<br>
(page 17)<br>
<hr>
<br>
Debian Pakete selber bauen<br>
<br>
<br>
<ul>
<li>Debian Tools (debhelper, dh-make, dpkg-dev, build-essential)
</ul>
<br>
<ul>
<li>Sonstige Tools (fakeroot, evtl. gnupg)
</ul>
<br>
<ul>
<li>Sourcecode entpacken
</ul>
<br>
<ul>
<li>Aufruf von dh_make
</ul>
<br>
<ul>
<li>Aufruf von dpkg-buildpackage -rfakeroot -us -uc
</ul>
<br>
(page 18)<br>
<hr>
<br>
Kompliziertere Debian Pakete<br>
<br>
<br>
<ul>
<li>Subversion
</ul>
<br>
<ul>
<li>VIM
</ul>
(page 19)<br>
</body>
</html>
<!--
FILE ARCHIVED ON 23:31:47 Nov 08, 2004 AND RETRIEVED FROM THE
INTERNET ARCHIVE ON 10:25:32 May 11, 2024.
JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
SECTION 108(a)(3)).
-->
<!--
playback timings (ms):
captures_list: 1.982
exclusion.robots: 0.257
exclusion.robots.policy: 0.242
esindex: 0.012
cdx.remote: 5.119
LoadShardBlock: 80.58 (3)
PetaboxLoader3.datanode: 81.477 (4)
PetaboxLoader3.resolve: 68.888 (2)
load_resource: 80.599
-->