Entwicklerhandbuch/Alphascriptaktualisierung: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
(script mit Änderungen)
(kein Unterschied)

Version vom 6. Mai 2013, 12:59 Uhr


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/