rabbit-slide-sasakyh-EPNetFan2015-06-12 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: fd1358da3ab14d68b348f0928573ff9b812c11cd
4
+ data.tar.gz: 9c8831903d4d2082127a013c8a08f8a857e3a503
5
+ SHA512:
6
+ metadata.gz: 48d61f55f4f833a97453443646fae7ea783fd796939204d5f258040c0547fd6fe10fa2d36291c39b0b3410ffec5d746e562120eaaa948ebea96f0e0bb8344656
7
+ data.tar.gz: b06073fe1e80a60308a362ff9e17c3b221500a67512793adf23c2a93ea8e8a0aab3b92495da8614fa0b8cf4d120d2d61babde1eb5652c9ccb23f8605f9b6bde8
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ TalkAboutInit.rab
data/README.rd ADDED
@@ -0,0 +1,23 @@
1
+ = Debian default init: sysvinit -> systemd
2
+
3
+ short talk about systemd
4
+
5
+ == For author
6
+
7
+ === Show
8
+
9
+ rake
10
+
11
+ === Publish
12
+
13
+ rake publish
14
+
15
+ == For viewers
16
+
17
+ === Install
18
+
19
+ gem install rabbit-slide-sasakyh-EPNetFan2015-06-12
20
+
21
+ === Show
22
+
23
+ rabbit rabbit-slide-sasakyh-EPNetFan2015-06-12.gem
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ # spec.files += Dir.glob("doc/**/*.*")
9
+ # spec.files -= Dir.glob("private/**/*.*")
10
+ # spec.add_runtime_dependency("YOUR THEME")
11
+ end
12
+
13
+ desc "Tag #{spec.version}"
14
+ task :tag do
15
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
16
+ sh("git", "push", "--tags")
17
+ end
data/TalkAboutInit.rab ADDED
@@ -0,0 +1,350 @@
1
+ = Debian default init: sysvinit -> systemd
2
+
3
+ : author
4
+ 佐々木洋平\n((<"uwabami@gfd-dennou.org"|mailto:uwabami@gfd-dennou.org>))
5
+ : institution
6
+ : content-source
7
+ EPNetFaN 2015 座学編
8
+ : date
9
+ 2015-06-11
10
+ : allotted-time
11
+ 45m
12
+ : theme
13
+ .
14
+
15
+ = はじめに
16
+
17
+ = はじめに/宣伝
18
+
19
+ * 今日は「Debian 8」 の話は(あまり)しません
20
+ * OSC 2015 Hokkaido
21
+ * 今週末, 札幌コンベンションセンター
22
+ * セッション
23
+ * 6/13(土) 11:00 - 11:45
24
+ * タイトル「8,9,10 = Jessie,Stretch,Buster」
25
+ * 詳細:「OSC 2015 Hokkaido」で検索
26
+
27
+ = そんな\nこんなで
28
+
29
+ = 今日のお題
30
+
31
+ = ((*systemd*))
32
+
33
+ = お品書き
34
+
35
+ * init の役割
36
+ * これまでの init: SysV init
37
+ * これからの init: systemd
38
+ * systemd でできること/できないこと(?)
39
+
40
+ = お品書き
41
+
42
+ * ((*init の役割*))
43
+ * これまでの init: SysV init
44
+ * これからの init: systemd
45
+ * systemd でできること/できないこと(?)
46
+
47
+
48
+ = ((*init*)) の役割
49
+
50
+ = Linux の boot sequence
51
+
52
+ (1) 電源投入⇒BIOS or UEFI が起動
53
+ (2) BIOS or UEFI ⇒ bootloader を起動
54
+ (3) bootlader が kernel を起動
55
+ (4) kernel が ((*init*)) を起動
56
+
57
+ == プロパティ
58
+
59
+ : background-image
60
+ images/linux-boot-sequence.png
61
+ : background-image-relative-height
62
+ 80
63
+ : background-image-align
64
+ right
65
+ : background-image-relative-margin-right
66
+ 5
67
+ : background-image-relative-margin-top
68
+ 20
69
+
70
+ = init とその役割
71
+
72
+ * init: kernel が最初に呼ぶプログラム(の総称)
73
+ * init がすること
74
+ * ファイルシステムのマウント, ネットワーク設定, サービスの開始
75
+ * サービスの管理(起動, 停止, 再起動)
76
+ * カーネルからのイベントの受け取りとユーザランドでの処理の実行
77
+ (例: Ctrl-Alt-Delete ⇒ 再起動)
78
+
79
+ = お品書き
80
+
81
+ * init の役割
82
+ * ((*これまでの init: SysV init*))
83
+ * これからの init: systemd
84
+ * systemd でできること/できないこと(?)
85
+
86
+ = SysV init
87
+
88
+ = SysV init
89
+
90
+ :SysV init = SystemV 由来の init
91
+ * init が初回に行なうプロセスの総称
92
+ * ((:/sbin/init:)) バイナリそのもの(文脈に注意)
93
+ :SysV init 由来の概念
94
+ * ((*runlevel*)): 0(halt), 1(single user mode), 6(reboot), 等
95
+
96
+ = Debian の sysvinit(1)
97
+
98
+ :sysvinit の設定ファイル群と初回起動時の挙動
99
+ * ((:/etc/inittab:)): runlevel ((*N*))one でシステムを初期化
100
+ * ((:/etc/rcS.d:)): ランレベル ((*S*))ingle でハードウェアを初期化
101
+ * ((:/etc/rc((*X*)).d:)): 2-5 のいずれかの runlevel でサービスを起動\n
102
+ (通常は runlevel 2 で動作する)
103
+
104
+ = Debian の sysvinit(2)
105
+
106
+ :Squeeze の sysvinit
107
+ * 単純な SysV init スタイル. sh script を((*逐次実行*))
108
+ :Wheezy の sysvinit
109
+ * LSB(Linux Standard Base) ヘッダーで定義された依存関係に従い, sh script を((*並列に実行*)) ⇒ 高速に起動
110
+ * 依存関係が間違っていると挙動不審
111
+
112
+ = LSB ヘッダの例: dovecot
113
+
114
+ # emacs # -*- sh -*-
115
+ #! /bin/sh
116
+ ### BEGIN INIT INFO
117
+ # Provides: dovecot
118
+ # Required-Start: $local_fs $remote_fs $network $syslog $time
119
+ # Required-Stop: $local_fs $remote_fs $network $syslog
120
+ # Should-Start: postgresql mysql slapd winbind nslcd
121
+ # Should-Stop: postgresql mysql slapd winbind nslcd
122
+ # Default-Start: 2 3 4 5
123
+ # Default-Stop: 0 1 6
124
+ # Short-Description: Dovecot init script
125
+ # Description: Init script for dovecot services
126
+ ### END INIT INFO
127
+
128
+ = 脱線: サービスの起動/停止
129
+
130
+ * 多くの場合スクリプトを直接叩きがち
131
+ * なるべく ((:service:)) を使うこと
132
+ # /etc/init.d/dovecot stop <-- これは駄目
133
+ # service dovecot stop <-- こっちの方が良い
134
+ * 何故=>((*環境変数, ファイルシステムが同じ保証は無い*))
135
+
136
+ = SysV init じゃ駄目なの?
137
+
138
+ (1) SysVinit によるサービス起動の複雑さ\n
139
+ - 環境の切り替え,他のサービスへの依存...etc.\n
140
+ ⇒((*うまくやる*))のが難しい(できなくはないけれど)
141
+ (1) ファイルベースの PID 管理\n
142
+ ⇒((*SysV init は PID を管理していない*)). \n
143
+ - ファイルに吐いているだけ. \n
144
+ - PID の重複チェックは? 孫プロセスは?
145
+ (1) sh に起因するアレコレ: ((*遅い*))
146
+
147
+ = お品書き
148
+
149
+ * init の役割
150
+ * これまでの init: SysV init
151
+ * ((*これからの init: systemd*))
152
+ * systemd でできること/できないこと(?)
153
+
154
+ = systemd
155
+
156
+ = systemd とは?
157
+
158
+ :systemd: not system"D" or "S"ystemd
159
+ * (メイン)開発者: Lennart Poettering@Red Hat
160
+ * License: LGPL-2.1+
161
+ :特徴
162
+ * cgroups によるプロセス管理, 積極的な並列動作
163
+ * sh より簡便な設定, 詳細なドキュメント...etc.
164
+
165
+ = cgroups とは?
166
+
167
+ * Control Groups の略
168
+ * Linux Kernel の新機能
169
+ * プロセスのグループ化, リソース制限, 名前ベースの分離
170
+ * LXC(Linux Container), Docker \n = cgroups + namespace での分離 (+ 管理ツール)
171
+
172
+ = systemd のプロセス管理
173
+
174
+ :全ての「サービス」は独自の cgroup に所属
175
+ * 「サービス」に関連する全てのプロセスを管理可能
176
+ * (SysV init では PID ファイルでしか管理できなかった)
177
+ * 「サービス」の「リソース」「権限」も管理可能
178
+ * (リソースの制限は ulimit 等で指定するしかなかった)
179
+
180
+ = systemd-{cgls,cgtop}
181
+
182
+ :systemd-cgls
183
+ * cgroup の階層構造を表示
184
+
185
+ :systemd-cgtop
186
+ * cgroup のリソース消費を表示
187
+
188
+ = systemd: サービス管理
189
+
190
+ * 個々の「サービス」は「Unit」ファイルで記述
191
+ * Unit で定義された 「サービス」を ((:systemctl:)) で操作
192
+
193
+ # systemctl start dovecot <-- service dovecot start
194
+ # systemctl start dovecot.service <-- (.service) は省略可能)
195
+ # systemctl stop dovecot <-- service dovecot stop
196
+ # systemctl restart dovecot <-- service dovecot restart
197
+
198
+ = systemd: runlevel
199
+
200
+ * systemd で runlevel に相当する概念は ((*targets*))
201
+ * 例: /etc/systemd/system/graphical.target.wants
202
+ * 各サービスをターゲット下に symlink を作成して管理
203
+
204
+ # systemctl enable/disable SERVICE <-- symlink の作成/削除
205
+ # systemctl mask/unmask SERVICE <-- /dev/null への symlink
206
+
207
+ = bootup(7)
208
+
209
+  
210
+
211
+ = boot の解析:\nsystemd-analyze
212
+
213
+ * ユニット定義が正しければ積極的に並列動作: 高速
214
+ * boot 時の解析コマンド: systemd-analyze
215
+ # systemd-analyze <-- 起動時間の表示
216
+ # systemd-analyze blame <-- 遅いユニットの表示
217
+ # systemd-analyze plot <-- グラフ化
218
+ # systemd-analyze critical-chain <-- 一番時間がかかっている
219
+ ユニットの解析
220
+
221
+ = システムの状態表示: systemctl
222
+
223
+ % systemctl list-units <-- systemctl だけでも良い
224
+ % systemctl -t service <-- サービスのみの表示
225
+ % systemctl --failed <-- 起動に失敗したサービスの表示
226
+ % systemctl status <-- 全体の状況を表示
227
+ % systemctl status SERVICE <-- 特定のサービスの表示
228
+ # systemctl status SERVICE -l <-- 詳細表示
229
+
230
+ = ユニットファイルの書き方
231
+
232
+ * atd を例に
233
+ * sysvinit の場合: /etc/init.d/atd
234
+ * systemctl では?
235
+ * systemd.unit(5)
236
+ * systemd.service(5)
237
+ * systemd.exec(5)
238
+
239
+ = 例: atd.service
240
+
241
+ [Unit]
242
+ Description=Deferred execution scheduler
243
+ Documentation=man:atd(8)
244
+
245
+ [Service]
246
+ ExecStart=/usr/sbin/atd -f
247
+ IgnoreSIGPIPE=false
248
+
249
+ [Install]
250
+ WantedBy=multi-user.target
251
+
252
+ = Unit ファイルの置き場所
253
+
254
+ * パッケージの場合:\n
255
+ ⇒ /lib/systemd/system/ 以下に置かれる
256
+ * 個別に設定したい or 修正したい場合:\n
257
+ ⇒ /etc/systemd/system/ 以下に置く
258
+
259
+ = SysV init の sh は?
260
+
261
+ * (今のところ) systemd-sysv が対応
262
+ * LSB ヘッダの解析
263
+ * init-functions の置き換え
264
+ * 複雑な事をしないサービス(デーモン)は, そのまま動く
265
+ * とはいえ, sh を調整するのは苦痛
266
+ * Unit -> sh の変換は容易に可能なので...
267
+
268
+ = これからのinit: systemd
269
+
270
+ * systemd
271
+ * cgroups によるプロセス管理
272
+ * 積極的な並列動作
273
+ * 「Unit」による簡便な設定
274
+ * 詳細なドキュメント
275
+
276
+ = 脱線: 他の OS は?
277
+
278
+ * Solalis: ((*SMF*)) Service Management Facility
279
+ * カーネル空間でのプロセス管理: contract
280
+ * Mac OS X (>= 10.4): ((*launchd*))
281
+ * init, inetd, atd, crond 等の機能を単一のバイナリで提供
282
+ * 2006年8月に Apache 2.0 で公開
283
+ * 両者とも, XML で設定ファイルを記述
284
+
285
+ = 脱線: その2
286
+
287
+ * Debian で sysvinit を使い続けるには?\n
288
+ ⇒ ((*syvinit-core*)) をインストールすると良い\n
289
+   互換性維持のため, systemd-shim も入れておくと吉
290
+
291
+ * ただし, GNOME を使うなら systemd 推奨
292
+ * Desktop の場合には systemd 使った方が...
293
+
294
+ * LXC や Docker を使うなら systemd の方が良い?
295
+ * jessie on wheezy は今のところ駄目(注意)
296
+
297
+ = お品書き
298
+
299
+ * init の役割
300
+ * これまでの init: SysV init
301
+ * これからの init: systemd
302
+ * ((*systemd でできること/できないこと(?)*))
303
+
304
+ = All your cgroups are belong to us
305
+
306
+ * inittab -> consoled, logind, localed
307
+ * network -> systemd-networkd
308
+ * syslog -> jounald
309
+ * ntp -> timedated, timesyncd
310
+ * cron -> timer.targets
311
+
312
+ = systemd components
313
+
314
+ # image
315
+ # src = images/systemd_components.png
316
+ # relative_height = 100
317
+ # caption = "http://ja.wikipedia.org/wiki/Systemd"
318
+
319
+ = 醜聞
320
+
321
+ - Fsck SystemD and its developers and its users:
322
+ https://lists.debian.org/debian-ctte/2014/02/msg00376.html
323
+ - Linus 様が systemd にぶちきれる:
324
+ http://cpplover.blogspot.jp/2014/04/linussystemd.html
325
+ - 「魚は頭から腐る」--systemdの開発者がトーバルズ氏を公然と批判:
326
+ http://japan.zdnet.com/article/35054778/
327
+
328
+ = 個人的見解
329
+
330
+ = まとめ
331
+
332
+ * Debian 8 から default の init は systemd になりました
333
+ * 高速起動, 管理・設定しやすい方式に
334
+ * 柔軟なプロセス/リソース管理が可能に
335
+ * sysvinit も残ります(選択の自由).
336
+ * (('del:RHEL7がバグを踏み潰してくれでしょう'))
337
+ * 別の init が表れる可能性もあるでしょう
338
+
339
+ = 参考文献
340
+
341
+ - Debian リファレンス:
342
+ https://www.debian.org/doc/manuals/debian-reference/index.ja.html
343
+ - Wikipedia: systemd
344
+ http://ja.wikipedia.org/wiki/Systemd
345
+ - Fsck SystemD and its developers and its users:
346
+ https://lists.debian.org/debian-ctte/2014/02/msg00376.html
347
+ - Linus 様が systemd にぶちきれる:
348
+ http://cpplover.blogspot.jp/2014/04/linussystemd.html
349
+ - 「魚は頭から腐る」--systemdの開発者がトーバルズ氏を公然と批判:
350
+ http://japan.zdnet.com/article/35054778/
data/config.yaml ADDED
@@ -0,0 +1,14 @@
1
+ ---
2
+ id: EPNetFan2015-06-12
3
+ base_name: TalkAboutInit
4
+ tags: [init, systemd]
5
+ presentation_date: 2015-06-12
6
+ version: 1.0.0
7
+ licenses: [MIT/X11]
8
+ author:
9
+ markup_language: :rd
10
+ name: Youhei SASAKI
11
+ email: uwabami@gfd-dennou.org
12
+ rubygems_user: sasakyh
13
+ slideshare_user: uwabami@gfd-dennou.org
14
+ speaker_deck_user: uwabami
Binary file
Binary file
@@ -0,0 +1,163 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+ <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="720" height="405" id="svg2" version="1.1" inkscape:version="0.48.4 r9939" sodipodi:docname="systemd components.svg">
4
+ <title id="title3211">systemd components</title>
5
+ <defs id="defs4"/>
6
+ <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.5929545" inkscape:cx="331.94591" inkscape:cy="275.71524" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" inkscape:window-width="1920" inkscape:window-height="1014" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:snap-page="true" inkscape:snap-bbox="true" inkscape:bbox-paths="true" inkscape:bbox-nodes="true" inkscape:snap-bbox-edge-midpoints="true" inkscape:snap-bbox-midpoints="true" inkscape:object-paths="true" inkscape:snap-intersection-paths="true" inkscape:object-nodes="true" inkscape:snap-global="true"/>
7
+ <metadata id="metadata7">
8
+ <rdf:RDF>
9
+ <cc:Work rdf:about="">
10
+ <dc:format>image/svg+xml</dc:format>
11
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
12
+ <dc:title>systemd components</dc:title>
13
+ <dc:contributor>
14
+ <cc:Agent>
15
+ <dc:title>based on https://wiki.tizen.org/wiki/File:Systemd_arch.PNG by sangjung</dc:title>
16
+ </cc:Agent>
17
+ </dc:contributor>
18
+ <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/ or https://gnu.org/licenses/fdl.html"/>
19
+ <dc:description>Illustrates the components of systemd</dc:description>
20
+ <dc:language>en-US</dc:language>
21
+ <dc:date>2013-09-26</dc:date>
22
+ <dc:subject>
23
+ <rdf:Bag>
24
+ <rdf:li>systemd cgroup</rdf:li>
25
+ </rdf:Bag>
26
+ </dc:subject>
27
+ </cc:Work>
28
+ </rdf:RDF>
29
+ </metadata>
30
+ <g inkscape:groupmode="layer" id="layer2" inkscape:label="big boxes" transform="translate(0.94236313,-261.94014)" style="display:inline">
31
+ <rect style="fill:#d89593;fill-opacity:1;fill-rule:nonzero" id="rect3276" width="720" height="40" x="-0.94236314" y="626.94012" rx="25" ry="25.000002"/>
32
+ <rect ry="25" rx="25" y="561.94012" x="-0.94236314" height="55.000004" width="720" id="rect3278" style="fill:#d6e3bb;fill-opacity:1;fill-rule:nonzero"/>
33
+ <rect style="fill:#daedf4;fill-opacity:1;fill-rule:nonzero" id="rect3280" width="720" height="100.00001" x="-0.94236314" y="456.94012" rx="25" ry="25"/>
34
+ <rect style="fill:#c5d8f1;fill-opacity:1;fill-rule:nonzero" id="rect3282" width="720" height="55.000004" x="-0.94236314" y="261.94012" rx="25" ry="25"/>
35
+ <rect ry="25.000002" rx="25.223867" y="321.94016" x="212.05763" height="130" width="507" id="rect3284" style="fill:#fde9d9;fill-opacity:1;fill-rule:nonzero"/>
36
+ <rect style="fill:#e5dfeb;fill-opacity:1;fill-rule:nonzero" id="rect3286" width="206.17198" height="130" x="-0.94236314" y="321.94016" rx="25" ry="25"/>
37
+ </g>
38
+ <g inkscape:groupmode="layer" id="layer3" inkscape:label="boxes" transform="translate(0,38.486267)" style="display:inline">
39
+ <rect style="fill:#92ccdc;fill-opacity:1;fill-rule:nonzero" id="rect3292" width="275" height="75" x="107.5" y="176.51375" rx="15" ry="15"/>
40
+ <rect style="fill:#4dacc6;fill-opacity:1;fill-rule:nonzero" id="rect3294" width="75" height="22" x="115" y="221.76375"/>
41
+ <rect y="221.76375" x="195" height="22" width="55" id="rect3296" style="fill:#4dacc6;fill-opacity:1;fill-rule:nonzero"/>
42
+ <rect style="fill:#4dacc6;fill-opacity:1;fill-rule:nonzero" id="rect3298" width="55" height="22" x="195" y="194.76375"/>
43
+ <rect y="194.76375" x="115" height="22" width="75" id="rect3300" style="fill:#4dacc6;fill-opacity:1;fill-rule:nonzero"/>
44
+ <rect ry="15" rx="15.000001" y="176.51375" x="390.92868" height="75" width="135.00003" id="rect3302" style="fill:#92ccdc;fill-opacity:1;fill-rule:nonzero"/>
45
+ <rect y="284.01373" x="25" height="27.5" width="75" id="rect3306" style="fill:#c2d599;fill-opacity:1;fill-rule:nonzero"/>
46
+ <rect style="fill:#c2d599;fill-opacity:1;fill-rule:nonzero" id="rect3308" width="115" height="27.5" x="285" y="284.01373"/>
47
+ <rect y="284.01373" x="415" height="27.5" width="100" id="rect3310" style="fill:#c2d599;fill-opacity:1;fill-rule:nonzero"/>
48
+ <rect style="fill:#c2d599;fill-opacity:1;fill-rule:nonzero" id="rect3312" width="75" height="27.5" x="115" y="284.01373"/>
49
+ <rect y="284.01373" x="205" height="27.5" width="65" id="rect3314" style="fill:#c2d599;fill-opacity:1;fill-rule:nonzero"/>
50
+ <rect style="fill:#c2d599;fill-opacity:1;fill-rule:nonzero" id="rect3316" width="75" height="27.5" x="530" y="284.01373"/>
51
+ <rect y="284.01373" x="620" height="27.5" width="75" id="rect3318" style="fill:#c2d599;fill-opacity:1;fill-rule:nonzero"/>
52
+ <rect style="fill:#92ccdc;fill-opacity:1;fill-rule:nonzero" id="rect3320" width="55" height="27.5" x="640" y="219.01375"/>
53
+ <rect y="184.01375" x="640" height="27.5" width="55" id="rect3322" style="fill:#92ccdc;fill-opacity:1;fill-rule:nonzero"/>
54
+ <rect y="219.01375" x="535" height="27.5" width="100" id="rect3324" style="fill:#92ccdc;fill-opacity:1;fill-rule:nonzero"/>
55
+ <rect style="fill:#92ccdc;fill-opacity:1;fill-rule:nonzero" id="rect3326" width="100" height="27.5" x="535" y="184.01375"/>
56
+ <rect y="184.01375" x="25" height="27.5" width="75" id="rect3328" style="fill:#92ccdc;fill-opacity:1;fill-rule:nonzero"/>
57
+ <rect style="fill:#92ccdc;fill-opacity:1;fill-rule:nonzero" id="rect3330" width="75" height="27.5" x="25" y="219.01375"/>
58
+ <rect style="fill:#4dacc6;fill-opacity:1;fill-rule:nonzero" id="rect3334" width="60" height="22" x="255" y="221.76375"/>
59
+ <rect y="221.76375" x="320" height="22" width="55" id="rect3336" style="fill:#4dacc6;fill-opacity:1;fill-rule:nonzero"/>
60
+ <rect style="fill:#4dacc6;fill-opacity:1;fill-rule:nonzero" id="rect3338" width="55" height="22" x="320" y="194.76375"/>
61
+ <rect y="194.76375" x="255" height="22" width="60" id="rect3340" style="fill:#4dacc6;fill-opacity:1;fill-rule:nonzero"/>
62
+ <rect style="fill:#4dacc6;fill-opacity:1;fill-rule:nonzero" id="rect3342" width="70" height="22" x="398.42868" y="221.76373"/>
63
+ <rect y="221.76375" x="473.42871" height="22" width="45" id="rect3344" style="fill:#4dacc6;fill-opacity:1;fill-rule:nonzero"/>
64
+ <rect style="fill:#4dacc6;fill-opacity:1;fill-rule:nonzero" id="rect3346" width="45" height="22" x="473.42868" y="194.76375"/>
65
+ <rect style="fill:#4dacc6;fill-opacity:1;fill-rule:nonzero" id="rect3348" width="70" height="22" x="398.42868" y="194.76375"/>
66
+ <rect style="fill:#8db3e2;fill-opacity:1;fill-rule:nonzero" id="rect3350" width="95" height="27.5" x="25" y="-15.986267" rx="0" ry="0"/>
67
+ <rect ry="0" rx="0" y="-15.986267" x="237.71429" height="27.5" width="65" id="rect3352" style="fill:#8db3e2;fill-opacity:1;fill-rule:nonzero"/>
68
+ <rect style="fill:#8db3e2;fill-opacity:1;fill-rule:nonzero" id="rect3354" width="78" height="27.5" x="311.57144" y="-15.986267" rx="0" ry="0"/>
69
+ <rect ry="0" rx="0" y="-15.986267" x="398.42859" height="27.5" width="55" id="rect3356" style="fill:#8db3e2;fill-opacity:1;fill-rule:nonzero"/>
70
+ <rect style="fill:#8db3e2;fill-opacity:1;fill-rule:nonzero" id="rect3358" width="60" height="27.5" x="462.28574" y="-15.986267" rx="0" ry="0"/>
71
+ <rect ry="0" rx="0" y="-15.986267" x="531.14288" height="27.5" width="80" id="rect3360" style="fill:#8db3e2;fill-opacity:1;fill-rule:nonzero"/>
72
+ <rect style="fill:#8db3e2;fill-opacity:1;fill-rule:nonzero" id="rect3362" width="100" height="27.5" x="128.85715" y="-15.986267" rx="0" ry="0"/>
73
+ <rect ry="0" rx="0" y="-15.986267" x="620" height="27.5" width="75" id="rect3364" style="fill:#8db3e2;fill-opacity:1;fill-rule:nonzero"/>
74
+ <rect style="fill:#fabf8e;fill-opacity:1;fill-rule:nonzero" id="rect3366" width="115.00002" height="75" x="597.5" y="71.513657" rx="15" ry="15"/>
75
+ <rect ry="15" rx="15.857128" y="71.513657" x="519.90002" height="75" width="73.999992" id="rect3368" style="fill:#fabf8e;fill-opacity:1;fill-rule:nonzero"/>
76
+ <rect style="fill:#fabf8e;fill-opacity:1;fill-rule:nonzero" id="rect3370" width="134.99998" height="75" x="380.5" y="71.513657" rx="15" ry="15"/>
77
+ <rect y="114.01366" x="230.50003" height="27.5" width="85" id="rect3372" style="fill:#fabf8e;fill-opacity:1;fill-rule:nonzero"/>
78
+ <rect style="fill:#f79547;fill-opacity:1;fill-rule:nonzero" id="rect3374" width="45" height="22" x="385.5" y="116.76366"/>
79
+ <rect y="114.01369" x="95" height="27.5" width="100" id="rect3376" style="fill:#cbc0d9;fill-opacity:1;fill-rule:nonzero"/>
80
+ <rect style="fill:#cbc0d9;fill-opacity:1;fill-rule:nonzero" id="rect3378" width="85" height="27.5" x="110" y="79.013687"/>
81
+ <rect y="79.013687" x="25" height="27.5" width="80" id="rect3380" style="fill:#cbc0d9;fill-opacity:1;fill-rule:nonzero"/>
82
+ <rect style="fill:#cbc0d9;fill-opacity:1;fill-rule:nonzero" id="rect3382" width="65" height="27.5" x="25" y="114.01369"/>
83
+ <rect style="fill:#fabf8e;fill-opacity:1;fill-rule:nonzero" id="rect3179" width="85" height="27.5" x="230.50003" y="79.013657"/>
84
+ <rect y="79.013657" x="320.50003" height="27.5" width="55" id="rect3181" style="fill:#fabf8e;fill-opacity:1;fill-rule:nonzero"/>
85
+ <rect style="fill:#fabf8e;fill-opacity:1;fill-rule:nonzero" id="rect3183" width="55" height="27.5" x="320.50003" y="114.01366"/>
86
+ <rect y="116.76366" x="602.5" height="22" width="105" id="rect3185" style="fill:#f79547;fill-opacity:1;fill-rule:nonzero"/>
87
+ <rect style="fill:#f79547;fill-opacity:1;fill-rule:nonzero" id="rect3187" width="105" height="22" x="602.5" y="89.763657"/>
88
+ <rect y="89.763657" x="385.5" height="22" width="45" id="rect3189" style="fill:#f79547;fill-opacity:1;fill-rule:nonzero"/>
89
+ <rect y="116.76366" x="435.5" height="22" width="75" id="rect3191" style="fill:#f79547;fill-opacity:1;fill-rule:nonzero"/>
90
+ <rect style="fill:#f79547;fill-opacity:1;fill-rule:nonzero" id="rect3193" width="75" height="22" x="435.5" y="89.763657"/>
91
+ <rect style="fill:#f79547;fill-opacity:1;fill-rule:nonzero" id="rect3195" width="60" height="39.928501" x="527.20001" y="91.57811"/>
92
+ <rect style="fill:#f2dbda;fill-opacity:1;fill-rule:nonzero;display:inline" id="rect3288" width="100" height="27.5" x="195" y="332.7637"/>
93
+ <rect ry="0" rx="0" y="332.7637" x="310" height="27.5" width="100" id="rect3290" style="fill:#f2dbda;fill-opacity:1;fill-rule:nonzero;display:inline"/>
94
+ <rect style="fill:#f2dbda;fill-opacity:1;fill-rule:nonzero;display:inline" id="rect3215" width="100" height="27.5" x="425" y="332.7637" rx="0" ry="0"/>
95
+ <rect y="44.399307" x="25" height="27.5" width="100" id="rect3180" style="fill:#cbc0d9;fill-opacity:1;fill-rule:nonzero"/>
96
+ </g>
97
+ <g inkscape:label="text" inkscape:groupmode="layer" id="layer1" transform="translate(0.94236313,-261.94014)" style="display:inline">
98
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" x="71.499046" y="302.905" id="text2985" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan2987" x="71.499046" y="302.905">systemctl</tspan></text>
99
+ <text sodipodi:linespacing="125%" id="text2994" y="471.52133" x="18.229511" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" xml:space="preserve"><tspan y="471.52133" x="18.229511" id="tspan2996" sodipodi:role="line">systemd Core</tspan></text>
100
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="60.838886" y="504.155" id="text2998" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3000" x="60.838886" y="504.155">manager</tspan></text>
101
+ <text sodipodi:linespacing="125%" id="text3002" y="511.40939" x="151.5508" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="511.40939" x="151.5508" id="tspan3004" sodipodi:role="line">service</tspan></text>
102
+ <text xml:space="preserve" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="283.84915" y="538.40936" id="text3006" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3008" x="283.84915" y="538.40936">socket</tspan></text>
103
+ <text sodipodi:linespacing="125%" id="text3010" y="511.40939" x="283.5928" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="511.40939" x="283.5928" id="tspan3012" sodipodi:role="line">mount</tspan></text>
104
+ <text sodipodi:linespacing="125%" id="text3014" y="539.15497" x="61.850605" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="539.15497" x="61.850605" id="tspan3016" sodipodi:role="line">systemd</tspan></text>
105
+ <text xml:space="preserve" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="151.34914" y="538.40936" id="text3018" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3020" x="151.34914" y="538.40936">snapshot</tspan></text>
106
+ <text sodipodi:linespacing="125%" id="text3022" y="538.40936" x="221.52345" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="538.40936" x="221.52345" id="tspan3024" sodipodi:role="line">path</tspan></text>
107
+ <text xml:space="preserve" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="346.54056" y="511.40939" id="text3026" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3028" x="346.54056" y="511.40939">target</tspan></text>
108
+ <text xml:space="preserve" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="221.37648" y="511.40939" id="text3030" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3032" x="221.37648" y="511.40939">timer</tspan></text>
109
+ <text sodipodi:linespacing="125%" id="text3034" y="538.40936" x="346.56107" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="538.40936" x="346.56107" id="tspan3036" sodipodi:role="line">swap</tspan></text>
110
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="243.57326" y="490.905" id="text3038" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3040" x="243.57326" y="490.905">unit</tspan></text>
111
+ <text xml:space="preserve" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="432.02148" y="511.40939" id="text3042" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3044" x="432.02148" y="511.40939">multiseat</tspan></text>
112
+ <text sodipodi:linespacing="125%" id="text3046" y="511.40939" x="494.49756" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="511.40939" x="494.49756" id="tspan3048" sodipodi:role="line">inhibit</tspan></text>
113
+ <text sodipodi:linespacing="125%" id="text3050" y="538.40936" x="494.94876" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="538.40936" x="494.94876" id="tspan3052" sodipodi:role="line">pam</tspan></text>
114
+ <text xml:space="preserve" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="432.7085" y="538.40936" id="text3054" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3056" x="432.7085" y="538.40936">session</tspan></text>
115
+ <text sodipodi:linespacing="125%" id="text3058" y="490.905" x="457.41992" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="490.905" x="457.41992" id="tspan3060" sodipodi:role="line">login</tspan></text>
116
+ <text sodipodi:linespacing="125%" id="text3062" y="504.155" x="583.75684" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="504.155" x="583.75684" id="tspan3064" sodipodi:role="line">namespace</tspan></text>
117
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="584.05371" y="539.15497" id="text3066" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3068" x="584.05371" y="539.15497">cgroup</tspan></text>
118
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="666.53027" y="504.155" id="text3070" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3072" x="666.53027" y="504.155">log</tspan></text>
119
+ <text sodipodi:linespacing="125%" id="text3074" y="539.15497" x="666.51074" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="539.15497" x="666.51074" id="tspan3076" sodipodi:role="line">dbus</tspan></text>
120
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" x="18.229511" y="575.77716" id="text3078" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3080" x="18.229511" y="575.77716">systemd Libraries</tspan></text>
121
+ <text sodipodi:linespacing="125%" id="text3082" y="652.90497" x="17.588886" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" xml:space="preserve"><tspan y="652.90497" x="17.588886" id="tspan3084" sodipodi:role="line">Linux Kernel</tspan></text>
122
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" x="236.22951" y="336.09601" id="text3086" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3088" x="236.22951" y="336.09601">systemd Targets</tspan></text>
123
+ <text sodipodi:linespacing="125%" id="text3090" y="276.56192" x="18.229511" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" xml:space="preserve"><tspan y="276.56192" x="18.229511" id="tspan3092" sodipodi:role="line">systemd Utilities</tspan></text>
124
+ <text sodipodi:linespacing="125%" id="text3094" y="302.905" x="268.81882" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan y="302.905" x="268.81882" id="tspan3096" sodipodi:role="line">notify</tspan></text>
125
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" x="349.57831" y="302.905" id="text3098" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3100" x="349.57831" y="302.905">analyze</tspan></text>
126
+ <text sodipodi:linespacing="125%" id="text3102" y="302.905" x="425.01358" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan y="302.905" x="425.01358" id="tspan3104" sodipodi:role="line">cgls</tspan></text>
127
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" x="491.06604" y="302.905" id="text3106" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3108" x="491.06604" y="302.905">cgtop</tspan></text>
128
+ <text sodipodi:linespacing="125%" id="text3110" y="302.905" x="570.2005" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan y="302.905" x="570.2005" id="tspan3112" sodipodi:role="line">loginctl</tspan></text>
129
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" x="177.96165" y="302.905" id="text3114" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3116" x="177.96165" y="302.905">journalctl</tspan></text>
130
+ <text sodipodi:linespacing="125%" id="text3118" y="302.905" x="656.51855" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan y="302.905" x="656.51855" id="tspan3120" sodipodi:role="line">nspawn</tspan></text>
131
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="61.858418" y="605.40497" id="text3126" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3128" x="61.858418" y="605.40497">dbus-1</tspan></text>
132
+ <text sodipodi:linespacing="125%" id="text3130" y="605.40497" x="151.48732" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="605.40497" x="151.48732" id="tspan3132" sodipodi:role="line">libpam</tspan></text>
133
+ <text sodipodi:linespacing="125%" id="text3134" y="605.40497" x="236.24123" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="605.40497" x="236.24123" id="tspan3136" sodipodi:role="line">libcap</tspan></text>
134
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="341.24124" y="605.40497" id="text3138" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3140" x="341.24124" y="605.40497">libcryptsetup</tspan></text>
135
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="463.85062" y="605.40497" id="text3142" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3144" x="463.85062" y="605.40497">tcpwrapper</tspan></text>
136
+ <text sodipodi:linespacing="125%" id="text3146" y="605.40497" x="565.99902" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="605.40497" x="565.99902" id="tspan3148" sodipodi:role="line">libaudit</tspan></text>
137
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="656.04199" y="605.40497" id="text3150" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3152" x="656.04199" y="605.40497">libnotify</tspan></text>
138
+ <text sodipodi:linespacing="125%" id="text3154" y="399.155" x="346.83502" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="399.155" x="346.83502" id="tspan3156" sodipodi:role="line">basic</tspan></text>
139
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="346.52643" y="434.155" id="text3158" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3160" x="346.52643" y="434.155">reboot</tspan></text>
140
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="271.75687" y="399.155" id="text3162" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3164" x="271.75687" y="399.155">bootmode</tspan></text>
141
+ <text sodipodi:linespacing="125%" id="text3166" y="434.155" x="272.31155" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="434.155" x="272.31155" id="tspan3168" sodipodi:role="line">shutdown</tspan></text>
142
+ <text xml:space="preserve" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="407.01663" y="406.40939" id="text3170" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3172" x="407.01663" y="406.40939">dbus</tspan></text>
143
+ <text sodipodi:linespacing="125%" id="text3174" y="406.40939" x="472.07816" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="406.40939" x="472.07816" id="tspan3176" sodipodi:role="line">telephony</tspan></text>
144
+ <text xml:space="preserve" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="472.03372" y="433.40939" id="text3178" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3180" x="472.03372" y="433.40939">logind</tspan></text>
145
+ <text sodipodi:linespacing="125%" id="text3182" y="384.91446" x="446.3389" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="384.91446" x="446.3389" id="tspan3184" sodipodi:role="line">multi-user</tspan></text>
146
+ <text sodipodi:linespacing="125%" id="text3186" y="433.40939" x="407.30716" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="433.40939" x="407.30716" id="tspan3188" sodipodi:role="line">dlog</tspan></text>
147
+ <text sodipodi:linespacing="125%" id="text3190" y="409.44016" x="556.25769" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="409.44016" x="556.25769" sodipodi:role="line" id="tspan3218">user-</tspan><tspan y="426.94016" x="556.25769" sodipodi:role="line" id="tspan3214">sesssion</tspan></text>
148
+ <text xml:space="preserve" style="font-size:15.95549583px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="556.60889" y="383.7998" id="text3194" sodipodi:linespacing="125%" transform="scale(0.99721846,1.0027893)"><tspan sodipodi:role="line" id="tspan3196" x="556.60889" y="383.7998">graphical</tspan></text>
149
+ <text xml:space="preserve" style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:FreeSans;-inkscape-font-specification:FreeSans" x="356.44669" y="422.27118" id="text3198" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3200" x="356.44669" y="422.27118"/></text>
150
+ <text xml:space="preserve" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="654.04395" y="406.40939" id="text3202" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3204" x="654.04395" y="406.40939">display service</tspan></text>
151
+ <text sodipodi:linespacing="125%" id="text3206" y="384.91446" x="654.06543" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="384.91446" x="654.06543" id="tspan3208" sodipodi:role="line">user-session</tspan></text>
152
+ <text sodipodi:linespacing="125%" id="text3210" y="433.40939" x="654.24219" style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#666666;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="433.40939" x="654.24219" id="tspan3212" sodipodi:role="line">tizen service</tspan></text>
153
+ <text sodipodi:linespacing="125%" id="text3236" y="336.09601" x="100.87014" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold" xml:space="preserve"><tspan y="336.09601" x="100.87014" id="tspan3238" sodipodi:role="line">systemd Daemons</tspan></text>
154
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" x="56.674824" y="434.15494" id="text3240" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3242" x="56.674824" y="434.15494">logind</tspan></text>
155
+ <text sodipodi:linespacing="125%" id="text3244" y="399.155" x="62.42873" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan y="399.155" x="62.42873" id="tspan3246" sodipodi:role="line">journald</tspan></text>
156
+ <text sodipodi:linespacing="125%" id="text3248" y="362.98978" x="73.967796" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan y="362.98978" x="73.967796" id="tspan3250" sodipodi:role="line">systemd</tspan></text>
157
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:-5px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" x="144.00294" y="434.15494" id="text3252" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3254" x="144.00294" y="434.15494">user session</tspan></text>
158
+ <text sodipodi:linespacing="125%" id="text2990" y="652.90497" x="244.01076" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="652.90497" x="244.01076" id="tspan2992" sodipodi:role="line">cgroups</tspan></text>
159
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" x="358.97171" y="652.90497" id="text3122" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3124" x="358.97171" y="652.90497">autofs</tspan></text>
160
+ <text sodipodi:linespacing="125%" id="text3217" y="652.90497" x="473.72562" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="652.90497" x="473.72562" id="tspan3219" sodipodi:role="line">kdbus</tspan></text>
161
+ <text xml:space="preserve" style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" x="151.47748" y="399.155" id="text3175" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan3177" x="151.47748" y="399.155">networkd</tspan></text>
162
+ </g>
163
+ </svg>
data/theme.rb ADDED
@@ -0,0 +1,71 @@
1
+ # -*- coding: utf-8 -*-
2
+ #--------------------------------------
3
+ # font family setup
4
+ #--------------------------------------
5
+ @default_font = 'Noto Sans Japanese'
6
+ @monospace_font = 'Ricty'
7
+
8
+ # hide footer comment
9
+ @stream_comment_max_n_comments = 10
10
+ @stream_comment_n_moves_base = 500
11
+ @stream_comment_n_moves_fluctuation = 5
12
+
13
+ proc_name = 'stream-comment'
14
+ match(SlideElement) do |slides|
15
+ slides.delete_post_draw_proc_by_name(proc_name)
16
+ canvas.delete_on_comment_proc_by_name(proc_name)
17
+
18
+ stream_comments = []
19
+ canvas.on_comment(proc_name) do |comment|
20
+ text = Text.new(ERB::Util.h(comment.strip.gsub("\n", '')))
21
+ set_font_family(text)
22
+ text.font(:size => (screen_size(3 * Pango::SCALE)).ceil)
23
+ text.compile(canvas, 0, 0, canvas.width*10, canvas.height)
24
+ color = "\#%02x%02x%02x%02x" % [0,64,0, 200]
25
+ # [rand(256), rand(256), rand(256), 128 + rand(128)]
26
+ width, height = text.layout.pixel_size
27
+ stream_comment = {
28
+ :text => text,
29
+ :color => color,
30
+ :x => canvas.width,
31
+ :y => ((canvas.height - height) * rand).ceil - @margin_bottom,
32
+ :terminate => false,
33
+ }
34
+ stream_comments << stream_comment
35
+ if stream_comments.size > @stream_comment_max_n_comments
36
+ oldest_stream_comments = stream_comments.shift
37
+ oldest_stream_comments[:terminate] = true
38
+ end
39
+
40
+ n = @stream_comment_n_moves_base + rand(@stream_comment_n_moves_fluctuation)
41
+ delta = (canvas.width + width) / n.to_f
42
+ GLib::Timeout.add(1000 / 50) do
43
+ stream_comment[:x] -= delta
44
+ n -= 1
45
+ stream_comment[:terminate] = true if n.zero?
46
+ keep_callback = !stream_comment[:terminate]
47
+ unless keep_callback
48
+ stream_comments.reject! do |stream_comment|
49
+ _stream_comment == stream_comment
50
+ end
51
+ end
52
+ canvas.activate("Redraw")
53
+ keep_callback
54
+ end
55
+ end
56
+
57
+ redraw_time = Time.now
58
+ slides.add_post_draw_proc(proc_name) do |slide, canvas, x, y, w, h, simulation|
59
+ unless simulation
60
+ stream_comments.each do |stream_comment|
61
+ canvas.draw_layout(stream_comment[:text].layout,
62
+ stream_comment[:x],
63
+ stream_comment[:y],
64
+ stream_comment[:color])
65
+ end
66
+ end
67
+ [x, y, w, h]
68
+ end
69
+ end
70
+ @footer_comment_uninstall = true
71
+ include_theme("debian")
metadata ADDED
@@ -0,0 +1,68 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-sasakyh-EPNetFan2015-06-12
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Youhei SASAKI
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-06-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ description: 'short talk about systemd '
28
+ email:
29
+ - uwabami@gfd-dennou.org
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".rabbit"
35
+ - README.rd
36
+ - Rakefile
37
+ - TalkAboutInit.rab
38
+ - config.yaml
39
+ - images/linux-boot-sequence.png
40
+ - images/systemd_components.png
41
+ - images/systemd_components.svg
42
+ - pdf/EPNetFan2015-06-12-TalkAboutInit.pdf
43
+ - theme.rb
44
+ homepage: http://slide.rabbit-shocker.org/authors/sasakyh/EPNetFan2015-06-12/
45
+ licenses:
46
+ - MIT/X11
47
+ metadata: {}
48
+ post_install_message:
49
+ rdoc_options: []
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirements: []
63
+ rubyforge_project:
64
+ rubygems_version: 2.2.2
65
+ signing_key:
66
+ specification_version: 4
67
+ summary: 'Debian default init: sysvinit -> systemd'
68
+ test_files: []