SDB:Einrichtung eines Lokalen Repository Server für OpenSuse 10.3
aus openSUSE, der freien Wissensdatenbank
--[[User:Noobkuchen] 31 December 2007 (UTC)
Inhaltsverzeichnis |
Situation
Sie haben ein kleines Netzwerk und wollen die Bandbreite schonen, nicht jeden Rechner einzeln über das Internet updaten und den Update Speed beschleunigen indem Sie einen lokalen update Server einrichten. Sie haben schon einen Rechner mit OPENSuse 10.2 oder 10.3 installiert für diesen Zweck.
Ablauf
Kurz zusammengefasst, alles was wir machen müssen ist einen Update Server einzurichten der einen Mirror zu einem Online Update Server darstellt. Danach müssen Wir einen Cronjob einrichten der immer die neuesten Updates auf dem lokalen Server speichert. Anschließende richten wir noch einen NFS share ein mit dem wir dieses Repository für jeden Benutzer in unserem Netzwerk zur Verfügung stellen.
Spiegelung eines Repository.
Um ein Repository zu Spiegeln (mirroring), müssen wir den Befehl rsync benutzen. Dieser Befehl bietet uns Konfigurationsmöglichkeiten um bestimmte Verzeichnisse ausschliessen zu können und lädt dann nur die Verzeichnisse oder Dateien aus dem Repository die noch nicht auf dem Lokalen Update Server sind.
Um den rsync Befehl so zu konfigurieren das er die Updates für uns automatisch herunterlädt, müssen wir einfach nur eine Zeile in die crontab von root eintragen. Das Script unten empfiehlt sich weil es uns erweitertes Logging und mehr Administrationsrechte an Verzeichnissen, die heruntergeladen wurden bereitstellt.
Erstellen wir eine Date unter /root/bin/ mit unserem Lieblings Editor. Jetzt bearbeiten wir die Rechte zum lesen (read), schreiben (write) und ausführen (execute) für den Besitzer, die Gruppe und alle anderen mit den folgenden Befehl chmod 777 /root/bin/auto-download
Nun fügen wir den folgenden Text in die Datei die wir gerade erstellt haben ein.
#!/bin/sh
YOU_DIR=/srv/nfs/updates
UPDATEPATH=opensuse/update/10.3
DESTINATIONPATH=$YOU_DIR"/"$UPDATEPATH
SOURCEPATH=ftp5.gwdg.de::pub/linux/suse/opensuse/update/10.3/.
test -d $DESTINATIONPATH || mkdir -p $DESTINATIONPATH
echo -e "Syncing patches from $SOURCEPATH \n"
rsync -rltuzv --stats --progress --delete --delete-excluded \
--exclude "ppc/" \
--exclude "ppc64/" \
--exclude "x86_64/" \
$SOURCEPATH $DESTINATIONPATH
logger -t patch-download-cronjob[$$] Updating of SuSE 10.3 from $SOURCEPATH finished.
exit 0
Passen Sie ggf. die --exclude Regeln an, im Beispiel werden nur Updates für Intel/AMD 32bit und SuSE 10.3 heruntergeladen.
Konfiguration Cron
Jetzt werden wir den Cronjob hinzufügen. Der Befehl veranlasst den Server immer, sofern er eingeschaltet ist, um 4 Uhr nach Updates zu suchen. Crontab -a 0 4 * * * /root/bin/auto-update
Konfiguration des NFS share
Als erstes Konfigurieren Sie die Datei /etc/exports mit dem Editor Ihrer Wahl: /srv/nfs/Updates *(ro,root_squash,sync)
Um dem System die Änderungen an der Export Datei bekannt zu machen sind 2 weitere Befehle wichtig. exportfs exportfs -ra
Diese Befehle machen dem Kernel die Freigabe dieses Verzeichnisses bekannt so das Verbindungsanfragen von jedem Rechner im Netzwerk korrekt verarbeitet werden. Da wir die Dateien /etc/hosts.allow oder /etc/hosts.deny nicht ändern sollte jeder Rechner im Netz per NFS auf diese Freigaben zugreifen können.
Yast konfigurieren um das Repository zu nutzen
Wenn wir den Update Server eingerichtet haben, müssen wir das Repository auf den Client Pc's mounten. Das kann Automatisch gemacht werden indem Sie nur einen Eintrag in die /etc/fstab Datei machen. Wir gehen davon aus das 10.219.1.10 die IP von unserem Server ist. 10.219.1.10:/srv/updates/opensuse/update/10.3 /mnt/ nfs defaults 0 0 Aber um das Verzeichnis gleich einzubinden geben wir den folgenden Befehl ein. mount -t nfs 10.219.1.10:/srv/updates/opensuse/update/10.3 /mnt/
Jetzt müssen wir nurnoch das Repository hinzufügen, mit Yast unter Software auf “Installations Quelle wechseln” gehen und den Server dort eintragen.
Um sicher zu gehen das die hinzugefügte Inst. Quelle auch benutzt wird, müssen wir alle andere Quellen in der Installations Quelle Liste löschen oder deaktivieren.
Wie alle Repositorys, müssen wir es erst in Yast/Software/Community Repositories auswählen.
Jetzt haben wir das Repository auf unserem lokalen Update Server konfiguriert, auf den Clients im Netzwerk können wir jetzt über Online Update die Client PC's vom lokalen Server updaten.
sources
Wenn Sie weitere Hilfe brauchen um den NFS Server zu konfigurieren, nutzen Sie die Hilfreichen Tipps von http://nfs.sourceforge.net/nfs-howto/ar01s03.html

