152 lines
7.2 KiB
TeX
152 lines
7.2 KiB
TeX
\documentclass[a4paper, 10pt]{article}
|
|
\usepackage[left=2cm, right=2cm]{geometry}
|
|
\usepackage[utf8x]{inputenc}
|
|
\usepackage[ngerman]{babel}
|
|
|
|
\newcommand{\file}[1]{\texttt{#1}}
|
|
|
|
\title{CVS Installation und Konfiguration}
|
|
\author{Markus Spiekermann, Simone Jandt}
|
|
\date{\today}
|
|
\begin{document}
|
|
\maketitle
|
|
\section{CVS-Konfiguration auf Server f\"ur Zugriff von au\ss{}erhalb}
|
|
Damit CVS-Clients von entfernten Rechnern aus eine Verbindung herstellen
|
|
k\"onnen ist \"uber den Benutzer \file{root} auf Zeppelin der Internet-D\"amon
|
|
\file{xinet} f\"ur CVS konfiguriert worden. Wenn dieser Dienst nicht l\"auft,
|
|
kann CVS nur von Benutzern, die sich auf dem Server einloggen k\"onnen
|
|
benutzt werden.
|
|
|
|
Die \file{xinet}-Konfiguration ist in der Datei \file{/etc/xinet.d/cvs} definiert.
|
|
|
|
\begin{verbatim}
|
|
service cvspserver
|
|
{
|
|
socket_type = stream
|
|
protocol = tcp
|
|
wait = no
|
|
user = root
|
|
server = /usr/bin/cvs
|
|
server_args = -f --allow-root=/home/cvsroot pserver
|
|
}
|
|
\end{verbatim}
|
|
|
|
\section{CVS-Server des Lehrgebiets}
|
|
CVS-Server laufen im Moment auf Zeppelin (Standard) und im wesentlichen f\"ur
|
|
das Fachpraktikum genutzt auf Agnesi. Die Verwaltung ist im wesentlichen analog.
|
|
Allerdings heisst der Linuxbenutzer hier nicht \file{spieker} sondern \file{cvsadmin}.
|
|
Die Kennworte der beiden User sind bis auf die Gro\ss{}- und Kleinschreibung identisch.
|
|
|
|
\section{Wichtige Verzeichnisse f\"ur CVS-Verwaltung auf Zeppelin}
|
|
Auf Zeppelin gibt es das Verzeichnis \file{/cvsroot}
|
|
unterhalb dieses Verzeichnisses befinden sich die verschiedenen Repositories im
|
|
CVS-System, wie z.B. \file{secondo} und \file{secondo-documents}. Au\ss{}erdem
|
|
befindet sich dort das Unterverzeichnis \file{CVSROOT}, dass die eigentlichen
|
|
Verwaltungsdateien der CVS-Installation enth\"alt.
|
|
|
|
Die Skripte die \"uber die Eintr\"age in den Verwaltungsdateien bzw. die
|
|
Cron Jobs des Benutzers \file{spieker} aufgerufen werden befinden sich im
|
|
Verzeichnis \file{/home/spieker/cvs-snapshot/CM-Scripts}.
|
|
|
|
Die Schreibberechtigung f\"ur die Verwaltungs- und Skript-Dateien l\"auft zur
|
|
Zeit \"uber den Linuxbenutzer \file{spieker}.
|
|
|
|
\section{CVS-Userverwaltung}
|
|
Im Verzeichnis \file{CVSROOT} gibt es folgende f\"ur die Verwaltung besonders wichtige Dateien:
|
|
\begin{itemize}
|
|
\item \file{passwd} : Zuordnung CVS-Benutzernamen, Passwort, Linux-User
|
|
\item \file{user} : Zuordnung CVS-Benutzername, E-Mailadresse
|
|
\item \file{readers} : CVS-User die nur lesen d\"urfen
|
|
\end{itemize}
|
|
Jeder CVS-Benutzer wird einem Betriebsystembenutzer zugeordnet. In der Datei
|
|
\file{readers} k\"onnen Benutzer festgelegt werden, denen nur lesender Zugriff
|
|
auf die Repositories gestattet werden soll.
|
|
|
|
Dass Passwort f\"ur einen neuen Benutzer wird in der Passwortdatei in
|
|
verschl\"usselter Form hinterlegt. Die Verschl\"usselung kann durch Aufruf
|
|
des Perl-Scripts \file{CM-Scripts/cvspass.pl <passwort>} erfolgen. CVS-Benutzer
|
|
k\"onnen nicht selbst\"andig Ihr Passwort \"andern. Falls Sie es vergessen
|
|
muss ein neues definiert werden.
|
|
|
|
Schreibberechtigungen auf der Ebene einzelner Dateien oder Verzeichnisse,
|
|
insbesondere f\"ur Abschlussarbeiten von Studenten, werden durch die
|
|
Berechtigungskonzepte des Betriebssystems realisiert.
|
|
|
|
Uneingeschr\"ankt schreibberechtigte Benutzer sind dem Linux-Benutzer \file{spieker},
|
|
der den Gruppen \file{crew} und \file{cvs-crew} angeh\"ort zuzuordnen. F\"ur
|
|
Studenten stehen die Linux-Benutzer \file{diplomand1} bis \file{diplomand20}
|
|
zur Verf\"ugung. F\"ur $1 \leq X \leq 20$ sind die Benutzer jeweils der Gruppe
|
|
\file{diplomandX} und \file{cvs-dipl} zugeordnet.
|
|
|
|
Durch eine geeignete Zuordnung der CVS-Benutzer zu Linux-Benutzern sowie der
|
|
Zuordnung von Owner- und Gruppenrechten auf Dateien und Verzeichnisse k\"onnen
|
|
so beliebige Zugriffsbeschr\"ankungen auf Betriebsystemebene realisiert
|
|
werden.
|
|
|
|
Bei Abschlussarbeiten wird im Verzeichnis des Repositories \file{secondo} f\"ur
|
|
das vom Studenten zu schreibende Algebraverzeichnis die Gruppenberechtigung auf
|
|
\file{diplomandX} mittels \file{chgrp} ge\"andert. Ist die Abschlussarbeit beendet
|
|
wird die Gruppenzuordnung wieder auf \file{cvs-crew} ge\"andert.
|
|
|
|
F\"ur CVS-User ist zus\"atzlich auf Bassi in \file{/etc/mail/secondo-users.txt}
|
|
ein Mailverteiler eingerichtet \"uber den alle \textsc{Secondo} CVS-User mit
|
|
\file{secondo-users@bassi.fernuni-hagen.de}
|
|
angemailt werden k\"onnen. Studenten mit Abschlussarbeit sind dort jeweils
|
|
ein- bzw. auszutragen.
|
|
|
|
Im Verzeichnis \file{secondo/CM-Scripts/} findet sich die Datei
|
|
\file{studentuserlist.tex}, die ein \"Ubersicht \"uber die aktuelle und vergangene
|
|
Zuordnung von Studenten zu diplomandX Usern und den jeweiligen Schreibverzeichnissen
|
|
enth\"alt.
|
|
|
|
F\"ur den Versand der Benutzerinformationen an Studenten gibt es im selben Verzeichnis
|
|
eine Musterdatei \file{cvspass.odg}, die mit den jeweiligen Benutzerdaten
|
|
anzupassen und dann jeweils in eine PDF zu verwandeln ist. Die PDF kann dann
|
|
zusammen mit einer CVS-Kurzanleitung als Anhang einer E-Mail an den Studenten
|
|
versandt werden.
|
|
|
|
\section{Cron Jobs f\"ur CVS}
|
|
Der Linux-Benutzer \file{spieker} hat einige cron-jobs definiert, die t\"aglich
|
|
durchgef\"uhrt werden. Dazu werden einige Scripte die unter
|
|
\file{/home/spieker/cvs-snapshot/CM-Scripts} liegen ausgef\"uhrt.
|
|
Diese Scripte werden ebenfalls von CVS verwaltet.
|
|
|
|
Die Cron Jobs versenden E-Mails mit Ihren Ergebnissen an spieker@zeppelin. Der
|
|
CVS-Verwalter kann diese erhalten in dem er seine E-Mail-Adresse in
|
|
\file{/home/spieker/.forward} eintr\"agt.
|
|
|
|
Die aktuellen cron-jobs k\"onnen unter dem Benutzer \file{spieker} mit
|
|
\file{crontab -l} abgefragt und mit \file{crontab -e} editiert werden.
|
|
Erl\"auterung der Bedeutung der Eintr\"age zur Ausf\"uhrungszeit finden sich
|
|
\"uber \file{man crontab} auf jedem Linuxsystem.
|
|
|
|
Zur Zeit findet 2mal t\"aglich eine \"Uberpr\"ufung des eingecheckten Secondo-Systems
|
|
auf Funktionsf\"ahigkeit statt. Ausgecheckt wird jeweils der Stand um 4.30 Uhr bzw.
|
|
12 Uhr. Gepr\"uft wird die aktuelle Version dann mit dem Skript \file{cvs-make.sh}
|
|
im Verzeichns \file{/home/spieker/cvs-snapshot/CM-Scripts/cvs-make.sh}. Dieses
|
|
Skript \"Ubersetzt den Quellcode sofern seit dem letzten Lauf des Skriptes
|
|
\"Anderungen ins CVS \"ubertragen wurden. Und kontrolliert die Lauff\"ahigkeit
|
|
des aktuellen Systems \"uber die in Secondo hinterlegten Selbsttests und Testfalldateien.
|
|
Aufgetretene Fehler werden protokolliert und den Personen, die zuletzt
|
|
\"Anderungen am Quellcode gemacht haben per E-mail zugesendet zus\"atzlich
|
|
werden die Protokolle unter \file{/var/tmp/cvs-make} archiviert.
|
|
|
|
Andere Cron Jobs dienen der kontrolle der korrekten Zugriffsberechtigungen f\"ur
|
|
neu eingecheckte Dateien. Hierzu gibt es noch zus\"atzliche Cron Jobs des Benutzers
|
|
\file{root}, die dem Benutzer \file{spieker} entsprechende Dateirechte zuweisen.
|
|
|
|
\section{Commit-Check}
|
|
Die \"Uberpr\"ufung der Dateien beim \file{cvs commit} wird \"uber das Skript
|
|
\file{citest.sh} im Verzeichnis \file{/home/spieker/} \file{cvs-snapshot/CM-Scripts}
|
|
gesteuert. In dieser Datei ist, wenn Dateien gr\"o\ss{}er als
|
|
700 KB eingecheckt werden sollen, die Zeile (95) mit der Gr\"o\ss{}en\"uberpr\"ufung
|
|
tempor\"ar entsprechend zu \"andern.
|
|
|
|
\section{Sicherungen}
|
|
Sicherungen werden \"uber den Backup-Service des ZMI durchgef\"uhrt. Dazu
|
|
wurde ein Tivoli Backup-Client auf dem Server installiert, der das Verzeichnis
|
|
\file{/cvsroot} sichert.
|
|
|
|
Ansprechpartner f\"ur Backups: Thomas Behr
|
|
\end{document}
|