Archiv der Kategorie ‘sysadmin’
Weil die Qualität einfach stimmt: So zum Beispiel bei einem aktuellen MacPro.
Da werkelt ein Quad-Core Intel Xeon mit 2,6 GHz in einem praktischen Gehäuse und das auch noch schön lautlos.
Außerdem ist ein super CD/DVD-Brenner verbaut: ein Hitachi HL-DT-ST DVD-RW GH41N. Nicht nur, dass das Gerät einen wundervollen Lärm produziert…
Zitat eines anderen Kunden:
Seriously, how the hell can DVD burner be so damn noisy in the 21st century?
Das Laufwerk versetzt einen zurück in die ersten Tage des DVD-Schreibens am Heim-Computer:
Vier verschiedene Marken von DVD-Rohlingen und zwei verschiedene CD-Rohlinge und es war selbst bei niedrigster Geschwindigkeit nicht möglich auch nur fünf wieder lesbare Scheiben zu produzieren.
Ja, sogar das selbe Laufwerk war oft nicht in der Lage, das Medium bei der Überprüfung des Brennvorgangs zu lesen.
Danke, Apple.
Da ich mir von dem Apple bring-in-Service (welch Fortschritt) keine Hilfe verspreche, habe ich mich zu einem Tausch entschlossen: ein LG Electronics GH22LS50 DVD-Brenner für 21 (!) Euro. Außer dass er sogar Lightscribe (hier fehlt nur noch ein gutes Mac-Programm) beherrscht, konnte er mit allen Medien problemlos umgehen.
PS: Scheinbar ist dies kein Einzelfall. Die Firmware war leider schon aktuell.
26. Juli 2010 – 17:58 | jan in Mac, sysadmin | Keine Kommentare »
Nach vielen Jahren ohne Desktop-Rechner habe ich vor wenigen Tagen nun noch nicht länger widerstehen können: eine Maschine zum Experimentieren musste her.
Um nichts zu überstürzen habe ich diverse Artikel in c’t & Co verfolgt. Dort wurde auch vor mangehaft konfigurierten “Prozessor-C-States” bei Komplettsystemen berichtet. Durch diese “C-States” kann der Prozessor beispielsweise einzelne Kerne mit einer höheren Taktfrequenz betreiben. Solange hauptsächlich ein Kern benötigt wird und die Temperatur unter der TDP bleibt, kann so ein i7-Prozessor bei Bedarf bis 3,4 GHz hochtakten. Ohne händisches “Übertakten” wohlgemerkt.
Nach Wochen – oder gar Monaten – hatte ich mein Traumsystem dann zusammen gestellt.
Allerdings bieten die günstigen Online-Händler ja meist nur Vorkasse an, wodurch die Ware erst bei Eingang des Geldes reserviert wird. Wenn dann nur noch die Hälfte verfügbar ist und weitere Artikel nicht mehr zum angepriesenen Preis geliefert werden können, vergeht einem schnell die Lust am Schnäppchen.
Das Resultat: ich habe einige Wunsch-Komponenten durch andere ersetzt und beim Händler vor Ort alles auf einen Schlag gekauft. (Was mich schon zum nächsten Thema bringt: warum wirbt man mit “dem (grossartigen) Service beim Fachhändler vor Ort”, wenn die Fähigkeiten der Mitarbeiter gerade einmal über Elektronik-Markt-Niveau liegen? – Aber egal. Ich wusste ja was ich haben wollte.)
Als Mainboard hatte ich nun ein Gigabyte GA-P55-USB3.
Nach dem Zusammenbau habe ich dann sofort im BIOS die C3/C6/C7-Support Optionen auf “Enabled” gesetzt. Und (vermutlich aus Angst aufgrund mangelnder Erfahrung beim Auftragen von Wärmeleitpaste … 0.04 Gramm!?) habe ich auch die Warnung vor Überhitzung aktiviert.
Nach der Einrichtung und der Freude über das super leise und flinke System sind mir leise, sporadisch ertönende Piepser aufgefallen. Ich wollte sie zuerst nicht wirklich als Piep-Töne bezeichnen, da sie so unregelmäßig auftraten und auch durch eine Verformung durch Temperaturänderungen hätten entstehen können.
Nach diversen Spielereien an den BIOS-Optionen bin ich auf ähnliche Berichte anderer Benutzer (ocassional motherboard beep) gestossen.
Angeblich ist ein Bug in der Umsetzung oder der Überwachung des C6-States für das Ansprechen der Temperatur-Warnung verantwortlich. Lösung: Abschalten der C3/C6/C7-Unterstützung.
WAAAS? Das kann ja nur ein Witz sein. Gerade deshalb wollte ich ja einen Prozessor dieser Art einsetzen. Nach einigen Tests habe ich herausgefunden, dass auch das Abschalten der Warnungen ausreicht um das Piepen zu unterdrücken.
Als sehr hilfreich bei der Suche nach einer Bestätigung für das richtige Arbeiten der Prozessor-Konfiguration hat sich wie auf dieser Seite beschrieben das Belasten einzelner und mehrere Kerne mittels “Core2MaxPerf” (zu finden als letzter Punkt im Abschnitt “Downloads”) erwiesen.
4. Juni 2010 – 15:11 | jan in sysadmin | 2 Kommentare »
Gerade mal wieder etwas mit RMI gemacht.
An frühere Probleme habe ich mich sogar noch erinnert.
Und auch der gesamte Ablauf (Stub/Skeleton, Registry, Building) war klar, so dass ich ihn sogar ohne Eclipse Plugin für RMI (habe ich leider erst hinterher gefunden – NetBeans konnte das mal von Haus aus, irgendwann) implementieren konnte.
Alles ging ratz-fatz und ich war wirklich zufrieden. Bis mich beim Deployment (Ubuntu-Server / Windows-Clients) die Realität eingeholt hat:
Client exception: java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: java.net.ConnectException: Connection refused
Tausend ähnliche Diskussionen gibt es zu dem Thema. Die meisten hatten wohl eine falsche /ect/hosts (Beispiel-Problem hier, ggf. einzelne Einträge anlegen!), vergessen, dem Server zu sagen auf welcher IP er da eigentlich bereits (!) lauscht (java.rmi.server.hostname) oder oder oder…
Alles Fehlanzeige. Ich habe alles richtig gemacht. Nach einer knappen Stunde wusste ich, dass die Verbindung zwischen Client und Server nicht mit unterschiedlichen (Sun vs. GCJ – Gnu Compiler for Java) JREs funktioniert.
Vielleicht könnte das noch in die FAQ…
14. April 2010 – 23:40 | jan in Entwicklung, sysadmin | Keine Kommentare »
Um mit UltraVNC verschlüsselte Verbindungen herzustellen, braucht man ein Plugin und generiert sich dann einen passenden Schlüssel im Einstellungs-Dialog.
Obwohl das Plugin bereits installiert und die Schlüssel verteilt waren, bekam ich folgende Fehlermeldung beim Verbindungsversuch:
The Plugin could not be loaded. Please check its integrity.
Da alle anderen Tipps keine Besserung brachten, versuchte ich mit dem “Sysinternals (MS) Process Monitor” das Problem einzugrenzen. Der Grund für den Fehler war, dass das Plugin daran scheiterte, im Pfad C:\Program Files\UltraVNC\msrc4plugin-tmp.d1 temporäre Dateien anzulegen. Seltsam allerdings, dass dies bisher niemandem aufgefallen ist. Als schnelle (wenn auch nicht saubere) Lösung, kann man den betroffenen Benutzern (in diesem Fall am VNC-Client-Rechner) einfach die entsprechenden Rechte für dieses Verzeichnis einräumen.
Weitere Lösungsversuche (für andere Problemursachen) mit dieser Fehlermeldung finden sich u.a. hier:
http://forum.ultravnc.info/viewtopic.php?t=3386
http://forum.ultravnc.info/viewtopic.php?t=4494
Das Problem hatte ich übrigens beim Erstellen und Testen eines UltraVNC-Single-Click (Remote-Support) Pakets. Dazu gibt es inzwischen sogar drei Varianten (inkl. Version mit Verbindungen über eigenen Relay-Server). Es lohnt sich, diese Lösung als (private) Alternative zu kommerziellen Produkten anzuschauen.
14. Juli 2009 – 12:12 | jan in sysadmin | Keine Kommentare »
Anstatt:
ffmpeg -i in.ogv -f flv -s 640x480 out.flv
die Audio-Streams neu zuordnen:
ffmpeg -i in.ogv -f flv -s 640x480 -map 0.1:0.0 out.flv
7. April 2009 – 08:46 | jan in sysadmin | Keine Kommentare »
Um Textdateien zwischen verschiedenen Zeichenkodierungen zu konvertieren, bieten viele Texteditoren entsprechende Funktionen an.
Diese Konvertierung kann man beispielsweise mit dem Tool iconv durchführen. Dazu kann man zuerst eine Liste der dem Tool bekannten Zeichenkodierungen anzeigen lassen:
iconv -l
Zu beachten ist dabei, dass die Bezeichnungen der Zeichenkodierungen je nach Betriebssystem variieren. Wenn man die passenden Kodierungen gefunden hat, gibt man Quell- und Zielkodierung für die Konvertierung an (hier von MACROMAN nach ISO-8859-1):
iconv -f MACROMAN -t ISO-8859-1 source.txt > result.txt
Falls ein Zeichen in der Ziel-Zeichenkodierung nicht vorhanden ist, gibt iconv eine Fehlermeldung wie diese aus:
iconv: illegal input sequence at position 43
Damit das Programm mit Konvertierungsproblemen umzugehen weiß, kann man sich entscheiden, die betroffenen Zeichen entweder zu verwerfen (//IGNORE) oder diese Zeichen anhand einer internen Tabelle in ähnliche (in der Ziel-Zeichenkodierung enthaltene) Zeichen umzuwandeln. Die Optionen werden direkt hinter der Ziel-Kodierung angegeben:
iconv -f MACROMAN -t ISO-8859-1//TRANSLIT source.txt > result.txt
Um das verantwortliche Zeichen genauer zu untersuchen, kann man die Datei mit einem Hex-Editor betrachten und den oktalen Wert des Bytes an dieser Stelle heraus finden:
$ hexdump -cb source.txt
0000000 D i e s i s t d i e Q u e
0000000 104 151 145 163 040 151 163 164 040 144 151 145 040 121 165 145
0000010 l l - D a t e i u n s e r e s
0000010 154 154 055 104 141 164 145 151 040 165 156 163 145 162 145 163
0000020 W o r k s h o p s 324 ! \n
0000020 040 127 157 162 153 163 150 157 160 163 324 041 012
000002d
Anschließend kann man das gefundene Zeichen (hier mit dem Oktalwert 324) mit tr löschen (oder durch ein anderes Zeichen ersetzen):
tr -d '\324'
23. März 2009 – 16:52 | jan in Workshop, sysadmin | Keine Kommentare »
Vor kurzem hat sich bei mir eine SD-Karte verabschiedet. Da das System (in allen Lesegeräten!) E/A-Fehler gemeldet hat, war ich mir recht sicher, selbst nichts mehr retten zu können.
Bei einer weiteren Karte sah es schon anders aus. Die fotografierende Person hat berichtet, dass die Kamera bei der Aufnahme einen Fehler brachte. Das zuletzt aufgenommene Bild war auf der Kamera nur noch “halb” zu sehen. Die Speicherkarte war zu diesem Zeitpunkt etwa zur Hälfte belegt.
Nach einem Neustart der Kamera war dann Schluss: die Kamera bot nur noch an, die vermeintlich kaputte Speicherkarte zu formatieren. Via Kartenleser an den PC (bzw. hier: Mac) angeschlossen, schlug das Betriebssystem ebenfalls ein Formatieren der Karte vor.
Da die Karte in diesem Fall ja noch erkannt wurde und das Betriebssystem auch keine “I/O-Errors” o.ä. protokollierte, versuchte ich mich an einer Rettung.
Zuerst habe ich (direkt vor Ort unter MacOS X) mittels dd ein Image der Karte angelegt. Bei der (bereits oben erwähnten) Hälfte der Karte brach der Lesevorgang dann ab, nur der erste Teil war im Image gesichert.
Ein erster Rettungsversuch an besagtem Image mit TestDisk (Frank erinnert sich hoffentlich!) brachte mich leider nicht weiter. Trotz diversen Hinweisen auf den mutmaßlichen Partitionstyp hat das Programm keine Partition mehr gefunden.
Da es sich in diesem Fall ausschließlich um JPEG-Dateien handelte, kam mir eine Suche nach Dateimustern in den Sinn. Vielleicht habe ich mich auch deshalb nicht weiter mit der Rettung durch TestDisk befasst. Basierend auf TestDisk gibt es inzwischen das Tool PhotoRec – speziell für die Rettung von Fotos auf Datenträgern.
Das Werkzeug läßt sich sehr einfach (im Prinzip wie TestDisk) bedienen und hat bereits nach wenigen Sekunden alle noch lesbaren Bilder gefunden.
Die Vermutung, dass die Kamera nach der Hälfte der Speichers auf der Karte wieder begonnen hat, am Anfang weiter zu schreiben (und damit die Partitionstabelle samt magischem Bitmuster zu überschreiben), brachte mich auf zwei Ideen:
- Vor einiger Zeit kursierten Meldungen über billige Speichermedien, in denen nicht die beworbene Speichermenge verbaut wurde.
- Vielleicht ist einfach nur an dieser “Grenze” (sprich der Grenze zur zweiten Hälfte) ein bzw. der zweite (?) Speicherbaustein ausgefallen.
Da es sich um eine Speicherkarte eines Herstellers handelt, der mit 30 Jahren “Garantie” wirbt, bin ich gespannt unter welchen Bedingungen nun eine neue Karte erhältlich sein könnte.
In diesem Zusammenhang möchte ich noch H2cdimage erwähnen, das mir beim Einlesen von problematischen CD/DVDs bereits oft geholfen hat. Auf dieser Seite sind außerdem noch weitere ähnliche Werkzeuge aufgeführt.
Zum Auffinden von Dateien anhand von Mustern hatte ich auch noch ein weiteres Programm im Kopf. Leider habe ich es bisher nicht wieder gefunden. Es gibt inzwischen eine riesige Anzahl an (kommerziellen) Daten-Rettungs-Werkzeugen, die einem leider etwas die “Sicht” nehmen…
Nachtrag:
MacOS X bietet beim Einlegen folgende Optionen an: Datenträger auswerfen, formatieren oder ignorieren. Zur weiteren Untersuchung an der Kommandozeile kann man den Dialog entweder “stehen lassen” oder auf ignorieren drücken.
Unter MacOS X alle Datenträger auflisten:
diskutil list
oder dann direkt eine bestimmte Platte mit
diskutil list /dev/diskX
TestDisk empfiehlt übrigens anstatt mit /dev/diskX zu arbeiten, das zugehörige Raw-Device unter /dev/rdiskX zu verwenden.
13. März 2009 – 10:49 | jan in sysadmin | 1 Kommentar »
Ein Upgrade des kompletten Systems auf eine neue Version funktioniert unter Debian bzw. Ubuntu eigentlich ganz gut. Da Feisty (7.04) allerdings seit Oktober vergangenen Jahres nicht mehr unterstützt wird, sind auch die zugehörigen Paketquellen verschwunden. Also ist eigentlich eine Neuinstallation angebracht. Da ich jedoch ein System hatte, das völlig unkritisch war, wollte ich das Upgrade unbedingt ausprobieren.
Um generell ein Upgrade der Distribution durchzuführen benötigt man das Python-Script do-release-upgrade (in der Server-Version, ansonsten bietet einem der Update-Manager das Upgrade an). Falls es nicht installiert ist, bekommt man es mit dem Paket update-manager-core aus dem Release-Archiv unter http://old-releases.ubuntu.com/ubuntu
Nach der Installation kann man mit do-release-upgrade zum nächsten Release wechseln (hier 7.10). Allerdings ist im Upgrade-Paket der Ubuntu-Mirror des jeweiligen Landes eingetragen – der in diesem Fall jedoch wie bereits gesagt, die benötigten Pakete nicht mehr liefert. D.h. das Upgrade einer Distribution ist Angelegenheit der momentan installierten Distribution – einige Pakete müssen aus den Paketquellen des installierten Releases heruntergeladen werden.
Hier ist beschrieben (im Beitrag “Vin’c said on 2009-02-27:”, leider sind keine Anker auf der Seite), wie man in den Upgrade-Vorgang eine Pause einbaut, die Adresse des Servers ändert und dann wieder die sources.list der alten Distribution anlegt, so dass der Upgrade-Prozess den Namen der Distribution darin austauschen kann.
Das Upgrade ging bei mir am Ende mit diversen “Segmentation Faults” schief. Die Lösung gibts hier. Allerdings konnte ich das Paket libc6-xen schon nicht mehr installieren, weshalb ich zuerst das Verzeichnis /lib/tls von einem funktionierenden System kopieren musste. Nach einigen aptitude -f install war dann 7.10 endlich installiert und lief auch nach einem Neustart noch einwandfrei.
Also auf zum Upgrade 7.10 auf 8.04 LTS. Ein do-release-upgrade sollte es erledigen. Allerdings kam das Script nicht über den Versuch hinaus, die Liste der Distributionen herunterzuladen. Auch der manuelle Aufruf über die Python-Shell brachte mich nicht weiter.
Okay, ich die Suche nach der Ursache dauerte mir zu lange. Einfach gutsy durch hardy in der /etc/apt/sources.list ersetzt, aptitude update und anschliessend ein aptitude dist-upgrade aufgerufen. Die Auflösung eines kleinen Konfliktes bestätigt, danach nochmals ein upgrade ausgeführt und schon war ich am Ziel:
root@cx2:/root# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 8.04.2
Release: 8.04
Codename: hardy
Unterwegs hatte ich noch folgende Befehle gebraucht, vielleicht helfen Sie dem ein oder anderen ja auch mal weiter:
Herausfinden, zu welchem Paket eine installierte Datei gehört:
dpkg -S /pfad/zu/datei
Für nicht installierte Dateien verwendet man entweder “apt-file” oder die Suche der Distribution (http://packages.ubuntu.com – zweites Formular!)
Liste der Installierten Pakete erzeugen und diese Pakete (woanders) wieder installieren:
dpkg --get-selections | grep "\binstall" | awk '{print $1}' > list.txt
xargs -n1 aptitude install -y < list.txt
(Oder via --set-selections)
12. März 2009 – 16:28 | jan in sysadmin | Keine Kommentare »
Da der Supportzeitraum des vorherigen Systems schon lange peinlicher weise viel zu lange abgelaufen war, musste eine aktuelle Version her. Ich habe mich für die LTS-Ausgabe von Hardy entschieden, da diese bis 2013 unterstützt wird.
Bei der Installation unter XEN 3.0.x sind ein paar Probleme aufgetreten, die ich hier kurz für die Nachwelt (vor allem für mich wenn ich ehrlich bin) archivieren möchte:
Eigentlich dachte ich, mit dem Paket libc6-xen auf der sicheren Seite zu sein was die “Segmentation Faults” und die TLS-Libraries betrifft. Die Installation alleine genügt jedoch nicht. Folgendes muss noch ausgeführt werden, damit die Anwendungen auch diese libc verwenden:
echo 'hwcap 0 nosegneg' > /etc/ld.so.conf.d/libc6-xen.conf && ldconfig
Da das /tmp-Verzeichnis auf einer eigenen Partition liegt (noexec, nosuid, …) und unter /tmp eingebunden wird, müssen die Rechte nach dem ersten Mount gesetzt werden (das gleiche betrifft ggf. /var/tmp):
chmod 0777 /tmp && chmod +t /tmp
Nach dem debootstrap darf man sich noch mit den “Locales” beschäftigen (im laufenden System bzw. im chroot):
cat > /var/lib/locales/supported.d/de <<EOF
de_DE.UTF-8 UTF-8
de_DE@euro ISO-8859-15
EOF
locale-gen
export LC_ALL=de_DE.UTF-8
update-locale
Dann sollte man aber auch im SSH-Client (zumindest in Putty) den Zeichensatz auf UTF-8 stellen.
3. März 2009 – 15:27 | jan in sysadmin | 1 Kommentar »
Unter MacOS X 10.4 konnte ich mit einem Vodafone WebSessions (Prepaid UMTS-Zugang) UMTS-Stick K3520 zwar eine Verbindung herstellen – sie wird aber nach wenigen Sekunden wieder beendet.
Im Programm “Internet-Verbindung” kann man im Menü “Fenster” das Verbindungsprotokoll anzeigen und man kommt zu folgender – etwas aussagekräftigeren – Fehlermeldung als Grund für das Problem:
IPCP: timeout sending Config-Requests
Nachdem ich wirklich viele Dinge ausprobiert hatte, habe ich diese Diskussion gefunden und folgende Vorgehensweise hat funktioniert:
- Den USB-Stick entfernen und alle zugehörigen Programme schliessen.
- Die Datei
/etc/ppp/options bearbeiten (falls vorhanden: Sicherheitskopie machen, ansonsten anlegen) und folgendes eintragen:
refuse-chap
refuse-mschap
refuse-mschap-v2
- Anschliessend den USB-Stick erneut anschliessen und kurz warten.
- Dann das Programm “Vodafone Mobile Connect” starten und die gefundene Verbindung aktivieren (ansonsten manuell z.B. “DE Vodafone.de WebSessions” auswählen).
- Die Verbindung kann dann über “Internet-Verbindung” hergestellt werden.
Entgegen der Meinung in anderen Diskussionen funktioniert die Verbindung bei mir OHNE die Angabe von Benutzername/Kennwort (Felder leer lassen) und auch dann, wenn Airport (WLAN) aktiviert ist und sogar wenn ich bereits vor der UMTS-Verbindung mit einem Funknetz verbunden bin.
27. Februar 2009 – 17:15 | jan in sysadmin | 1 Kommentar »