Der erste Release Candidate von Amarok 2.0 ist draußen. Warum ist immer noch Beta 1 die aktuellste Version in portage? Mein KDE 4.1 geht aber irgendwie eh nicht, und ich hab weder Zeit noch Lust, es zu reparieren. KDE 3.5.10 läuft super, schnell und stabil…aber auf Amarok 2.0 bin ich trotzdem gespannt!
Suppose you have two computers, one running Linux, the other one Windows. Suppose further there is a directory on each computer which has to be kept synchronised between those computers. Worst of all, changes might be made to each directory at the same time, so synchronising is not a simple matter of copying files.
This situation is (relatively) easily manageable with unison, a file-synchronizing tool running both under Linux and Windows. It is very fast, works locally and over SSH connections and does a very good job in detecting changes and deletes. There are plenty of good tutorials to be found and it has an excellent manual.
However, there are problems concerning non-ASCII characters, as can be read in the unison Wikipedia entry: Note that when synchronising data between different computer systems, Unison has significant problems if the file names contain accented or international characters.
This is certainly true, because unison itself does not do any encoding translation. However, with Cygwin and the excellent UTF-8 Cywgin project, it is not hard to make things just work. However, information on this method is scant, and I had to search for a longer time. This is why I decided to write a short tutorial to make things easier for other people having this problem.
Important: This will only work if your Linux machine is configured to use a UTF-8 locale. As far as I know, this is standard in most modern Linux distributions. For Gentoo, see ‘Using UTF-8 with Gentoo’. All you have to do is to enable the unicode use flag and set unicode=”YES” in /etc/rc.conf.
- Install unison (and openssh, if it is not installed yet) on the Linux machine. In Gentoo, a simple
emerge unison as root is enough, it should not be much harder in other Linux distributions. Remember the version number of unison — the major and minor version of unison have to agree on both computers. The one I used is 2.27. - Start the ssh daemon on the Linux machine. In Gentoo, enter
/etc/init.d/sshd start as root. - On the Windows machine, go to the Cygwin website and download
setup.exe. Start the installer, click through and select openssh and unison to be installed as well. Make sure that you have identical major and minor versions of unison on both computers! - Here is the important step: Go to the UTF-8 Cygwin project page and download the binary
cywgin1.dll package (currently called cygwin1-dll-20-11-18.tar.bz2). Unpack the dll and put it into c:\CYGWIN\bin, assuming that is where you installed Cygwin, and replace the standard dll with it. This dll translates the internal Windows file name encoding to UTF-8, magically making unison ‘just work’. - Start cygwin and run
unison once to set up the home directory. - Edit
~/.unison/default.pdf or c:\CYGWIN\home\username\.unison\default.pdf, respectively, (perhaps with a text editor which is able to respect UNIX line breaks, I am not sure about that) to configure unison. An easy example is
root = /cygdrive/drive_letter/Path/to/Directory to synchronize/
root = ssh://user@linux_computer//home/user/path/
Detailed descriptions of the file format can be found in the unison manual. For Gentoo, do not forget to add addversionno = true, since the name of the unison binary is actually unison-2.27.
- Start unison by either starting a Cygwin shell and entering
unison or just by executing C:\CYGWIN\bin\unison-2.27.exe directly. Enter your Linux machine password, and everything should work.
The first synchronisation will take a long time, but subsequent runs will be much faster. Determining changed files in about 50GB of data takes less than 5 minutes for me. Transferring the changed files is done via rsync which is also quite efficient, but this of course depends largely on the amount of changed data. This should work in a local network as well as over the internet. I encourage you to try, I highly recommend it.
Ich dachte, ich beantworte mal diese Frage. Obwohl sie mir keiner gestellt hat. Das ist schließlich gute Recht eines jeden Blog-Schreibers :) Mir ist selber nicht so ganz klar, warum ich Linux benutze, und vielleicht erfahre ich es so. Noch als Vorbemerkung: mit Linux meine ich hier nicht nur den Kernel, sondern GNU/Linux, also das gesamte Betriebssystem insgesamt – potentiell inklusive der Oberfläche und der Anwendungen. Allein diese Sichtweise beeinflußt natürlich schon einige der folgenden Argumente.
- Freie Software
- Ich glaube, die Tatsache, dass Linux prinzipiell freie Software ist, dass also jeder den Quellcode einsehen und modifizieren kann, beeinflusst mich zwar theoretisch, aber praktisch nicht wirklich. Auch wenn ich tatsächlich vorhabe, demnächst mal an einem Open-Source-Projekt mitzumachen, habe ich bis jetzt noch keine direkten Vorteile davon gehabt. Indirekte allerdings sehr wohl — dadurch, dass Projekte weiterverfolgt werden konnten, deren ursprüngliche Autoren keine Zeit oder nicht den Willen hatten weiterzumachen, oder einfach die Software einfach in eine andere Richtung entwickeln wollten, als andere.
- Kostenlose Software
- Dass Linux (der Kernel) kostenlos ist, ist eigentlich auch kein Argument. Man bekommt immer irgendwie ein Windows zu einem Computer dazu, das zwar nicht wirklich kostenlos ist, für alle praktischen Zwecke aber irgendwie schon. Außerdem würde ich auch als Student über die Uni Windows kostenlos bekommen. Trotzdem ist „kostenlose Software“ einer der Gründe, aber anders: Es gibt für Linux einfach sehr viel, sehr gute und kostenlose (sogar Open-Source-) Software, deren Äquivalent unter Windows nicht existiert oder nicht kostenlos wäre. Zugegebenermaßen wird das immer mehr entkräftet, da immer mehr Linux-Software nach Windows portiert wird — wie gerade zum Beispiel KDE. Ich werde demnächst mal einen Artikel über Software schreiben, die ich benutze, und bei der Gelegenheit mal schauen, was es davon inzwischen für Windows gibt.
- Gute Software
- Um es nochmal zu sagen, einer der Hauptgründe, oder vielleicht der Hauptgrund, Linux zu benutzen, ist für mich: gute Software. Ich schreibe demnächst darüber einen eigenen Artikel, aber dazu gehört zum Beispiel die prinzipielle Annahme, das alles über das Netzwerk möglich sein sollte, z.B. also die Existenz von SSH, NX und unison. Dazu gehört eine vernünftige Kommandozeile. Schließlich gehört dazu auch die Existenz von Dingen wie grep und diff auf der einen, und amarok und digikam auf der anderen Seite.
- Dokumentation
- Ja, Dokumentation. Nicht nur, dass die meisten Tools eine umfangreiche Kommandozeilen-Hilfe und eine ordentliche manpage haben: Auf den meisten Webseiten gibt es eine umfangreiche Dokumentation, am besten sogar noch als Wiki. Ansonsten helfen das Gentoo Wiki oder einfach Google immer weiter, sehr selten hat noch nie jemand dasselbe Problem gehabt. Und im Gegensatz zu Windows-Problemen landet man sehr selten auf Werbe- und Flash-überfrachteten Webseiten mit wenig und unklarer Information, oder mit Verweisen auf dubiose Shareware-Tools.
- Reaktionsverhalten
- Ich denke nicht, dass Stabilität heutzutage noch ein großes Problem ist. Früher waren alle von Linux so begeistert, weil es im Gegensatz zu Windows nicht ständig abgestürzt ist, wenn ein einzelnes Programm abgestürzt war (oder auch so!). Dafür hatte Linux früher seine eigenen Tücken, wo der X-Server eingefroren war, das System zwar weiterhin tadellos lief, aber man nur über eine SSH-Konsole irgendwas tun konnte, weil die Tastatur auch nicht mehr angesprochen hat. Ich denke, dass Stabilität heutzutage bei beiden Betriebssystemen eigentlich kein Problem mehr ist. Was ich bei Linux als extremen Vorteil sehe, ist, dass es selbst unter hoher Belastung weiter reagiert. Und zwar unter wirklich hoher Belastung, abgesehen von knappem Speicher. Damit hat selbst Linux heute noch Probleme. Windows reagiert dahingegen meist eher schleppend, sobald mehrere Programme laufen und arbeiten. Mir ist klar, dass das eine Prioriäten-Frage ist, aber ich mag es, wenn ich immer eingreifen kann, und während des Wartens etwas anderes tun kann.
- Transparenz
- Transparenz ist für mich zweischichtig. Erstens habe ich den Eindruck, dass zumindest bei den Systemkomponenten die Konfiguration wesentlich transparenter verläuft als unter Windows. Das mag aber auch mit Gentoo zusammenhängen. Für jede Systemkomponente gibt es üblicherweise genau eine, ordentlich kommentierte Textdatei, in der man alle Einstellungen vornehmen kann. Zugegebenermaßen ist das für GUI-Programme nicht immer so transparent, aber üblicherweise doch ausführlich erklärt. Die andere Seite der Transparenz ist die Fehlermeldungs-Transparenz. Ich habe eigentlich noch nie einen Fehler mit nur einer kryptischen Hex-Nummer und keinen weiteren Informationen bekommen, sondern meistens eine ziemlich deutliche Erklärung, was passiert ist. Wenn die Erklärung nicht deutlich genug war, kann man normalerweise danach googeln, oder vorher besser noch zusätzlichen Debug-Output anfordern. Meist hat dann jemand dasselbe Problem schon gelöst, und 5 min später funktioniert alles.
- Softwareinstallation
- Jetzt werden einige sagen: Was, aber unter Windows kann ich doch einfach alles herunterladen? Ja, schon, aber in einer Konsole
emerge paketname eingeben funktioniert auch, lädt automatisch alles herunter und konfiguriert sogar normalerweise schon das allermeiste. Zusätzlich kann man dann sicher sein, dass das Paket richtig in den Rest des Systems integriert wird, und normalerweise einfach funktioniert. Außerdem werden die Pakete (zumindest fast) rückstandsfrei entfernt, was man unter Windows üblicherweise nicht behaupten kann.
Zusammenfassend ist das jetzt doch mehr ein Plädoyer für Linux geworden — aber schließlich benutze ich es ja auch, und ziehe es Windows vor, also sollte ich ja auch dafür sein. Was ihr jetzt damit macht, ist eure Sache.
Wie viele andere warte ich gespannt auf die erste nicht-hardmasked Version von KDE 4 in Portage. Zentrale Anlaufstelle ist Estimating KDE 4.1 progress for inclusion in Portage!
Ich hoffe ja, dass KDE 4.1.1 in Portage landet, sobald es offiziell rauskommt. Vermutlich also morgen oder übermorgen, wenn ich eh nicht an meinem Computer bin ;) Alle Aufregung also umsonst :)
edit: KDE 4.1.1 ist veröffentlicht!