суббота, 30 мая 2009 г.

Нужна ваша помощь

Подскажите где за наличные в Москве можно купить корпус и мамку (проц желательно intel atom с пассивным охлаждением) форм-фактора mini-ITX. Срочно, воскресенье — крайний срок.

UPD: Всем спасибо, сабж доставлен - буду теперь ваять домашний сервер :)

Может и баян, но улыбнуло

Помогите Microsoft в борьбе с пиратскими версиями Windows — установите своим друзьям Linux!

понедельник, 25 мая 2009 г.

SANE vs EPSON Perfection V300 PHOTO

Sane для работы с этим сканером требуются проприетарные драйвера. В репозитарии Ubunty 9.04 Jaunty готовых пакетов не оказалось. Но после недолгих поисков в Launchpad.Net нашлось то, что нужно.
Подключаем репозитарий PPA

  1. deb http://ppa.launchpad.net/doctormo/ppa/ubuntu jaunty main
  2. deb-src http://ppa.launchpad.net/doctormo/ppa/ubuntu jaunty main
Добавляем ключи PPA
$ wget -O- 'http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x15A579BF113659DF' | sudo apt-key add -
Ставим требуемые драйвера
$ sudo apt-get update
$ sudo apt-get install iscan iscan-plugins
Создаем правило udev для сканера и сохраняем в файл «/etc/udev/rules.d/50-epson-v300.rules». Этим мы переопределим права на файл устройства. Иначе он будет доступен только для суперпользователя.
  1. SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0131", MODE="660", GROUP="scanner"
Перезагружаем HAL
$ sudo invoke-rc.d hal restart
Теперь к компьютеру подключаем сканер и запускаем xsane.

четверг, 7 мая 2009 г.

В поисках пиратской винды милиция пошла по домам

Как пишет в своем блоге Vlad2000Plus, на Александра Иванчикова-Нееловского из Екатеринбурга завели уголовное дело из-за пиратского софта, обнаруженного на его домашнем компьютере. Стоимость «похищенного» оценили в 125 тысяч рублей и это только продукты некой компании Microsoft.
Раньше ловили того, кто ставит другим. Теперь мы дожили до того времени, когда начали ловить тех, кто занимается «домашним пиратством».

Я лично рад этому. Честно. Как написали в комментах: «по-моему логично. нет денег на винду - ставь линукс».

понедельник, 4 мая 2009 г.

Скрипт для корректного выключения гостевых хостов в libvirt

Ввиду неспособности libvirt-bin корректно отключать гостевые хосты при выключении/ребуте сервера, решил написать свой скрипт

  1. #!/bin/sh
  2. ### BEGIN INIT INFO
  3. # Provides: kvm-shutdown
  4. # Required-Start: $remote_fs
  5. # Required-Stop: $remote_fs
  6. # Default-Start: 2 3 4 5
  7. # Default-Stop: 0 1 6
  8. # Short-Description: Shutdown Guest KVM Hosts
  9. # Description: Shutdown Guest KVM Hosts
  10. ### END INIT INFO
  11. # Author: Князь <demiurg (at) propheta.ru>
  12. #
  13. # Do NOT "set -e"
  14. # PATH should only include /usr/* if it runs after the mountnfs.sh script
  15. PATH=/sbin:/usr/sbin:/bin:/usr/bin
  16. DESC="Shutdown Guest KVM Hosts"
  17. NAME=kvm-shutdown
  18. SCRIPTNAME=/etc/init.d/$NAME
  19. # Exit if the package is not installed
  20. [ -x "/usr/bin/virsh" ] || exit 0
  21. [ -S "/var/run/libvirt/libvirt-sock" ] || exit 0
  22. # Load the VERBOSE setting and other rcS variables
  23. . /lib/init/vars.sh
  24. # Define LSB log_* functions.
  25. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
  26. . /lib/lsb/init-functions
  27. export LANG=C
  28. #
  29. # Function that stops the daemon/service
  30. #
  31. virsh_list()
  32. {
  33. virsh list 2>/dev/null | grep -E 'running$' | awk '{ print $2 }'
  34. }
  35. do_stop()
  36. {
  37. LIST=$(virsh_list)
  38. for i in $LIST;
  39. do
  40. virsh shutdown $i 1>/dev/null 2>/dev/null
  41. echo
  42. echo -n "Shutdown $i ";
  43. while [ "$(virsh_list | grep $i)" ];
  44. do
  45. echo -n '.'
  46. sleep 2
  47. done;
  48. done;
  49. if [ "$LIST" ]; then echo; fi;
  50. }
  51. case "$1" in
  52. stop)
  53. [ "$VERBOSE" != no ] && log_daemon_msg "Activating $DESC" "$NAME"
  54. do_stop
  55. case "$?" in
  56. 0|1)
  57. [ "$VERBOSE" != no ] && log_end_msg 0
  58. break
  59. ;;
  60. 2)
  61. [ "$VERBOSE" != no ] && log_end_msg 1
  62. break
  63. ;;
  64. esac
  65. break
  66. ;;
  67. *)
  68. echo "Usage: $SCRIPTNAME stop" >&2
  69. exit 3
  70. ;;
  71. esac
Сохраняем скрипт в файл «/etc/init.d/kvm-shutdown» и делаем его исполняемым
$ sudo chmod +x /etc/init.d/kvm-shutdown
Создаем символические ссылки в rc0, rc1, rc6
$ sudo ln -s ../init.d/kvm-shutdown /etc/rc0.d/K19kvm-shutdown
$ sudo ln -s ../init.d/kvm-shutdown /etc/rc1.d/K19kvm-shutdown
$ sudo ln -s ../init.d/kvm-shutdown /etc/rc6.d/K19kvm-shutdown
Префикс K19 выбран для того, чтобы скрипт запускался перед «/etc/init.d/libvirt-bin» (префикс K20)