вторник, 4 января 2011 г.

Остановка USB-винчестера при выключении ArchLinux


Набыдлил хук для арчевского инита останавливающий внешний жесткий диск при выключении (у меня на старой машине система на нём):


% cat /etc/rc.d/functions.d/shutspindown.sh 
shutspindown() {
DISK='/dev/disk/by-id/usb-WDC_WD16_00AAJS-98PSA0_000001D919A0-0:0'
stat_busy "Caching /bin, /lib and /sbin from external hard disk"
tar -c /bin /sbin /lib > /dev/null 2>&1
stat_done
stat_busy "Syncing external hard disk..."
sdparm --command=sync "$DISK"
stat_done
stat_busy "Stopping external hard disk..."
sdparm --command=stop "$DISK"
stat_done
}

add_hook shutdown_poweroff shutspindown

tar в девнулл это не упоротые пляски с бубном, это чтобы все /sbin/poweroff, /sbin/reboot и прочие радости всосались в память и обращение к ним не заставило винчестер обратно придти в себя.