Anzeige des letzten Systemstarts auf Linux-Systemen

Heute habe ich mir überlegt, dass es doch praktisch wäre, zu wissen, wann mein Server das letzte Mal gebootet wurde. Die Ausgabe von „uptime“ fand ich dabei nicht so praktisch, da man immer erst kalkulieren musste. Nach einiger Suche fand ich einen Thread bei superuser.com, der sich damit beschäftigte.
Anzeige des letzten Systemstarts auf Linux-Systemen weiterlesen

Hinzufügen eines Suffix an jede Zeile einer Datei mittels sed

Heute habe ich für ein Script eine Möglichkeit gesucht, an jede Zeile einer Datei einen Suffix anzufügen. Also beispielsweise aus

foo
bar
baz

Das folgende zu machen:

fooULI
barULI
bazULI

Um das zu erreichen habe ich sed benutzt:

sed "s/.*/&suffix/" Dateiname

Also in diesem Fall:

sed "s/.*/&ULI/" Dateiname

Vielleicht hilfts ja jemandem 😉

Löschen und ersetzen mehrerer aufeinanderfolgender Leerzeichen mittels tr unter Linux

Heute hatte ich das Problem, dass ich aus einer Ausgabe eines Konsolenprogramms alle mehrfach aufeinanderfolgenden Leerzeichen löschen und diese jeweils durch ein einzelnes Leerzeichen ersetzen wollte. Leider hatte ich die Lösung nicht sofort, daher hier mal wieder ein Merkzettel 😉 Die Lösung fand ich bei dem Programm „tr“:

tr -d "\ "

Das wars 😉 Sicher gibt es eine Million andere Wege, schreibt einen Kommentar, wenn ihr das anders machen würdet!

Spezielle USE-Flags für ein Paket und Demaskierung von Paketen unter Gentoo

Spezielle USE-Flags für ein Paket

Möchte man für ein Paket bestimmte USE-Flags setzen, ohne dass es in der make.conf global gesetzt wird, kann man die Datei /etc/portage/package.use verwenden.
Beispielsweise möchte ich für das Paket mysql die berkdb deaktivieren. Daher habe ich entsprechend:

dev-db/mysql -berkdb

in der obenstehenden Datei eingetragen.
Möchte man jedoch USB-Support für apcupsd (Ein Programm zur Steuerung von USV’s) haben, so muss man folgendes eintragen:

sys-power/apcupsd usb

Jedes Paket beansprucht dabei eine Zeile.

Spezielle Pakete demaskieren

Oft kommt es vor, dass man bestimmte Pakete installieren möchte, es aber von Portage mit dem Hinweis „All ebuilds that could satisfy „XXXX“ have been masked.„. Dies ist beispielsweise beim Paket „dev-php5/ZendOptimizer“ der Fall. Dieses Paket wurde für die Plattform x86 leider noch nicht stabilized, was man aber selbst in der Datei /etc/portage/package.keywords lösen kann. Das sollte man sich natürlich gut überlegen, manche Pakete werden jedoch „nie“ stabilisiert, weshalb man diesen Schritt schon mal gehen kann. Eine andere Möglichkeit ist beispielsweise bei Paketen, wo noch keine Version freigegeben wurde, eine Freigabe zu erzielen.

Dazu fügt man:

dev-php5/ZendOptimizer ~x86

hinzu, und schon wird die Maskierung für die Plattform x86 entfernt. Will man es für alle Plattformen freigeben, so genügt ein:

dev-php5/ZendOptimizer

Jedes Paket beansprucht dabei eine Zeile.

Einlesen von Eingaben ohne gleichzeitige Ausgabe in der Kommandozeile mittels read und stty

Manchmal hat man den Fall, dass man vom Benutzer Eingaben entgegen nehmen will, welche nicht gleichzeitig in der Kommandozeile ausgegeben werden sollen. So beispielsweise im Fall einer Passworteingabe, die nicht im Log landen soll. Hierzu schaltet man einfach mittels stty die Ausgabe ab und nach dem Einlesen wieder ein.

echo "Dein Passwort:"
stty -echo
read PASSWD
stty echo

In der Variable $PASSWD ist nun die Eingabe abgelegt.