Archiv ‘Linux’

Freitag, 11. April 2008

Hilfreiche bash-Shortcuts

  • Ctrl+a An den Anfang der Zeile springen
  • Ctrl+e Ans Ende der Zeile springen
  • Ctrl+w Wort löschen
  • Ctrl+u Alles vor dem Cursor löschen
  • Ctrl+k Alles nach dem Cursor löschen
  • Ctrl+l Bildschirm löschen (wie clear auf der Kommandozeile)
  • Ctrl+c Momentan laufenden Befehl abbrechen
  • Ctrl+d Logout

Tags:
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 1. März 2008

CUE-Sheet für MP3s fehlt?

Da hat man aus hier nicht genannten dubiosen Quellen ein Musik-Album im MP3-Format heruntergeladen – und nun dies: Anstelle der einzelnen Songs liegt ein einziges, grosses MP3 auf der Festplatte. Um das Album auf den iPod zu kopieren und jeden Song einzeln anwählen zu können, muss die grosse Datei ein die Einzelteile zerlegt werden. Aber wie?

Kein Problem! Man bediene sich …

cuesheet heaven

… um das entsprechende CUE-Sheet (eine einfach aufgebaute Text-Datei, die die exakten Startzeiten der in einem grossen MP3 enthaltenen Lieder aufführt) aufzutreiben.

Unter Linux genügt mp3splt, um die Datei anhand der Angaben in dieser Datei aufzuschlitzen:

mp3splt -c sheet.cue audio.mp3

(Nachtrag: Wie ich gerade bemerke, habe ich darüber ja schon einmal gebloggt; damals empfahl ich aber cuemaster)

Tags: , ,
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 23. Februar 2008

Unter Linux und Mac OS X identische Dateien finden

Man bemächtige sich der Sourcen von fdupes, kompiliere diese, lege das Binary im Ordner /usr/local/bin ab (oder in einem anderen, bevorzugten Ordner) und führe fdupes dann im gewünschten Verzeichnis mit den doppelten Dateien aus:

$ fdupes -r .

Wenn man noch die Option -d dran hängt, kann man überzählige Dateien gleich löschen lassen (keine Angst; jeder Löschvorgang benötigt die Bestätigung durch den Benutzer):

$ fdupes -r -d .

(Profis werden sich mit xargs etwas basteln, um den Löschvorgang zu automatisieren)

Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 31. Januar 2008

Wer kommentiert auf Winkelried.info?

Winkelried ist derzeit die rechte Bastion in der linkslastigen schweizerischen Blogosphäre. Lieblingsthemen:

Leider ist die Qualität der Beiträge oftmals nicht überzeugend, desöfteren sind Texte wirr und wenig schlüssig.

Schmunzeln musste ich heute, als ein „Richard Flühmann“ einen Abgesang auf den Informatikstandort Schweiz publizierte. Die Linken seien – wie übrigens an etwa allem, was in der Schweiz derzeit krumm läuft – schuld, dass wir hier nicht zur Weltspitze gehörten.

Im Grund geht es im Artikel darum, dass Winkelried seinen Server im Ausland (konkret: Den USA) betreiben muss, um vor Klagen (von Linken) wegen Verstössen gegen Gesetze (die selbstverständlich von Linken erlassen wurden) gefeit zu sein. Skandal!

Schon einmal etwas von Referendum und Initiative gehört?

Die Untersuchung

Wer sich gelegentlich die Kommentare durchliest, wird hier kaum etwas neues entdecken: Die Kommentare auf Winkelried leben von einigen wenigen, sehr Winkelried-affinen Personen. Manchmal kommt es einem vor, als wäre einfach der polternde Stammtisch aus einem ruralen Dörfchen in das Internet übertragen worden – man ist unter sich, jeder Kommentator plappert dem anderen nach und gibt diesem Recht. Und selbstverständlich wird immer sowas von auf den Tisch gehauen.

Total Kommentare: 673

1. schlechtmensch 157 23.33%
2. Kulturbereicherer 83 12.33%
3. framei 58 8.62%
4. derdernichtlesenkann 39 5.79%

Die Hälfte der Kommentare (50%) stammen von diesen vier Personen.

Hintergrund

Zur Analyse der Kommentare habe ich die auf der Web-Site aufgelisteten „Top 100“-Beiträge (= Beiträge mit den meisten Ansichten) heruntergeladen.

Hierzu kopierte ich die Liste aus dem HTML-Quelltext der Homepage, fügte diese in TextMate ein und startete die Bereinigung, um die „nackten“ URLs zu erhalten:

  • Suchen: <li><a href="
    Ersetzen: - (leer)
  • Suchen: /(".*</li>)
    Ersetzen: - (leer)

Übrigens, lieber „Webdesigner“: Standardkonformes HTML umschliesst eine Schlange von <li>s mit einem <ul>-Tag.

Anschliessend liess ich wget die in der Liste aufgeführten URLs herunterladen:

$ wget -i winkelried-urls.txt

Den Rest der Analyse übernahm ein PHP-Script, das die 100 HTML-Dateien mit PCRE nach dem Pattern /<h4>(.*?)<\/h4>\s<br>\s+schrieb/ durchsuchte, von Links trennte und nach Häufigkeit ordnete.

Nachtrag: Die komplette Liste

1 schlechtmensch 157 23.33%
2 Kulturbereicherer 83 12.33%
3 framei 58 8.62%
4 derdernichtlesenkann 39 5.79%
5 viktor 30 4.46%
6 Achilles 27 4.01%
7 tin 18 2.67%
8 Loco 18 2.67%
9 Rose_Auslaender 17 2.53%
10 gebsn 15 2.23%
11 musli_weg 13 1.93%
12 Trojaner 12 1.78%
13 David 11 1.63%
14 und_so 10 1.49%
15 Menahem 8 1.19%
16 Tyrann 8 1.19%
17 Landammann 7 1.04%
18 hinschauende 6 0.89%
19 protectisrael 6 0.89%
20 Rudenz 6 0.89%
21 asylstrasse 6 0.89%
22 schwizli 5 0.74%
23 Rütliborat 5 0.74%
24 benzmann 4 0.59%
25 hoppelhase 4 0.59%
26 Schafspelz 4 0.59%
27 set_it_straight 4 0.59%
28 mauluege 3 0.45%
29 hofmae 3 0.45%
30 emeidi 3 0.45%
31 Oli Garch 3 0.45%
32 white.elefant 3 0.45%
33 Toranaga 3 0.45%
34 elminster 3 0.45%
35 Winkelried 3 0.45%
36 Judith 3 0.45%
37 lionne56 3 0.45%
38 Martin Prochazka 2 0.3%
39 eidgenoss 2 0.3%
40 msarbach 2 0.3%
41 Exackt 2 0.3%
42 Wahlen – Blocher zwischen Staatsstreich und Putsch | DER MISANTHROP 2 0.3%
43 stammtischpolteri 2 0.3%
44 Dumdidum 2 0.3%
45 weissnicht 2 0.3%
46 www.amade.ch 2 0.3%
47 Peter 2 0.3%
48 Tquila_sunrise 2 0.3%
49 Fracas 2 0.3%
50 admin 2 0.3%
51 Markus Giger 2 0.3%
52 KonradBerlin 2 0.3%
53 Iceman 1 0.15%
54 hyde11 1 0.15%
55 Wisi 1 0.15%
56 Winkelruedi 1 0.15%
57 AmonAmarth 1 0.15%
58 links.mitte.rechts 1 0.15%
59 Blocher weg – Unterstützt die SVP! « Leben – Gedanken – Blog 1 0.15%
60 WINKELRIED.INFO » Herman bedauert Äusserungen über Nazi-Zeit 1 0.15%
61 wilderer 1 0.15%
62 donaldson 1 0.15%
63 HellerBarde 1 0.15%
64 Dominik Hennig 1 0.15%
65 omc 1 0.15%
66 David Frankfurter 1 0.15%
67 mousseman 1 0.15%
68 Antisemitismus im Wahlkampf : PROTECT-ISRAEL.CH 1 0.15%
69 WINKELRIED.INFO » SRG-Haldimann: durch Fehler zur Selbsterkenntnis? 1 0.15%
70 M.Giger 1 0.15%
71 Anno_Domini 1 0.15%
72 a.k. 1 0.15%
73 rob debank 1 0.15%
74 grass 1 0.15%
75 Ueli Maurer 1 0.15%
76 Asterix con turbante: la islamización de Germania « NUEVA EUROPA 1 0.15%
77 Mathematiker 1 0.15%
78 jdoute 1 0.15%
79 Eidgenosse 1 0.15%
80 Brielmaier’s Weblog » Schleudertrauma 1 0.15%
81 iceman80 1 0.15%
82 anaximander123 1 0.15%
83 BurimAlbania 1 0.15%
84 GeistesWelt :: Zottel rettet die Schweiz :: September :: 2007 1 0.15%

Labels: Blogosphäre, IT, Linux, Schweiz

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 30. Januar 2008

Defekte Windows-Installationen mit Ubuntu und rsync übers Netzwerk sichern

Wie man einen Windows-Rechner mit Knoppix und einer externen USB-Festplatte backupt, habe ich bereits im Artikel Defekte Windows-Installationen mit Knoppix und rsync sichern aufgezeigt.

Nun gehen wir noch ein bisschen weiter: Die Linux-Live-CD der Wahl enthält dieses mal Ubuntu 7.10 und die Backup-Destination ist ein Linux-Server im Netzwerk.

Windows-Partition mounten

Zuerst heisst es, die Windows-Partition zu mounten. Da es sich um Ubuntu handelt, wird die Platte nicht automatisch in /etc/fstab aufgenommen (Knoppix tut das meines Wissens), weshalb man nicht einfach ein

# mount /dev/hda1

machen kann.

Zuerst erstellt man sich deshalb ein Verzeichnis unter /mnt und mountet dann die Partition

# mkdir /mnt/winme
# mount -t msdos /dev/sda1 /mnt/winme

Wer sich – wie ich – nicht ganz sicher ist, ob es sich nun um hda1 oder sda1 handelt, muss ausfindig machen, wie die Platte angesprochen wird. Mangels Befehlskenntnis musste ich das graphische Partitionierungstool von Ubuntue heranziehen.

Nachtrag: Einfacher (und auf der Kommandozeile) wäre es vielleicht mit fdisk gegangen …

FAT oder FAT32?

Während dem Kopieren merkte ich dann, dass die Dateinamen abgeschnitten werden (8+3 halt, willkommen in der DOS-Welt!). Deshalb wäre es das nächste Mal wohl angebracht, beim mounten ein anderes Dateisystem anzugeben:

# mkdir /mnt/winme
# mount -t vfat /dev/sda1 /mnt/winme

Da ich dies nicht probiert habe, kann ich nicht sagen, ob vfat als Option existiert und FAT32-Partitionen mit langen Dateinamen mountet …

Files rüberspitzen

Sobald die Platte gemountet ist (in meinem Fall wütete während Minuten zuerst noch dosfsck und produzierte eine Menge wiederhergestellter Dateien), kann die Kopieraktion beginnen:

rsync -a -v -e ssh /source/dir user@host:/destination/dir

Und irgendwann einmal ist die Kopiererei fertig:

sent 4589083864 bytes  received 958590 bytes  3190853.29 bytes/sec
total size is 4585802793  speedup is 1.00

Tags: ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 27. Januar 2008

YouTube-Video mit mplayer in MP3 konvertieren

$ mplayer -dumpaudio -dumpfile song.mp3 song.flv
$ mplayer -vc null -vo null -ao pcm:file=song.wav song.flv

Quelle: Tonspur von Youtube Videos in MP3/OGG Datei wandeln

Wer keine Ahnung hat, wie man die URL eines YouTube-Videos ausfindig macht, wie man die flv-Datei mit wget herunterlädt, noch nie von mplayer gehört hat und nicht weiss ist, was eine Shell ist, dem wird empfohlen, den Song im iTunes Music Store zu kaufen. Oder er ackert die Anleitung durch …

PS: Ich habe mir folgenden Song runtergeladen:

Tags:
Labels: IT, Linux

3 Kommentare | neuen Kommentar verfassen

Mittwoch, 9. Januar 2008

Treppenbildung beim Einfügen von Code in vim

Da auch ich zu den faulen Zeitgenossen gehöre, die dann und wann bestehende Teile von Konfigurations-Dateien durch die Gegend kopieren und auf anderen Systemen in Dateien einfügen möchte, habe ich mich immer wieder über die Auto Indentation von vim aufgeregt.

Sobald nämlich Code eingefügt wird, der bereits eingerückt ist, rückt vim den Code eigenhändig erneut ein, was die Einrücktiefe für jede Zeile erhöht.

Die Lösung des Problems ist ganz simpel – ich frage mich gerade, wieso ich nicht längst danach gegoogelt habe:

:set paste

Damit schaltet man vim in den Einfüge-Modus ein, die Einrückung von bereits eingerücktem Text wird damit unterbunden.

Jetzt also nur noch …

Ctrl+I
Apple+V

… und schon steht der Text wie gewünscht in der Datei.

Quelle: Tip #330: how to stop auto indenting

Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 15. Dezember 2007

Netzwerkdrucker mit Avahi anpreisen


Bonjour Printer Sharing
Originally uploaded by emeidi

Wer Mac OS X in einem Netzwerk einsetzt, in dem sich ein etwas teurerer Netzwerkdrucker befindet, wird es längst wissen: Die Dinger preisen sich im Druckdialog unter „Bonjour Printers“ automatisch an. Die von Apple (mit?)entwickelte Technologie ist unter vielen Namen bekannt: Rendezvous, Bonjour, mDNS, Zeroconf.

Hier zu Hause betreibe ich einen HP Laserjet 1300 (der kann Postscript, was in heterogenen Umgebungen mit Linux und Mac OS X von Vorteil ist), der am LPT-Port eines Debian GNU/Linux Servers hängt. Druckaufträge aus dem Netzwerk nimmt lprng mit dem LPD/LPR-Protokoll entgegen (CUPS wäre in diesem Fall Overkill).

Als meine Freundin vor Kurzem bei mir zu Besuch war und von ihrem Laptop etwas ausdrucken wollte, erinnerte ich mich an die Einfachheit der Drucker-Installation mit Bonjour. Irgendwie sollte es doch möglich sein, die Funktionalität mit Linux nachzubauen?

Tatsächlich habe ich es nach einigem Pröbeln hingekriegt. Als erstes installiert man den avahi-daemon, der im Hintergrund die ganze mDNS-Geschichte abhandelt:

# apt-get install avahi-daemon

Anschliessend erstellen wir eine XML-Datei unter /etc/avahi/services mit folgendem Inhalt:

$ cat /etc/avahi/services/printer.service 
<service-group>
<name replace-wildcards="yes">HP Laserjet 1300 on ALPHA</name>

<service>
<type>_printer._tcp</type>
<host-name>mad4you.homeip.net</host-name>
<port>515</port>
<txt-record>txtvers=1</txt-record>
<txt-record>rp=Laserdrucker</txt-record>
<txt-record>ty=HP Laserjet 1300</txt-record>
<txt-record>product=(HP Laserjet 1300)</txt-record>
</service>
</service-group>

Erläuterung der Anweisungen

  • type: _printer._tcp Es wird das LPD/LPR-Protokoll verwendet
  • hostname: IP-Adresse oder Domain-Name des Druckservers
  • port: 515 Die Portnummer, auf der LPD lauscht
  • txt-record: rp=Laserdrucker Sehr wichtig: Der Queue-Name des Druckers auf dem LPD-Server. Stimmt dieser nicht, wird der Druckauftrag nicht angenommen. Wie die definierten LPD-Queues heissen, erfährt man aus /etc/printcap
  • ty, product Die Angaben hier sind nicht zwingend nötig – Mac OS X erkennt den Drucker dank diesen Angaben vollautomatisch und richtet die entsprechenden Drucker-Treiber ein (sofern bereits installiert).

Einen gründlichen Einblick liefert die offizielle Dokumentation von Apple: Bonjour Printing Specification

Vielfältige Anwendungsarten

Dieses Protokoll beschränkt sich überhaupt nicht nur auf die Bekanntmachung von Druckern im Netzwerk. Genauso kann man SSH-Server oder Web-Site URLs in den Äther hinaus funken.

Tags:
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 15. Dezember 2007

Load average: 87.35


Localhost – Processes
Originally uploaded by emeidi

Im Abstand von einigen Wochen ereignet sich auf meinem kleinen Heimserver hier zu Hause ein immer wieder gern gesehenes Schauspiel:

Tasks: 829 total, 54 running
  Mem[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||822/1012MB]     Load average: 66.20 76.20 87.35 
  Swp[||                                                        46/1961MB]     Uptime: 118 days(!), 02:10:10

Als ich vor einigen Wochen zum betreffenden Zeitpunkt endlich einmal zu Hause weilte (sonst bin ich in der Nacht von Samstag auf Sonntag irgendwo am rumfeiern), fand ich endlich heraus, wieso es diesen Spike gibt:

$ cat /proc/mdstat 
Personalities : [raid0] [raid1] 
md0 : active raid0 md10[0] md11[1]
      488390656 blocks 1024k chunks
      
md11 : active raid1 hdg1[0] hdk1[1]
      244195904 blocks [2/2] [UU]
      [===========>.........]  check = 58.2% (142331328/244195904) finish=60.5min speed=28042K/sec
      
md10 : active raid1 hde1[0] hdi1[1]
      244195904 blocks [2/2] [UU]
      [==========>..........]  check = 54.4% (132947904/244195904) finish=70.5min speed=26291K/sec
      
unused devices: 

APC Smart-UPS SUA750I
Originally uploaded by emeidi

Ganz imposant, dass sich der Check der Arrays auch in der Last-Anzeige der USV widerspiegelt.

Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 5. Dezember 2007

monit endlich brauchbar

Monit now sends three icmp echo requests in one cycle by default.
It is possible to customize the echo requests count using the
count parameter of icmp test […]

Quelle: Re: Any Ping Sensitivity Adjust

Wie oft habe ich meine INBOX zugespammt erhalten, weil von mir betreute „Server“ mit Billig-Netzwerkkarten schlicht und einfach ein ICMP Echo „vergessen“ haben? Nun hoffe ich, dass mit

check host myserver with address 192.168.1.1
    if failed icmp type echo count 5 with timeout 3 seconds
    then alert

Ruhe einkehrt …

Tags:
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen