Computer: Betriebssystem Linux

Gehört zu: Betriebsystem
Siehe auch: INDI , Astro-Software

Betriebssystem Linux gewinnt an Bedeutung

cid München – Wer statt Windows 98, Windows NT oder OS/2 das Betriebssystem Linux haben will, bekommt es kostenlos. Das bedeutet aber nur, daß man für den Einsatz dieser Software nichts bezahlen muß. Doch um es überhaupt auf dem PC nutzen zu können, muß man entweder einen bis zu mehrere hundert Megabyte dicken Download starten und die Online- und Telefonkosten in Kauf nehmen oder beim Fachhändler eine Linux-Edition auf CD-ROM erwerben. Sie kostet, je nachdem, wie viele Anwendungsprogramme beiliegen, zwischen 50 und 100 DM.

Das Freeware-Unix-Betriebssystem Linux, das seit zirka fünf Jahren auf dem Markt ist und mittlerweile immer mehr Freunde findet, wurde von dem finnischen Studenten Linus Torvalds entwickelt. An dem Linux-Projekt arbeiten inzwischen weltweit Studenten, Informatiker und technisch Interessierte, um das System weiterzuentwickeln. Hintergrund der Projektes war es, das professionelle Betriebssystem Unix, das nur auf Großrechnern läuft, für den Heim-PC umzuschreiben. Anfangs nur einer begrenzten Hardware zugänglich, kann Linux jetzt für jeden Rechner eingesetzt werden.

Im Internet gibt es für das netzwerk- und internetfähige Linux kostenlose Spiele und freie Softwarepakete wie Grafikprogramme, Datenbanken und Office-Anwendungen. Die Downloads finden sich unter der Adresse www.linux.org. Wer überlegt, auf Linux umzusteigen, sollte über einen Pentium-PC mit mindestens 16 MB verfügen, um die grafische Benutzeroberfläche X-Window benutzen zu können. Im professionellen Bereich werden mittlerweile Rechner mit Linux-Betriebssystem als Server verwendet. cid/adi

c/t Uplink zu Linux

Sehr viele Anwender haben immer noch Windows 7 und zögern sehr, auf Windows 10 zu gehen.

Windows 7 geht am 14.1.2020 aus der Wartung; danach sollte man mit Windows 7 nicht mehr ins Internet gehen. Es ist also Zeit, eine Entscheidung zu treffen.
Die Entscheidung kann für Windows 10 fallen oder man könnte auch Linux Mint Cinnamon nehmen….

Linux Distributionen

Ich versuche mich mit Linux, weil da INDI Lib drauf läuft.
Es verschiedene Linux Distributionen:

  • Ubuntu (Debian based –> Package Manger)
  • Ubuntu Mate
  • Linux Mint (Verschiedene Desktops: Cinamon, Mate, XFCE,…)
  • Fedora
  • Gentoo
  • Rasberry Pi Linux
  • xyz

Linux Installation

Wenn man Linux mal so zu probieren installieren will, gibt es mehrere Möglichkeiten:

Am Ende wird man das Linux seiner Wahl auf einem echten kleinen separaten Computer installieren wollen z.B.

  • Rasberry Pi
  • Intel i5 NUC (Next Unit of Computing)
  • oder…

E-Mail für Linux: Thunderbird

sudo apt-get install thunderbird

Web-Browser für Linux: Firefox

ist in den Packages enthalten

Office-Paket für Linux

LibreOffice

Astronomy Software

  • Bildverarbeitung: GIMP  (Linux, Windows, MacOS)
  • Stacking:  ASTAP   (Linux, Windows, MacOS)
  • Autoguiding: PHD2 Guiding  (Windows, Mac OS X, Linux)
  • Teleskop-Steuerung: EQMOD GUI (Linux)
  • Polar Alignment: Ekos
  • Image Capturing (Sequencing): FireCapture (Linux, Windows)
  • Focussing
  • Plate Solving: ASTAP
  • Plate Solving: astrometry.net, Ekos
  • Planetarium-Software: Stellarium
  • Planetarium-Software: KStars
  • Planetarium-Software: Cartes du Ciel (Skychart)
  • Geräte-Treiber: INDI Lib (s.u.)

INDI Lib für ein Linux-System

Als Windows-Mensch wird man ganz vorsichtig mit dem Linux umgehen wollen und alles notwendige nur in kleinen Schritten erproben wollen:

  • Bildschirm-Größe und Auflösung einrichten: 1280×768 Pixel
  • Keyboard: German
  • User einrichten
  • LAN testen
  • Systemstart bei Stromeinschaltung – ohne weitere Eingaben
  • Automatisches Einmelden in ein WLAN bzw. WLAN Access Point aufspannen
  • VNC Server starten
  • INDI Web Manager starten oder…
  • INDI Lib starten

Linux unter VMware

Linux Mint unter VMware

Ich habe mir bei “OSBoxes” eine “Virtuelle Disk” für Linux MInt besorgt. Und zwar in der “Mate” Version; d.h. mit dem Linux-Desktop names “Mate”.

Link: https://www.osboxes.org/linux-mint/#linux-mint-19-2-vmware

Mit dieser vmdk-Datei als virtuelle Disk habe ich dann in meinem VMPlayer eine neue Virtuelle Maschine eingerichtet.

Ubuntu Mate unter VMware

Da unter Mint die Installation von des INDI Server Managers  auf einen Fehler lief, habe ich dann LInux Mate installiert:

Download: https://ubuntu-mate.org/download/

Mit dieser ISO-Datei habe ich dann in meinem VMPlayer eine neue Virtuelle Maschine eingerichtet.

Linux User einrichten

xyz

Linux Autologin

Damit wir einen sog. “Headless Computer” aufsetzen können, muss das Linux-System automatisch (d.h. ohne login) starten.

Dazu gehen wir in den Ordner:

/usr/share/lightdm/lightdm.d/

und editieren die Datei

50-ubuntu-mate.conf

wie folgt:

[Seat:*]

autologin-user=…

autologin-user-timeout=0

user-session=mate

Linux LAN testen

Das Ethernet-LAN sollte in einer VMware-Machine standardmäßig eingeschaltet sein.

Wir können feststellen, welche IP-Adresse die Linux-Maschine hat:

  • Wir gehen in Terminal
  • Wir geben ein: ifconfig

In meinem Fall ist die IP-Adresse: 192.168.175.128  (später 192.168.175.129)

Linux VNC-Server einrichten

Zu Linux Mate gehört als VNC-Lösung “Vino”.
Link: https://www.onesystems.ch/blog/remote-desktop-mit-linux-mint-19/
Zum nachinstallieren geben wir ein:

sudo apt-get install vino

VINO von Hand starten:

/usr/lib/vino/vino-server    (noch zu tun: Log-Datei umleiten)

Nach dem Start berichtet der VINO-Server:

  • Listening on Port:  5900
  • Security Tpe: “TLS”
  • Athentication Type: “No Authentication”

Ein VNC-Client müsste sich also mit 192.168.175.128:5900 verbinden

gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino reqire-encryption false
gsettings set org.gnome.Vino authentication-methods "['vnc']"
gsettings set org.gnome.Vino vnc-password $(echo -n "mypassword"|base64)

Computer: Beim Initialisieren des Geräts IOS: Windows-Schutzfehler. Starten Sie den Computer

Gehört zu: Microsoft Windows

Windows Fehlermeldung

Beim Initialisieren des Geräts IOS: Windows-Schutzfehler. Starten Sie den Computer neu.
While initializing device IOS: windows prodection error. You need to restart.
Datei RMM.PDR im Ordner windowssystemiosubsys renamen; sollte dann neu angelegt werden.
In hartnäckigen Fällen im Devicemanager den protected mode Treiber für den Harddisk Controller deaktivieren.

Computer: DocBook (aus Wiki)

Gehört zu: Internet
Siehe auch: WebAuthoring

Stand: 30.10.2021

DocBook (aus Wiki)

Auf das Thema “DocBook” kam ich, als ich das Sourceforge-Projekt DocBookWiki gestoßen bin.
Zum Experimentieren habe ich zunächst folgendes installiert:

 Installation docbook-xsl

  • Definitive Software Library ID: docbook-xsl
  • Name: DocBook XSL Stylesheets 2.65.1
  • Hersteller/Bezugsquelle: Sourceforge
  • I man so in voller Breite mit DocBook arbeiten wollte, muss man einen dafür spezialisierten Editor/IDE/Autorensystem haben.

Das mindeste ist ein “richtiger” XML-Editor. Folgende Produkte sind im Gespräch:

  • jEdit von Sourceforge / jedit.org mit XML-Plugin (Java-basierter sehr guter File-Editor als OpenSourceSoftware, aber sehr schlichte XML-Funktionalität)
  • Eclipse mit XML-Plugin z.B. XMLBuddy (recht odentlich, habe ich für eine erste Testphase für mich ausgewählt)
  • Xopus (kommerziell, kann Tabellen)
  • Abortext Epic (kommerziell, kann Tabellen)
  • epcEdit (kommerziell, kann Tabellen, Screenshots sehen sehr schlicht aus)
  • XMLmind (kommerziell, eine sog. “Standard Edition” ist kostenlos) http://www.xmlmind.com/xmleditor (Java-basiert, der beste kostenlose!!!!)
  • OxygenXMLEditor (sehr schön, aber: kommerziell)
  • XML Spy (kommerziell, ein alter Bekannter,….)

 Ein XSLT-Prozessor

Die DocBook-Gemeinde ist ja sehr auf Unix/Linux fixiert und präferriert xsltproc, das man unter Cygwin als Paket libxslt installieren kann.

Ich verwende zunächst meinen Java-basierten Xalan-XSLT-Prozessor (Siehe: Java)

 DocBook Output generieren

Der generierte Output wird durch die Angabe eines bestimmten Stylesheets und die Angabe von Stylesheet-Parametern bestimmt. Einige der üblichen Stylesheets sind z.B.:

  1. -XSL /html/docbook.xsl (das “normale” HTML-DocBook)
  2. -XSL /html/chunk.xsl (ein modulares HTML-DocBook d.h. “zerstückelt”)
  3. -XSL /fo/docbook.xsl (habe ich noch nicht probiert, soll PDF oder sonstwas rauskommem….)
  4. -XSL /htmlhelp/htmlhelp.xsl (ein “help” DocBook)

Stylesheet-Parameter (in der Xalan-Systax) sehen etwa wie folgt aus:

  • -param shade.verbatim 1
  • -param navig.graphics 1

Erzeugen von: Slideshow und Einbindung von SVG-Verktorgrafik ist (im Prinzip) möglich. Und auch beides in Kombination: http://www.zveno.com/open_source/svgslides.html

 DocBook Beispiel gmo_chronik.xml

Meine Beispiele befinden sich im Ordner E:\var\www\htdocs\docbook.

Der Aufruf des XSLT-Prozessors mit den diversen Parametern erfolgt über das Kommando-Script (BAT-File) xslt_chunk.bat:

rem Aufruf Java XSLT-Prozessor Xalan
rem $Date: 2007/06/02 07:54:32 $
echo  html/chunk.xsl	in %1.xml out %1.htm
pause
%JAVA_HOME%\bin\java org.apache.xalan.xslt.Process -IN %1.xml 
		  -XSL "docbook-xsl-1.65.1/html/chunk.xsl" 
		  -OUT %1.htm 
		  -param generate.meta.abstract 1 
		  -param html.stylesheet "chronik.css" 
		  -param html.stylesheet.type "text/css" 
		  -param navig.graphics 1 
		  -param navig.graphics.extension ".gif"
		  -param chunk.section.depth 2 
		  -param chunk.first.sections 1
pause

So wird jetzt aus der Docbook-XML-Datei eine kleine Website, indem jede Section eine HTML-Seite wird:

e:
cd \var\www\htdocs\docbook
xslt_chunk gmo_chronik

Das fertige DocBook ist gehostet auf:  http://chronik.kr8.de

 Microsoft HTML Help Workshop

Wenn man seine schönen DocBooks unbedingt in Microsoft-Help-Files umsetzen will, benötigt man für den letzten Schritt den MicrosoftHTMLHelp-Workshop und dann ganz einfach:

hhc htmlhelp.hhp 

http://codeproject.com/winhelp/docbook_howto.asp

 DocBook Beispiel

<?xml version="1.0" encoding="ISO-8859-1"?>
<DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" >
  <article>
  <title>Mein Lexikon</title>
  <section id="analogiemethode">
  <title>Analogiemethode</title>
  <para>Analogiemethode, gehört zu den Methoden der <link linkend="aufwandsschätzung">Aufwandsschätzung</link>. Es wird versucht, das zu schätzende Projekt mit ähnlichen, abgeschlossenen Projekten zu vergleichen. Eine Abweichungsanalyse stellt Gemeinsamkeiten und Unterschiede zwischen den Projekten bezüglich der wichtigen Einflussfaktoren (Projektorganisation, Entwicklungsumgebung, Metriken usw.) fest und bewertet diese bezüglich Aufwand und Produktivität.</para>
  <para>Die Schätzgenauigkeit hängt davon ab, wie gut man das zu schätzende Projekt kennt (Pflichtenheft) und von der Erfahrung bei der richtigen Auswahl und Einschätzung der Einflussfaktoren in der Abweichungsanalyse. Umfangreiche Erfahrungen mit abgeschlossenen, ähnlichen Projekten sind die Basis der Analogiemethode. Projekte, die sich in wesentlichen Faktoren grundsätzlich von den bekannten Projekten unterscheiden, können so nicht geschätzt werden.</para>
  <indexterm>
  <seealso>Aufwandsschätzung</seealso>
  <seealso>Pflichtenheft</seealso>
  </indexterm>
  </section>
  <section id="aufwandsschätzung">
  <title>Aufwandsschätzung</title>
  <para>Aufwandsschätzung, für den Anwender gleichermaßen schwieriges Unterfangen wie für den Berater; für letzteren insbesondere vor dem Hintergrund eines Festpreisauftrags. Es geht um die Prognose des Perso­nal­kapa­zitätsbedarfs für ein Projekt. Die Güte der Aufwandsschätzung kann nur so gut sein wie die Qualität der zugrundeliegenden Unterlagen (Ausschreibungsunterlagen, Ist-Analyse, Pflichtenheft). Äusserst schwierig ist es, aus der Sicht der ersten Projektphasen bereits das gesamte Projekt zu schätzen. Eine verbindliche Genauigkeit kann für die jeweils nächste Phase meist erst bei Abschluss der vorange­gan­genen Phase erfolgen. Aufwandsschätzung beruht auf zwei Größen: <emphasis>Arbeitsmenge und Arbeitspro­duk­tivität.</emphasis>
  </para>
  <para>Wesentlich ist auch der Zeitpunkt der Aufwandsschätzung: Vor der Erstellung eines Fach­konzepts können nur grobe Erfahrungswerte und Analogieschlüsse zur Anwendung kommen. Auf der Basis eines Fach­konzepts können ausgefeilte Methoden wie z.B. Function Point angewendet werden. Interindividuelle Varianzen der Produktivität haben nach Capers Jones den größten Einfluss auf die Aufwandsschätzung.
  <simplelist type="vert">
  <member>Die wichtigsten Methoden sind:</member>
  <member>Analogiemethode</member>
  <member>Multiplikatormethode</member>
  <member>Prozentsatzmethode</member>
  <member>Function-Point-Methode</member>
  <member>COCOMO-Methode</member>
  <member>Pi-mal-Daumen-Methode</member>
  <member>Budget-Methode</member>
  </simplelist>
  </para>
  </section>
  </article>

 Weblinks

— Main.DietrichKracht – 10 Jul 2004

Computer: InternetRadio (aus Wiki)

Gehört zu: Audio-Software
Siehe auch: Podcasting, MediaLibrary, COWON Q5W, iPod

Internet-Radio (aus Wiki)

Ist scheint doppelt zu sein???

Über das Internet Radiosender live zu hören, das ist heuzutage ganz einfach möglich. Die Technik heisst Streaming Audio oder um das Internet mit ins Spiel zu bringen: WebRadio bzw. InternetRadio.

Es gibt mehrere konkurriernde Systeme:

Dass überhaupt eine annehmbare Tonqualität zu Stande kommt, liegt an den Komprimierungtechniken. Komprimierung mit MP3 oder auch RealAudio ergibt bei Übertragungsraten von 44 Kbit/s schon einen ordendlichen Klang. Einfachere Sendungen werden mit 32 Kbit/s oder noch weniger übertragen, bei breitbandigem InternetZugang (z.B. DSL) kommt man gut auf 128 kBit/s, was entkomprimiert (1:11) an die CompactDisk-Qualität von 176,4 kByte/s herankommt.

Als Software zum hören von Streaming Audio (Internet Radio) gibt es sehr viel für die Windows-Platform und auch für Android- und iOS-Geräte (SmartPhones, Tablets). Sehr oft gelobt werden:

 Meine Anforderungen

  • Das Gerät soll schön klein sein, damit man es von Raum zu Raum tragen kann
  • Das Gerät soll einen eingebauten Laufsprecher haben, damit man auch mal ohne “große” HiFi-Speaker, schnell mal was hören kann
  • Es müssen unbedingt folgende Sender empfangbar sein:
    • NDR Info
    • Spreeradio
    • Mallorca Inselradio
    • ..

 Meine Favorites

 Meine Shortlist: Hardware

 Meine Bewertung der Software-Lösungen für Windows

Tabelle 1: Meine Bewertung

Eingenschaft iTunes MAGIX JetAudio
MP3 spielen Ja Ja Ja Ja
WMA spielen Nein Ja Ja Ja
Stationsliste importieren Ja Nein Ja XML-Datei
Stationsliste exportieren  ? Nein  ? XML-Datei
WebRadio Recording Nein Ja Nein Ja

Meine Bewertung der Software-Lösungen für Android

xyz

Meine Bewertung der Software-Lösungen für iOS

xyz

Sammelangebote von Sendern

Sender speichen als Playlist

 MP3 WinAmp

#EXTM3U
#EXTINF:-1,Rockantenne
http://mp3.webradio.rockantenne.de:80
#EXTINF:-1, Inselradio Mallorca - Das Inselradio 95,8 FM
#EXTINF:-1, Radiostream von Eins Live
#EXTINF:-1, MDR Sputnik MP3 http://62.146.66.24/3087mdr_sputnik_live.mp3 #EXTINF:-1, Oldie Radio Berlin
Footer
#EXTINF:-1,Radio VHR Europe http://www.radio-vhr.de/europe.asx EXTINF:-1,Klassik Radio

 MicrosoftMediaPlayer

<?wpl version="1.0"?>
<smil>
   <head>
      <meta name="Generator" content="Microsoft Windows Media Player -- 9.0.0.3250"/>
      <author/>
      <title>Internet Radio SWR3</title>
   </head>
   <body>
      <seq>
         <media src="http://lsd.newmedia.tiscali-business.com/bb/redirect.lsc?stream=swr3$livestream.wma&content=live&media=ms"/>
      </seq>
   </body>
</smil>

 RealPlayer

<?xml version="1.0" encoding="UTF-8"?>
<smil>  
   <body> 
      <seq>	
         <audio src="rtsp://stream1.rbb-online.de/broadcast/antenne-live.ra"/>	
      </seq>
   </body>
</smil>

 Einige Sender

Die deutschen Rundfunkanstalten benutzen gerne das grundsolide (und etwas teurere RealAudio-Format), während viele kleine amerikanische Stationen MP3 streamen.

Siehe auch: http://mypage.bluewin.ch/a-z/cusipage/liveradio2.html

Tabelle 2: Einige Sender

Sender Format URL
104.6 RTL Live Real http://lsd.newmedia.tiscali-business.com/bb/redirect.lsc?adid=1001&content=live&media=rm&stream=rtl1046/rtllive.rm
Deutschlandfunk MP3 http://www.dradio.de/streaming/dlf.ram http://www.dradio.de/streaming/dlf.m3u
DeutschlandRadio Berlin Real http://www.dradio.de/streaming/dlr.ram
DRS1 Schweiz Real http://dms-cl-013.skypro-media.net:8080/ramgen/encoder/drs1.rm rtsp://206.165.150.203:554/encoder/drs1.rm?cloakport=8080,554,7070
EinsLive WDR http://www.wdr.de/wdrlive/media/einslive.smil
NDR 1 Niedersachsen Real http://www.ndr.de/ramgen/live/rnds.rm
NDR 1 Radio MV Real http://www.ndr.de/ramgen/live/rmv.rm
NDR 1 Welle Nord Real http://www.ndr.de/ramgen/live/wn.rm
NDR2 Real http://www.ndr.de/ramgen/live/ndr2.rm
NDR Info Real http://www.ndr.de/ramgen/live/ndrinfo.rm
NDR Kultur Real http://stream.ndr.de/bb/redirect.lsc?stream=ndr/live/ndrkultur.rm&content=live&media=rm
Spreeradio MNS http://cms.streamfarm.net/cms/_vm100/radio/2925spreeradio_live.asx?referer=www.spreeradio.de
Inselradio Mallorca MP3 http://stream.live-inselradio.com:8080/inselradio http://live-inselradio.com:8000/listen.pls
CBC Saskatchewan CBC Radio One http://sask.cbc.ca/radio/cbcsask.smi
88.5 KCSN Real http://www.kcsn.org/listen/kcsnlofidirect.ram
WNYC FM, New York Public Radio http://64.202.98.18:80

 Programm-Informationen

— Main.DietrichKracht – 10 Jun 2004

Computer: Zeitsynchronisation (aus Wiki)

Gehört zu: Internet
Siehe auch: Windows Services

Zeitsynchronisation (aus Wiki)

Zeitsynchronisation über das Internet

  • NTP entwickelt 1981 von David L. Mills an der University of Delaware (http://www.ntp.org)
  • SNTP: Simple Network Time Protocol ist eine vereinfachte Teilmenge von NTP

 NTP Network Time Protocol

NTP has the ability to synchronize computers across multiple time servers while compensating for network jitter and other statistical errors. Because of this ability, it is generally suitable for the synchronization of a corporate time server to an atomic clock on the global internet to within tens of milliseconds. This protocol is defined in the Internet standard RFC 1305. (Port 123)

 SNTP Simple Network Time Protocol

SNTP is a subset of the Network Time Protocol. SNTP is able to compensate for network round trip delay and take account of nominal dispersion to the root time source, but normally depends on a single time server at any given time. Because of this, it is generally suitable for synchronization of clients to a known time source on a corporate intranet.

Accurate synchronization between client and server to the order of microseconds is attainable on local area networks using SNTP. The SNTPv4 protocol is defined in the internet standard RFC 2030. (obsoletes SNTPv3 RFC 1769)

 Zeitquelle NTP Time Server im Internet

  • Uni Osnabrück (DCF77)
    • ntps1-1.rz.uni-osnabrueck.de
  • TU Berlin
    • ntps1-0.cs.tu-berlin.de
    • ntps1-1.cs.tu-berlin.de
  • Physikalisch Technische Bundesanstalt, Braunschweig (PTB)
    • ntp1.ptb.de
    • ntp2.ptb.de
  • Deutsche Telekom
    • ntp1.sda.t-online.de
  • Uni Erlangen
    • ntps1-1.uni-erlangen.de

 Welche Software benötigen wir?

 Stratum 1 und Stratum 2

Stratum 1: primary reference (NTP sites using an atomic clock for timing) Stratum 2-15: secondary reference (Stratum 2: NTP sites with slightly less accurate time sources) Public Servers: Sites that allow the general public to synchronize with them.

 Welche Software benötigen wir?

  • Auf dem Server
  • Auf den Clients: Tardis95

 Time-Service als Bestandteil des Betriebssystems

See: Windows Services Die Betriebssysteme Windows2000 und WindowsXP enthalten einen Time-Service, genannt w32time. Dieser kann so konfiguriert werden, dass direkt gegen einen public NTP-Server im Internet synchronisiert wird.

  • net stop w32time
  • net start w32time
  • net time /setsntp:servername
  • net time /querysntp
  • w32tm -once (Test der Verbindung)

Windows2000 polls every 8 hours (“SpecialSkew”), WindowsXP once a week….. (Knowledgebase Q223184)

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

Namen von Windows-Services herausfinden: sc query

— Main.DietrichKracht – 06 Jun 2004

Computer: CVS (aus Wiki)

Gehört zu: Version Control
Siehe auch: RCS, GitHub

CVS Concurrent Versions System (aus Wiki)

CVS ist der Klassiker für VersionControl: http://www.cvshome.org

 Meine Anforderungen

  • Lauffähig auf einem Windows-Entwicklungsrechner mit geringstem Aufwand und möglichst “leichtgewichtig”
  • OpenSourceSoftware bzw. GNU GPL bzw. geringe Kosten und hohe Verbreitung

 CVS-Server

Möchte im ersten Schritt noch garnicht einsetzen. Es soll ein lokales CVS-Repository auf meinem Windows-Notebook sein, nur für mich allein.
Da Eclipse anscheinend nicht mit :local: arbeitet, sondern :pserver: benötigt, habe ich zu guter Letzt (s.u.) doch noch den CVSNT-Server installiert.

 CVS-Client

Die Mainstream-Lösungen sind:

WinCVS:
war mir schon von der Software-Architektur zu aufwendig und nicht in Übereinstimmung mit meiner Architektur (Python, Tcl, GTK).
http://www.wincvs.org
TortoiseCVS:
Eine ganz schlanke Windows-Lösung, die nur auf C++ basiert und sich sehr schön in den Windows Explorer integriert. Wirklich leicht zu benutzen. Basiert auf dem Code von WinCVS, ist aber nicht so komplex.
http://www.tortoisecvs.org/
Eclipse:
Muss man sich wohl in diesem Jahr genauer anschauen. Das scheint die Zukunft zu sein.
http://www.eclipse.org

 CVS-Server für Windows: CVSNT

Neben der Möglichkeit einen CVS-Server auf Windows über Cygwin zu realisieren, gibt es eine sehr gute Portierung auf WinNT (Windows 2000,…) CVSNT. Es gibt ganz ausführliche Schritt-für-Schritt-Beschreibungen für die Installation von CVSNT (was auch nötig ist, da es einige Fallstricke gibt).

 Meine CVS Projekte (CVS Module)

Tabelle 1: Meine CVS-Projekte

Name Pfad
Apache D:\Programme\Apache
Backup
diverses
docbook
Dokumente und Einstellungen
etc
faulkner.kr8.de
jobs e:\var\jobs

 CVS Lektion 1: Anlegen und Füllen eines CVS-Repositories

Das cvs.exe (mitgeliefert von ZeusEdit, TortoiseCVS oder CVSNT) sollte im PATH sein (also: \Programme\ZeusSCC-CVS oder \Programme\TortoiseCVS oder …). Es wird einerseits intern von dem jeweiligen SCC-Provider verwendet, andererseits kann es als Kommandozeilen-CVS-Utility unter Windows eingesetzt werden, um z.B. Das CVS-Repository per Hand aufzubauen.

Schritt 1: Initialisieren eines CVS-Repository

cvs -d:local:d:\home\cvsroot init

Damit man für das weitere Arbeiten mit CVS nicht immer den Parameter -d:local:d:\home\cvsroot angeben muss, setzten wir die dafür vorgesehene Environment-Variable: SET CVSROOT=:local:d:\home\cvsroot.

Schritt 2: Dateien in ein CVS-Repository einstellen (“importieren”)

d:
cd \home\kracht\www\dietrich.kracht.free.fr\rolodap	 (genannt "Arbeitsverzeichniss")
cvs import -m"trallala" -d -C rolodap  LONZO V1_00

Damit wird das aktuelle Verzeichnis mit allen Dateien und Unterverzeichnissen unter dem CVS-Modulnamen “rolodap” in das CVS-Repository gestellt. Umgangssprachlich nennt man “CVS-Module” auch gerne “CVS-Projekte”. Das “-d” sorgt dafür, dass das Archivierungsdatum aus dem Filedatum genommen wird, und das “-C” sorgt dafür, dass in das Arbeitsverzeichnis interne Verwaltungsinformationen für CVS gleich mitaufgenommen werden (versteckter Ordner CVS).

Das Riesenproblem mit diesem CVS IMPORT ist, dass Binär-Dateien dadurch zerstört werden (z.B. GIF, JPG,…).

Wenn man das nicht alles in einem Rutsch tun möchte, kann man es auch einzeln Schritt für Schritt tun (s.u.).

Schritt 3: Ein leeres CVS-Modul erstellen

mkdir xyz
cd xyz
cvs import rolodap LONZO V1_00
cd ..
rmdir xyz

Damit wird im CVS-Repository ein neues Modul names rolodap angelegt einschliesslich aller im Repository nötigen CVS-Files (z.B. .owner).

Nun muss ich für jedes CVS-Modul ein CVS-Arbeitsverzeichnis (sog. Sandbox) aufbauen mit “cvs checkout …”. Danach kann ich meinem CVS-Modul gezielt Dateien und Unterverzeichnisse (nur aus dem CVS-Arbeitsverzeichnis) mit “cvs add …” hinzufügen.

Schritt 4: Eine CVS-Sandbox erstellen

d:
cd \home\kracht\www\dietrich.kracht.free.fr
cvs checkout rolodap

Damit wird \home\kracht\www\dietrich.kracht.free.fr\rolodap eine CVS-Sandbox für das CVS-Modul “rolodap”. Wir sehen das daran, dass ein verstecktes Unterverzeichnes namens “CVS” angelegt wurde.

Weil im CVS nicht mit “Locks” gearbeitet wird, benötigt jeder User ständig seine “Work Directories”. In den versteckten CVS-Unterverzeichnissen jeder Sandbox speichert sich das CVS-System die nötige Verwaltungsinformation.

Der Verzeichnisname der CVS-Sandbox ist als identisch mit dem Modulnamen im CVS-Repository. Wenn man da besondere Wünsche für den Sandbox-Namen hat, muss man sich das schon beim Erstellen des CVS-Moduls überlegen.

Wenn die als Sandbox verwendeten Verzeichnisse nicht leer sind (macht man gerne am Anfang), erscheinen Warnmeldungen.

Schritt 5: Einzelne Inhalte der CVS-Sandbox ins CVS-Repository stellen

d:
cd \home\kracht\www\dietrich.kracht.free.fr\rolodap
cvs add index.php			(ggf.  -b	für binary, oder gleich TortoiseCVS nehmen)
cvs commit

Ebenso können Unterverzeichnisse der CVS-Sandbox in das CVS-Repository gestellt werden.
Wichtig im CVS: Eine CVS-Sandbox ist immer ein Ordner mit seiner Unterstruktur, wobei Teile der Sandbox ignoriert werden können. Ich mass also alles was zu meinem “Projekt” gehört, in so einer Sandbox unterbringen. Die CVS-Sandbox entspricht dann spiegelbildlich einem CVS-Modul.
Ich kann keine Dateien, die “neben” der CVS-Sandbox stehen in das CVS-Modul einchecken. Jedes “Projekt” muss also hierarchisch strukturiert sein!

Der cvs checkout arbeitet mit dem im Environment-Parameter “CVSROOT” eingestellten Repository. In diesem Falle ein privates CVS-Repository im lokalen Dateisystem meines Notebook-Computers. Genauso kann man sich aber auch ein CVS-Modul aus einem externen CVS-Repository holen:

cvs -d:pserver:anoncvs@cvs.apache.org:/home/cvspublic checkout ant

— Main.DietrichKracht – 16 May 2004

Computer: Version Control (aus Wiki)

Gehört zu: Software
Siehe auch: Web Authoring
Benutzt: SVG-Grafiken aus GitHub

Version Control (aus Wiki)

Version Control dient der Verfolgung von Änderungen ganz allgemein an Dateien, sog. “Versionierung”. Wenn spezielle weitere Funktionalitäten für Quellcode-Verwaltung hinzukommen, spricht man von Source Code Control “SCC”.

 Meine Einsatzgebiete für Version Control

  • PHP Sourcen
  • HTML-Seiten
  • Konfigurationsdateien
  • Java Sourcen

 Meine Anforderungen an Version Control Lösungen

  • Frei verfügbar
  • Lauffähig auf Windows
  • Zukunftssicher – Mainstream
  • Integrationsmöglichkeiten in IDEs und/oder Filesystem

 Meine Short List von Version Control Lösungen

 Bewertung der Version Control Lösungen

VSS
Ich möchte nach Möglichkeit weniger Microsoft und mehr OpenSourceSoftware. Vorteil ist die Integration mit NamoWebEditor und über Microsofts SCC-API auch mit anderen Entwicklungsumgebungen.
CS-RCS
Sehr alt, Community ist von RCS auf CVS umgestiegen, SCC-API (Microsoft Common Source Code Control API) vorhanden, von Eclipse nicht unterstützt. Produkt CS-RCS nicht wirklich kostenlos.
GNU RCS
Sehr alt, Community ist von RCS auf CVS umgestiegen. Stabile Version für Win32, die ohne Cygwin funktioniert.
CVS
Das ist absolut der Mainstream. Passt zu Eclipse. Über SCC-CVS-Provider von ZeusEdit können auch SCC-IDEs wie ZeusEdit und HomeSite mit CVS arbeiten. Es war immer etwas schwierig, CVS unter Windows einzusetzten, aber mit dem SCC-CVS einerseits und mit TortoiseCVS andererseits ist das doch jetzt sehr einfach und elegant möglich.
Subversion
Soll das Nachfolgeprodukt von CVS werden. Ist schon sehr vielversprechend, aber hat sich noch nicht richtig durchgestezt. Umsteigen von CVS auf Subversion soll ganz einfach sein. Also erstmal mit CVS anfangen.
WebDAV
WebDAV wurde hier aufgenommen, weil NamoWebEditor es als Source-Control-System unterstützt….

 Entscheidung: CVS

  • Subversion ist für meine Zwecke noch nicht “Mainstream” genug.
  • CVS hatte bisher nicht genommen, da der Einstieg unter Windows kompliziert und aufwendig erschien. Das liegt aber zum grossen Teil an den Veröffentlichungen, die sehr aus der Unix-Ecke kommen und daran, dass bei CVS sofort grosse Client/Server-Szenarien berschreiben werden und das Einstiegs-Szenario “Einplatz-Windows-System” sehr stiefmütterlich behandelt wird. Durch das Arbeiten mit ZeusEdit habe ich jetzt aber den Zugang zu CVS unter Windows gefunden.
  • Für die Zwecke von TWiki auf Win32-Plattformen ist GNU RCS das Mittel der Wahl, da es ohne Cygwin funktioniert.

 SCC Interface

Abbildung 1: Verschiedene Frontends über SCC-API (pCloud: SCC-Provider.svg)

SCC-Provider.svg

— Main.DietrichKracht – 15 May 2004

Computer: RCS (aus Wiki)

Gehört zu: Version Control
Siehe auch: CVS

RCS Revision Control System (aus Wiki)

RCS ist ein VersionControl-System unter GNU Unix entwickelt. Als Nachfolger von RCS kann man das heute sehr verbreitete CVS ansehen. Unter Microsoft Windows wird VSS Visual Source Safe stark propagiert.

Das WikiWiki-System TWiki verwendet RCS zur Verwaltung der Web-Seiten. Standardmäßig wird dazu unter Windows Cygwin verwendet, das dann ein RCS zur Verfügung stellt, welches die für TWiki benötigte Funktionalität bietet, aber ansonsten sich nicht zur Arbeit unter Windows anbietet.

Bei Recherchen zum Thema Parallel Entwicklung bin ich erneut auf RCS gestossen. Eine Firma Component Software bietet ein auf Windows zugeschnittenes CS-RCS Basic und Pro an: http://www.componentsoftware.com. Die Basic Version wird dem privaten Einzelplatz-User kostenlos als Freeware angeboten. CS-RCS unterstützt zusätzlich die von Microsoft propagierte Schnittstelle Microsoft SCC API und lässt sich damit sehr effizient in die eigentlichen Arbeits-Werkzeuge (FileEditing, Authoring, IDE) integrieren.

 GNU RCS 5.7 Windows Binaries

Auf der Web-Seite http://www.gnusoftware.com//directory/?level=Development/Tools/ findet man den Hinweis, auf die Purdue Universität, die Source und Binaries für Windows (Win32) bereitgestellt:

 Installation

  • Definitive Software Library ID: GNURCS
  • Name: GNURCS
  • Version: 5.7
  • Hersteller/Bezugsquelle: University of Purdue ftp://ftp.cs.purdue.edu/pub/RCS/
  • Installations-Ordner: D:\Programme\GNURCS (Rechner: braunbaer.kr8.de)
  • Environment-Variable:
    • SET LOGNAME=hugo
    • SET TZ=CET-1EST
    • SET RCSINIT=-x,v/
    • SET TMP=C:\temp
    • SET TEMP=C:\temp

 Werkzeuge mit RCS-Integration

  • FileEditing: ZeusEdit: Echte Integration über SCC
  • FileEditing: UltraEdit: RCS in das Menü einbaubar
  • HTML-Authoring: HomeSite: Echte Integration über SCC
  • HTML-Authoring: NamoWebEditor: (leider nicht RCS, sondern nur VSS oder WebDAV)
  • IDE: Eclipse: (arbeitet “von Haus aus” mit CVS)

— Main.DietrichKracht – 08 Apr 2004