Gentoo Archives: gentoo-user-ru

From: Alex Efros <powerman@××××××××××××××××××.com>
To: gentoo-user-ru@l.g.o
Subject: Re: [gentoo-user-ru] Runit, daemontools, initng
Date: Sat, 28 Oct 2006 01:05:58
Message-Id: 20061028010512.GB14861@home.power
In Reply to: Re: [gentoo-user-ru] Runit, daemontools, initng by Gleb Litvjak
1 Hi!
2
3 On Sat, Oct 28, 2006 at 12:52:01AM +0300, Gleb Litvjak wrote:
4 > > Работает всё настолько быстро, насколько это вообще возможно
5 > Вот это ОЧЕНЬ интересно :)
6
7 Да ну, чепуха это всё... не так часто линух перегружается, не винда
8 всё-таки, чтобы несколько секунд играли хоть какую-то роль. Хотя сам факт
9 душу, безусловно, греет. :)
10
11 > Так вроде runit сам по себе распаралеливается
12
13 Да ну? Там нечего распараллеливать. При загрузке он запускает скрипт
14 /etc/runit/1, и всё. Так что всё распараллеливание нужно делать ручками в
15 этом скрипте, если хочется, как я сделал.
16
17 > А можно vmware скриптиком поделиться с сообществом? :)
18
19 Можно. Он, правда, извращённый из-за необходимости юзать init.d скрипт.
20 Кстати, init.d скрипт я юзаю не Gentoo-шный, а родной vmware-ный, чтобы
21 не умножать сущностей. Плюс здесь же создание девайсов на всякий случай -
22 старые версии vmware плохо дружили с udev, а сейчас это, наверное, уже не
23 нужно.
24
25 ---/service/vmware/run---
26 #!/bin/sh
27 exec &>/dev/null
28 for a in `seq 0 9`; do mknod /dev/vmnet$a c 119 $a 2>/dev/null; done
29 for a in `seq 0 3`; do mknod /dev/parport$a c 99 $a 2>/dev/null; done
30 [ -d /var/run/vmware ] || mkdir -m 1777 /var/run/vmware
31 exec </dev/tty63
32 /etc/vmware/init.d/vmware start
33 trap '/etc/vmware/init.d/vmware stop ; exit' SIGTERM
34 trap '/etc/vmware/init.d/vmware stop ; exit' SIGINT
35 trap '' SIGHUP
36 trap '' SIGALRM
37 trap '' SIGCONT
38 trap '' SIGSTOP
39 read
40 ---/service/vmware/run---
41
42 Основная масса ./run-файлов в таких извратах не нуждается и выглядит
43 примерно так:
44
45 ---/service/dcron/run---
46 #!/bin/sh
47 exec 2>&1
48 exec crond -f
49 ---/service/dcron/run---
50
51 > Интересно, а на LVM2 он не споткнется?
52
53 Мой - споткнётся, ибо я LVM никогда не юзал. Но обычно достаточно
54 посмотреть в соотв. /etc/init.d/ файл и взять из него одну-две команды
55 которые реально делают дело и добавить их в /etc/runit/1 чтобы перестать
56 спотыкаться на LVM или ещё чём-то. :)
57
58 В том, чтобы использовать реальные команды вместо раздутых универсальных
59 обвязок в стиле init.d-скриптов есть много плюсов. Вообще все эти
60 универсальные скрипты реально нужны только на LiveCD, а для конкретного
61 сервера намного эффективнее конкретный /etc/runit/1. ;-)
62
63 > Еще хотелось бы узнать - а комманда Turn Off из меню KDE будет работать как
64 > надо? Или придется напильником допиливать?
65
66 Без понятия, смотря что она вызывает. В runit выключение осуществляется
67 запуском `runit-init 0` вместо sysvinit-овского `init 0` или `shutdown -r now`.
68
69 > Спасибо за интересный и познавательный ответ. Думаю, завтра попробую runit.
70
71 Его врядли удастся "попробовать" - поставить и посмотреть как работает.
72 Во всех djb-шные проги (а runit это всё-таки наследник djb-шного daemontools)
73 нужно сначала въезжать: что, как и зачем, а уже потом использовать.
74 Но результат стОит того!
75
76 Если хочешь серьёзно попробовать runit, то я могу помочь настроить,
77 поделиться скриптами, etc. Но это лучше мылом, а то и в аське - там
78 переписка будет, скорее всего, не маленькая, maillist загромождать смысла
79 нет - эта тема не всем интересна. А здесь потом отчитаешься о впечатлениях. :)
80
81 --
82 WBR, Alex.
83 --
84 gentoo-user-ru@g.o mailing list