check_openmanage läuft nicht unter CentOS 6.4
Nach dem Update auf CentOS 6.4 habe ich in Nagios bemerkt, dass check_openmanage einen Fehler auswirft:
Storage Error! No controllers found
Problem running 'omreport chassis memory': Error: Memory object not found
Problem running 'omreport chassis fans': Error! No fan probes found on this system.
Problem running 'omreport chassis temps': Error! No temperature probes found on this system.
Problem running 'omreport chassis volts': Error! No voltage probes found on this system.
Chassis Service Tag is bogus: 'N/A'
Erster Versuch: Openmanage aktualisieren hat nichts gebracht.
Auch hier hat Googeln die Hilfe gebracht:
https://www.redhat.com/archives/rhelv6-list/2013-February/msg00045.html
Neuerdings sind die IPMI-Kernelmodule statisch in den Kernel gelinkt. Damit kommt OpenManage noch nicht klar. Die Lösung: OpenIPMI installieren und dann klappts auch in OpenManage wieder:
yum install OpenIPMI
chkconfig ipmi on
service ipmi start
/opt/dell/srvadmin/sbin/srvadmin-services.sh restart
Garmin Edge 305 und Windows 7 64-Bit
Mein Garmin Edge 305 konnte plötzlich nicht mehr von Garmin Training Center oder GPSBabel angesprochen werden. Im Gerätemanager wurde er angezeigt, allerdings mit einem kleinen Fragezeichen. Ich habe den Treiber deinstalliert, den neuen Garmintreiber installiert, aber alles ohne Erfolg. Am Ende brachte mich ein Hinweis im Garmin-Forum zur Lösung des Problems: Samsung Kies war der Übeltäter.
Im Taskmanager habe ich alle Kies*-Prozesse beendet und der 305 war wieder benutzbar.
CentOS 6 und das Netzwerk
Nachdem ich sieben Monate auf CentOS 6 gewartet habe, war es nun endlich so weit. Schnell hatte ich den neuen Redhat-Klon auf ein paar Rechnern installiert, allerdings anfangs nirgends eine Netzwerkverbindung.
Hier das Ergebnis meiner Recherchen:
- Standardmäßig sind in CentOS die Netzwerkverbindungen deaktiviert. Dies muss man in
/etc/sysconfig/network-scripts/ifcfg-ethX(ONBOOT="yes") oder über die GUI entsprechend umstellen. - In den Minimalinstallationen wird “NetworkManager” nicht mitinstalliert, allerdings sind die Netzwerkschnittstellen so konfiguriert, als sei er da. Auch wenn man die Schnittstellen aktiviert (siehe oben) bekommt man per DHCP keine Adresse. Lösung: In
/etc/sysconfig/network-scripts/ifcfg-ethXden Networkmanager deaktivieren und die IP-Adresse oder DHCP konfigurieren, Netzwerk neu starten und gut is.
SHA-1 – Hashes in Android erstellen
public static final String Sha1(final String s) {
try
{
MessageDigest digest = java.security.MessageDigest
.getInstance("SHA-1");
digest.update(s.getBytes());
byte messageDigest[] = digest.digest();
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < messageDigest.length; i++)
{
String h = Integer.toHexString(0xFF & messageDigest[i]);
while (h.length() < 2)
h = "0" + h;
hexString.append(h);
}
return hexString.toString();
}
catch (NoSuchAlgorithmException e)
{
e.printStackTrace();
}
return "";
}
Quelle: http://www.kospol.gr/204/create-md5-hashes-in-android/
Skype 5.3 startet nicht
Problem
Gestern hat sich mein Skype-Client automatisch auf die Version 5.3 aktualisiert und alles lief, wie gewohnt. Gestern abend habe ich ihn beendet, heute morgen gestartet, aber anstelle des Clients kam der Installer, der gemeint hat, er müsse noch was installieren, damit Skype läuft. Der Installer brach nach ca. 30 Sekunden ab, aber kein Skype lief auf dem Rechner.
Lösung
- Skype deinstallieren
- Skype neu installieren
Das war’s. Alles tut wieder.
Da freut man sich doch schon fast, dass Skype wahrscheinlich bald per Windows Update aktualisiert wird, jetzt, wo es Microsoft doch gekauft hat.
Nachtrag 08.06.2011
Heute ist mein Skype nach dem Starten immer abgestürzt.
Ich habe dann in %appdata%\skype die Datei shared.xml gelöscht, und es lief wieder, allerdings dachte ich, dass dieses Problem in meiner Skype-Version schon behoben sei.
Tool: XPath Visualizer
Sowas, wie ein Regexbuilder für XPath. Man Lädt ein XML-Dokument, gibt einen XPath-Ausdruck ein und sieht sofort, was man damit “trifft”. Super zum rum probieren.
Kalenderwochen-Nummerierung in .NET
Um die Realität auf der ganzen Welt einigermaßen widergeben zu können, ist das .NET-Framework sehr flexibel, wenn es darum geht, die Nummer einer Kalenderwoche zu ermitteln.
Der Methode CultureInfo.CurrentCulture.Calendar.GetWeekOfYear kann man sagen, welches der erste Wochentag ist und welche Regel anzuwenden ist, um die KW eines DateTime-Objekts zu identifizieren. Ich habe mich ab und zu gefragt, welche Einstellungen ich dabei für die beiden genannten Regeln treffen soll.
Wie gut, dass es für alles Normen gibt. In DIN 1355 ist nämlich unter anderem festgehalten, wie das für deutsche Kalender auszusehen hat:
- Beginn der Woche ist Montag (was nebenbei den Mittwoch von seiner Rolle als Mitte der Woche enthebt)
- KW 1 ist die Woche, zu der vier oder mehr Tage der ersten sieben Januartage zählen
Auf .NET angewendet heißt das:
CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(myDate, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday)
MySQL: mysqld.log per syslog (an Splunk senden)
MySQL kann leider erst ab Version 5.1.irgendwas seine Fehlermeldungen bei Syslog abgeben. Damit ich sie schon jetzt dort hin bekomme, habe ich folgenden Befehl verwendet:
tail -f /var/log/mysqld.log | logger &
Das Lässt sich sicher auch in ein initscript verpacken und man müsste dran denken, wenn man für die mysqld.log einen logrotate-Job einrichtet.
C#: System.DayOfWeek output localized Weekday name
I have a plain DayOfWeek value and want to output the corresponding localized weekday name. Since it is an enum, there is no localization, says Microsoft. This is by design and will not be implemented in any way. I shall use DateTime’s .ToString(“dddd”). Alright, but I have no DateTime object from which I get the DayOfWeek. No problem. Here’s a workaround:
private string GetLocalizedWeekdayName(DayOfWeek d)
{
DateTime dt = DateTime.Today;
while (dt.DayOfWeek != d)
{
dt = dt.AddDays(1);
}
return dt.ToString("dddd");
}
In the comments Chris suggested a more straightforward approach. Though I never tried it I believe that it will do exactly the same:
private static string GetLocalizedWeekdayName(DayOfWeek weekday)
{
return CultureInfo.CurrentCulture.DateTimeFormat.DayNames[(int)weekday];
}