Entwicklerhandbuch/Alphascriptaktualisierung
Diese Seite ist momentan eine Baustelle im Zustand: 1
-
0
-
1
-
2
-
3
-
4
Zwischen den alpha-Versionen werden Scripte erneuert. Wer diese testen möchte, müsste sie natürlich auf seiner delixs-Version aktualisieren. Dazu kann man die im SVN abgelegten Scripte auf seinen Testserver herunterladen.
Voraussetzung, es ist das SVN eingerichtet, was standardmäßig nicht der Fall ist.
Dies richtet man per aptitude install subversion ein:
[root@alix ~]# aptitude install subversion Die folgenden NEUEN Pakete werden zusätzlich installiert: libneon27-gnutls{a} libserf-0-0{a} libsvn1{a} subversion 0 Pakete aktualisiert, 4 zusätzlich installiert, 0 werden entfernt und 23 nicht aktualisiert. Muss 2.475 kB an Archiven herunterladen. Nach dem Entpacken werden 7.160 kB zusätzlich belegt sein. Wollen Sie fortsetzen? [Y/n/?] Y Hole:1 http://ftp.de.debian.org/debian/ squeeze/main libneon27-gnutls amd64 0.29.3-3 [139 kB] Hole:2 http://ftp.de.debian.org/debian/ squeeze/main libserf-0-0 amd64 0.3.1-1 [34,5 kB] Hole:3 http://ftp.de.debian.org/debian/ squeeze/main libsvn1 amd64 1.6.12dfsg-6[984 kB] Hole:4 http://ftp.de.debian.org/debian/ squeeze/main subversion amd64 1.6.12dfsg-6 [1.317 kB] 2.475 kB wurden in 5 s heruntergeladen (471 kB/s) Vormals abgewähltes Paket libneon27-gnutls wird gewählt. (Lese Datenbank ... 48015 Dateien und Verzeichnisse sind derzeit installiert.) Entpacken von libneon27-gnutls (aus .../libneon27-gnutls_0.29.3-3_amd64.deb) ... Vormals abgewähltes Paket libserf-0-0 wird gewählt. Entpacken von libserf-0-0 (aus .../libserf-0-0_0.3.1-1_amd64.deb) ... Vormals abgewähltes Paket libsvn1 wird gewählt. Entpacken von libsvn1 (aus .../libsvn1_1.6.12dfsg-6_amd64.deb) ... Vormals abgewähltes Paket subversion wird gewählt. Entpacken von subversion (aus .../subversion_1.6.12dfsg-6_amd64.deb) ... Trigger für man-db werden verarbeitet ... libneon27-gnutls (0.29.3-3) wird eingerichtet ... libserf-0-0 (0.3.1-1) wird eingerichtet ... libsvn1 (1.6.12dfsg-6) wird eingerichtet ... subversion (1.6.12dfsg-6) wird eingerichtet ... [root@alix ~]#
Will man nun die Scripte aktualisieren, kann man folgendes Shell-Script verwenden:
#! /bin/sh # # svnnew # # verschiebt /usr/local/sbin # und /usr/share/perl5/Delix # nach usr/sicher-Datum # und holt vom svn die neue Version # und schreibt neuere oder nicht geholte Daten zurück # unten sind Kontroll-Vergleiche auskommentiert, kann man aktivieren echo kopiere. # für die erste Sicherung wäre # name=alt # gut, für alle weiteren dann # name=svnsicherung-`/bin/date +%Y-%m-%d-%H-%M-%S` mkdir /usr/$name mkdir /usr/$name/sbin mkdir /usr/$name/share mkdir /usr/$name/share/perl5 mkdir /usr/$name/share/perl5/Delixs # Leeren der Verzeichnisse mv -v /usr/local/sbin /usr/$name mv -v /usr/share/perl5/Delixs /usr/$name/share/perl5 # holen aus dem SVN cd /usr/local svn co http://dev.delixs.de/wsvn/delixs/delixs-scripts/trunk/local/sbin/ cd /usr/share/perl5 svn co http://dev.delixs.de/wsvn/delixs/delixs-scripts/trunk/share/perl5/Delixs # Zurückkopieren der neueren oder nicht vorhandenen Daten. echo echo nicht geholte Dateien nach sbin zurück: echo cp -urv /usr/$name/sbin /usr/local/ echo echo nicht geholte Dateien nach sbin zurück: echo cp -urv /usr/$name/share/perl5/Delixs /usr/share/perl5/ # Prüfen auf Unterschiede ls -l /usr/local/sbin/ > /tmp/snvnewneuedateien.listing ls -l /usr/$name/sbin/ > /tmp/snvnewaltedateien.listing echo echo Unterschiede bei sbin - scripte: echo diff /tmp/snvnewaltedateien.listing /tmp/snvnewneuedateien.listing rm /tmp/snvnewaltedateien.listing rm /tmp/snvnewneuedateien.listing ls -l /usr/share/perl5/Delixs/ > /tmp/snvnewneuedateien.listing ls -l /usr/$name/share/perl5/Delixs/ > /tmp/snvnewaltedateien.listing echo echo Unterschiede bei delixs - Bibliotheken: echo diff /tmp/snvnewaltedateien.listing /tmp/snvnewneuedateien.listing rm /tmp/snvnewaltedateien.listing rm /tmp/snvnewneuedateien.listing # echo # echo Unterschiede bei sbin: # echo # # diff /usr/local/sbin/ /usr/$name/sbin/ # # echo # echo und bei Delixs: # echo # # diff /usr/share/perl5/Delixs/ /usr/$name/share/perl5/Delixs/ # # exit 0
( erst mit dem mc noch ausführbar machen und dann start mit ./svnnew )
Das Script gibt es auch hier zum download
Man ist dann auf dem aktuellen Stand, da man die aktuellen Dateien aus dem SVN verwendet. Die bisherigen wurden in die Sicherung verschoben.
Dateien, die zurück kopiert wurden, werden im Script angezeigt.
Um den alten Stand wiederherzustellen kopiert man sich aus dem ältesten Sicherungsverzeichnis (siehe im Script "alt") die Inhalte der Verzeichnisse share/perl5/Delixs/ und sbin/ zurück nach /usr/share/perl5/Delixs/ bzw. /usr/local/sbin/