<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.sachsen.schule/dwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ThorstenStrusch</id>
	<title>Delixs - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sachsen.schule/dwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ThorstenStrusch"/>
	<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php/Spezial:Beitr%C3%A4ge/ThorstenStrusch"/>
	<updated>2026-05-01T06:32:20Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketbau&amp;diff=7873</id>
		<title>Entwicklerhandbuch/Paketbau</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketbau&amp;diff=7873"/>
		<updated>2010-02-08T05:12:10Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* debian Pakete konfigurieren: debconf */ manpage -&amp;gt; pdf hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Uberarbeiten}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== debian Pakete konfigurieren: debconf ==&lt;br /&gt;
&lt;br /&gt;
Das Einstiegsdokument um das Thema anzugehen, sollte&lt;br /&gt;
&lt;br /&gt;
  man 7 debconf&lt;br /&gt;
&lt;br /&gt;
sein. Diese Manual-Seite ist verfügbar, wenn das Paket &amp;quot;debconf-doc&amp;quot; &lt;br /&gt;
installiert ist.&lt;br /&gt;
&lt;br /&gt;
  man debconf-devel&lt;br /&gt;
&lt;br /&gt;
beschreibt ausführlich (ca. 13 DIN-A4 Seiten), wie man mit Debconf &lt;br /&gt;
programmiert. Natürlich in einer shell. Perl Programmierer sollten das &lt;br /&gt;
Paket &amp;quot;debaux-debconf&amp;quot; nach installieren.&lt;br /&gt;
&lt;br /&gt;
In Debian wird fast alles in Manual-Seiten erklärt. Daher ist das Lesen &lt;br /&gt;
dieser Seiten für einen Entwickler unerlässlich. Manchmal will man aber &lt;br /&gt;
eine man-Seite nicht auf dem Schirm lesen, sondern als Papier-Ausdruck &lt;br /&gt;
neben sich liegen haben. Das geht mit diesem Kommando:&lt;br /&gt;
&lt;br /&gt;
  man -t debconf-devel | lpr -Plp0&lt;br /&gt;
&lt;br /&gt;
Vorausgesetzt, man will die man Seite &amp;quot;debconf-devel&amp;quot; auf den lokalen &lt;br /&gt;
Drucker (Warteschlange) lp0 drucken. Zwischen dem großen P und dem &lt;br /&gt;
Drucker-Namen darf kein Leerzeichen sein. Der Drucker muss Postscript &lt;br /&gt;
können. Aber welcher Druckertreiber unter Linux kann das nicht?&lt;br /&gt;
&lt;br /&gt;
Wer lieber ein PDF Dokument erhalten möchte, kann dies mit dem tool ps2pdf (debian-Paket gs-common) erzeugen:&lt;br /&gt;
&lt;br /&gt;
  man -t debconf-devel | ps2pdf - debconfdevel.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Was ist &amp;quot;Debconf&amp;quot;? ===&lt;br /&gt;
&lt;br /&gt;
Debconf ist ein Framework das dazu dient, Pakete bzw Programme zu &lt;br /&gt;
konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Es ist limitiert! Es ist keine Registry wie unter Windows. Debconf soll &lt;br /&gt;
nur dazu benutzt werden eine sinnvolle Grundkonfiguration der Pakete &lt;br /&gt;
einzustellen.&lt;br /&gt;
&lt;br /&gt;
=== Woraus besteht Debconf? ===&lt;br /&gt;
&lt;br /&gt;
Zunächst mal aus 2 Datenbanken. Eine enthält Fragen, die andere &lt;br /&gt;
Antworten. Wenn Fragen gestellt werden sollen, muss es auch eine &lt;br /&gt;
Möglichkeit geben, diese dem Benutzer zu präsentieren, dafür sind die &lt;br /&gt;
Frontends zuständig. Es gibt diverse Frontends. Bekannt dürfte &lt;br /&gt;
das &amp;quot;Dialog-Frontend&amp;quot; sein. Mein Favorit ist Gnome, KDE ist auch sehr &lt;br /&gt;
hübsch.&lt;br /&gt;
&lt;br /&gt;
Jede Frage kann in jedem Frontend dargestellt werden! Für die Frontends &lt;br /&gt;
Gnome bzw KDE muss nicht zwingend Gnome und KDE installiert sein, eine &lt;br /&gt;
simple VGA-Grafik mit VESA ist ausreichend.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;praktisches Beispiel:&#039;&#039;&#039; Du hast ein installiertes Debian mit X-Window (die ADE reicht aus, auch &lt;br /&gt;
wenn sie weder Gnome noch KDE hat). Knoppix oder Suse tuts auch. Selbst &lt;br /&gt;
Windows, wenn denn cygwin installiert ist.&lt;br /&gt;
&lt;br /&gt;
In einem X-Terminal Fenster ( Du bist ein normaler User, nicht root) &lt;br /&gt;
gibst Du ein:&lt;br /&gt;
&lt;br /&gt;
  xhost +&lt;br /&gt;
&lt;br /&gt;
Das ermöglicht allen lokalen Usern (dies gilt nur für Debian, nicht für &lt;br /&gt;
andere Linuxe) X-Windows Anwendungen auf Deinem X-Server zu starten.&lt;br /&gt;
&lt;br /&gt;
Um die verschiedenen Frontends zu Testen, gibt man folgendes sein&lt;br /&gt;
&lt;br /&gt;
  su -&lt;br /&gt;
  export DISPLAY=:0.0&lt;br /&gt;
 &lt;br /&gt;
Das aktuelle Frontend:&lt;br /&gt;
&lt;br /&gt;
  dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Das Dialog Interface. Nennt sich &amp;quot;dialog&amp;quot; ist aber &amp;quot;whiptail&amp;quot; und damit &lt;br /&gt;
also nicht Aufruf-kompatibel zu &amp;quot;dialog&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
  DEBIAN_FRONTEND=dialog dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Die beiden grafischen Frontends&lt;br /&gt;
&lt;br /&gt;
  DEBIAN_FRONTEND=gnome dpkg-reconfigure debconf&lt;br /&gt;
  DEBIAN_FRONTEND=kde dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Das Editor Interface mit dem allseits beliebten Editor mcedit:&lt;br /&gt;
&lt;br /&gt;
  DEBIAN_FRONTEND=editor EDITOR=mcedit dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Der mcedit ist im Paket mc enthalten. Im Zweifel also ein&lt;br /&gt;
&lt;br /&gt;
  aptitude install mc&lt;br /&gt;
&lt;br /&gt;
durchführen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Debconf Fragen sind multi-lingual. Wenn man eine Sprache wählen &lt;br /&gt;
will, muss die Variable LANG angepasst werden, z.B.:&lt;br /&gt;
&lt;br /&gt;
  LANG=C dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
oder für russisch, sofern installiert&lt;br /&gt;
&lt;br /&gt;
  LANG=ru dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Verfügbare Sprachen, eigentlich verfügbare Schriften, kann man erfragen &lt;br /&gt;
mit:&lt;br /&gt;
&lt;br /&gt;
  locale -a&lt;br /&gt;
&lt;br /&gt;
Zurück zu Debconf, ein wichtiges Kommando ist:&lt;br /&gt;
&lt;br /&gt;
  debconf-show&lt;br /&gt;
&lt;br /&gt;
Ohne Parameter gibt es die Aufruf-Syntax auf. Mit&lt;br /&gt;
&lt;br /&gt;
  debconf-show debconf&lt;br /&gt;
&lt;br /&gt;
kann man sich anzeigen lassen, wie das Paket &amp;quot;debconf&amp;quot; konfiguriert ist. &lt;br /&gt;
Bei mir sieht das so aus:&lt;br /&gt;
&lt;br /&gt;
  debconf-show debconf&lt;br /&gt;
  debconf-apt-progress/preparing:&lt;br /&gt;
  debconf-apt-progress/title:&lt;br /&gt;
  debconf-apt-progress/info:&lt;br /&gt;
  debconf-apt-progress/media-change:&lt;br /&gt;
  * debconf/frontend: Gnome&lt;br /&gt;
  * debconf/priority: medium&lt;br /&gt;
&lt;br /&gt;
In der Antwort-DB von Debconf steht also zu dem Paket &amp;quot;debconf&amp;quot; &lt;br /&gt;
folgendes drin:&lt;br /&gt;
&lt;br /&gt;
  frontend: Gnome&lt;br /&gt;
  priority: medium&lt;br /&gt;
&lt;br /&gt;
In der obigen Ausgabe von debconf-show haben nur zwei von sechs Fragen &lt;br /&gt;
eine Antwort hinterlegt (die beiden mit dem &#039;*&#039; am Anfang.&lt;br /&gt;
&lt;br /&gt;
Die Debconf Datenbanken sind ASCII DBs und liegen &lt;br /&gt;
unter /var/cache/debconf. Eine Anfrage an die Antwort-DB mit grep, &lt;br /&gt;
ergibt dies:&lt;br /&gt;
&lt;br /&gt;
  grep &#039;debconf/frontend&#039; /var/cache/debconf/config.dat&lt;br /&gt;
  Name: debconf/frontend&lt;br /&gt;
  Template: debconf/frontend&lt;br /&gt;
&lt;br /&gt;
Wo ist der Wert &amp;quot;Gnome&amp;quot; geblieben? Hier:&lt;br /&gt;
&lt;br /&gt;
  grep -A 1 &#039;debconf/frontend&#039; /var/cache/debconf/config.dat&lt;br /&gt;
  Name: debconf/frontend&lt;br /&gt;
  Template: debconf/frontend&lt;br /&gt;
  Value: Gnome&lt;br /&gt;
&lt;br /&gt;
Er steht im Feld &amp;quot;Value&amp;quot; eine Zeile tiefer.&lt;br /&gt;
&lt;br /&gt;
Dafür gibt es natürlich auch ein Tool, &lt;br /&gt;
&lt;br /&gt;
  debconf-get-selections |grep debconf/frontend&lt;br /&gt;
  debconf debconf/frontend        select  Gnome&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe sieht hier etwas anders aus, aber das Resultat ist dasselbe.&lt;br /&gt;
Die Ausgabe von &amp;quot;debconf-get-selections&amp;quot; ist geeignet, um sie in einer &lt;br /&gt;
preseed-Datei weiter zu benutzen.&lt;br /&gt;
&lt;br /&gt;
Nicht immer werden alle Fragen, die hinterlegt sind, auch angezeigt. Das &lt;br /&gt;
wird primär mit dem Schalter &amp;quot;DEBIAN_PRIORITY&amp;quot; gesteuert:&lt;br /&gt;
&lt;br /&gt;
Installieren wir zunächst mal ein Paket, bei dem sich das gut &lt;br /&gt;
demonstrieren lässt: samba&lt;br /&gt;
&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
&lt;br /&gt;
Nun die Prioritäten testen:&lt;br /&gt;
&lt;br /&gt;
 DEBIAN_PRIORITY=high dpkg-reconfigure samba&lt;br /&gt;
 DEBIAN_PRIORITY=medium dpkg-reconfigure samba&lt;br /&gt;
 DEBIAN_PRIORITY=low dpkg-reconfigure samba&lt;br /&gt;
&lt;br /&gt;
Um das Samba Paket vollständig zu entfernen muss der --purge Schalter &lt;br /&gt;
beim &amp;quot;aptitude remove samba&amp;quot; gesetzt werden. Sonst bleiben die Antworten &lt;br /&gt;
in der Debconf-DB erhalten. Also&lt;br /&gt;
&lt;br /&gt;
 aptitude --purge remove samba samba-common&lt;br /&gt;
&lt;br /&gt;
Kann mit&lt;br /&gt;
&lt;br /&gt;
 debconf-show samba &lt;br /&gt;
&lt;br /&gt;
bzw mit&lt;br /&gt;
&lt;br /&gt;
 debconf-show samba-common&lt;br /&gt;
&lt;br /&gt;
überprüft werden.&lt;br /&gt;
&lt;br /&gt;
Das &amp;quot;purgen&amp;quot; also das Entfernen der Einträge in der Debconf-DB ist sehr &lt;br /&gt;
wichtig, wenn man das &amp;quot;preseeding&amp;quot; Testen will.&lt;br /&gt;
&lt;br /&gt;
 debconf-show --listowners&lt;br /&gt;
&lt;br /&gt;
zeigt alle installierten Pakete an, die Einträge in der Debconf-DB &lt;br /&gt;
haben, debconf-show &amp;lt;Paketname&amp;gt; zeigt die Einträge für das Paket an. &lt;br /&gt;
Hier einige Beispiele:&lt;br /&gt;
&lt;br /&gt;
Die Einstellungen des Installers:&lt;br /&gt;
&lt;br /&gt;
  debconf-show d-i&lt;br /&gt;
  debian-installer/language: de&lt;br /&gt;
  debian-installer/country: DE&lt;br /&gt;
  debian-installer/keymap: de-latin1-nodeadkeys&lt;br /&gt;
&lt;br /&gt;
Die installierten Profiles von simple-cdd:&lt;br /&gt;
&lt;br /&gt;
  debconf-show simple-cdd&lt;br /&gt;
  simple-cdd/profiles: ARK45, ARK45_devel, ARK45_CD_build&lt;br /&gt;
&lt;br /&gt;
Die installierten Sprachen:&lt;br /&gt;
&lt;br /&gt;
  debconf-show locales&lt;br /&gt;
  * locales/default_environment_locale: de_DE.UTF-8&lt;br /&gt;
  * locales/locales_to_be_generated: de_DE ISO-8859-1, de_DE.UTF-8 UTF-8, &lt;br /&gt;
  de_DE@euro ISO-8859-15, en_US ISO-8859-1, en_US.ISO-8859-15 &lt;br /&gt;
  ISO-8859-15, en_US.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
Und um jetzt das vorher genannte Beispiel mit einer russischen GUI zu &lt;br /&gt;
ermöglichen, muss man hier &amp;quot;ru_RU.UTF-8&amp;quot; zusätzlich auswählen und dann:&lt;br /&gt;
&lt;br /&gt;
  LANG=ru_RU.UTF-8 dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Und schon kann der PC und die Anwendung (Schul-Server) russisch. Bei mir &lt;br /&gt;
geht das leider nicht so schnell. Das klappt dann, wenn das Template &lt;br /&gt;
dieser Frage auch russisch enthält.&lt;br /&gt;
&lt;br /&gt;
Die Anworten in der Config.dat, werden immer mit LANG=C abgespeichert, &lt;br /&gt;
also amerikanisch mit einem 7-bit Zeichensatz.&lt;br /&gt;
&lt;br /&gt;
  debconf-get-selections |grep debconf/frontend&lt;br /&gt;
  debconf debconf/frontend        select  Gnome&lt;br /&gt;
&lt;br /&gt;
Wenn diese Ausgabe in einer preseed Datei benutzt wird, wird die &lt;br /&gt;
dazugehörige Frage nicht mehr angezeigt. Um ein Preseeding zu setzen, &lt;br /&gt;
aber dem Benutzer trotzdem die Möglichkeit zu geben sich anders zu &lt;br /&gt;
entscheiden, muss das &amp;quot;seen-Flag&amp;quot; für diese Frage auf false gesetzt &lt;br /&gt;
werden:&lt;br /&gt;
&lt;br /&gt;
  debconf debconf/frontend        select  Gnome&lt;br /&gt;
  debconf debconf/frontend        seen	false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Frontends ===&lt;br /&gt;
&lt;br /&gt;
* [[Delixs:Entwicklerhandbuch/Debconf/Frontends|Frontends für Debconf]]&lt;br /&gt;
&lt;br /&gt;
== Beispiel für eine automatische Installation ==&lt;br /&gt;
&lt;br /&gt;
Ein Hinweis noch zum leider oft nicht wahrgenommenen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
  DEBIAN_FRONTEND=noninteractive&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit kannst du einen Schwung Pakete ohne Nachfragen&lt;br /&gt;
installieren. Sofern du vorher die debconf Antworten&lt;br /&gt;
injiziert hast, verhalten sich die Dienst wie vorgesehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
export DEBIAN_FRONTEND=noninteractive&lt;br /&gt;
SELECTIONFILE=/etc/delixs/package_selection.txt&lt;br /&gt;
# mit dpkg --get-selections erstellt, nur PURGE und INSTALL&lt;br /&gt;
SELECTIONFILELOCAL=/etc/delixs/package_selection.local.txt&lt;br /&gt;
SELECTIONARCHFILE=/etc/delixs/package_selection.${SERVER_ARCH}&lt;br /&gt;
PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin&lt;br /&gt;
# Paketliste aktualisieren&lt;br /&gt;
aptitude update&lt;br /&gt;
# Paketauswahl auf minimal zurücksetzen&lt;br /&gt;
dpkg --clear-selections&lt;br /&gt;
# globale Paket-Auswahl einlesen&lt;br /&gt;
dpkg --set-selections &amp;lt; $SELECTIONFILE&lt;br /&gt;
# Architektur Paket-Auswahl einlesen&lt;br /&gt;
test -s $SELECTIONARCHFILE &amp;amp;&amp;amp; dpkg --set-selections &amp;lt; $SELECTIONARCHFILE&lt;br /&gt;
# ggf. lokale Paket-Auswahl einlesen&lt;br /&gt;
test -s $SELECTIONFILELOCAL &amp;amp;&amp;amp; dpkg --set-selections &amp;lt;&lt;br /&gt;
$SELECTIONFILELOCAL&lt;br /&gt;
# Upgrade durchführen&lt;br /&gt;
aptitude --yes dselect-upgrade&lt;br /&gt;
aptitude dist-upgrade&lt;br /&gt;
# runtergeladene Pakete aufräumen&lt;br /&gt;
aptitude clean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit kannst du nach einer Minimalinstallation deine Pakete&lt;br /&gt;
ins System drücken, ohne dass du eine Nachfrage erhälst.&lt;br /&gt;
&lt;br /&gt;
Stolperfalle: in der globalen Selections dürfen keine Architektur&lt;br /&gt;
abhängige Pakete stecken, die gehören in die jeweils zu erstellende&lt;br /&gt;
$SELECTIONARCHFILE. Beispiel dafür: kernel, kernel-module, libc6-$ARCH.&lt;br /&gt;
Die Variable SERVER_ARCH kann ich auf zwei Arten abfragen - entweder über den installierten kernel, oder über die Architektur des installierten Systems.&lt;br /&gt;
Beide müssen nicht übereinstimmen. (ein amd64 kernel vertrgät sich mit einem i386er Userland)&lt;br /&gt;
&lt;br /&gt;
Hier die Variante über das installierte System:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
ARCH=$(dpkg --print-architecture)&lt;br /&gt;
case &amp;quot;$ARCH&amp;quot; in&lt;br /&gt;
  amd64)&lt;br /&gt;
    export SERVER_ARCH=amd64&lt;br /&gt;
  ;;&lt;br /&gt;
  i386)&lt;br /&gt;
    export SERVER_ARCH=i386&lt;br /&gt;
  ;;&lt;br /&gt;
  *)&lt;br /&gt;
    export SERVER_ARCH=&lt;br /&gt;
    # das darf nie passieren&lt;br /&gt;
    logger &amp;quot;Die Architektur ist unbekannt (${PWD}/$0)&amp;quot;&lt;br /&gt;
  ;;&lt;br /&gt;
esac&lt;br /&gt;
echo $SERVER_ARCH&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier die Variante über den laufenden kernel:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  [ -x /bin/uname ] &amp;amp;&amp;amp; ARCH=$(uname -m) || logger -t delixs &amp;quot;uname\ (Paket: coreutils) fehlt, kein Softwareupdate moeglich.&amp;quot;&lt;br /&gt;
  case &amp;quot;$ARCH&amp;quot; in&lt;br /&gt;
        i686)&lt;br /&gt;
                export SERVER_ARCH=i386&lt;br /&gt;
        ;;&lt;br /&gt;
        x86_64)&lt;br /&gt;
                export SERVER_ARCH=amd64&lt;br /&gt;
        ;;&lt;br /&gt;
        *)&lt;br /&gt;
                export SERVER_ARCH=i386&lt;br /&gt;
                # das darf nie passieren&lt;br /&gt;
                logger -t delixs &amp;quot;Die Architektur stimmt nicht - ueberpreufe das dringend  (${PWD}/$0)&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
  esac&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Evtl. hilft das an der ein oder anderen Stelle weiter. Auch wenn das beim Einsatz von tasks nicht zum Einsatz kommen muss/braucht.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
=== um Scripte in deb-Pakete zu packen: ===&lt;br /&gt;
&lt;br /&gt;
* http://www.brummer.de.hm/buildpaket.html&lt;br /&gt;
* http://www.martin-bock.de/pc/pc-0101.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== schon &amp;quot;portierte&amp;quot; CPAN-Module suchen ===&lt;br /&gt;
&lt;br /&gt;
* http://faq.perl-community.de/bin/view/Wissensbasis/ModuleWieInstalliereIchEinModul#Debian_GNU_Linux&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CPAN-Module nach Deb-Pakete ===&lt;br /&gt;
&lt;br /&gt;
* http://service.gmx.net/de/cgi/derefer?TYPE=3&amp;amp;DEST=http%3A%2F%2Fwww.blogator.de%2F2007%2F08%2F10%2Fperl-module-als-debian-paket-bauen%2F&lt;br /&gt;
* http://it.biologie.uni-muenchen.de/itg/knowhow/msg00028.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Delixs:Entwicklerhandbuch|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketbau&amp;diff=7871</id>
		<title>Entwicklerhandbuch/Paketbau</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketbau&amp;diff=7871"/>
		<updated>2010-02-02T06:52:54Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Beispiel für eine automatische Installation */  syntax der Scripte auf bash gesetzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Uberarbeiten}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== debian Pakete konfigurieren: debconf ==&lt;br /&gt;
&lt;br /&gt;
Das Einstiegsdokument um das Thema anzugehen, sollte&lt;br /&gt;
&lt;br /&gt;
  man 7 debconf&lt;br /&gt;
&lt;br /&gt;
sein. Diese Manual-Seite ist verfügbar, wenn das Paket &amp;quot;debconf-doc&amp;quot; &lt;br /&gt;
installiert ist.&lt;br /&gt;
&lt;br /&gt;
  man debconf-devel&lt;br /&gt;
&lt;br /&gt;
beschreibt ausführlich (ca. 13 DIN-A4 Seiten), wie man mit Debconf &lt;br /&gt;
programmiert. Natürlich in einer shell. Perl Programmierer sollten das &lt;br /&gt;
Paket &amp;quot;debaux-debconf&amp;quot; nach installieren.&lt;br /&gt;
&lt;br /&gt;
In Debian wird fast alles in Manual-Seiten erklärt. Daher ist das Lesen &lt;br /&gt;
dieser Seiten für einen Entwickler unerlässlich. Manchmal will man aber &lt;br /&gt;
eine man-Seite nicht auf dem Schirm lesen, sondern als Papier-Ausdruck &lt;br /&gt;
neben sich liegen haben. Das geht mit diesem Kommando:&lt;br /&gt;
&lt;br /&gt;
  man -t debconf-devel | lpr -Plp0&lt;br /&gt;
&lt;br /&gt;
Vorausgesetzt, man will die man Seite &amp;quot;debconf-devel&amp;quot; auf den lokalen &lt;br /&gt;
Drucker (Warteschlange) lp0 drucken. Zwischen dem großen P und dem &lt;br /&gt;
Drucker-Namen darf kein Leerzeichen sein. Der Drucker muss Postscript &lt;br /&gt;
können. Aber welcher Druckertreiber unter Linux kann das nicht?&lt;br /&gt;
&lt;br /&gt;
=== Was ist &amp;quot;Debconf&amp;quot;? ===&lt;br /&gt;
&lt;br /&gt;
Debconf ist ein Framework das dazu dient, Pakete bzw Programme zu &lt;br /&gt;
konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Es ist limitiert! Es ist keine Registry wie unter Windows. Debconf soll &lt;br /&gt;
nur dazu benutzt werden eine sinnvolle Grundkonfiguration der Pakete &lt;br /&gt;
einzustellen.&lt;br /&gt;
&lt;br /&gt;
=== Woraus besteht Debconf? ===&lt;br /&gt;
&lt;br /&gt;
Zunächst mal aus 2 Datenbanken. Eine enthält Fragen, die andere &lt;br /&gt;
Antworten. Wenn Fragen gestellt werden sollen, muss es auch eine &lt;br /&gt;
Möglichkeit geben, diese dem Benutzer zu präsentieren, dafür sind die &lt;br /&gt;
Frontends zuständig. Es gibt diverse Frontends. Bekannt dürfte &lt;br /&gt;
das &amp;quot;Dialog-Frontend&amp;quot; sein. Mein Favorit ist Gnome, KDE ist auch sehr &lt;br /&gt;
hübsch.&lt;br /&gt;
&lt;br /&gt;
Jede Frage kann in jedem Frontend dargestellt werden! Für die Frontends &lt;br /&gt;
Gnome bzw KDE muss nicht zwingend Gnome und KDE installiert sein, eine &lt;br /&gt;
simple VGA-Grafik mit VESA ist ausreichend.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;praktisches Beispiel:&#039;&#039;&#039; Du hast ein installiertes Debian mit X-Window (die ADE reicht aus, auch &lt;br /&gt;
wenn sie weder Gnome noch KDE hat). Knoppix oder Suse tuts auch. Selbst &lt;br /&gt;
Windows, wenn denn cygwin installiert ist.&lt;br /&gt;
&lt;br /&gt;
In einem X-Terminal Fenster ( Du bist ein normaler User, nicht root) &lt;br /&gt;
gibst Du ein:&lt;br /&gt;
&lt;br /&gt;
  xhost +&lt;br /&gt;
&lt;br /&gt;
Das ermöglicht allen lokalen Usern (dies gilt nur für Debian, nicht für &lt;br /&gt;
andere Linuxe) X-Windows Anwendungen auf Deinem X-Server zu starten.&lt;br /&gt;
&lt;br /&gt;
Um die verschiedenen Frontends zu Testen, gibt man folgendes sein&lt;br /&gt;
&lt;br /&gt;
  su -&lt;br /&gt;
  export DISPLAY=:0.0&lt;br /&gt;
 &lt;br /&gt;
Das aktuelle Frontend:&lt;br /&gt;
&lt;br /&gt;
  dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Das Dialog Interface. Nennt sich &amp;quot;dialog&amp;quot; ist aber &amp;quot;whiptail&amp;quot; und damit &lt;br /&gt;
also nicht Aufruf-kompatibel zu &amp;quot;dialog&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
  DEBIAN_FRONTEND=dialog dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Die beiden grafischen Frontends&lt;br /&gt;
&lt;br /&gt;
  DEBIAN_FRONTEND=gnome dpkg-reconfigure debconf&lt;br /&gt;
  DEBIAN_FRONTEND=kde dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Das Editor Interface mit dem allseits beliebten Editor mcedit:&lt;br /&gt;
&lt;br /&gt;
  DEBIAN_FRONTEND=editor EDITOR=mcedit dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Der mcedit ist im Paket mc enthalten. Im Zweifel also ein&lt;br /&gt;
&lt;br /&gt;
  aptitude install mc&lt;br /&gt;
&lt;br /&gt;
durchführen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Debconf Fragen sind multi-lingual. Wenn man eine Sprache wählen &lt;br /&gt;
will, muss die Variable LANG angepasst werden, z.B.:&lt;br /&gt;
&lt;br /&gt;
  LANG=C dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
oder für russisch, sofern installiert&lt;br /&gt;
&lt;br /&gt;
  LANG=ru dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Verfügbare Sprachen, eigentlich verfügbare Schriften, kann man erfragen &lt;br /&gt;
mit:&lt;br /&gt;
&lt;br /&gt;
  locale -a&lt;br /&gt;
&lt;br /&gt;
Zurück zu Debconf, ein wichtiges Kommando ist:&lt;br /&gt;
&lt;br /&gt;
  debconf-show&lt;br /&gt;
&lt;br /&gt;
Ohne Parameter gibt es die Aufruf-Syntax auf. Mit&lt;br /&gt;
&lt;br /&gt;
  debconf-show debconf&lt;br /&gt;
&lt;br /&gt;
kann man sich anzeigen lassen, wie das Paket &amp;quot;debconf&amp;quot; konfiguriert ist. &lt;br /&gt;
Bei mir sieht das so aus:&lt;br /&gt;
&lt;br /&gt;
  debconf-show debconf&lt;br /&gt;
  debconf-apt-progress/preparing:&lt;br /&gt;
  debconf-apt-progress/title:&lt;br /&gt;
  debconf-apt-progress/info:&lt;br /&gt;
  debconf-apt-progress/media-change:&lt;br /&gt;
  * debconf/frontend: Gnome&lt;br /&gt;
  * debconf/priority: medium&lt;br /&gt;
&lt;br /&gt;
In der Antwort-DB von Debconf steht also zu dem Paket &amp;quot;debconf&amp;quot; &lt;br /&gt;
folgendes drin:&lt;br /&gt;
&lt;br /&gt;
  frontend: Gnome&lt;br /&gt;
  priority: medium&lt;br /&gt;
&lt;br /&gt;
In der obigen Ausgabe von debconf-show haben nur zwei von sechs Fragen &lt;br /&gt;
eine Antwort hinterlegt (die beiden mit dem &#039;*&#039; am Anfang.&lt;br /&gt;
&lt;br /&gt;
Die Debconf Datenbanken sind ASCII DBs und liegen &lt;br /&gt;
unter /var/cache/debconf. Eine Anfrage an die Antwort-DB mit grep, &lt;br /&gt;
ergibt dies:&lt;br /&gt;
&lt;br /&gt;
  grep &#039;debconf/frontend&#039; /var/cache/debconf/config.dat&lt;br /&gt;
  Name: debconf/frontend&lt;br /&gt;
  Template: debconf/frontend&lt;br /&gt;
&lt;br /&gt;
Wo ist der Wert &amp;quot;Gnome&amp;quot; geblieben? Hier:&lt;br /&gt;
&lt;br /&gt;
  grep -A 1 &#039;debconf/frontend&#039; /var/cache/debconf/config.dat&lt;br /&gt;
  Name: debconf/frontend&lt;br /&gt;
  Template: debconf/frontend&lt;br /&gt;
  Value: Gnome&lt;br /&gt;
&lt;br /&gt;
Er steht im Feld &amp;quot;Value&amp;quot; eine Zeile tiefer.&lt;br /&gt;
&lt;br /&gt;
Dafür gibt es natürlich auch ein Tool, &lt;br /&gt;
&lt;br /&gt;
  debconf-get-selections |grep debconf/frontend&lt;br /&gt;
  debconf debconf/frontend        select  Gnome&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe sieht hier etwas anders aus, aber das Resultat ist dasselbe.&lt;br /&gt;
Die Ausgabe von &amp;quot;debconf-get-selections&amp;quot; ist geeignet, um sie in einer &lt;br /&gt;
preseed-Datei weiter zu benutzen.&lt;br /&gt;
&lt;br /&gt;
Nicht immer werden alle Fragen, die hinterlegt sind, auch angezeigt. Das &lt;br /&gt;
wird primär mit dem Schalter &amp;quot;DEBIAN_PRIORITY&amp;quot; gesteuert:&lt;br /&gt;
&lt;br /&gt;
Installieren wir zunächst mal ein Paket, bei dem sich das gut &lt;br /&gt;
demonstrieren lässt: samba&lt;br /&gt;
&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
&lt;br /&gt;
Nun die Prioritäten testen:&lt;br /&gt;
&lt;br /&gt;
 DEBIAN_PRIORITY=high dpkg-reconfigure samba&lt;br /&gt;
 DEBIAN_PRIORITY=medium dpkg-reconfigure samba&lt;br /&gt;
 DEBIAN_PRIORITY=low dpkg-reconfigure samba&lt;br /&gt;
&lt;br /&gt;
Um das Samba Paket vollständig zu entfernen muss der --purge Schalter &lt;br /&gt;
beim &amp;quot;aptitude remove samba&amp;quot; gesetzt werden. Sonst bleiben die Antworten &lt;br /&gt;
in der Debconf-DB erhalten. Also&lt;br /&gt;
&lt;br /&gt;
 aptitude --purge remove samba samba-common&lt;br /&gt;
&lt;br /&gt;
Kann mit&lt;br /&gt;
&lt;br /&gt;
 debconf-show samba &lt;br /&gt;
&lt;br /&gt;
bzw mit&lt;br /&gt;
&lt;br /&gt;
 debconf-show samba-common&lt;br /&gt;
&lt;br /&gt;
überprüft werden.&lt;br /&gt;
&lt;br /&gt;
Das &amp;quot;purgen&amp;quot; also das Entfernen der Einträge in der Debconf-DB ist sehr &lt;br /&gt;
wichtig, wenn man das &amp;quot;preseeding&amp;quot; Testen will.&lt;br /&gt;
&lt;br /&gt;
 debconf-show --listowners&lt;br /&gt;
&lt;br /&gt;
zeigt alle installierten Pakete an, die Einträge in der Debconf-DB &lt;br /&gt;
haben, debconf-show &amp;lt;Paketname&amp;gt; zeigt die Einträge für das Paket an. &lt;br /&gt;
Hier einige Beispiele:&lt;br /&gt;
&lt;br /&gt;
Die Einstellungen des Installers:&lt;br /&gt;
&lt;br /&gt;
  debconf-show d-i&lt;br /&gt;
  debian-installer/language: de&lt;br /&gt;
  debian-installer/country: DE&lt;br /&gt;
  debian-installer/keymap: de-latin1-nodeadkeys&lt;br /&gt;
&lt;br /&gt;
Die installierten Profiles von simple-cdd:&lt;br /&gt;
&lt;br /&gt;
  debconf-show simple-cdd&lt;br /&gt;
  simple-cdd/profiles: ARK45, ARK45_devel, ARK45_CD_build&lt;br /&gt;
&lt;br /&gt;
Die installierten Sprachen:&lt;br /&gt;
&lt;br /&gt;
  debconf-show locales&lt;br /&gt;
  * locales/default_environment_locale: de_DE.UTF-8&lt;br /&gt;
  * locales/locales_to_be_generated: de_DE ISO-8859-1, de_DE.UTF-8 UTF-8, &lt;br /&gt;
  de_DE@euro ISO-8859-15, en_US ISO-8859-1, en_US.ISO-8859-15 &lt;br /&gt;
  ISO-8859-15, en_US.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
Und um jetzt das vorher genannte Beispiel mit einer russischen GUI zu &lt;br /&gt;
ermöglichen, muss man hier &amp;quot;ru_RU.UTF-8&amp;quot; zusätzlich auswählen und dann:&lt;br /&gt;
&lt;br /&gt;
  LANG=ru_RU.UTF-8 dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Und schon kann der PC und die Anwendung (Schul-Server) russisch. Bei mir &lt;br /&gt;
geht das leider nicht so schnell. Das klappt dann, wenn das Template &lt;br /&gt;
dieser Frage auch russisch enthält.&lt;br /&gt;
&lt;br /&gt;
Die Anworten in der Config.dat, werden immer mit LANG=C abgespeichert, &lt;br /&gt;
also amerikanisch mit einem 7-bit Zeichensatz.&lt;br /&gt;
&lt;br /&gt;
  debconf-get-selections |grep debconf/frontend&lt;br /&gt;
  debconf debconf/frontend        select  Gnome&lt;br /&gt;
&lt;br /&gt;
Wenn diese Ausgabe in einer preseed Datei benutzt wird, wird die &lt;br /&gt;
dazugehörige Frage nicht mehr angezeigt. Um ein Preseeding zu setzen, &lt;br /&gt;
aber dem Benutzer trotzdem die Möglichkeit zu geben sich anders zu &lt;br /&gt;
entscheiden, muss das &amp;quot;seen-Flag&amp;quot; für diese Frage auf false gesetzt &lt;br /&gt;
werden:&lt;br /&gt;
&lt;br /&gt;
  debconf debconf/frontend        select  Gnome&lt;br /&gt;
  debconf debconf/frontend        seen	false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Frontends ===&lt;br /&gt;
&lt;br /&gt;
* [[Delixs:Entwicklerhandbuch/Debconf/Frontends|Frontends für Debconf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiel für eine automatische Installation ==&lt;br /&gt;
&lt;br /&gt;
Ein Hinweis noch zum leider oft nicht wahrgenommenen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
  DEBIAN_FRONTEND=noninteractive&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit kannst du einen Schwung Pakete ohne Nachfragen&lt;br /&gt;
installieren. Sofern du vorher die debconf Antworten&lt;br /&gt;
injiziert hast, verhalten sich die Dienst wie vorgesehen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
export DEBIAN_FRONTEND=noninteractive&lt;br /&gt;
SELECTIONFILE=/etc/delixs/package_selection.txt&lt;br /&gt;
# mit dpkg --get-selections erstellt, nur PURGE und INSTALL&lt;br /&gt;
SELECTIONFILELOCAL=/etc/delixs/package_selection.local.txt&lt;br /&gt;
SELECTIONARCHFILE=/etc/delixs/package_selection.${SERVER_ARCH}&lt;br /&gt;
PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin&lt;br /&gt;
# Paketliste aktualisieren&lt;br /&gt;
aptitude update&lt;br /&gt;
# Paketauswahl auf minimal zurücksetzen&lt;br /&gt;
dpkg --clear-selections&lt;br /&gt;
# globale Paket-Auswahl einlesen&lt;br /&gt;
dpkg --set-selections &amp;lt; $SELECTIONFILE&lt;br /&gt;
# Architektur Paket-Auswahl einlesen&lt;br /&gt;
test -s $SELECTIONARCHFILE &amp;amp;&amp;amp; dpkg --set-selections &amp;lt; $SELECTIONARCHFILE&lt;br /&gt;
# ggf. lokale Paket-Auswahl einlesen&lt;br /&gt;
test -s $SELECTIONFILELOCAL &amp;amp;&amp;amp; dpkg --set-selections &amp;lt;&lt;br /&gt;
$SELECTIONFILELOCAL&lt;br /&gt;
# Upgrade durchführen&lt;br /&gt;
aptitude --yes dselect-upgrade&lt;br /&gt;
aptitude dist-upgrade&lt;br /&gt;
# runtergeladene Pakete aufräumen&lt;br /&gt;
aptitude clean&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit kannst du nach einer Minimalinstallation deine Pakete&lt;br /&gt;
ins System drücken, ohne dass du eine Nachfrage erhälst.&lt;br /&gt;
&lt;br /&gt;
Stolperfalle: in der globalen Selections dürfen keine Architektur&lt;br /&gt;
abhängige Pakete stecken, die gehören in die jeweils zu erstellende&lt;br /&gt;
$SELECTIONARCHFILE. Beispiel dafür: kernel, kernel-module, libc6-$ARCH.&lt;br /&gt;
Die Variable SERVER_ARCH kann ich auf zwei Arten abfragen - entweder über den installierten kernel, oder über die Architektur des installierten Systems.&lt;br /&gt;
Beide müssen nicht übereinstimmen. (ein amd64 kernel vertrgät sich mit einem i386er Userland)&lt;br /&gt;
&lt;br /&gt;
Hier die Variante über das installierte System:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
ARCH=$(dpkg --print-architecture)&lt;br /&gt;
case &amp;quot;$ARCH&amp;quot; in&lt;br /&gt;
  amd64)&lt;br /&gt;
    export SERVER_ARCH=amd64&lt;br /&gt;
  ;;&lt;br /&gt;
  i386)&lt;br /&gt;
    export SERVER_ARCH=i386&lt;br /&gt;
  ;;&lt;br /&gt;
  *)&lt;br /&gt;
    export SERVER_ARCH=&lt;br /&gt;
    # das darf nie passieren&lt;br /&gt;
    logger &amp;quot;Die Architektur ist unbekannt (${PWD}/$0)&amp;quot;&lt;br /&gt;
  ;;&lt;br /&gt;
esac&lt;br /&gt;
echo $SERVER_ARCH&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier die Variante über den laufenden kernel:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  [ -x /bin/uname ] &amp;amp;&amp;amp; ARCH=$(uname -m) || logger -t delixs &amp;quot;uname\ (Paket: coreutils) fehlt, kein Softwareupdate moeglich.&amp;quot;&lt;br /&gt;
  case &amp;quot;$ARCH&amp;quot; in&lt;br /&gt;
        i686)&lt;br /&gt;
                export SERVER_ARCH=i386&lt;br /&gt;
        ;;&lt;br /&gt;
        x86_64)&lt;br /&gt;
                export SERVER_ARCH=amd64&lt;br /&gt;
        ;;&lt;br /&gt;
        *)&lt;br /&gt;
                export SERVER_ARCH=i386&lt;br /&gt;
                # das darf nie passieren&lt;br /&gt;
                logger -t delixs &amp;quot;Die Architektur stimmt nicht - ueberpreufe das dringend  (${PWD}/$0)&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
  esac&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Evtl. hilft das an der ein oder anderen Stelle weiter. Auch wenn das beim Einsatz von tasks nicht zum Einsatz kommen muss/braucht.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
=== um Scripte in deb-Pakete zu packen: ===&lt;br /&gt;
&lt;br /&gt;
* http://www.brummer.de.hm/buildpaket.html&lt;br /&gt;
* http://www.martin-bock.de/pc/pc-0101.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== schon &amp;quot;portierte&amp;quot; CPAN-Module suchen ===&lt;br /&gt;
&lt;br /&gt;
* http://faq.perl-community.de/bin/view/Wissensbasis/ModuleWieInstalliereIchEinModul#Debian_GNU_Linux&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CPAN-Module nach Deb-Pakete ===&lt;br /&gt;
&lt;br /&gt;
* http://service.gmx.net/de/cgi/derefer?TYPE=3&amp;amp;DEST=http%3A%2F%2Fwww.blogator.de%2F2007%2F08%2F10%2Fperl-module-als-debian-paket-bauen%2F&lt;br /&gt;
* http://it.biologie.uni-muenchen.de/itg/knowhow/msg00028.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Delixs:Entwicklerhandbuch|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketbau&amp;diff=7870</id>
		<title>Entwicklerhandbuch/Paketbau</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketbau&amp;diff=7870"/>
		<updated>2010-02-02T06:50:53Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: Architektur abfragen über Userland und kernel möglich. Das Ergebnis kann unterschiedlich sein&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Uberarbeiten}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== debian Pakete konfigurieren: debconf ==&lt;br /&gt;
&lt;br /&gt;
Das Einstiegsdokument um das Thema anzugehen, sollte&lt;br /&gt;
&lt;br /&gt;
  man 7 debconf&lt;br /&gt;
&lt;br /&gt;
sein. Diese Manual-Seite ist verfügbar, wenn das Paket &amp;quot;debconf-doc&amp;quot; &lt;br /&gt;
installiert ist.&lt;br /&gt;
&lt;br /&gt;
  man debconf-devel&lt;br /&gt;
&lt;br /&gt;
beschreibt ausführlich (ca. 13 DIN-A4 Seiten), wie man mit Debconf &lt;br /&gt;
programmiert. Natürlich in einer shell. Perl Programmierer sollten das &lt;br /&gt;
Paket &amp;quot;debaux-debconf&amp;quot; nach installieren.&lt;br /&gt;
&lt;br /&gt;
In Debian wird fast alles in Manual-Seiten erklärt. Daher ist das Lesen &lt;br /&gt;
dieser Seiten für einen Entwickler unerlässlich. Manchmal will man aber &lt;br /&gt;
eine man-Seite nicht auf dem Schirm lesen, sondern als Papier-Ausdruck &lt;br /&gt;
neben sich liegen haben. Das geht mit diesem Kommando:&lt;br /&gt;
&lt;br /&gt;
  man -t debconf-devel | lpr -Plp0&lt;br /&gt;
&lt;br /&gt;
Vorausgesetzt, man will die man Seite &amp;quot;debconf-devel&amp;quot; auf den lokalen &lt;br /&gt;
Drucker (Warteschlange) lp0 drucken. Zwischen dem großen P und dem &lt;br /&gt;
Drucker-Namen darf kein Leerzeichen sein. Der Drucker muss Postscript &lt;br /&gt;
können. Aber welcher Druckertreiber unter Linux kann das nicht?&lt;br /&gt;
&lt;br /&gt;
=== Was ist &amp;quot;Debconf&amp;quot;? ===&lt;br /&gt;
&lt;br /&gt;
Debconf ist ein Framework das dazu dient, Pakete bzw Programme zu &lt;br /&gt;
konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Es ist limitiert! Es ist keine Registry wie unter Windows. Debconf soll &lt;br /&gt;
nur dazu benutzt werden eine sinnvolle Grundkonfiguration der Pakete &lt;br /&gt;
einzustellen.&lt;br /&gt;
&lt;br /&gt;
=== Woraus besteht Debconf? ===&lt;br /&gt;
&lt;br /&gt;
Zunächst mal aus 2 Datenbanken. Eine enthält Fragen, die andere &lt;br /&gt;
Antworten. Wenn Fragen gestellt werden sollen, muss es auch eine &lt;br /&gt;
Möglichkeit geben, diese dem Benutzer zu präsentieren, dafür sind die &lt;br /&gt;
Frontends zuständig. Es gibt diverse Frontends. Bekannt dürfte &lt;br /&gt;
das &amp;quot;Dialog-Frontend&amp;quot; sein. Mein Favorit ist Gnome, KDE ist auch sehr &lt;br /&gt;
hübsch.&lt;br /&gt;
&lt;br /&gt;
Jede Frage kann in jedem Frontend dargestellt werden! Für die Frontends &lt;br /&gt;
Gnome bzw KDE muss nicht zwingend Gnome und KDE installiert sein, eine &lt;br /&gt;
simple VGA-Grafik mit VESA ist ausreichend.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;praktisches Beispiel:&#039;&#039;&#039; Du hast ein installiertes Debian mit X-Window (die ADE reicht aus, auch &lt;br /&gt;
wenn sie weder Gnome noch KDE hat). Knoppix oder Suse tuts auch. Selbst &lt;br /&gt;
Windows, wenn denn cygwin installiert ist.&lt;br /&gt;
&lt;br /&gt;
In einem X-Terminal Fenster ( Du bist ein normaler User, nicht root) &lt;br /&gt;
gibst Du ein:&lt;br /&gt;
&lt;br /&gt;
  xhost +&lt;br /&gt;
&lt;br /&gt;
Das ermöglicht allen lokalen Usern (dies gilt nur für Debian, nicht für &lt;br /&gt;
andere Linuxe) X-Windows Anwendungen auf Deinem X-Server zu starten.&lt;br /&gt;
&lt;br /&gt;
Um die verschiedenen Frontends zu Testen, gibt man folgendes sein&lt;br /&gt;
&lt;br /&gt;
  su -&lt;br /&gt;
  export DISPLAY=:0.0&lt;br /&gt;
 &lt;br /&gt;
Das aktuelle Frontend:&lt;br /&gt;
&lt;br /&gt;
  dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Das Dialog Interface. Nennt sich &amp;quot;dialog&amp;quot; ist aber &amp;quot;whiptail&amp;quot; und damit &lt;br /&gt;
also nicht Aufruf-kompatibel zu &amp;quot;dialog&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
  DEBIAN_FRONTEND=dialog dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Die beiden grafischen Frontends&lt;br /&gt;
&lt;br /&gt;
  DEBIAN_FRONTEND=gnome dpkg-reconfigure debconf&lt;br /&gt;
  DEBIAN_FRONTEND=kde dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Das Editor Interface mit dem allseits beliebten Editor mcedit:&lt;br /&gt;
&lt;br /&gt;
  DEBIAN_FRONTEND=editor EDITOR=mcedit dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Der mcedit ist im Paket mc enthalten. Im Zweifel also ein&lt;br /&gt;
&lt;br /&gt;
  aptitude install mc&lt;br /&gt;
&lt;br /&gt;
durchführen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Debconf Fragen sind multi-lingual. Wenn man eine Sprache wählen &lt;br /&gt;
will, muss die Variable LANG angepasst werden, z.B.:&lt;br /&gt;
&lt;br /&gt;
  LANG=C dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
oder für russisch, sofern installiert&lt;br /&gt;
&lt;br /&gt;
  LANG=ru dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Verfügbare Sprachen, eigentlich verfügbare Schriften, kann man erfragen &lt;br /&gt;
mit:&lt;br /&gt;
&lt;br /&gt;
  locale -a&lt;br /&gt;
&lt;br /&gt;
Zurück zu Debconf, ein wichtiges Kommando ist:&lt;br /&gt;
&lt;br /&gt;
  debconf-show&lt;br /&gt;
&lt;br /&gt;
Ohne Parameter gibt es die Aufruf-Syntax auf. Mit&lt;br /&gt;
&lt;br /&gt;
  debconf-show debconf&lt;br /&gt;
&lt;br /&gt;
kann man sich anzeigen lassen, wie das Paket &amp;quot;debconf&amp;quot; konfiguriert ist. &lt;br /&gt;
Bei mir sieht das so aus:&lt;br /&gt;
&lt;br /&gt;
  debconf-show debconf&lt;br /&gt;
  debconf-apt-progress/preparing:&lt;br /&gt;
  debconf-apt-progress/title:&lt;br /&gt;
  debconf-apt-progress/info:&lt;br /&gt;
  debconf-apt-progress/media-change:&lt;br /&gt;
  * debconf/frontend: Gnome&lt;br /&gt;
  * debconf/priority: medium&lt;br /&gt;
&lt;br /&gt;
In der Antwort-DB von Debconf steht also zu dem Paket &amp;quot;debconf&amp;quot; &lt;br /&gt;
folgendes drin:&lt;br /&gt;
&lt;br /&gt;
  frontend: Gnome&lt;br /&gt;
  priority: medium&lt;br /&gt;
&lt;br /&gt;
In der obigen Ausgabe von debconf-show haben nur zwei von sechs Fragen &lt;br /&gt;
eine Antwort hinterlegt (die beiden mit dem &#039;*&#039; am Anfang.&lt;br /&gt;
&lt;br /&gt;
Die Debconf Datenbanken sind ASCII DBs und liegen &lt;br /&gt;
unter /var/cache/debconf. Eine Anfrage an die Antwort-DB mit grep, &lt;br /&gt;
ergibt dies:&lt;br /&gt;
&lt;br /&gt;
  grep &#039;debconf/frontend&#039; /var/cache/debconf/config.dat&lt;br /&gt;
  Name: debconf/frontend&lt;br /&gt;
  Template: debconf/frontend&lt;br /&gt;
&lt;br /&gt;
Wo ist der Wert &amp;quot;Gnome&amp;quot; geblieben? Hier:&lt;br /&gt;
&lt;br /&gt;
  grep -A 1 &#039;debconf/frontend&#039; /var/cache/debconf/config.dat&lt;br /&gt;
  Name: debconf/frontend&lt;br /&gt;
  Template: debconf/frontend&lt;br /&gt;
  Value: Gnome&lt;br /&gt;
&lt;br /&gt;
Er steht im Feld &amp;quot;Value&amp;quot; eine Zeile tiefer.&lt;br /&gt;
&lt;br /&gt;
Dafür gibt es natürlich auch ein Tool, &lt;br /&gt;
&lt;br /&gt;
  debconf-get-selections |grep debconf/frontend&lt;br /&gt;
  debconf debconf/frontend        select  Gnome&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe sieht hier etwas anders aus, aber das Resultat ist dasselbe.&lt;br /&gt;
Die Ausgabe von &amp;quot;debconf-get-selections&amp;quot; ist geeignet, um sie in einer &lt;br /&gt;
preseed-Datei weiter zu benutzen.&lt;br /&gt;
&lt;br /&gt;
Nicht immer werden alle Fragen, die hinterlegt sind, auch angezeigt. Das &lt;br /&gt;
wird primär mit dem Schalter &amp;quot;DEBIAN_PRIORITY&amp;quot; gesteuert:&lt;br /&gt;
&lt;br /&gt;
Installieren wir zunächst mal ein Paket, bei dem sich das gut &lt;br /&gt;
demonstrieren lässt: samba&lt;br /&gt;
&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
&lt;br /&gt;
Nun die Prioritäten testen:&lt;br /&gt;
&lt;br /&gt;
 DEBIAN_PRIORITY=high dpkg-reconfigure samba&lt;br /&gt;
 DEBIAN_PRIORITY=medium dpkg-reconfigure samba&lt;br /&gt;
 DEBIAN_PRIORITY=low dpkg-reconfigure samba&lt;br /&gt;
&lt;br /&gt;
Um das Samba Paket vollständig zu entfernen muss der --purge Schalter &lt;br /&gt;
beim &amp;quot;aptitude remove samba&amp;quot; gesetzt werden. Sonst bleiben die Antworten &lt;br /&gt;
in der Debconf-DB erhalten. Also&lt;br /&gt;
&lt;br /&gt;
 aptitude --purge remove samba samba-common&lt;br /&gt;
&lt;br /&gt;
Kann mit&lt;br /&gt;
&lt;br /&gt;
 debconf-show samba &lt;br /&gt;
&lt;br /&gt;
bzw mit&lt;br /&gt;
&lt;br /&gt;
 debconf-show samba-common&lt;br /&gt;
&lt;br /&gt;
überprüft werden.&lt;br /&gt;
&lt;br /&gt;
Das &amp;quot;purgen&amp;quot; also das Entfernen der Einträge in der Debconf-DB ist sehr &lt;br /&gt;
wichtig, wenn man das &amp;quot;preseeding&amp;quot; Testen will.&lt;br /&gt;
&lt;br /&gt;
 debconf-show --listowners&lt;br /&gt;
&lt;br /&gt;
zeigt alle installierten Pakete an, die Einträge in der Debconf-DB &lt;br /&gt;
haben, debconf-show &amp;lt;Paketname&amp;gt; zeigt die Einträge für das Paket an. &lt;br /&gt;
Hier einige Beispiele:&lt;br /&gt;
&lt;br /&gt;
Die Einstellungen des Installers:&lt;br /&gt;
&lt;br /&gt;
  debconf-show d-i&lt;br /&gt;
  debian-installer/language: de&lt;br /&gt;
  debian-installer/country: DE&lt;br /&gt;
  debian-installer/keymap: de-latin1-nodeadkeys&lt;br /&gt;
&lt;br /&gt;
Die installierten Profiles von simple-cdd:&lt;br /&gt;
&lt;br /&gt;
  debconf-show simple-cdd&lt;br /&gt;
  simple-cdd/profiles: ARK45, ARK45_devel, ARK45_CD_build&lt;br /&gt;
&lt;br /&gt;
Die installierten Sprachen:&lt;br /&gt;
&lt;br /&gt;
  debconf-show locales&lt;br /&gt;
  * locales/default_environment_locale: de_DE.UTF-8&lt;br /&gt;
  * locales/locales_to_be_generated: de_DE ISO-8859-1, de_DE.UTF-8 UTF-8, &lt;br /&gt;
  de_DE@euro ISO-8859-15, en_US ISO-8859-1, en_US.ISO-8859-15 &lt;br /&gt;
  ISO-8859-15, en_US.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
Und um jetzt das vorher genannte Beispiel mit einer russischen GUI zu &lt;br /&gt;
ermöglichen, muss man hier &amp;quot;ru_RU.UTF-8&amp;quot; zusätzlich auswählen und dann:&lt;br /&gt;
&lt;br /&gt;
  LANG=ru_RU.UTF-8 dpkg-reconfigure debconf&lt;br /&gt;
&lt;br /&gt;
Und schon kann der PC und die Anwendung (Schul-Server) russisch. Bei mir &lt;br /&gt;
geht das leider nicht so schnell. Das klappt dann, wenn das Template &lt;br /&gt;
dieser Frage auch russisch enthält.&lt;br /&gt;
&lt;br /&gt;
Die Anworten in der Config.dat, werden immer mit LANG=C abgespeichert, &lt;br /&gt;
also amerikanisch mit einem 7-bit Zeichensatz.&lt;br /&gt;
&lt;br /&gt;
  debconf-get-selections |grep debconf/frontend&lt;br /&gt;
  debconf debconf/frontend        select  Gnome&lt;br /&gt;
&lt;br /&gt;
Wenn diese Ausgabe in einer preseed Datei benutzt wird, wird die &lt;br /&gt;
dazugehörige Frage nicht mehr angezeigt. Um ein Preseeding zu setzen, &lt;br /&gt;
aber dem Benutzer trotzdem die Möglichkeit zu geben sich anders zu &lt;br /&gt;
entscheiden, muss das &amp;quot;seen-Flag&amp;quot; für diese Frage auf false gesetzt &lt;br /&gt;
werden:&lt;br /&gt;
&lt;br /&gt;
  debconf debconf/frontend        select  Gnome&lt;br /&gt;
  debconf debconf/frontend        seen	false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Frontends ===&lt;br /&gt;
&lt;br /&gt;
* [[Delixs:Entwicklerhandbuch/Debconf/Frontends|Frontends für Debconf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiel für eine automatische Installation ==&lt;br /&gt;
&lt;br /&gt;
Ein Hinweis noch zum leider oft nicht wahrgenommenen&lt;br /&gt;
&lt;br /&gt;
  DEBIAN_FRONTEND=noninteractive&lt;br /&gt;
&lt;br /&gt;
Damit kannst du einen Schwung Pakete ohne Nachfragen&lt;br /&gt;
installieren. Sofern du vorher die debconf Antworten&lt;br /&gt;
injiziert hast, verhalten sich die Dienst wie vorgesehen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  export DEBIAN_FRONTEND=noninteractive&lt;br /&gt;
  SELECTIONFILE=/etc/delixs/package_selection.txt&lt;br /&gt;
  # mit dpkg --get-selections erstellt, nur PURGE und INSTALL&lt;br /&gt;
  SELECTIONFILELOCAL=/etc/delixs/package_selection.local.txt&lt;br /&gt;
  SELECTIONARCHFILE=/etc/delixs/package_selection.${SERVER_ARCH}&lt;br /&gt;
  PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin&lt;br /&gt;
  # Paketliste aktualisieren&lt;br /&gt;
  aptitude update&lt;br /&gt;
  # Paketauswahl auf minimal zurücksetzen&lt;br /&gt;
  dpkg --clear-selections&lt;br /&gt;
  # globale Paket-Auswahl einlesen&lt;br /&gt;
  dpkg --set-selections &amp;lt; $SELECTIONFILE&lt;br /&gt;
  # Architektur Paket-Auswahl einlesen&lt;br /&gt;
  test -s $SELECTIONARCHFILE &amp;amp;&amp;amp; dpkg --set-selections &amp;lt; $SELECTIONARCHFILE&lt;br /&gt;
  # ggf. lokale Paket-Auswahl einlesen&lt;br /&gt;
  test -s $SELECTIONFILELOCAL &amp;amp;&amp;amp; dpkg --set-selections &amp;lt;&lt;br /&gt;
  $SELECTIONFILELOCAL&lt;br /&gt;
  # Upgrade durchführen&lt;br /&gt;
  aptitude --yes dselect-upgrade&lt;br /&gt;
  aptitude dist-upgrade&lt;br /&gt;
  # runtergeladene Pakete aufräumen&lt;br /&gt;
  aptitude clean&lt;br /&gt;
&lt;br /&gt;
Damit kannst du nach einer Minimalinstallation deine Pakete&lt;br /&gt;
ins System drücken, ohne dass du eine Nachfrage erhälst.&lt;br /&gt;
&lt;br /&gt;
Stolperfalle: in der globalen Selections dürfen keine Architektur&lt;br /&gt;
abhängige Pakete stecken, die gehören in die jeweils zu erstellende&lt;br /&gt;
$SELECTIONARCHFILE. Beispiel dafür: kernel, kernel-module, libc6-$ARCH.&lt;br /&gt;
Die Variable SERVER_ARCH kann ich auf zwei Arten abfragen - entweder über den installierten kernel, oder über die Architektur des installierten Systems.&lt;br /&gt;
Beide müssen nicht übereinstimmen. (ein amd64 kernel vertrgät sich mit einem i386er Userland)&lt;br /&gt;
&lt;br /&gt;
Hier die Variante über das installierte System:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
ARCH=$(dpkg --print-architecture)&lt;br /&gt;
case &amp;quot;$ARCH&amp;quot; in&lt;br /&gt;
  amd64)&lt;br /&gt;
    export SERVER_ARCH=amd64&lt;br /&gt;
  ;;&lt;br /&gt;
  i386)&lt;br /&gt;
    export SERVER_ARCH=i386&lt;br /&gt;
  ;;&lt;br /&gt;
  *)&lt;br /&gt;
    export SERVER_ARCH=&lt;br /&gt;
    # das darf nie passieren&lt;br /&gt;
    logger &amp;quot;Die Architektur ist unbekannt (${PWD}/$0)&amp;quot;&lt;br /&gt;
  ;;&lt;br /&gt;
esac&lt;br /&gt;
echo $SERVER_ARCH&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Hier die Variante über den laufenden kernel:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  [ -x /bin/uname ] &amp;amp;&amp;amp; ARCH=$(uname -m) || logger -t delixs &amp;quot;uname\ (Paket: coreutils) fehlt, kein Softwareupdate moeglich.&amp;quot;&lt;br /&gt;
  case &amp;quot;$ARCH&amp;quot; in&lt;br /&gt;
        i686)&lt;br /&gt;
                export SERVER_ARCH=i386&lt;br /&gt;
        ;;&lt;br /&gt;
        x86_64)&lt;br /&gt;
                export SERVER_ARCH=amd64&lt;br /&gt;
        ;;&lt;br /&gt;
        *)&lt;br /&gt;
                export SERVER_ARCH=i386&lt;br /&gt;
                # das darf nie passieren&lt;br /&gt;
                logger -t delixs &amp;quot;Die Architektur stimmt nicht - ueberpreufe das dringend  (${PWD}/$0)&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
  esac&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Evtl. hilft das an der ein oder anderen Stelle weiter. Auch wenn das beim Einsatz von tasks nicht zum Einsatz kommen muss/braucht.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
=== um Scripte in deb-Pakete zu packen: ===&lt;br /&gt;
&lt;br /&gt;
* http://www.brummer.de.hm/buildpaket.html&lt;br /&gt;
* http://www.martin-bock.de/pc/pc-0101.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== schon &amp;quot;portierte&amp;quot; CPAN-Module suchen ===&lt;br /&gt;
&lt;br /&gt;
* http://faq.perl-community.de/bin/view/Wissensbasis/ModuleWieInstalliereIchEinModul#Debian_GNU_Linux&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CPAN-Module nach Deb-Pakete ===&lt;br /&gt;
&lt;br /&gt;
* http://service.gmx.net/de/cgi/derefer?TYPE=3&amp;amp;DEST=http%3A%2F%2Fwww.blogator.de%2F2007%2F08%2F10%2Fperl-module-als-debian-paket-bauen%2F&lt;br /&gt;
* http://it.biologie.uni-muenchen.de/itg/knowhow/msg00028.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Delixs:Entwicklerhandbuch|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7853</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7853"/>
		<updated>2009-12-21T22:47:04Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* ssh Clientkonfiguration */  die richtigen Rechte auf dem privaten key sind wichtig.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{ZumTest}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Paketverwaltung mit dput, mini-dinstall und svn-buildpackage ==&lt;br /&gt;
=== Einführung ===&lt;br /&gt;
&lt;br /&gt;
Installiere auf deinem debian/lenny Rechner die entsprechenden Pakete mit den folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install dput mini-dinstall svn-buildpackage devscripts openssh-client&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arbeitest du unter gnome:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass-gnome&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arbeitest du unter kde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== svn-buildpackage ===&lt;br /&gt;
&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dput ===&lt;br /&gt;
&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mini-dinstall ===&lt;br /&gt;
&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== apt-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Um jetzt auch mit den frisch erstellten Repositories arbeiten zu können, sind zwei Dateien notwendig, die im Folgenden beschrieben werden.&lt;br /&gt;
&lt;br /&gt;
Der Ausdruck $(ARCH) bewirkt, dass apt sich die PC Architektur selbst sucht. Das delixs-Projekt unterstützt i386 und amd64.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== lokales Repository aktivieren ===&lt;br /&gt;
&lt;br /&gt;
Erstelle eine Datei /etc/apt/sources.list.d/file.list wie unten angegeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apt_sources&amp;quot;&amp;gt;&lt;br /&gt;
cat /etc/apt/sources.list.d/file.list&lt;br /&gt;
&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/all&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/$(ARCH)/&lt;br /&gt;
deb-src file:/home/thorsten/public_html/debian aramec/source/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Als root führe &amp;lt;code&amp;gt;aptitude update&amp;lt;/code&amp;gt; durch und das Repository ist eingebunden und einsatzfähig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== offizielles Repository aktivieren ===&lt;br /&gt;
&lt;br /&gt;
Erstelle eine Datei /etc/apt/sources.list.d/delixs.list wie unten angegeben: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apt_sources&amp;quot;&amp;gt;&lt;br /&gt;
cat /etc/apt/sources.list.d/aramec.list&lt;br /&gt;
&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/all&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/$(ARCH)/&lt;br /&gt;
deb-src file:/home/thorsten/public_html/debian aramec/source/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als root führe &amp;lt;code&amp;gt;aptitude update&amp;lt;/code&amp;gt; durch und das Repository ist zwar eingebunden aber wegen eines noch nicht bekannten GPG-Schlüssels wird ihm nicht vertraut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gpg Schlüssel importieren ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; wird noch im Detail beschrieben&lt;br /&gt;
* manuell mit wget http://deb.delixs.de/debian/keyring.asc&lt;br /&gt;
* automatisch mittels aptitude install delixs-archive-keyring&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== alias svn-b ===&lt;br /&gt;
&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
=== dput Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
&lt;br /&gt;
  # local  - deinen Rechner&lt;br /&gt;
  # delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 0&lt;br /&gt;
verify_sigs   = 1&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
fqdn          = deb.delixs.de&lt;br /&gt;
method        = scp&lt;br /&gt;
login         = dupload&lt;br /&gt;
incoming      = ./incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 0&lt;br /&gt;
verify_sigs = 1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== mini-dinstall Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
mini-dinstall soll mir ein Repository unter ~/public_html/delixs/ anlegen. Dafür ist folgende Konfiguration nötig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  ssh Clientkonfiguration ===&lt;br /&gt;
&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Datei id_dsa.dupload bekommst du per Mail zugeschickt. Die Rechte müssen bei dem privaten key auf 0640 gesetzt werden.&lt;br /&gt;
Wenn der key für alle lesbar ist (z.B. 0644), dann funktioniert der Upload nicht, da der key zurückgewiesen wird.&lt;br /&gt;
&lt;br /&gt;
=== gpg-Schlüssel ===&lt;br /&gt;
&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Entwicklerhandbuch|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thorsten Strusch 2009&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7839</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7839"/>
		<updated>2009-11-19T21:43:51Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* scp-chroot */  sftp -&amp;gt; scp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Uberarbeiten}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur scp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* aramec für den 1. Wurf&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend Vorschläge über die Konfigurationsdateien der beteiligten Dienste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
die Datei /etc/apache2/sites-available/deb.delixs.de&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerAdmin webmaster@delixs.de&lt;br /&gt;
    ServerName deb.delixs.de&lt;br /&gt;
    DocumentRoot /home/deb.delixs.de/&lt;br /&gt;
&lt;br /&gt;
    ErrorLog /var/log/apache2/error.log&lt;br /&gt;
&lt;br /&gt;
    # Possible values include: debug, info, notice, warn, error, crit,&lt;br /&gt;
    # alert, emerg.&lt;br /&gt;
    LogLevel warn&lt;br /&gt;
&lt;br /&gt;
    CustomLog /var/log/apache2/access.log combined&lt;br /&gt;
    ServerSignature On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
&lt;br /&gt;
Pfad wo das Repository auf dem dev-Server liegt: &#039;&#039;&#039;/home/deb.delixs.de&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat /home/$USER/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386&lt;br /&gt;
archivedir = /home/deb.delixs.de/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 1&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload &#039;&#039;(debian-upload)&#039;&#039; ein.&lt;br /&gt;
In seinem Heimverzeichnis ist der Ordner incoming, auf den ein links von mini-dinstall/ioncoming zeigt.&lt;br /&gt;
Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
== scp-chroot ==&lt;br /&gt;
&lt;br /&gt;
Der Benutzer dupload bekommt als loginshell /usr/bin/rssh, über die /etc/rssh.conf ist ihm nur scp erlaubt.&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
&lt;br /&gt;
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
Jeder User benötigt einen eigenen gpg-key. Der öffentliche key muss in der ML bekannt gegeben werden, damit er auf dem Server in das Schlüsselbund eingefügt werden kann.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Entwicklerhandbuch|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thorsten Strusch 2009&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7838</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7838"/>
		<updated>2009-11-19T21:42:42Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* gpg-key */ wir nutzen gpg!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Uberarbeiten}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur scp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* aramec für den 1. Wurf&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend Vorschläge über die Konfigurationsdateien der beteiligten Dienste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
die Datei /etc/apache2/sites-available/deb.delixs.de&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerAdmin webmaster@delixs.de&lt;br /&gt;
    ServerName deb.delixs.de&lt;br /&gt;
    DocumentRoot /home/deb.delixs.de/&lt;br /&gt;
&lt;br /&gt;
    ErrorLog /var/log/apache2/error.log&lt;br /&gt;
&lt;br /&gt;
    # Possible values include: debug, info, notice, warn, error, crit,&lt;br /&gt;
    # alert, emerg.&lt;br /&gt;
    LogLevel warn&lt;br /&gt;
&lt;br /&gt;
    CustomLog /var/log/apache2/access.log combined&lt;br /&gt;
    ServerSignature On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
&lt;br /&gt;
Pfad wo das Repository auf dem dev-Server liegt: &#039;&#039;&#039;/home/deb.delixs.de&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat /home/$USER/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386&lt;br /&gt;
archivedir = /home/deb.delixs.de/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 1&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload &#039;&#039;(debian-upload)&#039;&#039; ein.&lt;br /&gt;
In seinem Heimverzeichnis ist der Ordner incoming, auf den ein links von mini-dinstall/ioncoming zeigt.&lt;br /&gt;
Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
== sftp-chroot ==&lt;br /&gt;
&lt;br /&gt;
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Subsystem sftp internal-sftp&lt;br /&gt;
Match user dupload&lt;br /&gt;
    ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming&lt;br /&gt;
    X11Forwarding no&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
    ForceCommand internal-sftp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
&lt;br /&gt;
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
Jeder User benötigt einen eigenen gpg-key. Der öffentliche key muss in der ML bekannt gegeben werden, damit er auf dem Server in das Schlüsselbund eingefügt werden kann.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Entwicklerhandbuch|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thorsten Strusch 2009&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7837</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7837"/>
		<updated>2009-11-19T21:41:44Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Benutzer dupload */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Uberarbeiten}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur scp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* aramec für den 1. Wurf&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend Vorschläge über die Konfigurationsdateien der beteiligten Dienste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
die Datei /etc/apache2/sites-available/deb.delixs.de&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerAdmin webmaster@delixs.de&lt;br /&gt;
    ServerName deb.delixs.de&lt;br /&gt;
    DocumentRoot /home/deb.delixs.de/&lt;br /&gt;
&lt;br /&gt;
    ErrorLog /var/log/apache2/error.log&lt;br /&gt;
&lt;br /&gt;
    # Possible values include: debug, info, notice, warn, error, crit,&lt;br /&gt;
    # alert, emerg.&lt;br /&gt;
    LogLevel warn&lt;br /&gt;
&lt;br /&gt;
    CustomLog /var/log/apache2/access.log combined&lt;br /&gt;
    ServerSignature On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
&lt;br /&gt;
Pfad wo das Repository auf dem dev-Server liegt: &#039;&#039;&#039;/home/deb.delixs.de&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat /home/$USER/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386&lt;br /&gt;
archivedir = /home/deb.delixs.de/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 1&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload &#039;&#039;(debian-upload)&#039;&#039; ein.&lt;br /&gt;
In seinem Heimverzeichnis ist der Ordner incoming, auf den ein links von mini-dinstall/ioncoming zeigt.&lt;br /&gt;
Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
== sftp-chroot ==&lt;br /&gt;
&lt;br /&gt;
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Subsystem sftp internal-sftp&lt;br /&gt;
Match user dupload&lt;br /&gt;
    ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming&lt;br /&gt;
    X11Forwarding no&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
    ForceCommand internal-sftp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
&lt;br /&gt;
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
&lt;br /&gt;
Zwei Möglichkeiten&lt;br /&gt;
# wir hinterlegen das Passwort auf der Platte im Klartext&lt;br /&gt;
# wir benutzen den gpg-agent, der es eine Weile im Speicher behält&lt;br /&gt;
&lt;br /&gt;
Nachteil bei Möglichkeit 1: unsicher&amp;lt;br&amp;gt;&lt;br /&gt;
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Entwicklerhandbuch|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thorsten Strusch 2009&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7836</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7836"/>
		<updated>2009-11-19T21:40:32Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* mini-dinstall */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Uberarbeiten}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur scp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* aramec für den 1. Wurf&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend Vorschläge über die Konfigurationsdateien der beteiligten Dienste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
die Datei /etc/apache2/sites-available/deb.delixs.de&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerAdmin webmaster@delixs.de&lt;br /&gt;
    ServerName deb.delixs.de&lt;br /&gt;
    DocumentRoot /home/deb.delixs.de/&lt;br /&gt;
&lt;br /&gt;
    ErrorLog /var/log/apache2/error.log&lt;br /&gt;
&lt;br /&gt;
    # Possible values include: debug, info, notice, warn, error, crit,&lt;br /&gt;
    # alert, emerg.&lt;br /&gt;
    LogLevel warn&lt;br /&gt;
&lt;br /&gt;
    CustomLog /var/log/apache2/access.log combined&lt;br /&gt;
    ServerSignature On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
&lt;br /&gt;
Pfad wo das Repository auf dem dev-Server liegt: &#039;&#039;&#039;/home/deb.delixs.de&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat /home/$USER/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386&lt;br /&gt;
archivedir = /home/deb.delixs.de/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 1&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload &#039;&#039;(debian-upload)&#039;&#039; ein, der im incoming Verzeichnis von mini-dinstall eingesperrt ist. Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== sftp-chroot ==&lt;br /&gt;
&lt;br /&gt;
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Subsystem sftp internal-sftp&lt;br /&gt;
Match user dupload&lt;br /&gt;
    ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming&lt;br /&gt;
    X11Forwarding no&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
    ForceCommand internal-sftp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
&lt;br /&gt;
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
&lt;br /&gt;
Zwei Möglichkeiten&lt;br /&gt;
# wir hinterlegen das Passwort auf der Platte im Klartext&lt;br /&gt;
# wir benutzen den gpg-agent, der es eine Weile im Speicher behält&lt;br /&gt;
&lt;br /&gt;
Nachteil bei Möglichkeit 1: unsicher&amp;lt;br&amp;gt;&lt;br /&gt;
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Entwicklerhandbuch|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thorsten Strusch 2009&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7835</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7835"/>
		<updated>2009-11-19T21:39:17Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Apache */ den vHost angegeben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Uberarbeiten}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur scp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* aramec für den 1. Wurf&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend Vorschläge über die Konfigurationsdateien der beteiligten Dienste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
die Datei /etc/apache2/sites-available/deb.delixs.de&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerAdmin webmaster@delixs.de&lt;br /&gt;
    ServerName deb.delixs.de&lt;br /&gt;
    DocumentRoot /home/deb.delixs.de/&lt;br /&gt;
&lt;br /&gt;
    ErrorLog /var/log/apache2/error.log&lt;br /&gt;
&lt;br /&gt;
    # Possible values include: debug, info, notice, warn, error, crit,&lt;br /&gt;
    # alert, emerg.&lt;br /&gt;
    LogLevel warn&lt;br /&gt;
&lt;br /&gt;
    CustomLog /var/log/apache2/access.log combined&lt;br /&gt;
    ServerSignature On&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
&lt;br /&gt;
Pfad wo das Repository auf dem dev-Server liegt: &#039;&#039;&#039;/home/deb.delixs.de&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; &#039;&#039;&#039;Wollen wir mini-dinstall als root oder als seperater User laufen lassen?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat /home/$USER/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386&lt;br /&gt;
archivedir = /home/deb.delixs.de/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
# aktivieren, sobald key erzeugt ist&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 1&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload &#039;&#039;(debian-upload)&#039;&#039; ein, der im incoming Verzeichnis von mini-dinstall eingesperrt ist. Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== sftp-chroot ==&lt;br /&gt;
&lt;br /&gt;
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Subsystem sftp internal-sftp&lt;br /&gt;
Match user dupload&lt;br /&gt;
    ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming&lt;br /&gt;
    X11Forwarding no&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
    ForceCommand internal-sftp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
&lt;br /&gt;
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
&lt;br /&gt;
Zwei Möglichkeiten&lt;br /&gt;
# wir hinterlegen das Passwort auf der Platte im Klartext&lt;br /&gt;
# wir benutzen den gpg-agent, der es eine Weile im Speicher behält&lt;br /&gt;
&lt;br /&gt;
Nachteil bei Möglichkeit 1: unsicher&amp;lt;br&amp;gt;&lt;br /&gt;
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Entwicklerhandbuch|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thorsten Strusch 2009&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7834</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7834"/>
		<updated>2009-11-19T21:38:10Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Funktionsweise */ sftp -&amp;gt; scp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Uberarbeiten}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur scp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* aramec für den 1. Wurf&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend Vorschläge über die Konfigurationsdateien der beteiligten Dienste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
deb.delixs.de&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
&lt;br /&gt;
Pfad wo das Repository auf dem dev-Server liegt: &#039;&#039;&#039;/home/deb.delixs.de&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; &#039;&#039;&#039;Wollen wir mini-dinstall als root oder als seperater User laufen lassen?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat /home/$USER/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386&lt;br /&gt;
archivedir = /home/deb.delixs.de/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
# aktivieren, sobald key erzeugt ist&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 1&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload &#039;&#039;(debian-upload)&#039;&#039; ein, der im incoming Verzeichnis von mini-dinstall eingesperrt ist. Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== sftp-chroot ==&lt;br /&gt;
&lt;br /&gt;
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Subsystem sftp internal-sftp&lt;br /&gt;
Match user dupload&lt;br /&gt;
    ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming&lt;br /&gt;
    X11Forwarding no&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
    ForceCommand internal-sftp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
&lt;br /&gt;
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
&lt;br /&gt;
Zwei Möglichkeiten&lt;br /&gt;
# wir hinterlegen das Passwort auf der Platte im Klartext&lt;br /&gt;
# wir benutzen den gpg-agent, der es eine Weile im Speicher behält&lt;br /&gt;
&lt;br /&gt;
Nachteil bei Möglichkeit 1: unsicher&amp;lt;br&amp;gt;&lt;br /&gt;
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Entwicklerhandbuch|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thorsten Strusch 2009&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7833</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7833"/>
		<updated>2009-11-19T21:37:23Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* dput Konfiguration */ sftp -&amp;gt; scp , login hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{ZumTest}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Paketverwaltung mit dput, mini-dinstall und svn-buildpackage ==&lt;br /&gt;
=== Einführung ===&lt;br /&gt;
&lt;br /&gt;
Installiere auf deinem debian/lenny Rechner die entsprechenden Pakete mit den folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install dput mini-dinstall svn-buildpackage devscripts openssh-client&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arbeitest du unter gnome:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass-gnome&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arbeitest du unter kde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== svn-buildpackage ===&lt;br /&gt;
&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dput ===&lt;br /&gt;
&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mini-dinstall ===&lt;br /&gt;
&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== apt-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Um jetzt auch mit den frisch erstellten Repositories arbeiten zu können, sind zwei Dateien notwendig, die im Folgenden beschrieben werden.&lt;br /&gt;
&lt;br /&gt;
Der Ausdruck $(ARCH) bewirkt, dass apt sich die PC Architektur selbst sucht. Das delixs-Projekt unterstützt i386 und amd64.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== lokales Repository aktivieren ===&lt;br /&gt;
&lt;br /&gt;
Erstelle eine Datei /etc/apt/sources.list.d/file.list wie unten angegeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apt_sources&amp;quot;&amp;gt;&lt;br /&gt;
cat /etc/apt/sources.list.d/file.list&lt;br /&gt;
&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/all&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/$(ARCH)/&lt;br /&gt;
deb-src file:/home/thorsten/public_html/debian aramec/source/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Als root führe &amp;lt;code&amp;gt;aptitude update&amp;lt;/code&amp;gt; durch und das Repository ist eingebunden und einsatzfähig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== offizielles Repository aktivieren ===&lt;br /&gt;
&lt;br /&gt;
Erstelle eine Datei /etc/apt/sources.list.d/delixs.list wie unten angegeben: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apt_sources&amp;quot;&amp;gt;&lt;br /&gt;
cat /etc/apt/sources.list.d/aramec.list&lt;br /&gt;
&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/all&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/$(ARCH)/&lt;br /&gt;
deb-src file:/home/thorsten/public_html/debian aramec/source/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als root führe &amp;lt;code&amp;gt;aptitude update&amp;lt;/code&amp;gt; durch und das Repository ist zwar eingebunden aber wegen eines noch nicht bekannten GPG-Schlüssels wird ihm nicht vertraut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gpg Schlüssel importieren ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; wird noch im Detail beschrieben&lt;br /&gt;
* manuell mit wget http://deb.delixs.de/debian/keyring.asc&lt;br /&gt;
* automatisch mittels aptitude install delixs-archive-keyring&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== alias svn-b ===&lt;br /&gt;
&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
=== dput Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
&lt;br /&gt;
  # local  - deinen Rechner&lt;br /&gt;
  # delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 0&lt;br /&gt;
verify_sigs   = 1&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
fqdn          = deb.delixs.de&lt;br /&gt;
method        = scp&lt;br /&gt;
login         = dupload&lt;br /&gt;
incoming      = ./incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 0&lt;br /&gt;
verify_sigs = 1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== mini-dinstall Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
mini-dinstall soll mir ein Repository unter ~/public_html/delixs/ anlegen. Dafür ist folgende Konfiguration nötig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  ssh Clientkonfiguration ===&lt;br /&gt;
&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; Die Datei id_dsa.dupload bekommst du noch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gpg-Schlüssel ===&lt;br /&gt;
&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Entwicklerhandbuch|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thorsten Strusch 2009&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7810</id>
		<title>Entwicklerhandbuch/GPG Schluessel</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7810"/>
		<updated>2009-11-15T11:28:23Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* öffentlichen Schlüssel dem Projekt bekannt geben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GPG für das Signieren eines debian Pakets =&lt;br /&gt;
Für ein sicheres und gemeinsames arbeiten an einem debian Repository sollte jeder seine Pakete und Uploads mit seinem eigenen gpg-key unterschreiben.&lt;br /&gt;
&lt;br /&gt;
Hier eine kurze Anleitung, wie dieser Key anzulegen ist. &lt;br /&gt;
&lt;br /&gt;
== Paketinstallation ==&lt;br /&gt;
Kurz und schmerzlos gpg installieren:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo aptitude install gnupg gnupg-agent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlüssel erzeugen ==&lt;br /&gt;
Der nachfolgende Aufruf erzeugt den Schlüssel. Bitte benutze deinen vollen Namen und deine delixs-Adresse.&lt;br /&gt;
Der Aufruf endet so in etwa wie hier&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --gen-key&lt;br /&gt;
[...]&lt;br /&gt;
gpg: Schlüssel 0DDF17D0 ist als uneingeschränkt vertrauenswürdig gekennzeichnet&lt;br /&gt;
Öffentlichen und geheimen Schlüssel erzeugt und signiert.&lt;br /&gt;
&lt;br /&gt;
gpg: &amp;quot;Trust-DB&amp;quot; wird überprüft&lt;br /&gt;
gpg: 3 marginal-needed, 1 complete-needed, PGP Vertrauensmodell&lt;br /&gt;
gpg: Tiefe: 0  gültig:   1  unterschrieben:   0  Vertrauen: 0-, 0q, 0n, 0m, 0f, 1u&lt;br /&gt;
gpg: nächste &amp;quot;Trust-DB&amp;quot;-Pflichtüberprüfung am 2014-11-12&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
  Schl.-Fingerabdruck = 1E25 3B8E EC5E 4DC4 7CA6  DC25 74B0 E102 0DDF 17D0&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Schlüssel ID (&#039;&#039;&#039;hier 0DDF17D0&#039;&#039;&#039;) solltest du dir merken, wir brauche sie noch weiter unten.&lt;br /&gt;
&lt;br /&gt;
== Passwortverwaltung mit gnupg-agent ==&lt;br /&gt;
Sowohl dpkg-buildpackage als auch dput verlangen beim Erstellen des Pakets bzw. beim Signieren oder Hochladen nach dem Passwort für den Schlüssel.&lt;br /&gt;
Damit man nicht immer wieder den key eintippen muss, kann sich der gpg Agent das Passwort Weile merken. Schreib dafür folgendes in deine ~/.bashrc &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GPG_TTY=`tty`&lt;br /&gt;
export GPG_TTY&lt;br /&gt;
&lt;br /&gt;
# Für die Signierung des Archivs&lt;br /&gt;
if test -f $HOME/.gpg-agent-info &amp;amp;&amp;amp; kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2&amp;gt;/dev/null; then&lt;br /&gt;
  GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info`&lt;br /&gt;
  export GPG_AGENT_INFO&lt;br /&gt;
else&lt;br /&gt;
  eval `gpg-agent --daemon`&lt;br /&gt;
  echo $GPG_AGENT_INFO &amp;gt;$HOME/.gpg-agent-info&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit der agent überhaupt benutzt wird, muss man das in der gpg-Konfiguration freischalten:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;use-agent&amp;quot; &amp;gt; ~/.gnupg/gpg.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gnome Desktop ===&lt;br /&gt;
Unter dem Gnome Desktop kann die Anwengung seahorse aus dem gleichnamigen debian-Paket installiert werden. Es reicht ein &amp;lt;code&amp;gt;aptitude install seahorse&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== öffentlichen Schlüssel dem Projekt bekannt geben ==&lt;br /&gt;
Damit du mit deinem Schlüssel signierte Pakete in das delixs-Repository hochladen darfst, muss du uns deinen öffentlichen Schlüssel geben.&lt;br /&gt;
&lt;br /&gt;
Zuerst benötigst du die ID deines Schlüssels. Hier im Beispiel ist es die &#039;&#039;&#039;0DDF17D0&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --list-keys&lt;br /&gt;
/home/thorsten/.gnupg/pubring.gpg&lt;br /&gt;
---------------------------------&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Jetzt exportiere diesen Schlüssel mit der eben erfahrenen keyID (oder der Emailadresse) in eine Datei. Wir wählen über den Schalter armor das ASCII-Format, weil man es per Mail verschicken kann, ohne Gefahr zu laufen, dass es dabei zersört wird.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gpg --output $USERNAME.asc --armor --export 0DDF17D0&lt;br /&gt;
bzw.&lt;br /&gt;
gpg --output $USERNAME.asc --armor --export post@thorstenstrusch.de&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Maile die entstandene Datei (= der öffentliche Schlüssel deines gpg-keys) an die delixs-Mailingliste.&lt;br /&gt;
&lt;br /&gt;
= Eine Emailadresse zum Schlüssel hinzufügen =&lt;br /&gt;
Meist hat man mehr als nur eine Emailadresse in Gebrauch, möchte aber&lt;br /&gt;
natürlich nur einen gpg-key benutzen.&lt;br /&gt;
&lt;br /&gt;
Also muss eine weitere Identität zum Schlüssel hinzugefügt werden.&lt;br /&gt;
In diesem Beispiel füge ich meine Projektadressse th.strusch@delixs.de&lt;br /&gt;
hinzu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --edit-key post@thorstenstrusch.de&lt;br /&gt;
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.&lt;br /&gt;
This is free software: you are free to change and redistribute it.  &lt;br /&gt;
There is NO WARRANTY, to the extent permitted by law.               &lt;br /&gt;
&lt;br /&gt;
Geheimer Schlüssel ist vorhanden.&lt;br /&gt;
&lt;br /&gt;
pub  1024D/0DDF17D0  erzeugt: 2009-11-13  verfällt: 2014-11-12  Aufruf: SC  &lt;br /&gt;
                     Vertrauen: uneingeschränkt Gültigkeit: uneingeschränkt &lt;br /&gt;
sub  2048g/3D7D81D5  erzeugt: 2009-11-13  verfällt: 2014-11-12  Aufruf: E   &lt;br /&gt;
[ uneing.] (1). Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Befehl&amp;gt; adduid&lt;br /&gt;
Ihr Name (&amp;quot;Vorname Nachname&amp;quot;): Thorsten Strusch&lt;br /&gt;
Email-Adresse: th.strusch@delixs.de            &lt;br /&gt;
Kommentar:                                     &lt;br /&gt;
Sie haben diese User-ID gewählt:               &lt;br /&gt;
    &amp;quot;Thorsten Strusch &amp;lt;th.strusch@delixs.de&amp;gt;&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? F&lt;br /&gt;
&lt;br /&gt;
Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren.&lt;br /&gt;
Benutzer: &amp;quot;Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&amp;quot;                 &lt;br /&gt;
1024-Bit DSA Schlüssel, ID 0DDF17D0, erzeugt 2009-11-13                &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pub  1024D/0DDF17D0  erzeugt: 2009-11-13  verfällt: 2014-11-12  Aufruf: SC  &lt;br /&gt;
                     Vertrauen: uneingeschränkt Gültigkeit: uneingeschränkt &lt;br /&gt;
sub  2048g/3D7D81D5  erzeugt: 2009-11-13  verfällt: 2014-11-12  Aufruf: E   &lt;br /&gt;
[ uneing.] (1)  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;                  &lt;br /&gt;
[  unbek.] (2). Thorsten Strusch &amp;lt;th.strusch@delixs.de&amp;gt;                     &lt;br /&gt;
&lt;br /&gt;
Befehl&amp;gt; quit&lt;br /&gt;
Änderungen speichern? ja&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mal schauen, ob es geklappt hat:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --list-keys&lt;br /&gt;
/home/thorsten/.gnupg/pubring.gpg&lt;br /&gt;
---------------------------------&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;th.strusch@delixs.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7809</id>
		<title>Entwicklerhandbuch/GPG Schluessel</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7809"/>
		<updated>2009-11-15T11:27:14Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* öffentlichen Schlüssel bekannt geben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GPG für das Signieren eines debian Pakets =&lt;br /&gt;
Für ein sicheres und gemeinsames arbeiten an einem debian Repository sollte jeder seine Pakete und Uploads mit seinem eigenen gpg-key unterschreiben.&lt;br /&gt;
&lt;br /&gt;
Hier eine kurze Anleitung, wie dieser Key anzulegen ist. &lt;br /&gt;
&lt;br /&gt;
== Paketinstallation ==&lt;br /&gt;
Kurz und schmerzlos gpg installieren:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo aptitude install gnupg gnupg-agent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlüssel erzeugen ==&lt;br /&gt;
Der nachfolgende Aufruf erzeugt den Schlüssel. Bitte benutze deinen vollen Namen und deine delixs-Adresse.&lt;br /&gt;
Der Aufruf endet so in etwa wie hier&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --gen-key&lt;br /&gt;
[...]&lt;br /&gt;
gpg: Schlüssel 0DDF17D0 ist als uneingeschränkt vertrauenswürdig gekennzeichnet&lt;br /&gt;
Öffentlichen und geheimen Schlüssel erzeugt und signiert.&lt;br /&gt;
&lt;br /&gt;
gpg: &amp;quot;Trust-DB&amp;quot; wird überprüft&lt;br /&gt;
gpg: 3 marginal-needed, 1 complete-needed, PGP Vertrauensmodell&lt;br /&gt;
gpg: Tiefe: 0  gültig:   1  unterschrieben:   0  Vertrauen: 0-, 0q, 0n, 0m, 0f, 1u&lt;br /&gt;
gpg: nächste &amp;quot;Trust-DB&amp;quot;-Pflichtüberprüfung am 2014-11-12&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
  Schl.-Fingerabdruck = 1E25 3B8E EC5E 4DC4 7CA6  DC25 74B0 E102 0DDF 17D0&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Schlüssel ID (&#039;&#039;&#039;hier 0DDF17D0&#039;&#039;&#039;) solltest du dir merken, wir brauche sie noch weiter unten.&lt;br /&gt;
&lt;br /&gt;
== Passwortverwaltung mit gnupg-agent ==&lt;br /&gt;
Sowohl dpkg-buildpackage als auch dput verlangen beim Erstellen des Pakets bzw. beim Signieren oder Hochladen nach dem Passwort für den Schlüssel.&lt;br /&gt;
Damit man nicht immer wieder den key eintippen muss, kann sich der gpg Agent das Passwort Weile merken. Schreib dafür folgendes in deine ~/.bashrc &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GPG_TTY=`tty`&lt;br /&gt;
export GPG_TTY&lt;br /&gt;
&lt;br /&gt;
# Für die Signierung des Archivs&lt;br /&gt;
if test -f $HOME/.gpg-agent-info &amp;amp;&amp;amp; kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2&amp;gt;/dev/null; then&lt;br /&gt;
  GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info`&lt;br /&gt;
  export GPG_AGENT_INFO&lt;br /&gt;
else&lt;br /&gt;
  eval `gpg-agent --daemon`&lt;br /&gt;
  echo $GPG_AGENT_INFO &amp;gt;$HOME/.gpg-agent-info&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit der agent überhaupt benutzt wird, muss man das in der gpg-Konfiguration freischalten:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;use-agent&amp;quot; &amp;gt; ~/.gnupg/gpg.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gnome Desktop ===&lt;br /&gt;
Unter dem Gnome Desktop kann die Anwengung seahorse aus dem gleichnamigen debian-Paket installiert werden. Es reicht ein &amp;lt;code&amp;gt;aptitude install seahorse&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== öffentlichen Schlüssel dem Projekt bekannt geben ==&lt;br /&gt;
Damit du mit deinem Schlüssel signierte Pakete in das delixs-Repository hochladen darfst, muss du uns deinen öffentlichen Schlüssel geben.&lt;br /&gt;
&lt;br /&gt;
Zuerst benötigst du die ID deines Schlüssels. Hier im Beispiel ist es die &#039;&#039;&#039;0DDF17D0&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --list-keys&lt;br /&gt;
/home/thorsten/.gnupg/pubring.gpg&lt;br /&gt;
---------------------------------&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Jetzt exportiere diesen Schlüssel mit der eben erfahrenen keyID in eine Datei. Wir wählen über den Schalter armor das ASCII-Format, weil man es per Mail verschicken kann, ohne Gefahr zu laufen, dass es dabei zersört wird.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gpg --output $USERNAME.asc --armor --export 0DDF17D0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Maile die entstandene Datei (= der öffentliche Schlüssel deines gpg-keys) an die delixs-Mailingliste.&lt;br /&gt;
&lt;br /&gt;
= Eine Emailadresse zum Schlüssel hinzufügen =&lt;br /&gt;
Meist hat man mehr als nur eine Emailadresse in Gebrauch, möchte aber&lt;br /&gt;
natürlich nur einen gpg-key benutzen.&lt;br /&gt;
&lt;br /&gt;
Also muss eine weitere Identität zum Schlüssel hinzugefügt werden.&lt;br /&gt;
In diesem Beispiel füge ich meine Projektadressse th.strusch@delixs.de&lt;br /&gt;
hinzu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --edit-key post@thorstenstrusch.de&lt;br /&gt;
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.&lt;br /&gt;
This is free software: you are free to change and redistribute it.  &lt;br /&gt;
There is NO WARRANTY, to the extent permitted by law.               &lt;br /&gt;
&lt;br /&gt;
Geheimer Schlüssel ist vorhanden.&lt;br /&gt;
&lt;br /&gt;
pub  1024D/0DDF17D0  erzeugt: 2009-11-13  verfällt: 2014-11-12  Aufruf: SC  &lt;br /&gt;
                     Vertrauen: uneingeschränkt Gültigkeit: uneingeschränkt &lt;br /&gt;
sub  2048g/3D7D81D5  erzeugt: 2009-11-13  verfällt: 2014-11-12  Aufruf: E   &lt;br /&gt;
[ uneing.] (1). Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Befehl&amp;gt; adduid&lt;br /&gt;
Ihr Name (&amp;quot;Vorname Nachname&amp;quot;): Thorsten Strusch&lt;br /&gt;
Email-Adresse: th.strusch@delixs.de            &lt;br /&gt;
Kommentar:                                     &lt;br /&gt;
Sie haben diese User-ID gewählt:               &lt;br /&gt;
    &amp;quot;Thorsten Strusch &amp;lt;th.strusch@delixs.de&amp;gt;&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? F&lt;br /&gt;
&lt;br /&gt;
Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren.&lt;br /&gt;
Benutzer: &amp;quot;Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&amp;quot;                 &lt;br /&gt;
1024-Bit DSA Schlüssel, ID 0DDF17D0, erzeugt 2009-11-13                &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pub  1024D/0DDF17D0  erzeugt: 2009-11-13  verfällt: 2014-11-12  Aufruf: SC  &lt;br /&gt;
                     Vertrauen: uneingeschränkt Gültigkeit: uneingeschränkt &lt;br /&gt;
sub  2048g/3D7D81D5  erzeugt: 2009-11-13  verfällt: 2014-11-12  Aufruf: E   &lt;br /&gt;
[ uneing.] (1)  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;                  &lt;br /&gt;
[  unbek.] (2). Thorsten Strusch &amp;lt;th.strusch@delixs.de&amp;gt;                     &lt;br /&gt;
&lt;br /&gt;
Befehl&amp;gt; quit&lt;br /&gt;
Änderungen speichern? ja&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mal schauen, ob es geklappt hat:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --list-keys&lt;br /&gt;
/home/thorsten/.gnupg/pubring.gpg&lt;br /&gt;
---------------------------------&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;th.strusch@delixs.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7808</id>
		<title>Entwicklerhandbuch/GPG Schluessel</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7808"/>
		<updated>2009-11-15T11:26:42Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: eine Identität zum Schlüssel hinzufügen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GPG für das Signieren eines debian Pakets =&lt;br /&gt;
Für ein sicheres und gemeinsames arbeiten an einem debian Repository sollte jeder seine Pakete und Uploads mit seinem eigenen gpg-key unterschreiben.&lt;br /&gt;
&lt;br /&gt;
Hier eine kurze Anleitung, wie dieser Key anzulegen ist. &lt;br /&gt;
&lt;br /&gt;
== Paketinstallation ==&lt;br /&gt;
Kurz und schmerzlos gpg installieren:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo aptitude install gnupg gnupg-agent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlüssel erzeugen ==&lt;br /&gt;
Der nachfolgende Aufruf erzeugt den Schlüssel. Bitte benutze deinen vollen Namen und deine delixs-Adresse.&lt;br /&gt;
Der Aufruf endet so in etwa wie hier&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --gen-key&lt;br /&gt;
[...]&lt;br /&gt;
gpg: Schlüssel 0DDF17D0 ist als uneingeschränkt vertrauenswürdig gekennzeichnet&lt;br /&gt;
Öffentlichen und geheimen Schlüssel erzeugt und signiert.&lt;br /&gt;
&lt;br /&gt;
gpg: &amp;quot;Trust-DB&amp;quot; wird überprüft&lt;br /&gt;
gpg: 3 marginal-needed, 1 complete-needed, PGP Vertrauensmodell&lt;br /&gt;
gpg: Tiefe: 0  gültig:   1  unterschrieben:   0  Vertrauen: 0-, 0q, 0n, 0m, 0f, 1u&lt;br /&gt;
gpg: nächste &amp;quot;Trust-DB&amp;quot;-Pflichtüberprüfung am 2014-11-12&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
  Schl.-Fingerabdruck = 1E25 3B8E EC5E 4DC4 7CA6  DC25 74B0 E102 0DDF 17D0&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Schlüssel ID (&#039;&#039;&#039;hier 0DDF17D0&#039;&#039;&#039;) solltest du dir merken, wir brauche sie noch weiter unten.&lt;br /&gt;
&lt;br /&gt;
== Passwortverwaltung mit gnupg-agent ==&lt;br /&gt;
Sowohl dpkg-buildpackage als auch dput verlangen beim Erstellen des Pakets bzw. beim Signieren oder Hochladen nach dem Passwort für den Schlüssel.&lt;br /&gt;
Damit man nicht immer wieder den key eintippen muss, kann sich der gpg Agent das Passwort Weile merken. Schreib dafür folgendes in deine ~/.bashrc &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GPG_TTY=`tty`&lt;br /&gt;
export GPG_TTY&lt;br /&gt;
&lt;br /&gt;
# Für die Signierung des Archivs&lt;br /&gt;
if test -f $HOME/.gpg-agent-info &amp;amp;&amp;amp; kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2&amp;gt;/dev/null; then&lt;br /&gt;
  GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info`&lt;br /&gt;
  export GPG_AGENT_INFO&lt;br /&gt;
else&lt;br /&gt;
  eval `gpg-agent --daemon`&lt;br /&gt;
  echo $GPG_AGENT_INFO &amp;gt;$HOME/.gpg-agent-info&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit der agent überhaupt benutzt wird, muss man das in der gpg-Konfiguration freischalten:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;use-agent&amp;quot; &amp;gt; ~/.gnupg/gpg.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gnome Desktop ===&lt;br /&gt;
Unter dem Gnome Desktop kann die Anwengung seahorse aus dem gleichnamigen debian-Paket installiert werden. Es reicht ein &amp;lt;code&amp;gt;aptitude install seahorse&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== öffentlichen Schlüssel bekannt geben ==&lt;br /&gt;
Damit du mit deinem Schlüssel signierte Pakete in das delixs-Repository hochladen darfst, muss du uns deinen öffentlichen Schlüssel geben.&lt;br /&gt;
&lt;br /&gt;
Zuerst benötigst du die ID deines Schlüssels. Hier im Beispiel ist es die &#039;&#039;&#039;0DDF17D0&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --list-keys&lt;br /&gt;
/home/thorsten/.gnupg/pubring.gpg&lt;br /&gt;
---------------------------------&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Jetzt exportiere diesen Schlüssel mit der eben erfahrenen keyID in eine Datei. Wir wählen über den Schalter armor das ASCII-Format, weil man es per Mail verschicken kann, ohne Gefahr zu laufen, dass es dabei zersört wird.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gpg --output $USERNAME.asc --armor --export 0DDF17D0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Maile die entstandene Datei (= der öffentliche Schlüssel deines gpg-keys) an die delixs-Mailingliste.&lt;br /&gt;
&lt;br /&gt;
= Eine Emailadresse zum Schlüssel hinzufügen =&lt;br /&gt;
Meist hat man mehr als nur eine Emailadresse in Gebrauch, möchte aber&lt;br /&gt;
natürlich nur einen gpg-key benutzen.&lt;br /&gt;
&lt;br /&gt;
Also muss eine weitere Identität zum Schlüssel hinzugefügt werden.&lt;br /&gt;
In diesem Beispiel füge ich meine Projektadressse th.strusch@delixs.de&lt;br /&gt;
hinzu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --edit-key post@thorstenstrusch.de&lt;br /&gt;
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.&lt;br /&gt;
This is free software: you are free to change and redistribute it.  &lt;br /&gt;
There is NO WARRANTY, to the extent permitted by law.               &lt;br /&gt;
&lt;br /&gt;
Geheimer Schlüssel ist vorhanden.&lt;br /&gt;
&lt;br /&gt;
pub  1024D/0DDF17D0  erzeugt: 2009-11-13  verfällt: 2014-11-12  Aufruf: SC  &lt;br /&gt;
                     Vertrauen: uneingeschränkt Gültigkeit: uneingeschränkt &lt;br /&gt;
sub  2048g/3D7D81D5  erzeugt: 2009-11-13  verfällt: 2014-11-12  Aufruf: E   &lt;br /&gt;
[ uneing.] (1). Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Befehl&amp;gt; adduid&lt;br /&gt;
Ihr Name (&amp;quot;Vorname Nachname&amp;quot;): Thorsten Strusch&lt;br /&gt;
Email-Adresse: th.strusch@delixs.de            &lt;br /&gt;
Kommentar:                                     &lt;br /&gt;
Sie haben diese User-ID gewählt:               &lt;br /&gt;
    &amp;quot;Thorsten Strusch &amp;lt;th.strusch@delixs.de&amp;gt;&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? F&lt;br /&gt;
&lt;br /&gt;
Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren.&lt;br /&gt;
Benutzer: &amp;quot;Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&amp;quot;                 &lt;br /&gt;
1024-Bit DSA Schlüssel, ID 0DDF17D0, erzeugt 2009-11-13                &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pub  1024D/0DDF17D0  erzeugt: 2009-11-13  verfällt: 2014-11-12  Aufruf: SC  &lt;br /&gt;
                     Vertrauen: uneingeschränkt Gültigkeit: uneingeschränkt &lt;br /&gt;
sub  2048g/3D7D81D5  erzeugt: 2009-11-13  verfällt: 2014-11-12  Aufruf: E   &lt;br /&gt;
[ uneing.] (1)  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;                  &lt;br /&gt;
[  unbek.] (2). Thorsten Strusch &amp;lt;th.strusch@delixs.de&amp;gt;                     &lt;br /&gt;
&lt;br /&gt;
Befehl&amp;gt; quit&lt;br /&gt;
Änderungen speichern? ja&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mal schauen, ob es geklappt hat:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --list-keys&lt;br /&gt;
/home/thorsten/.gnupg/pubring.gpg&lt;br /&gt;
---------------------------------&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;th.strusch@delixs.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7795</id>
		<title>Entwicklerhandbuch/GPG Schluessel</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7795"/>
		<updated>2009-11-14T08:46:26Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* privaten Schlüssel bekannt geben */ s#privaten#öffentlichen# - danke Hans-Dietrich!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GPG für das Signieren eines debian Pakets =&lt;br /&gt;
Für ein sicheres und gemeinsames arbeiten an einem debian Repository sollte jeder seine Pakete und Uploads mit seinem eigenen gpg-key unterschreiben.&lt;br /&gt;
&lt;br /&gt;
Hier eine kurze Anleitung, wie dieser Key anzulegen ist. &lt;br /&gt;
&lt;br /&gt;
== Paketinstallation ==&lt;br /&gt;
Kurz und schmerzlos gpg installieren:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo aptitude install gnupg gnupg-agent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlüssel erzeugen ==&lt;br /&gt;
Der nachfolgende Aufruf erzeugt den Schlüssel. Bitte benutze deinen vollen Namen und deine delixs-Adresse.&lt;br /&gt;
Der Aufruf endet so in etwa wie hier&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --gen-key&lt;br /&gt;
[...]&lt;br /&gt;
gpg: Schlüssel 0DDF17D0 ist als uneingeschränkt vertrauenswürdig gekennzeichnet&lt;br /&gt;
Öffentlichen und geheimen Schlüssel erzeugt und signiert.&lt;br /&gt;
&lt;br /&gt;
gpg: &amp;quot;Trust-DB&amp;quot; wird überprüft&lt;br /&gt;
gpg: 3 marginal-needed, 1 complete-needed, PGP Vertrauensmodell&lt;br /&gt;
gpg: Tiefe: 0  gültig:   1  unterschrieben:   0  Vertrauen: 0-, 0q, 0n, 0m, 0f, 1u&lt;br /&gt;
gpg: nächste &amp;quot;Trust-DB&amp;quot;-Pflichtüberprüfung am 2014-11-12&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
  Schl.-Fingerabdruck = 1E25 3B8E EC5E 4DC4 7CA6  DC25 74B0 E102 0DDF 17D0&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Schlüssel ID (&#039;&#039;&#039;hier 0DDF17D0&#039;&#039;&#039;) solltest du dir merken, wir brauche sie noch weiter unten.&lt;br /&gt;
&lt;br /&gt;
== Passwortverwaltung mit gnupg-agent ==&lt;br /&gt;
Sowohl dpkg-buildpackage als auch dput verlangen beim Erstellen des Pakets bzw. beim Signieren oder Hochladen nach dem Passwort für den Schlüssel.&lt;br /&gt;
Damit man nicht immer wieder den key eintippen muss, kann sich der gpg Agent das Passwort Weile merken. Schreib dafür folgendes in deine ~/.bashrc &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GPG_TTY=`tty`&lt;br /&gt;
export GPG_TTY&lt;br /&gt;
&lt;br /&gt;
# Für die Signierung des Archivs&lt;br /&gt;
if test -f $HOME/.gpg-agent-info &amp;amp;&amp;amp; kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2&amp;gt;/dev/null; then&lt;br /&gt;
  GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info`&lt;br /&gt;
  export GPG_AGENT_INFO&lt;br /&gt;
else&lt;br /&gt;
  eval `gpg-agent --daemon`&lt;br /&gt;
  echo $GPG_AGENT_INFO &amp;gt;$HOME/.gpg-agent-info&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit der agent überhaupt benutzt wird, muss man das in der gpg-Konfiguration freischalten:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;use-agent&amp;quot; &amp;gt; ~/.gnupg/gpg.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gnome Desktop ===&lt;br /&gt;
Unter dem Gnome Desktop kann die Anwengung seahorse aus dem gleichnamigen debian-Paket installiert werden. Es reicht ein &amp;lt;code&amp;gt;aptitude install seahorse&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== öffentlichen Schlüssel bekannt geben ==&lt;br /&gt;
Damit du mit deinem Schlüssel signierte Pakete in das delixs-Repository hochladen darfst, muss du uns deinen öffentlichen Schlüssel geben.&lt;br /&gt;
&lt;br /&gt;
Zuerst benötigst du die ID deines Schlüssels. Hier im Beispiel ist es die &#039;&#039;&#039;0DDF17D0&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --list-keys&lt;br /&gt;
/home/thorsten/.gnupg/pubring.gpg&lt;br /&gt;
---------------------------------&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Jetzt exportiere diesen Schlüssel mit der eben erfahrenen keyID in eine Datei. Wir wählen über den Schalter armor das ASCII-Format, weil man es per Mail verschicken kann, ohne Gefahr zu laufen, dass es dabei zersört wird.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gpg --output $USERNAME.asc --armor --export 0DDF17D0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Maile die entstandene Datei (= der öffentliche Schlüssel deines gpg-keys) an die delixs-Mailingliste.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7794</id>
		<title>Entwicklerhandbuch/GPG Schluessel</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7794"/>
		<updated>2009-11-14T01:20:51Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Schlüssel erzeugen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GPG für das Signieren eines debian Pakets =&lt;br /&gt;
Für ein sicheres und gemeinsames arbeiten an einem debian Repository sollte jeder seine Pakete und Uploads mit seinem eigenen gpg-key unterschreiben.&lt;br /&gt;
&lt;br /&gt;
Hier eine kurze Anleitung, wie dieser Key anzulegen ist. &lt;br /&gt;
&lt;br /&gt;
== Paketinstallation ==&lt;br /&gt;
Kurz und schmerzlos gpg installieren:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo aptitude install gnupg gnupg-agent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlüssel erzeugen ==&lt;br /&gt;
Der nachfolgende Aufruf erzeugt den Schlüssel. Bitte benutze deinen vollen Namen und deine delixs-Adresse.&lt;br /&gt;
Der Aufruf endet so in etwa wie hier&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --gen-key&lt;br /&gt;
[...]&lt;br /&gt;
gpg: Schlüssel 0DDF17D0 ist als uneingeschränkt vertrauenswürdig gekennzeichnet&lt;br /&gt;
Öffentlichen und geheimen Schlüssel erzeugt und signiert.&lt;br /&gt;
&lt;br /&gt;
gpg: &amp;quot;Trust-DB&amp;quot; wird überprüft&lt;br /&gt;
gpg: 3 marginal-needed, 1 complete-needed, PGP Vertrauensmodell&lt;br /&gt;
gpg: Tiefe: 0  gültig:   1  unterschrieben:   0  Vertrauen: 0-, 0q, 0n, 0m, 0f, 1u&lt;br /&gt;
gpg: nächste &amp;quot;Trust-DB&amp;quot;-Pflichtüberprüfung am 2014-11-12&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
  Schl.-Fingerabdruck = 1E25 3B8E EC5E 4DC4 7CA6  DC25 74B0 E102 0DDF 17D0&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Schlüssel ID (&#039;&#039;&#039;hier 0DDF17D0&#039;&#039;&#039;) solltest du dir merken, wir brauche sie noch weiter unten.&lt;br /&gt;
&lt;br /&gt;
== Passwortverwaltung mit gnupg-agent ==&lt;br /&gt;
Sowohl dpkg-buildpackage als auch dput verlangen beim Erstellen des Pakets bzw. beim Signieren oder Hochladen nach dem Passwort für den Schlüssel.&lt;br /&gt;
Damit man nicht immer wieder den key eintippen muss, kann sich der gpg Agent das Passwort Weile merken. Schreib dafür folgendes in deine ~/.bashrc &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GPG_TTY=`tty`&lt;br /&gt;
export GPG_TTY&lt;br /&gt;
&lt;br /&gt;
# Für die Signierung des Archivs&lt;br /&gt;
if test -f $HOME/.gpg-agent-info &amp;amp;&amp;amp; kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2&amp;gt;/dev/null; then&lt;br /&gt;
  GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info`&lt;br /&gt;
  export GPG_AGENT_INFO&lt;br /&gt;
else&lt;br /&gt;
  eval `gpg-agent --daemon`&lt;br /&gt;
  echo $GPG_AGENT_INFO &amp;gt;$HOME/.gpg-agent-info&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit der agent überhaupt benutzt wird, muss man das in der gpg-Konfiguration freischalten:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;use-agent&amp;quot; &amp;gt; ~/.gnupg/gpg.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gnome Desktop ===&lt;br /&gt;
Unter dem Gnome Desktop kann die Anwengung seahorse aus dem gleichnamigen debian-Paket installiert werden. Es reicht ein &amp;lt;code&amp;gt;aptitude install seahorse&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== privaten Schlüssel bekannt geben ==&lt;br /&gt;
Damit du mit deinem Schlüssel signierte Pakete in das delixs-Repository hochladen darfst, muss du uns deinen privaten Schlüssel geben.&lt;br /&gt;
&lt;br /&gt;
Zuerst benötigst du die ID deines Schlüssels. Hier im Beispiel ist es die &#039;&#039;&#039;0DDF17D0&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --list-keys&lt;br /&gt;
/home/thorsten/.gnupg/pubring.gpg&lt;br /&gt;
---------------------------------&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Jetzt exportiere diesen Schlüssel mit der eben erfahrenen keyID in eine Datei. Wir wählen über den Schalter armor das ASCII-Format, weil man es per Mail verschicken kann, ohne Gefahr zu laufen, dass es dabei zersört wird.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gpg --output $USERNAME.asc --armor --export 0DDF17D0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Maile die entstandene Datei (= der öffentliche Schlüssel deines gpg-keys) an die delixs-Mailingliste.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7793</id>
		<title>Entwicklerhandbuch/GPG Schluessel</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7793"/>
		<updated>2009-11-14T01:14:45Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Passwortverwaltung mit gnupg-agent */  den gpg-agent benutzen.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GPG für das Signieren eines debian Pakets =&lt;br /&gt;
Für ein sicheres und gemeinsames arbeiten an einem debian Repository sollte jeder seine Pakete und Uploads mit seinem eigenen gpg-key unterschreiben.&lt;br /&gt;
&lt;br /&gt;
Hier eine kurze Anleitung, wie dieser Key anzulegen ist. &lt;br /&gt;
&lt;br /&gt;
== Paketinstallation ==&lt;br /&gt;
Kurz und schmerzlos gpg installieren:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo aptitude install gnupg gnupg-agent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlüssel erzeugen ==&lt;br /&gt;
Der nachfolgende Aufruf erzeugt den Schlüssel. Bitte benutze deinen vollen Namen und deine delixs-Adresse.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --gen-key&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Passwortverwaltung mit gnupg-agent ==&lt;br /&gt;
Sowohl dpkg-buildpackage als auch dput verlangen beim Erstellen des Pakets bzw. beim Signieren oder Hochladen nach dem Passwort für den Schlüssel.&lt;br /&gt;
Damit man nicht immer wieder den key eintippen muss, kann sich der gpg Agent das Passwort Weile merken. Schreib dafür folgendes in deine ~/.bashrc &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GPG_TTY=`tty`&lt;br /&gt;
export GPG_TTY&lt;br /&gt;
&lt;br /&gt;
# Für die Signierung des Archivs&lt;br /&gt;
if test -f $HOME/.gpg-agent-info &amp;amp;&amp;amp; kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2&amp;gt;/dev/null; then&lt;br /&gt;
  GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info`&lt;br /&gt;
  export GPG_AGENT_INFO&lt;br /&gt;
else&lt;br /&gt;
  eval `gpg-agent --daemon`&lt;br /&gt;
  echo $GPG_AGENT_INFO &amp;gt;$HOME/.gpg-agent-info&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit der agent überhaupt benutzt wird, muss man das in der gpg-Konfiguration freischalten:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;use-agent&amp;quot; &amp;gt; ~/.gnupg/gpg.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gnome Desktop ===&lt;br /&gt;
Unter dem Gnome Desktop kann die Anwengung seahorse aus dem gleichnamigen debian-Paket installiert werden. Es reicht ein &amp;lt;code&amp;gt;aptitude install seahorse&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== privaten Schlüssel bekannt geben ==&lt;br /&gt;
Damit du mit deinem Schlüssel signierte Pakete in das delixs-Repository hochladen darfst, muss du uns deinen privaten Schlüssel geben.&lt;br /&gt;
&lt;br /&gt;
Zuerst benötigst du die ID deines Schlüssels. Hier im Beispiel ist es die &#039;&#039;&#039;0DDF17D0&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --list-keys&lt;br /&gt;
/home/thorsten/.gnupg/pubring.gpg&lt;br /&gt;
---------------------------------&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Jetzt exportiere diesen Schlüssel mit der eben erfahrenen keyID in eine Datei. Wir wählen über den Schalter armor das ASCII-Format, weil man es per Mail verschicken kann, ohne Gefahr zu laufen, dass es dabei zersört wird.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gpg --output $USERNAME.asc --armor --export 0DDF17D0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Maile die entstandene Datei (= der öffentliche Schlüssel deines gpg-keys) an die delixs-Mailingliste.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7792</id>
		<title>Entwicklerhandbuch/GPG Schluessel</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/GPG_Schluessel&amp;diff=7792"/>
		<updated>2009-11-14T01:06:42Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: gpg-key erstellen und in der ML bekannt machen. gpg-agent bedarf einer Überarbeitung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GPG für das Signieren eines debian Pakets =&lt;br /&gt;
Für ein sicheres und gemeinsames arbeiten an einem debian Repository sollte jeder seine Pakete und Uploads mit seinem eigenen gpg-key unterschreiben.&lt;br /&gt;
&lt;br /&gt;
Hier eine kurze Anleitung, wie dieser Key anzulegen ist. &lt;br /&gt;
&lt;br /&gt;
== Paketinstallation ==&lt;br /&gt;
Kurz und schmerzlos gpg installieren:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo aptitude install gnupg gnupg-agent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlüssel erzeugen ==&lt;br /&gt;
Der nachfolgende Aufruf erzeugt den Schlüssel. Bitte benutze deinen vollen Namen und deine delixs-Adresse.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --gen-key&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Passwortverwaltung mit gnupg-agent ==&lt;br /&gt;
Sowohl dpkg-buildpackage als auch dput verlangen beim Erstellen des Pakets bzw. beim Signieren oder Hochladen nach dem Passwort für den Schlüssel.&lt;br /&gt;
Damit man nicht immer wieder den key eintippen muss, kann sich der gpg Agent das Passwort Weile merken. Schreib dafür folgendes in deine ~/.bashrc &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX - funktioniert noch nicht&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GPG_TTY=`tty`&lt;br /&gt;
export GPG_TTY&lt;br /&gt;
&lt;br /&gt;
# Für die Signierung des Archivs&lt;br /&gt;
if test -f $HOME/.gpg-agent-info &amp;amp;&amp;amp; kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2&amp;gt;/dev/null; then&lt;br /&gt;
  GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info`&lt;br /&gt;
  export GPG_AGENT_INFO&lt;br /&gt;
else&lt;br /&gt;
  eval `gpg-agent --daemon`&lt;br /&gt;
  echo $GPG_AGENT_INFO &amp;gt;$HOME/.gpg-agent-info&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== privaten Schlüssel bekannt geben ==&lt;br /&gt;
Damit du mit deinem Schlüssel signierte Pakete in das delixs-Repository hochladen darfst, muss du uns deinen privaten Schlüssel geben.&lt;br /&gt;
&lt;br /&gt;
Zuerst benötigst du die ID deines Schlüssels. Hier im Beispiel ist es die &#039;&#039;&#039;0DDF17D0&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ gpg --list-keys&lt;br /&gt;
/home/thorsten/.gnupg/pubring.gpg&lt;br /&gt;
---------------------------------&lt;br /&gt;
pub   1024D/0DDF17D0 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
uid                  Thorsten Strusch &amp;lt;post@thorstenstrusch.de&amp;gt;&lt;br /&gt;
sub   2048g/3D7D81D5 2009-11-13 [verfällt: 2014-11-12]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Jetzt exportiere diesen Schlüssel mit der eben erfahrenen keyID in eine Datei. Wir wählen über den Schalter armor das ASCII-Format, weil man es per Mail verschicken kann, ohne Gefahr zu laufen, dass es dabei zersört wird.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gpg --output $USERNAME.asc --armor --export 0DDF17D0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Maile die entstandene Datei (= der öffentliche Schlüssel deines gpg-keys) an die delixs-Mailingliste.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
[http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:ThorstenStrusch&amp;diff=7791</id>
		<title>Benutzer:ThorstenStrusch</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:ThorstenStrusch&amp;diff=7791"/>
		<updated>2009-11-14T00:38:01Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: für ein sicheres und gemeinsames Arbeit an einem debian Repository sollten jeder seine Pakete  und Uploads mit seinem gpg-key unterschreiben.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sandkasten für neue Artikel:&lt;br /&gt;
&lt;br /&gt;
* [[ThorstenStrusch/developer:Paketverwaltung]]&lt;br /&gt;
* [[ThorstenStrusch/developer:gpg Schlüssel]]&lt;br /&gt;
* [[ThorstenStrusch/Infrastruktur:Repositorieverwaltung]]&lt;br /&gt;
&lt;br /&gt;
== Kleine Shellkunde ==&lt;br /&gt;
=== arbeiten an der console ===&lt;br /&gt;
&lt;br /&gt;
;STRG+k &lt;br /&gt;
: löscht vom aktuellen Punkt bis zum Zeilenende&lt;br /&gt;
;STRG+a bzw. HOME (manchmal heisst die Taste auch Pos1)&lt;br /&gt;
: springt an den Zeilenanfang&lt;br /&gt;
;STRG+e bzw Ende-Taste&lt;br /&gt;
: springt an das Zeilenende&lt;br /&gt;
;STRG+y &lt;br /&gt;
: fügt das zuletzt gelöschte an der aktuellen Cursor Position wieder ein&lt;br /&gt;
&lt;br /&gt;
;ESC+d&lt;br /&gt;
: löscht das folgende Wort&lt;br /&gt;
;ESC+backspace&lt;br /&gt;
: löscht wortweise nach links&lt;br /&gt;
;ESC+b oder STRG+Pfeil links&lt;br /&gt;
: springt Wortweise zurück&lt;br /&gt;
; ESC+f oder STRG+Pfeil rechts &lt;br /&gt;
: springt wortweise vor&lt;br /&gt;
; STRG+h bzw backspace&lt;br /&gt;
: löscht einen Buchstaben nach links&lt;br /&gt;
&lt;br /&gt;
;ESC+l &lt;br /&gt;
: schreibt das nächste Wort klein (l wie lower)&lt;br /&gt;
;ESC+u&lt;br /&gt;
: schreibt das nächste Wort gross (u wie upper)&lt;br /&gt;
&lt;br /&gt;
;!! wiederholt den letzten Befehl&lt;br /&gt;
: hilfreich, wenn man z.B. als user &amp;quot;service apache2 restart&amp;quot; getippt&lt;br /&gt;
: hat aber wegen fehlender Rechte der Dienst nicht starten mag. Dann&lt;br /&gt;
: tippe ich in der Eingabeaufforderung &amp;quot;sudo !!&amp;quot; und die Shell führt&lt;br /&gt;
: &amp;quot;sudo service apache2 restart&amp;quot; aus &lt;br /&gt;
&lt;br /&gt;
;Ersetzungen&lt;br /&gt;
: Ich tippe &amp;quot;grep suchwort /var/log/access.log.2&amp;quot; - aber die Suche ist&lt;br /&gt;
: nicht erfolgreich. Also mag ich im nächst älteren Logfile suchen&lt;br /&gt;
: und tippe &amp;quot;^2^3&amp;quot; Das führt zu einer Suche in der access.log.3&lt;br /&gt;
:   oder&lt;br /&gt;
: Ich tippe &amp;quot;tar tvzf archiv.tar.gz&amp;quot;, um mir den Inhalt anzusehen.&lt;br /&gt;
: Wenn ich es entpacken mag, tippe ich direkt danach &amp;quot;^tv^x&amp;quot; und der&lt;br /&gt;
: folgende Befehl wird ausgeführt: &amp;quot;tar xzf archiv.tar.gz&amp;quot;.&lt;br /&gt;
: (Normalerweise müßte ich Pfeil hoch, Home, STRG+Pfeil rechts, entf,&lt;br /&gt;
: entf, x tippen.)&lt;br /&gt;
&lt;br /&gt;
;Links&lt;br /&gt;
: http://www.debianhelp.de/kommandozeile.html&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7790</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7790"/>
		<updated>2009-11-14T00:35:48Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* offizielles Repository aktivieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
Installiere auf deinem debian/lenny Rechner die entsprechenden Pakete mit den folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install dput mini-dinstall svn-buildpackage devscripts openssh-client&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arbeitest du unter gnome:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass-gnome&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Arbeitest du unter kde:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= apt-Konfiguration =&lt;br /&gt;
Um jetzt auch mit den frisch erstellten Repositories arbeiten zu können, sind zwei Dateien notwendig, die im Folgenden beschrieben werden.&lt;br /&gt;
&lt;br /&gt;
Der Ausdruck $(ARCH) bewirkt, dass apt sich die PC Architektur selbst sucht. Das delixs-Projekt unterstützt i386 und amd64.&lt;br /&gt;
&lt;br /&gt;
== lokales Repository aktivieren ==&lt;br /&gt;
Erstelle eine Datei /etc/apt/sources.list.d/file.list wie unten angegeben:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apt_sources&amp;quot;&amp;gt;&lt;br /&gt;
cat /etc/apt/sources.list.d/file.list&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/all&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/$(ARCH)/&lt;br /&gt;
deb-src file:/home/thorsten/public_html/debian aramec/source/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Als root führe &amp;lt;code&amp;gt;aptitude update&amp;lt;/code&amp;gt; durch und das Repository ist eingebunden und einsatzfähig.&lt;br /&gt;
== offizielles Repository aktivieren ==&lt;br /&gt;
Erstelle eine Datei /etc/apt/sources.list.d/delixs.list wie unten angegeben: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;apt_sources&amp;quot;&amp;gt;&lt;br /&gt;
cat /etc/apt/sources.list.d/aramec.list&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/all&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/$(ARCH)/&lt;br /&gt;
deb-src file:/home/thorsten/public_html/debian aramec/source/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Als root führe &amp;lt;code&amp;gt;aptitude update&amp;lt;/code&amp;gt; durch und das Repository ist zwar eingebunden aber wegen eines noch nicht bekannten GPG-Schlüssels wird ihm nicht vertraut.&lt;br /&gt;
&lt;br /&gt;
=== gpg Schlüssel importieren ===&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; wird noch im Detail beschrieben&lt;br /&gt;
* manuell mit wget http://deb.delixs.de/debian/keyring.asc&lt;br /&gt;
* automatisch mittels aptitude install delixs-archive-keyring&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== dput Konfiguration ==&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
# local  - deinen Rechner&lt;br /&gt;
# delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 0&lt;br /&gt;
verify_sigs   = 1&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
fqdn          = deb.delixs.de&lt;br /&gt;
method        = sftp&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 0&lt;br /&gt;
verify_sigs = 1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall Konfiguration ==&lt;br /&gt;
mini-dinstall soll mir ein Repository unter ~/public_html/delixs/ anlegen. Dafür ist folgende Konfiguration nötig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  ssh Clientkonfiguration ==&lt;br /&gt;
&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; Die Datei id_dsa.dupload bekommst du noch&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7789</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7789"/>
		<updated>2009-11-14T00:35:25Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Konfiguration */  die source.list.d-Einträge für das lokale und das offz. Repository&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
Installiere auf deinem debian/lenny Rechner die entsprechenden Pakete mit den folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install dput mini-dinstall svn-buildpackage devscripts openssh-client&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arbeitest du unter gnome:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass-gnome&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Arbeitest du unter kde:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= apt-Konfiguration =&lt;br /&gt;
Um jetzt auch mit den frisch erstellten Repositories arbeiten zu können, sind zwei Dateien notwendig, die im Folgenden beschrieben werden.&lt;br /&gt;
&lt;br /&gt;
Der Ausdruck $(ARCH) bewirkt, dass apt sich die PC Architektur selbst sucht. Das delixs-Projekt unterstützt i386 und amd64.&lt;br /&gt;
&lt;br /&gt;
== lokales Repository aktivieren ==&lt;br /&gt;
Erstelle eine Datei /etc/apt/sources.list.d/file.list wie unten angegeben:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apt_sources&amp;quot;&amp;gt;&lt;br /&gt;
cat /etc/apt/sources.list.d/file.list&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/all&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/$(ARCH)/&lt;br /&gt;
deb-src file:/home/thorsten/public_html/debian aramec/source/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Als root führe &amp;lt;code&amp;gt;aptitude update&amp;lt;/code&amp;gt; durch und das Repository ist eingebunden und einsatzfähig.&lt;br /&gt;
== offizielles Repository aktivieren ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apt_sources&amp;quot;&amp;gt;&lt;br /&gt;
cat /etc/apt/sources.list.d/aramec.list&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/all&lt;br /&gt;
deb file:/home/thorsten/public_html/debian aramec/$(ARCH)/&lt;br /&gt;
deb-src file:/home/thorsten/public_html/debian aramec/source/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Als root führe &amp;lt;code&amp;gt;aptitude update&amp;lt;/code&amp;gt; durch und das Repository ist zwar eingebunden aber wegen eines noch nicht bekannten GPG-Schlüssels wird ihm nicht vertraut.&lt;br /&gt;
&lt;br /&gt;
=== gpg Schlüssel importieren ===&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; wird noch im Detail beschrieben&lt;br /&gt;
* manuell mit wget http://deb.delixs.de/debian/keyring.asc&lt;br /&gt;
* automatisch mittels aptitude install delixs-archive-keyring&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== dput Konfiguration ==&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
# local  - deinen Rechner&lt;br /&gt;
# delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 0&lt;br /&gt;
verify_sigs   = 1&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
fqdn          = deb.delixs.de&lt;br /&gt;
method        = sftp&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 0&lt;br /&gt;
verify_sigs = 1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall Konfiguration ==&lt;br /&gt;
mini-dinstall soll mir ein Repository unter ~/public_html/delixs/ anlegen. Dafür ist folgende Konfiguration nötig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  ssh Clientkonfiguration ==&lt;br /&gt;
&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; Die Datei id_dsa.dupload bekommst du noch&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7788</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7788"/>
		<updated>2009-11-14T00:25:09Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* mini-dinstall Konfiguration */ aramec und testing reicht derzeit völlig aus&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
Installiere auf deinem debian/lenny Rechner die entsprechenden Pakete mit den folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install dput mini-dinstall svn-buildpackage devscripts openssh-client&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arbeitest du unter gnome:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass-gnome&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Arbeitest du unter kde:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== dput Konfiguration ==&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
# local  - deinen Rechner&lt;br /&gt;
# delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 0&lt;br /&gt;
verify_sigs   = 1&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
fqdn          = deb.delixs.de&lt;br /&gt;
method        = sftp&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 0&lt;br /&gt;
verify_sigs = 1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall Konfiguration ==&lt;br /&gt;
mini-dinstall soll mir ein Repository unter ~/public_html/delixs/ anlegen. Dafür ist folgende Konfiguration nötig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  ssh Clientkonfiguration ==&lt;br /&gt;
&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; Die Datei id_dsa.dupload bekommst du noch&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7787</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7787"/>
		<updated>2009-11-14T00:24:32Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* dput Konfiguration */ fqdn ergänzt. Vorbereitungen auf die gpg Signierung getroffen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
Installiere auf deinem debian/lenny Rechner die entsprechenden Pakete mit den folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install dput mini-dinstall svn-buildpackage devscripts openssh-client&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arbeitest du unter gnome:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass-gnome&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Arbeitest du unter kde:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== dput Konfiguration ==&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
# local  - deinen Rechner&lt;br /&gt;
# delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 0&lt;br /&gt;
verify_sigs   = 1&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
fqdn          = deb.delixs.de&lt;br /&gt;
method        = sftp&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 0&lt;br /&gt;
verify_sigs = 1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall Konfiguration ==&lt;br /&gt;
mini-dinstall soll mir ein Repository unter ~/public_html/delixs/ anlegen. Dafür ist folgende Konfiguration nötig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  ssh Clientkonfiguration ==&lt;br /&gt;
&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; Die Datei id_dsa.dupload bekommst du noch&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklungsumgebung/Sysadm&amp;diff=7758</id>
		<title>Entwicklungsumgebung/Sysadm</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklungsumgebung/Sysadm&amp;diff=7758"/>
		<updated>2009-11-08T19:37:24Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Einrichtung */ bash ist hier wichtig, mit der dsh wirds so nicht funktionieren&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Uberarbeiten}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Systemadministration (der Nutzer: sysadm) ==&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   aptitude install xorg&lt;br /&gt;
   aptitude install lxde&lt;br /&gt;
   aptitude install iceweasel&lt;br /&gt;
   aptitude install iceweasel-l10n-de&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration für Reboot, Shutdown und Suspend ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normale Nutzer haben eigentlich keinen Zugriff zum HAL power Management. Um das zu ändern, wird sysadm zur Gruppe &amp;quot;powerdev&amp;quot; hinzugefügt.&lt;br /&gt;
&lt;br /&gt;
Geben Sie als root folgenden Befehl ein:&lt;br /&gt;
&lt;br /&gt;
  gpasswd -a sysadm powerdev&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
automatisches starten und beenden X.ORG&lt;br /&gt;
&lt;br /&gt;
in der  /home/service/sysadm/.bashrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if [ ! -e /tmp/.X*-lock ]; then&lt;br /&gt;
        startx &amp;amp;&amp;amp; logout;&lt;br /&gt;
      fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
wenn X.ORG gestartet wird, dann soll auch Iceweasel gestartet werden&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
in der /home/service/sysadm/.xinitrc  (neu angelegt!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  #&lt;br /&gt;
  # nur Browser&lt;br /&gt;
  /usr/bin/openbox &amp;amp; display -window root /usr/share/lxde/wallpapers/delixs4.png &amp;amp; /usr/bin/iceweasel http://localhost/  &amp;amp;&amp;amp; exit;&lt;br /&gt;
  #&lt;br /&gt;
  # oder alternativ kompletter Desktop&lt;br /&gt;
  #exec startlxde&lt;br /&gt;
&lt;br /&gt;
Openbox ist der Fenstermanager, der mit lxde automatisch installiert wurde.&lt;br /&gt;
&lt;br /&gt;
Anmelden als sysadm startet nun automatisch X-Window und auch den&lt;br /&gt;
Browser. Das Beenden des Browsers beendet auch X-Window und man wird&lt;br /&gt;
auch gleich ausgeloggt.&lt;br /&gt;
&lt;br /&gt;
In der Datei &amp;quot;/home/service/sysadm/.config/openbox/rc.xml&amp;quot; wird noch der Knopf zum minimieren abgestellt, damit das einzige Browserfenster nicht verschwinden kann. Dazu entfernen Sie das I aus der Zeichenkette (aus NLIMC wird also NLMC):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;theme&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Clearlooks&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;titleLayout&amp;gt;NLMC&amp;lt;/titleLayout&amp;gt;&lt;br /&gt;
    &amp;lt;keepBorder&amp;gt;yes&amp;lt;/keepBorder&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die openbox config kann auch automatisch erstellt und angepasst werden, wobei &amp;quot;sed -i&amp;quot; ein &#039;infile editing&#039; bedeutet:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
PFAD=&amp;quot;/home/services/sysadm/.config/openbox/&amp;quot;&lt;br /&gt;
mkdir -p $PFAD&lt;br /&gt;
cp /etc/xdg/openbox/rc.xml ${PFAD}/&lt;br /&gt;
chown -R sysadm: ${PFAD%%.*}&lt;br /&gt;
sed -i &#039;/titleLayout/{s#I##;p}&#039; ${PFAD}/rc.xml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* http://wiki.lxde.org/de/LXDE_Debian&lt;br /&gt;
* http://wiki.debian.org/EasyLXDE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Installation:Entwicklungsumgebung|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Diskussion:Entwicklungsumgebung/Sysadm&amp;diff=7737</id>
		<title>Diskussion:Entwicklungsumgebung/Sysadm</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Diskussion:Entwicklungsumgebung/Sysadm&amp;diff=7737"/>
		<updated>2009-11-05T20:56:39Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: Vorschlag zum Automatischen Erstellen der angepaßten openbox config&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Vorschlag:&#039;&#039;&#039;&lt;br /&gt;
Die openbox config könnte wie folgt automatisch erstellt und angepaßt werden - bitte einmal prüfen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PFAD=&amp;quot;/home/services/sysadm/.config/openbox/&amp;quot;&lt;br /&gt;
mkdir -p $PFAD&lt;br /&gt;
cp /etc/xdg/openbox/rc.xml ${PFAD}/&lt;br /&gt;
chown -R sysadm: ${PFAD%%.*}&lt;br /&gt;
sed -i &#039;/titleLayout/{s#I##;p}&#039; ${PFAD}/rc.xml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Benutzer:ThorstenStrusch|ThorstenStrusch]] 20:56, 5. Nov. 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:ThorstenStrusch&amp;diff=7701</id>
		<title>Benutzer:ThorstenStrusch</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:ThorstenStrusch&amp;diff=7701"/>
		<updated>2009-10-27T09:04:28Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* arbeiten an der console */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sandkasten für neue Artikel:&lt;br /&gt;
&lt;br /&gt;
* [[ThorstenStrusch/developer:Paketverwaltung]]&lt;br /&gt;
* [[ThorstenStrusch/Infrastruktur:Repositorieverwaltung]]&lt;br /&gt;
&lt;br /&gt;
== Kleine Shellkunde ==&lt;br /&gt;
=== arbeiten an der console ===&lt;br /&gt;
&lt;br /&gt;
;STRG+k &lt;br /&gt;
: löscht vom aktuellen Punkt bis zum Zeilenende&lt;br /&gt;
;STRG+a bzw. HOME (manchmal heisst die Taste auch Pos1)&lt;br /&gt;
: springt an den Zeilenanfang&lt;br /&gt;
;STRG+e bzw Ende-Taste&lt;br /&gt;
: springt an das Zeilenende&lt;br /&gt;
;STRG+y &lt;br /&gt;
: fügt das zuletzt gelöschte an der aktuellen Cursor Position wieder ein&lt;br /&gt;
&lt;br /&gt;
;ESC+d&lt;br /&gt;
: löscht das folgende Wort&lt;br /&gt;
;ESC+backspace&lt;br /&gt;
: löscht wortweise nach links&lt;br /&gt;
;ESC+b oder STRG+Pfeil links&lt;br /&gt;
: springt Wortweise zurück&lt;br /&gt;
; ESC+f oder STRG+Pfeil rechts &lt;br /&gt;
: springt wortweise vor&lt;br /&gt;
; STRG+h bzw backspace&lt;br /&gt;
: löscht einen Buchstaben nach links&lt;br /&gt;
&lt;br /&gt;
;ESC+l &lt;br /&gt;
: schreibt das nächste Wort klein (l wie lower)&lt;br /&gt;
;ESC+u&lt;br /&gt;
: schreibt das nächste Wort gross (u wie upper)&lt;br /&gt;
&lt;br /&gt;
;!! wiederholt den letzten Befehl&lt;br /&gt;
: hilfreich, wenn man z.B. als user &amp;quot;service apache2 restart&amp;quot; getippt&lt;br /&gt;
: hat aber wegen fehlender Rechte der Dienst nicht starten mag. Dann&lt;br /&gt;
: tippe ich in der Eingabeaufforderung &amp;quot;sudo !!&amp;quot; und die Shell führt&lt;br /&gt;
: &amp;quot;sudo service apache2 restart&amp;quot; aus &lt;br /&gt;
&lt;br /&gt;
;Ersetzungen&lt;br /&gt;
: Ich tippe &amp;quot;grep suchwort /var/log/access.log.2&amp;quot; - aber die Suche ist&lt;br /&gt;
: nicht erfolgreich. Also mag ich im nächst älteren Logfile suchen&lt;br /&gt;
: und tippe &amp;quot;^2^3&amp;quot; Das führt zu einer Suche in der access.log.3&lt;br /&gt;
:   oder&lt;br /&gt;
: Ich tippe &amp;quot;tar tvzf archiv.tar.gz&amp;quot;, um mir den Inhalt anzusehen.&lt;br /&gt;
: Wenn ich es entpacken mag, tippe ich direkt danach &amp;quot;^tv^x&amp;quot; und der&lt;br /&gt;
: folgende Befehl wird ausgeführt: &amp;quot;tar xzf archiv.tar.gz&amp;quot;.&lt;br /&gt;
: (Normalerweise müßte ich Pfeil hoch, Home, STRG+Pfeil rechts, entf,&lt;br /&gt;
: entf, x tippen.)&lt;br /&gt;
&lt;br /&gt;
;Links&lt;br /&gt;
: http://www.debianhelp.de/kommandozeile.html&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:ThorstenStrusch&amp;diff=7700</id>
		<title>Benutzer:ThorstenStrusch</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Benutzer:ThorstenStrusch&amp;diff=7700"/>
		<updated>2009-10-27T07:54:03Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: kleine Shellkunde - arbeiten an der Kommandozeile&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sandkasten für neue Artikel:&lt;br /&gt;
&lt;br /&gt;
* [[ThorstenStrusch/developer:Paketverwaltung]]&lt;br /&gt;
* [[ThorstenStrusch/Infrastruktur:Repositorieverwaltung]]&lt;br /&gt;
&lt;br /&gt;
== Kleine Shellkunde ==&lt;br /&gt;
=== arbeiten an der console ===&lt;br /&gt;
&lt;br /&gt;
;STRG+k &lt;br /&gt;
: löscht vom aktuellen Punkt bis zum Zeilenende&lt;br /&gt;
;STRG+a bzw. HOME (Pos1&lt;br /&gt;
: springt an den Zeilenanfang&lt;br /&gt;
;STRG+e bzw Ende-Taste&lt;br /&gt;
: springt an das Zeilenende&lt;br /&gt;
;STRG+y &lt;br /&gt;
: fügt das zuletzt gelöschte an der aktuellen Cursor Position wieder ein&lt;br /&gt;
&lt;br /&gt;
;ESC+d&lt;br /&gt;
: löscht das folgende Wort&lt;br /&gt;
;ESC+backspace&lt;br /&gt;
: löscht wortweise nach links&lt;br /&gt;
: ESC+b oder STRG+Pfeil links&lt;br /&gt;
: springt Wortweise zurück&lt;br /&gt;
; ESC+f oder STRG+Pfeil rechts &lt;br /&gt;
: springt wortweise vor&lt;br /&gt;
&lt;br /&gt;
manchmal nützlich:&lt;br /&gt;
;ESC+l &lt;br /&gt;
: schreibt das nächste Wort klein (l wie lower)&lt;br /&gt;
;ESC+u&lt;br /&gt;
: schreibt das nächste Wort gross (u wie upper)&lt;br /&gt;
&lt;br /&gt;
;!! wiederholt den letzten Befehl&lt;br /&gt;
: hilfreich, wenn man z.B. als user &amp;quot;service apache2 restart&amp;quot; getippt&lt;br /&gt;
: hat aber wegen fehlender Rechte der Dienst nicht starten mag. Dann&lt;br /&gt;
: tippe ich in der Eingabeaufforderung &amp;quot;sudo !!&amp;quot; und die Shell führt&lt;br /&gt;
: &amp;quot;sudo service apache2 restart&amp;quot; aus &lt;br /&gt;
&lt;br /&gt;
;Ersetzungen&lt;br /&gt;
: Ich tippe &amp;quot;grep suchwort /var/log/access.log.2&amp;quot; - aber die Suche ist&lt;br /&gt;
: nicht erfolgreich. Also mag ich im nächst älteren Logfile suchen&lt;br /&gt;
: und tippe &amp;quot;^2^3&amp;quot; Das führt zu einer Suche in der access.log.3&lt;br /&gt;
:   oder&lt;br /&gt;
: Ich tippe &amp;quot;tar tvzf archiv.tar.gz&amp;quot;, um mir den Inhalt anzusehen.&lt;br /&gt;
: Wenn ich es entpacken mag, tippe ich direkt danach &amp;quot;^tv^x&amp;quot; und der&lt;br /&gt;
: folgende Befehl wird ausgeführt: &amp;quot;tar xzf archiv.tar.gz&amp;quot;.&lt;br /&gt;
: (Normalerweise müßte ich Pfeil hoch, Home, STRG+Pfeil rechts, entf,&lt;br /&gt;
: entf, x tippen.)&lt;br /&gt;
&lt;br /&gt;
;Links&lt;br /&gt;
: http://www.debianhelp.de/kommandozeile.html&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklungsumgebung/Userverwaltung&amp;diff=7692</id>
		<title>Entwicklungsumgebung/Userverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklungsumgebung/Userverwaltung&amp;diff=7692"/>
		<updated>2009-10-25T13:02:36Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Scripte installieren */  v0.4 -&amp;gt; v0.5&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Uberarbeiten}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Scripte installieren ==&lt;br /&gt;
&lt;br /&gt;
Laden Sie die aktuelle Version (derzeit v0.5) herunter&lt;br /&gt;
&lt;br /&gt;
  cd&lt;br /&gt;
  wget http://dev.delixs.de/download/delixs-scripts_0.5_all.deb&lt;br /&gt;
  dpkg -i delixs-scripts_0.5_all.deb&lt;br /&gt;
&lt;br /&gt;
== Scriptbeschreibungen ==&lt;br /&gt;
&lt;br /&gt;
=== Scripte zur Userverwaltung ===&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-groupadd|Eintragen von Usern in eine Delixs-Gruppe]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-groupdel|Löschen von Usern in eine Delixs-Gruppe]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-grouplist|Auflisten der User einer Delixs-Gruppe]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-pooladd|Eintragen von DHCP-Pools im LDAP]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-pooldel|Löschen von DHCP-Pools im LDAP]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-poollist|Auflisten der DHCP-Pools im LDAP (zu einem Teilnetz)]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-hostadd|Eintragen von DHCP-Hosts im LDAP]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-hostlist|Auflisten von DHCP-Hosts von einem Pool]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-hostdel|Löschen von DHCP-Hosts aus einem Pool]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-machinelist|Auflisten der (Windows-)Rechner im LDAP]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-userlist|Auflisten von Usern (Lehrer, Schülern, Klassen)]]&lt;br /&gt;
&lt;br /&gt;
[[Kirmse/Userliste | Userliste ]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-classmod|Versetzen von Schülern oder Klassen]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-usermod|Aktualisieren der Daten eines Users (GECOS)]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-userdel|Löschen von Usern oder Klassen]]&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:Kirmse/delixs-userpasswd|Ändern des Passwortes von Usern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Scripte zur Rechner- und Raumverwaltung ===&lt;br /&gt;
&lt;br /&gt;
[[Kirmse/Anmeldekontrolle | smbstatus2html.cgi]]&lt;br /&gt;
&lt;br /&gt;
[[Kirmse/Qotakontrolle | quota.cgi]]&lt;br /&gt;
&lt;br /&gt;
[[Kirmse/Surfkontrolle | proxy.cgi]]&lt;br /&gt;
&lt;br /&gt;
zugang.cgi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* http://dev.delixs.de/download/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Installation:Entwicklungsumgebung|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hans-Dietrich Kirmse 2009&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7589</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7589"/>
		<updated>2009-10-10T11:37:06Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Aufbau des Repositories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur sftp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* aramec für den 1. Wurf&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
Nachfolgend Vorschläge über die Konfigurationsdateien der beteiligten Dienste&lt;br /&gt;
== Apache ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
deb.delixs.de&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
Pfad wo das Repository auf dem dev-Server liegt: &#039;&#039;&#039;/home/deb.delixs.de&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; &#039;&#039;&#039;Wollen wir mini-dinstall als root oder als seperater User laufen lassen?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat /home/$USER/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386&lt;br /&gt;
archivedir = /home/deb.delixs.de/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
# aktivieren, sobald key erzeugt ist&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 1&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload &#039;&#039;(debian-upload)&#039;&#039; ein, der im incoming Verzeichnis von mini-dinstall eingesperrt ist. Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
== sftp-chroot ==&lt;br /&gt;
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Subsystem sftp internal-sftp&lt;br /&gt;
Match user dupload&lt;br /&gt;
    ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming&lt;br /&gt;
    X11Forwarding no&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
    ForceCommand internal-sftp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
Zwei Möglichkeiten&lt;br /&gt;
# wir hinterlegen das Passwort auf der Platte im Klartext&lt;br /&gt;
# wir benutzen den gpg-agent, der es eine Weile im Speicher behält&lt;br /&gt;
&lt;br /&gt;
Nachteil bei Möglichkeit 1: unsicher&amp;lt;br&amp;gt;&lt;br /&gt;
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7588</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7588"/>
		<updated>2009-10-10T11:33:10Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Einführung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
Installiere auf deinem debian/lenny Rechner die entsprechenden Pakete mit den folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install dput mini-dinstall svn-buildpackage devscripts openssh-client&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arbeitest du unter gnome:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass-gnome&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Arbeitest du unter kde:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
   aptitude install ssh-askpass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== dput Konfiguration ==&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
# local  - deinen Rechner&lt;br /&gt;
# delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 1&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
method        = sftp&lt;br /&gt;
hostname      = deb.delixs.de&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall Konfiguration ==&lt;br /&gt;
mini-dinstall soll mir ein Repository unter ~/public_html/delixs/ anlegen. Dafür ist folgende Konfiguration nötig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  ssh Clientkonfiguration ==&lt;br /&gt;
&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; Die Datei id_dsa.dupload bekommst du noch&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7587</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7587"/>
		<updated>2009-10-10T11:32:57Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Einführung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
Installiere auf deinem debian/lenny Rechner die entsprechenden Pakete mit den folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  # aptitude install dput mini-dinstall svn-buildpackage devscripts openssh-client&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arbeitest du unter gnome:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  # aptitude install ssh-askpass-gnome&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Arbeitest du unter kde:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  # aptitude install ssh-askpass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== dput Konfiguration ==&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
# local  - deinen Rechner&lt;br /&gt;
# delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 1&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
method        = sftp&lt;br /&gt;
hostname      = deb.delixs.de&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall Konfiguration ==&lt;br /&gt;
mini-dinstall soll mir ein Repository unter ~/public_html/delixs/ anlegen. Dafür ist folgende Konfiguration nötig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  ssh Clientkonfiguration ==&lt;br /&gt;
&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; Die Datei id_dsa.dupload bekommst du noch&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7586</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7586"/>
		<updated>2009-10-10T11:32:34Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Einführung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
Installiere auf deinem debian/lenny Rechner die entsprechenden Pakete mit den folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install dput mini-dinstall svn-buildpackage devscripts openssh-client ssh-askpass-gnome&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arbeitest du unter gnome:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install ssh-askpass-gnome&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Arbeitest du unter kde:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install ssh-askpass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== dput Konfiguration ==&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
# local  - deinen Rechner&lt;br /&gt;
# delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 1&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
method        = sftp&lt;br /&gt;
hostname      = deb.delixs.de&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall Konfiguration ==&lt;br /&gt;
mini-dinstall soll mir ein Repository unter ~/public_html/delixs/ anlegen. Dafür ist folgende Konfiguration nötig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  ssh Clientkonfiguration ==&lt;br /&gt;
&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; Die Datei id_dsa.dupload bekommst du noch&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7585</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7585"/>
		<updated>2009-10-10T11:25:41Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* ssh Clientkonfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== dput Konfiguration ==&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
# local  - deinen Rechner&lt;br /&gt;
# delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 1&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
method        = sftp&lt;br /&gt;
hostname      = deb.delixs.de&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall Konfiguration ==&lt;br /&gt;
mini-dinstall soll mir ein Repository unter ~/public_html/delixs/ anlegen. Dafür ist folgende Konfiguration nötig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  ssh Clientkonfiguration ==&lt;br /&gt;
&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; Die Datei id_dsa.dupload bekommst du noch&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7584</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7584"/>
		<updated>2009-10-10T11:25:10Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* ~/.ssh/config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== dput Konfiguration ==&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
# local  - deinen Rechner&lt;br /&gt;
# delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 1&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
method        = sftp&lt;br /&gt;
hostname      = deb.delixs.de&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall Konfiguration ==&lt;br /&gt;
mini-dinstall soll mir ein Repository unter ~/public_html/delixs/ anlegen. Dafür ist folgende Konfiguration nötig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  ssh Clientkonfiguration ==&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XXX&#039;&#039;&#039; Die Datei id_dsa.dupload bekommst du noch&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7583</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7583"/>
		<updated>2009-10-10T11:24:29Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* ~/.mini-dinstall.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== dput Konfiguration ==&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
# local  - deinen Rechner&lt;br /&gt;
# delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 1&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
method        = sftp&lt;br /&gt;
hostname      = deb.delixs.de&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall Konfiguration ==&lt;br /&gt;
mini-dinstall soll mir ein Repository unter ~/public_html/delixs/ anlegen. Dafür ist folgende Konfiguration nötig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ~/.ssh/config ==&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7582</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7582"/>
		<updated>2009-10-10T11:23:08Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* ~/.dput.cf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== dput Konfiguration ==&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
# local  - deinen Rechner&lt;br /&gt;
# delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.dput.cf&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 1&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
method        = sftp&lt;br /&gt;
hostname      = deb.delixs.de&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ~/.mini-dinstall.conf ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/debian/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== ~/.ssh/config ==&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7581</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7581"/>
		<updated>2009-10-10T11:22:37Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* ~/.dput.cf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== ~/.dput.cf ==&lt;br /&gt;
Mit der folgenden Konfiguration kennt dput zwei Ziele für den Paketupload&lt;br /&gt;
# local  - deinen Rechner&lt;br /&gt;
# delixs - unser offizielles delixs-Repository&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 1&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
method        = sftp&lt;br /&gt;
hostname      = deb.delixs.de&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ~/.mini-dinstall.conf ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/debian/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== ~/.ssh/config ==&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7580</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7580"/>
		<updated>2009-10-10T11:21:40Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* ~/.dput.cf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== ~/.dput.cf ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 1&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
method        = sftp&lt;br /&gt;
hostname      = deb.delixs.de&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ~/.mini-dinstall.conf ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/debian/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== ~/.ssh/config ==&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7579</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7579"/>
		<updated>2009-10-10T11:21:16Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* gpg-Schlüssel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== ~/.dput.cf ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
[local]&lt;br /&gt;
method        = local&lt;br /&gt;
hostname      = localhost&lt;br /&gt;
incoming      = ~/public_html/debian/mini-dinstall/incoming&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
allow_unsigned_uploads = 1&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
post_upload_command = /usr/bin/mini-dinstall --batch&lt;br /&gt;
&lt;br /&gt;
[delixs]&lt;br /&gt;
method        = sftp&lt;br /&gt;
hostname      = deb.delixs.de&lt;br /&gt;
incoming      = ./&lt;br /&gt;
run_dinstall  = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ~/.mini-dinstall.conf ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386, amd64&lt;br /&gt;
archivedir = ~/public_html/debian/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 0&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
== ~/.ssh/config ==&lt;br /&gt;
Damit dput beim Hochladen auf den dev-server (deb.delixs.de) sich gleich mit den korrekten Einstellugnen wie dem Benutzer verbindet, leg dir die Datei ~/.ssh/config mit folgendem Inhalt an:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
host deb.delixs.de&lt;br /&gt;
  CheckHostIP no&lt;br /&gt;
  User dupload&lt;br /&gt;
  Ciphers arcfour&lt;br /&gt;
  Protocol 2&lt;br /&gt;
  IdentityFile ~/.ssh/id_dsa.dupload&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7578</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7578"/>
		<updated>2009-10-10T11:15:02Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- delixs-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7577</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7577"/>
		<updated>2009-10-10T11:14:45Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- ksan-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat delixs-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7576</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7576"/>
		<updated>2009-10-10T11:14:26Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* gpg-Schlüssel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
Wenn du Pakete auf den dev-Server lädst, muss die Release Datei mit gpg signiert werden. Ansonsten würde jeder Server, der dieses Repository nutzt, über ein unsicheres Archiv meckern. &lt;br /&gt;
&lt;br /&gt;
Darum musst du dich hier nicht kümmern, das erzeugt das Programm mini-dinstall auf dem Server. Bei dir im lokalen Repository brauchst du den Aufwand nicht treiben, lokal verfügbare Release-Dateien müssen nicht signiert werden.&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- ksan-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ksan-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7575</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7575"/>
		<updated>2009-10-10T11:11:59Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* alias svn-b */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
Wenn du ein Paket bauen und hochladen möchtest, rufst du dafür i.A. svn-buildpackage auf. Folgenden alias solltest du in deine ~/.bashrc packen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
alias svn-b=&amp;quot;svn-buildpackage -us -uc -rfakeroot --svn-ignore&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit reicht ein &#039;&#039;&#039;svn-b&#039;&#039;&#039; zum Bauen des Pakets. Es wird dann eine Ebene höher im Order &#039;&#039;&#039;build-area&#039;&#039;&#039; liegen.&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- ksan-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ksan-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7574</id>
		<title>Entwicklerhandbuch/Paketverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Paketverwaltung&amp;diff=7574"/>
		<updated>2009-10-10T11:08:38Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* mini-dinstall */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi Leute,&lt;br /&gt;
&lt;br /&gt;
ich habe mich gestern Abend mit den drei Paketen dput, mini-dinstall&lt;br /&gt;
und svn-buildpackage beschäftigt.&lt;br /&gt;
&lt;br /&gt;
= Einführung =&lt;br /&gt;
&lt;br /&gt;
== svn-buildpackage ==&lt;br /&gt;
Mit svn-buildpackage hast du die Möglichkeit debian Pakete&lt;br /&gt;
(die wir im SVN vohalten) für die entspr. Architekturen zu bauen. &lt;br /&gt;
Wir möchten i386 und amd64 unterstützen.&lt;br /&gt;
Es werden dabei binäre Debianpakete und source-Pakete erstellt.&lt;br /&gt;
&lt;br /&gt;
Erstere erkennst du an der Dateiendung .deb, letztere bestehen aus&lt;br /&gt;
zwei Dateien. Eine endet auf dsc, die andere auf tar.gz. &lt;br /&gt;
&lt;br /&gt;
Die source-Pakete kannst du herunterladen, wenn du in deiner&lt;br /&gt;
sources.list eine Zeile mit deb-src am Anfang stehen hast.&lt;br /&gt;
Die binären Dateien kannst du herunterladen, wenn du deb als&lt;br /&gt;
erstes Argument in der Zeile stehen hast.&lt;br /&gt;
&lt;br /&gt;
svn-buildpackage erstellt ausserdem zu jedem Paket eine &lt;br /&gt;
&amp;lt;nowiki&amp;gt;$PAKETNAME_$VERSION-$UNTERVERSION_$ARCHITEKTUR.changes&amp;lt;/nowiki&amp;gt; Datei. &lt;br /&gt;
(z.B. delixs-firstrun-config_0.1-58_all.deb)&lt;br /&gt;
Mit dieser Datei kann dput arbeiten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INFO:&#039;&#039;&#039;&lt;br /&gt;
Zum Erstellen eines debian-Pakets sollten wir also nicht mehr&lt;br /&gt;
&amp;lt;code&amp;gt;fakeroot ./debian/rules binary&amp;lt;/code&amp;gt; nutzen. Hierbei wird weder&lt;br /&gt;
die changes Datei noch die source-Dateien erstellt. Lasst uns also &lt;br /&gt;
wie später unten beschrieben mit dem alias svn-b arbeiten.&lt;br /&gt;
&lt;br /&gt;
== dput ==&lt;br /&gt;
Dieses Programm ermöglicht es die binär- und source-Pakete in ein&lt;br /&gt;
debian Repository zu laden. Also auf solche &#039;Server&#039;, die du in der&lt;br /&gt;
/etc/apt/sources.list als Installationsquellen eintragen kannst.&lt;br /&gt;
&lt;br /&gt;
dput unterstützt dabei mehrere Verfahren zum Hochladen, die wichtigsten&lt;br /&gt;
sind ftp,ssh/sftp und lokales Kopieren.&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
dieses Programm erzeugt nun ein Repository mit allen Schickanen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$\tree &lt;br /&gt;
|-- delixs1                                             &lt;br /&gt;
|   |-- all                                             &lt;br /&gt;
|   |   |-- Packages                                    &lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- all.db&lt;br /&gt;
|   |-- amd64&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- amd64.db&lt;br /&gt;
|   |-- i386&lt;br /&gt;
|   |   |-- Packages&lt;br /&gt;
|   |   |-- Packages.bz2&lt;br /&gt;
|   |   |-- Packages.gz&lt;br /&gt;
|   |   `-- Release&lt;br /&gt;
|   |-- i386.db&lt;br /&gt;
|   `-- source&lt;br /&gt;
|       |-- Sources&lt;br /&gt;
|       |-- Sources.bz2&lt;br /&gt;
|       `-- Sources.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* unter delixs/all liegen die architekturunabhängigen binären debian-Pakete (debs)&lt;br /&gt;
* unter delixs/amd64 liegen die binären amd64 debian-Pakete (debs)&lt;br /&gt;
* unter delixs/i386 liegen die binären i386 debian-Pakete (debs)&lt;br /&gt;
* unter source liegen alle Versionen dieser Pakete im source-Format. Jeweils eine dsc und eine tar.gz Datei&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== alias svn-b ==&lt;br /&gt;
&lt;br /&gt;
== der Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== gpg-Schlüssel ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Beispiel =&lt;br /&gt;
Nachfolgend ein Beispiel, wo ich das (nicht existierende) Paket delixs-firstrun-config&lt;br /&gt;
in der Version 0.1-58 in das lokale Repository hochlade. Am Ende wird automatisch mini-dinstall ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dput local delixs-firstrun-config_0.1-58_i3864.changes&lt;br /&gt;
$ \tree ~/public_html/debian/delixs1/&lt;br /&gt;
/home/thorsten/public_html/debian/delixs1/&lt;br /&gt;
|-- all&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   |-- Release&lt;br /&gt;
|   `-- delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
|-- all.db&lt;br /&gt;
|-- amd64&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- amd64.db&lt;br /&gt;
|-- i386&lt;br /&gt;
|   |-- Packages&lt;br /&gt;
|   |-- Packages.bz2&lt;br /&gt;
|   |-- Packages.gz&lt;br /&gt;
|   `-- Release&lt;br /&gt;
|-- i386.db&lt;br /&gt;
|-- ksan-firstrun-config_0.1-58_i386.changes&lt;br /&gt;
`-- source&lt;br /&gt;
    |-- Sources&lt;br /&gt;
    |-- Sources.bz2&lt;br /&gt;
    |-- Sources.gz&lt;br /&gt;
    |-- delixs-firstrun-config_0.1-58.dsc&lt;br /&gt;
    `-- delixs-firstrun-config_0.1-58.tar.gz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erklärung:&#039;&#039;&#039;&lt;br /&gt;
* Unter all liegt das architekturunabhängige Paket delixs-firstrun-config_0.1-58_all.deb&lt;br /&gt;
* direkt im  Ordner delixs1 liegt die changes-Datei.&lt;br /&gt;
* unter source liegen die beiden Dateien delixs-firstrun-config_0.1-58.{dsc,tar-gz}&lt;br /&gt;
&lt;br /&gt;
Im Ordner, von dem du das Paket hochgeladen hast (wahrscheinlich build-area), wurde die Datei&lt;br /&gt;
delixs-firstrun-config_0.1-58_i386.upload angelegt. Der Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ksan-firstrun-config_0.1-58_i386.upload&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.dsc to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58.tar.gz to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_all.deb to localhost.&lt;br /&gt;
Successfully uploaded delixs-firstrun-config_0.1-58_i386.changes to localhost.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Durch dieses logfile weis dput, dass es die Datei nicht nochmal hochladen muss, wenn du es ein zweites Mal probieren solltest.&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7573</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7573"/>
		<updated>2009-10-10T11:04:18Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Konfigurationen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur sftp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
Nachfolgend Vorschläge über die Konfigurationsdateien der beteiligten Dienste&lt;br /&gt;
== Apache ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
deb.delixs.de&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
Pfad wo das Repository auf dem dev-Server liegt: &#039;&#039;&#039;/home/deb.delixs.de&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; &#039;&#039;&#039;Wollen wir mini-dinstall als root oder als seperater User laufen lassen?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat /home/$USER/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386&lt;br /&gt;
archivedir = /home/deb.delixs.de/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
# aktivieren, sobald key erzeugt ist&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 1&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload &#039;&#039;(debian-upload)&#039;&#039; ein, der im incoming Verzeichnis von mini-dinstall eingesperrt ist. Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
== sftp-chroot ==&lt;br /&gt;
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Subsystem sftp internal-sftp&lt;br /&gt;
Match user dupload&lt;br /&gt;
    ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming&lt;br /&gt;
    X11Forwarding no&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
    ForceCommand internal-sftp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
Zwei Möglichkeiten&lt;br /&gt;
# wir hinterlegen das Passwort auf der Platte im Klartext&lt;br /&gt;
# wir benutzen den gpg-agent, der es eine Weile im Speicher behält&lt;br /&gt;
&lt;br /&gt;
Nachteil bei Möglichkeit 1: unsicher&amp;lt;br&amp;gt;&lt;br /&gt;
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7572</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7572"/>
		<updated>2009-10-10T11:02:59Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* incron Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur sftp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
Pfad wo das Repository auf dem dev-Server liegt: &#039;&#039;&#039;/home/deb.delixs.de&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; &#039;&#039;&#039;Wollen wir mini-dinstall als root oder als seperater User laufen lassen?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat /home/$USER/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386&lt;br /&gt;
archivedir = /home/deb.delixs.de/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
# aktivieren, sobald key erzeugt ist&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 1&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload &#039;&#039;(debian-upload)&#039;&#039; ein, der im incoming Verzeichnis von mini-dinstall eingesperrt ist. Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
== sftp-chroot ==&lt;br /&gt;
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Subsystem sftp internal-sftp&lt;br /&gt;
Match user dupload&lt;br /&gt;
    ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming&lt;br /&gt;
    X11Forwarding no&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
    ForceCommand internal-sftp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
Zwei Möglichkeiten&lt;br /&gt;
# wir hinterlegen das Passwort auf der Platte im Klartext&lt;br /&gt;
# wir benutzen den gpg-agent, der es eine Weile im Speicher behält&lt;br /&gt;
&lt;br /&gt;
Nachteil bei Möglichkeit 1: unsicher&amp;lt;br&amp;gt;&lt;br /&gt;
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7571</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7571"/>
		<updated>2009-10-10T11:02:13Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* mini-dinstall */ Vorschlag zum Aufbau des Repositories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur sftp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
Pfad wo das Repository auf dem dev-Server liegt: &#039;&#039;&#039;/home/deb.delixs.de&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; &#039;&#039;&#039;Wollen wir mini-dinstall als root oder als seperater User laufen lassen?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
$ cat /home/$USER/.mini-dinstall.conf&lt;br /&gt;
# Adapted Colin&#039;s mini-dinstall.conf&lt;br /&gt;
# Infos unter /usr/share/doc/dput&lt;br /&gt;
# und http://debiananwenderhandbuch.de/mini-dinstall.html&lt;br /&gt;
[DEFAULT]&lt;br /&gt;
architectures = all, i386&lt;br /&gt;
archivedir = /home/deb.delixs.de/delixs/&lt;br /&gt;
use_dnotify = 0&lt;br /&gt;
verify_sigs = 0&lt;br /&gt;
# aktivieren, sobald key erzeugt ist&lt;br /&gt;
#extra_keyrings = ~/.gnupg/pubring.gpg&lt;br /&gt;
mail_on_success = 1&lt;br /&gt;
archive_style = simple-subdir&lt;br /&gt;
poll_time = 10&lt;br /&gt;
mail_log_level = NONE&lt;br /&gt;
generate_release = 1&lt;br /&gt;
release_description = delixs Packages&lt;br /&gt;
# Releases:&lt;br /&gt;
[aramec]&lt;br /&gt;
[delixs1]&lt;br /&gt;
[delixs1-testing]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload &#039;&#039;(debian-upload)&#039;&#039; ein, der im incoming Verzeichnis von mini-dinstall eingesperrt ist. Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
== sftp-chroot ==&lt;br /&gt;
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Subsystem sftp internal-sftp&lt;br /&gt;
Match user dupload&lt;br /&gt;
    ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming&lt;br /&gt;
    X11Forwarding no&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
    ForceCommand internal-sftp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
Zwei Möglichkeiten&lt;br /&gt;
# wir hinterlegen das Passwort auf der Platte im Klartext&lt;br /&gt;
# wir benutzen den gpg-agent, der es eine Weile im Speicher behält&lt;br /&gt;
&lt;br /&gt;
Nachteil bei Möglichkeit 1: unsicher&amp;lt;br&amp;gt;&lt;br /&gt;
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7570</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7570"/>
		<updated>2009-10-10T10:56:04Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Benutzer dupload */  Beschreibung über Sinn und Zweck dieses Benutzers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur sftp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload &#039;&#039;(debian-upload)&#039;&#039; ein, der im incoming Verzeichnis von mini-dinstall eingesperrt ist. Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
== sftp-chroot ==&lt;br /&gt;
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Subsystem sftp internal-sftp&lt;br /&gt;
Match user dupload&lt;br /&gt;
    ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming&lt;br /&gt;
    X11Forwarding no&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
    ForceCommand internal-sftp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
Zwei Möglichkeiten&lt;br /&gt;
# wir hinterlegen das Passwort auf der Platte im Klartext&lt;br /&gt;
# wir benutzen den gpg-agent, der es eine Weile im Speicher behält&lt;br /&gt;
&lt;br /&gt;
Nachteil bei Möglichkeit 1: unsicher&amp;lt;br&amp;gt;&lt;br /&gt;
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7569</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7569"/>
		<updated>2009-10-10T10:53:27Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* sftp-chroot */  sshd_config Vorschlag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur sftp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== sftp-chroot ==&lt;br /&gt;
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Subsystem sftp internal-sftp&lt;br /&gt;
Match user dupload&lt;br /&gt;
    ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming&lt;br /&gt;
    X11Forwarding no&lt;br /&gt;
    AllowTcpForwarding no&lt;br /&gt;
    ForceCommand internal-sftp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
Zwei Möglichkeiten&lt;br /&gt;
# wir hinterlegen das Passwort auf der Platte im Klartext&lt;br /&gt;
# wir benutzen den gpg-agent, der es eine Weile im Speicher behält&lt;br /&gt;
&lt;br /&gt;
Nachteil bei Möglichkeit 1: unsicher&amp;lt;br&amp;gt;&lt;br /&gt;
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7568</id>
		<title>Entwicklerhandbuch/Repositorieverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Entwicklerhandbuch/Repositorieverwaltung&amp;diff=7568"/>
		<updated>2009-10-10T10:50:40Z</updated>

		<summary type="html">&lt;p&gt;ThorstenStrusch: /* Aufbau des Repositories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!&#039;&#039;&#039;&lt;br /&gt;
= Funktionsweise =&lt;br /&gt;
Der Benutzer &#039;&#039;&#039;dupload&#039;&#039;&#039; hat über die sshd_config ein chroot unterhalb von &#039;&#039;$REPOSITORYROOT/mini-dinstall/incoming&#039;&#039; und darf nur sftp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.&lt;br /&gt;
&lt;br /&gt;
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem &#039;&#039;&amp;quot;IN_MODIFY,IN_CREATE&amp;quot;&#039;&#039; das Script mini-dinstall --batch aus.&lt;br /&gt;
Die Pakete werden daraufhin einsortiert und die Releases signiert.&lt;br /&gt;
&lt;br /&gt;
= Aufbau des Repositories =&lt;br /&gt;
* URL: deb.delixs.de&lt;br /&gt;
* delixs1 für lenny als Unterbau&lt;br /&gt;
* delixs2 für squeezy als Unterbau&lt;br /&gt;
&lt;br /&gt;
= Konfigurationen =&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
&lt;br /&gt;
== mini-dinstall ==&lt;br /&gt;
&lt;br /&gt;
== Benutzer dupload ==&lt;br /&gt;
&lt;br /&gt;
== sftp-chroot ==&lt;br /&gt;
&lt;br /&gt;
== incron Setup ==&lt;br /&gt;
&lt;br /&gt;
== gpg-key ==&lt;br /&gt;
Zwei Möglichkeiten&lt;br /&gt;
# wir hinterlegen das Passwort auf der Platte im Klartext&lt;br /&gt;
# wir benutzen den gpg-agent, der es eine Weile im Speicher behält&lt;br /&gt;
&lt;br /&gt;
Nachteil bei Möglichkeit 1: unsicher&amp;lt;br&amp;gt;&lt;br /&gt;
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern&lt;/div&gt;</summary>
		<author><name>ThorstenStrusch</name></author>
	</entry>
</feed>