Clonen von Systemen : System updaten Teil 01 – 2

Das Script zum Thema „Clonen von Systemen : System updaten Teil 01 – 1“ braucht noch ein paar Erklärungen.
Allgemein:
Es geht bei meiner Art der Programmierung nicht um die Optimierung oder Performance von Code, sondern es soll für jedem der Code verständlich sein, der auch nur geringe Kenntnisse in Programmierung (egal welche Sprache) sein Eigen nennt.
Vor allen Dingen soll auch eine einfache Portierung möglich sein!
Es ist nämlich der Luxus von Linux, das es 1000 und 1 Lösungsmöglichkeiten für ein und dasselbe Problem gibt.        

Komponeten-Aufbau des Scriptes:

Dateien, die im laufenden Betrieb angelegt werden:

Das Startprogramm oder
Menue.sh

global_var_update-ilb.inc

global_filename_update-ilb.inc

logging-ilb.inc

function_lib.inc

Vorbereitung des Servers bzw. Master-PC’s
_________________________________________________
—- Server Steuerungs System —-

1) Update Server [+]
2) Upgrade [-]
3) Ende

Ihre Wahl:
_________________________________________________

Dateiverzeichnisse anlegen:
/Daten/update/cache/apt
Hier wird automatisch folgendes angelegt:
archives                     <– Verzeichnis
pkgcache.bin        <– Datei
srcpkgcache.bin <– Datei

Es handelt sich um das Cache-Verzeichnis, welches eigentlich und /var/cache/apt zu finden ist.
Verlegung des Verzeichnisses geschieht wie folgt:
/etc/apt/apt.conf.d
anlegen einer Datei im Format: 00xxxxxxx
Ich benenne die Datei z.B.: 00update-archives
Inhalt:
dir::cache /Daten/update/cache/apt/ ;
In der Datei: sources.list muss in der Regel beim Server (Master-PC) nichts geändert werde. Das gut ist es muss kein Dient neu gestartet werde.
Jetzt ruft man  auf:
apt update
und lädt die *deb herunter, das Alles über nimmt aber das Script.

/Daten/update/cache/bin
in das /bin Verzeichniss kommen die Dateien:
menue-03_sub.sh
function_lib.inc
global_filename_update-ilb.inc
global_var_update-ilb.inc
logging-ilb.inc
++++__server__++++

/etc/exports > nfs-server installieren
Inhalt:
/Daten/update/cache/ 192.168.0.0/24(rw,async,insecure,no_subtree_check,no_auth_nlm)

 

Vorbereitung des Clients (Work-PCs)
________________________________________________
—- Client Steuerungs System —-

1) Update                    [-]
2) Upgrade Client [+]
3) Ende

Ihre Wahl:
________________________________________________

Dateiverzeichnisse anlegen:
z.B.:
/Daten/update/bin
in das /bin Verzeichniss kommen die Dateien:
menue-03_sub.sh
function_lib.inc
global_filename_update-ilb.inc
global_var_update-ilb.inc
logging-ilb.inc
++++__client__++++

/Daten/update/old
Das System merkt, wenn sich die Datei „update_version.x“ { x: xЄℕ} auf dem Server ( Zeitstempel) sich geändert hat. Existiert schon eine „Merkdatei: 1515427394“ in dem Verzeichnis /Daten/update auf dem Client mit älterem Eintrag, so wird diese in das Verzeichnis /old kopiert und eine neue Datei angelegt. Es nimmt eine Auswertung „Modifiziert“ vor – gibt den Zeitstempel der letzten Änderung des Dateiinhalts auf Server an.

/Daten/update/apt
Hier wird automatisch folgendes angelegt:
archives                     <– Verzeichnis
pkgcache.bin        <– Datei
srcpkgcache.bin <– Datei
Es handelt sich um das Cache-Verzeichnis, welches eigentlich und /var/cache/apt zu finden ist.
Verlegung des Verzeichnisses geschieht wie folgt:
/etc/apt/apt.conf.d
anlegen einer Datei im Format: 00xxxxxxx
Ich benenne die Datei z.B.: 00update-archives
Inhalt:
   Dir{Cache /Daten/update/apt}   oder die andere Schreibweise
dir::cache /Daten/update/apt/ ;
In der Datei: sources.list muss in der Regel beim Client (Work-PC) folgendes geändert werden:
Datei sources.list umbenennen in sources.list.org
Datei neu anlegen: entweder touch sources.list oder nano sources.list mit dem Inhalt:    deb [trusted=yes] file:///media/update/apt/archives ./
Das gut ist es muss kein Dient neu gestartet werde.

/media/update 
Verzeichnis /update z.B.: muss angelegt werden. Viele sagen das das Verzeichnis in /mnt angelegt werden sollte, aber ich habe es lieber im /media Verzeichnis, weil nur temporär das Verzeichnis mit den /*.deb Dateien vom Server gemountet wird.

Damit alles rund läuft muss unbedingt noch ‚nfs-common‚ installiert werden bzw. in das Client-Image aufgenommen werden. Zusätzlich kann, muss aber nicht unbedingt die beiden Programme „dpkg-dev„, „apt-offline“ und „aptitude“ mit ins Client-Image aufgenommen werden.