Gut man kann neu booten oder besser
echo "- - -" > /sys/class/scsi_host/hostX/scan
nehmen
Gut man kann neu booten oder besser
echo "- - -" > /sys/class/scsi_host/hostX/scan
nehmen
Will man Platten über die Labels mounten so gibt /dev/disk einen guten Überblick. Ein Beispiel:
gmueller@gm:~$ tree /dev/disk
/dev/disk
|-- by-id
| |-- ata-Hitachi_HTS541616J9SA00_SB2481SJEPV72E -> ../../sda
| |-- ata-Hitachi_HTS541616J9SA00_SB2481SJEPV72E-part1 -> ../../sda1
| |-- ata-Hitachi_HTS541616J9SA00_SB2481SJEPV72E-part3 -> ../../sda3
| |-- ata-Hitachi_HTS541616J9SA00_SB2481SJEPV72E-part4 -> ../../sda4
| |-- ata-Hitachi_HTS541616J9SA00_SB2481SJEPV72E-part5 -> ../../sda5
| |-- scsi-SATA_Hitachi_HTS5416_SB2481SJEPV72E -> ../../sda
| |-- scsi-SATA_Hitachi_HTS5416_SB2481SJEPV72E-part1 -> ../../sda1
| |-- scsi-SATA_Hitachi_HTS5416_SB2481SJEPV72E-part3 -> ../../sda3
| |-- scsi-SATA_Hitachi_HTS5416_SB2481SJEPV72E-part4 -> ../../sda4
| `-- scsi-SATA_Hitachi_HTS5416_SB2481SJEPV72E-part5 -> ../../sda5
|-- by-label
| `-- HP_RECOVERY -> ../../sda3
|-- by-path
| |-- pci-0000:00:1f.1-scsi-0:0:0:0 -> ../../sr0
| |-- pci-0000:00:1f.2-scsi-0:0:0:0 -> ../../sda
| |-- pci-0000:00:1f.2-scsi-0:0:0:0-part1 -> ../../sda1
| |-- pci-0000:00:1f.2-scsi-0:0:0:0-part3 -> ../../sda3
| |-- pci-0000:00:1f.2-scsi-0:0:0:0-part4 -> ../../sda4
| `-- pci-0000:00:1f.2-scsi-0:0:0:0-part5 -> ../../sda5
`-- by-uuid
|-- d321dda3-bc1f-4d24-a56f-a86d66002b1c -> ../../sda5
|-- e916f1d1-44fe-4def-8bf6-5b9eacbe13a6 -> ../../sda1
`-- FAFC5F30FC5EE703 -> ../../sda3
Bevor ich wieder den Namen des Tools vergesse und wieder suche muss, schreibe ich es hier auf. xdotool ist ein ganz praktisches Tool um Eingaben unter X per Skript zu steuern. So kann man etwas ganz einfach jeden “wer clickt am schnellsten oder am öftesten” Wettkampf mit folgenden kleinen “Skript” gewinnen. Einfach die Mouse auf dem entsprechenden Punkt platzieren und
for i in {1..200}; do xdotool click 1 ; done
abschicken. Fertig. Natürlich kann xdotool noch mehr… RTFM
Leider gibt es restartd nicht unter Centos. Nachdem mir aber immer wieder ein Prozess um die Ohren fliegt hab ich mir mal ein kleines Skript dafür geschrieben:
#!/bin/sh logger "watchdog: started watchdog" while [ 1==1 ]; do PROCS=`ps -C pppoe | grep pppoe | grep -v grep | wc -l ` if [ ! "$PROCS" == "2" ]; then logger "watchdog: restart" /etc/init.d/network restart fi sleep 1 done </code> Zum Starten bediene ich mir der inittab: <pre lang="ini"> wd:2345:respawn:/usr/local/bin/watchdog.sh
Mal sehen ob das was bringt.
Bevor ich wieder manpages lesen muss, schreib ich mir das hier mal auf:
Wie jede andere Firewall auch führt iptables auch eine Statistik über den verarbeiteten Pakete und Bytes. Dabei wird pro Regel gezählt. Ein Beispiel
iptables -nvL INPUT Chain INPUT (policy DROP 10 packets, 508 bytes) pkts bytes target prot opt in out source destination 243K 43M fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22 58M 115G ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 62M 18G ppp0_in all -- ppp0 * 0.0.0.0/0 0.0.0.0/0 397M 460G eth0_in all -- eth0 * 0.0.0.0/0 0.0.0.0/0 ...
Zurücksetzen kann man die Counter übrigens ganz einfach mit -Z also etwa
iptables -Z INPUT
Vor Ewigkeiten hatte ich mir hier aufgeschrieben, dass nach einem fdisk auf der aktuellen Platte ein Reboot notwendig ist. Das ist falsch! Mit partprobe steht ein Tool unter Linux zur Verfügung, dass dem Kernel die Änderung der Partitionstabelle mitteilt.
Man lernt nie aus …
Ich habe mir einen 4fach USB zu serial Adapter gekauft. Das Teil ist super einfach. Es hat einen Hub eingebaut an dem 4 PL2303 Adapter hängen. Die werden der Reihenfolge im System eingehängt. Doof nur, dass ich machmal auch andere Geschichten mit FTDI oder PL2303 anschließe. So kann es vorkommen, dass die Ports nicht brav immer am Anfang der Reihenfolge geladen werden, sondern diverse Ports haben. Logischerweise will ich aber immer den richtigen Port direkt ansprechen. Daher habe ich mir ein UDEV Regel mit einem kleinen Skript gebastelt:
KERNEL=="ttyUSB*", SYSFS{product}=="USB-Serial Controller", RUN="/usr/local/bin/comdevice.pl %p %k"
#!/usr/bin/perl use strict; use warnings; my $device = $ARGV[0]; my $path = $ARGV[1]; exit if($device !~ /devices/); my $newcomport = "0"; $newcomport = $1 if($device =~ m/(\d+):[^:]+\/[^\/]+$/); symlink "/dev/".$path, "/dev/com".$newcomport if(! -e "/dev/com".$newcomport);
Das ganze erstellt dann Devices (/dev/com1 für den ersten Anschluß, /dev/com2 für den zweiten, ….)
dd ist ja für mache Tasks ganz praktisch. Was ich aber ein wenig schande finde ist, dass es nur am Ende die Statistik ausgibt und man damit sozusagen im Blindflug unterwegs ist. D.h. währen des Kopierens sieht man nicht wie weit er schon ist. Es gibt aber einen Trick, der sogar in den manpages steht
$ dd if=/dev/zero of=/dev/null& pid=$! $ kill -USR1 $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s
Wann schaffe ich mal 271MB/s
Ich verwende /etc/inittab für so manches. Es oft einfacher darüber Daemons am laufen zu halten als Dinge wie restartd oder monit zu nehmen. Zum Neueinlesen habe ich immer folgendes geschrieben:
kill -HUP 1
Das ist zwar richtig aber nicht die feine Art. Besser ist
telinit q
oder noch kürzer:
init q
Nachdem ich zugeben muss, dass ich das letzte nicht in dem Zusammenhang kannte schreibe ich mir das hier auf. Gehört bestimmt zu den Linux Grundkenntnissen
Nachdem heute Nacht 2.6.33 herausgekommen ist und ich leider auf einem speziellen Alix Board immer den neusten einsetzen muss (ich verwende brandneue Hardware) muss ich selbst backen. Hier die Kommandos als Notiz für Drag and Drop
.
make rpm-pkg rpm -i /usr/src/redhat/RPMS/i386/kernel-2.6.33-1.i386.rpm new-kernel-pkg --mkinitrd --depmod --install 2.6.33