rabbit-slide-znz-lilo-20170107 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rabbit +1 -0
- data/README.md +23 -0
- data/Rakefile +17 -0
- data/config.yaml +20 -0
- data/lilo-20170107.md +362 -0
- data/pdf/lilo-20170107-lilo-20170107.pdf +0 -0
- metadata +63 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ac27c25ddf566f959d5df70e000291c6794c0c7b
|
4
|
+
data.tar.gz: 3bdfb465bc18923f9813f0115ec7ef1a48e3d655
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7b0e0f169e383446474f856b7525b3bb4aad1d3e82086358601a4a09d1715a40a9dee31ee6759f8a8bcfb52af7b096c97249ed416f10407868bb3aa19ef443ee
|
7
|
+
data.tar.gz: 5f2df233e41ca73d7e3ca60196f9bdfadb4680595418bac140f1746a316eb358d313b5b972663048f443ebb1fb0a98f31729c98ccd49ed9ab8695e1efe7d5193
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
lilo-20170107.md
|
data/README.md
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# lilo.linux.or.jp の話 (2017年1月)
|
2
|
+
|
3
|
+
前回の発表以降の lilo.linux.or.jp の管理の話をします。
|
4
|
+
|
5
|
+
## 作者向け
|
6
|
+
|
7
|
+
### 表示
|
8
|
+
|
9
|
+
rake
|
10
|
+
|
11
|
+
### 公開
|
12
|
+
|
13
|
+
rake publish
|
14
|
+
|
15
|
+
## 閲覧者向け
|
16
|
+
|
17
|
+
### インストール
|
18
|
+
|
19
|
+
gem install rabbit-slide-znz-lilo-20170107
|
20
|
+
|
21
|
+
### 表示
|
22
|
+
|
23
|
+
rabbit rabbit-slide-znz-lilo-20170107.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/config.yaml
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
id: lilo-20170107
|
3
|
+
base_name: lilo-20170107
|
4
|
+
tags:
|
5
|
+
- debian
|
6
|
+
presentation_date: 2017.1.7
|
7
|
+
version: 1.0.0
|
8
|
+
licenses: []
|
9
|
+
slideshare_id: lilolinuxorjp-20171
|
10
|
+
speaker_deck_id: lilo-dot-linux-dot-or-dot-jp-falsehua-2017nian-1yue
|
11
|
+
ustream_id:
|
12
|
+
vimeo_id:
|
13
|
+
youtube_id:
|
14
|
+
author:
|
15
|
+
markup_language: :markdown
|
16
|
+
name: Kazuhiro NISHIYAMA
|
17
|
+
email: zn@mbf.nifty.com
|
18
|
+
rubygems_user: znz
|
19
|
+
slideshare_user: znzjp
|
20
|
+
speaker_deck_user: znz
|
data/lilo-20170107.md
ADDED
@@ -0,0 +1,362 @@
|
|
1
|
+
# lilo.linux.or.jp の話 (2017年1月)
|
2
|
+
|
3
|
+
author
|
4
|
+
: Kazuhiro NISHIYAMA
|
5
|
+
|
6
|
+
content-source
|
7
|
+
: LILO&東海道らぐオフラインミーティング
|
8
|
+
|
9
|
+
date
|
10
|
+
: 2017-01-07
|
11
|
+
|
12
|
+
allotted-time
|
13
|
+
: 20m
|
14
|
+
|
15
|
+
# lilo.linux.or.jp とは?
|
16
|
+
|
17
|
+
主な用途:
|
18
|
+
|
19
|
+
* LILO の Web サーバー (apache)
|
20
|
+
* ML サーバー (mailman)
|
21
|
+
|
22
|
+
# 環境
|
23
|
+
|
24
|
+
* さくらの VPS
|
25
|
+
* Debian GNU/Linux
|
26
|
+
|
27
|
+
# 今回の話
|
28
|
+
|
29
|
+
前回以降の話
|
30
|
+
|
31
|
+
* unattended-upgrades
|
32
|
+
* HSTS
|
33
|
+
* mailman の fix_url
|
34
|
+
* certbot
|
35
|
+
* OCSP Stapling などの SSL/TLS 設定変更
|
36
|
+
|
37
|
+
# unattended-upgrades (1/5)
|
38
|
+
|
39
|
+
* セキュリティアップデートの自動化
|
40
|
+
* 似た機能の cron-apt はすでに入れていたが purge した
|
41
|
+
* sudo aptitude purge cron-apt
|
42
|
+
|
43
|
+
# unattended-upgrades (2/5)
|
44
|
+
|
45
|
+
* 設定ファイルは `/etc/apt/apt.conf.d/50unattended-upgrades`
|
46
|
+
* `/etc/cron.daily/apt` で自動更新
|
47
|
+
* apt 公式に近いように見えたので cron-apt から乗り換えた
|
48
|
+
|
49
|
+
# unattended-upgrades (3/5)
|
50
|
+
|
51
|
+
* メール送信設定
|
52
|
+
* `Unattended-Upgrade::Mail "root";`
|
53
|
+
* mailx が必要
|
54
|
+
* 自動再起動設定
|
55
|
+
* `Unattended-Upgrade::Automatic-Reboot "true";`
|
56
|
+
* sudo dpkg-reconfigure -plow unattended-upgrades で Yes
|
57
|
+
|
58
|
+
# unattended-upgrades (4/5)
|
59
|
+
|
60
|
+
* `/boot` が溢れないように autoremove 設定
|
61
|
+
* `Unattended-Upgrade::Remove-Unused-Dependencies "true";`
|
62
|
+
|
63
|
+
# unattended-upgrades (5/5)
|
64
|
+
|
65
|
+
* `Unattended-Upgrade::Origins-Pattern` で自動更新対象を制限
|
66
|
+
* デフォルトはセキュリティアップデートのみ自動更新
|
67
|
+
* ポイントリリースや backports (や milter-manager) は手動更新
|
68
|
+
|
69
|
+
# unattended-upgrades 例1
|
70
|
+
|
71
|
+
メールの例1 (単純な更新)
|
72
|
+
|
73
|
+
Subject: unattended-upgrades result for 'chiyoko': 'True'
|
74
|
+
|
75
|
+
自動アップグレードは以下を返しました: True
|
76
|
+
|
77
|
+
Packages that were upgraded:
|
78
|
+
libidn11
|
79
|
+
|
80
|
+
Unattended-upgrades log:
|
81
|
+
初期状態でブラックリストにあるパッケージ:
|
82
|
+
Initial whitelisted packages:
|
83
|
+
自動アップグレードスクリプトを開始
|
84
|
+
許可されているパッケージ導入元: ['origin=Debian,codename=jessie,label=Debian-Security']
|
85
|
+
Packages that will be upgraded: libidn11
|
86
|
+
dpkg のログを '/var/log/unattended-upgrades/unattended-upgrades-dpkg.log' に書き込み中
|
87
|
+
全てのアップグレードがインストールされました
|
88
|
+
|
89
|
+
# unattended-upgrades 例2
|
90
|
+
|
91
|
+
メールの例2 (再起動が必要な時)
|
92
|
+
|
93
|
+
Subject: [reboot required] unattended-upgrades result for 'chiyoko': True
|
94
|
+
|
95
|
+
自動アップグレードは以下を返しました: True
|
96
|
+
|
97
|
+
Warning: A reboot is required to complete this upgrade.
|
98
|
+
|
99
|
+
Packages that were upgraded:
|
100
|
+
linux-image-3.16.0-4-amd64 linux-libc-dev
|
101
|
+
|
102
|
+
Unattended-upgrades log:
|
103
|
+
初期状態でブラックリストにあるパッケージ:
|
104
|
+
Initial whitelisted packages:
|
105
|
+
自動アップグレードスクリプトを開始
|
106
|
+
許可されているパッケージ導入元: ['origin=Debian,codename=jessie,label=Debian-Security']
|
107
|
+
Packages that will be upgraded: linux-image-3.16.0-4-amd64 linux-libc-dev
|
108
|
+
dpkg のログを '/var/log/unattended-upgrades/unattended-upgrades-dpkg.log' に書き込み中
|
109
|
+
全てのアップグレードがインストールされました
|
110
|
+
|
111
|
+
# HSTS (1/5)
|
112
|
+
|
113
|
+
* HTTP Strict Transport Security
|
114
|
+
* 次回以降のアクセス時に http から https にブラウザー側で置き換える
|
115
|
+
* ブラウザーが HSTS preload list を持っていて、登録されているサイトは最初から https になる (mail.google.com など)
|
116
|
+
|
117
|
+
# HSTS (2/5)
|
118
|
+
|
119
|
+
* Strict-Transport-Security: max-age=31536000
|
120
|
+
* 365日 (31,536,000秒) に設定
|
121
|
+
* includeSubDomains はつけていない
|
122
|
+
* max-age の間、http に戻せないようなものなので慎重に
|
123
|
+
* DNS の TTL と同じようなもの
|
124
|
+
|
125
|
+
# HSTS (3/5)
|
126
|
+
|
127
|
+
apache2 での設定:
|
128
|
+
|
129
|
+
* sudo a2enmod headers
|
130
|
+
* VirtualHost の設定に追加
|
131
|
+
|
132
|
+
Header set Strict-Transport-Security "max-age=31536000"
|
133
|
+
|
134
|
+
* sudo service apache2 restart
|
135
|
+
|
136
|
+
# HSTS (4/5)
|
137
|
+
|
138
|
+
http から https へリダイレクト
|
139
|
+
|
140
|
+
* http の VirtualHost に RedirectPermanent を設定
|
141
|
+
|
142
|
+
```
|
143
|
+
RedirectPermanent / https://lilo.linux.or.jp/
|
144
|
+
```
|
145
|
+
|
146
|
+
# HSTS (5/5)
|
147
|
+
|
148
|
+
* Google Chrome だと HSTS のキャッシュは
|
149
|
+
`chrome://net-internals/#hsts`
|
150
|
+
で消せる
|
151
|
+
|
152
|
+
(動作確認に必要だった)
|
153
|
+
|
154
|
+
# mailman の fix_url (1/3)
|
155
|
+
|
156
|
+
* /etc/mailman/mm_cfg.py で設定
|
157
|
+
* `DEFAULT_URL_PATTERN = 'https://%s/cgi-bin/mailman/'`
|
158
|
+
* この設定をしても admindb の URL が http のままだった
|
159
|
+
|
160
|
+
# mailman の fix_url (2/3)
|
161
|
+
|
162
|
+
* Mailman admindb using http instead of https in formaction
|
163
|
+
* <https://mail.python.org/pipermail/mailman-users/2011-October/072312.html>
|
164
|
+
* <http://wiki.list.org/x/7oA9> and <http://wiki.list.org/x/mIA9>.
|
165
|
+
* 「`withlist -l -a -r fix_url`」で解決
|
166
|
+
|
167
|
+
# mailman の fix_url (3/3)
|
168
|
+
|
169
|
+
実行結果 (一部の ML の出力を抜粋)
|
170
|
+
|
171
|
+
# # withlist -l -a -r fix_url
|
172
|
+
# fix_url を import 中...
|
173
|
+
# fix_url.fix_url() を実行中...
|
174
|
+
# lilo のリストを読み込中 (ロック完了)
|
175
|
+
# リストを保存中
|
176
|
+
# mailman のリストを読み込中 (ロック完了)
|
177
|
+
# リストを保存中
|
178
|
+
# 最終処理中
|
179
|
+
|
180
|
+
# certbot (1/10)
|
181
|
+
|
182
|
+
`/etc/letsencrypt/cli.ini` を設定
|
183
|
+
|
184
|
+
rsa-key-size = 4096
|
185
|
+
post-hook = /etc/letsencrypt/post-hook
|
186
|
+
|
187
|
+
# certbot (2/10)
|
188
|
+
|
189
|
+
* 公開鍵のビット数
|
190
|
+
* `rsa-key-size = 4096` に設定
|
191
|
+
* デフォルトは 2048
|
192
|
+
|
193
|
+
# certbot (3/10)
|
194
|
+
|
195
|
+
post-hook = apachectl graceful; service postfix reload >/dev/null
|
196
|
+
|
197
|
+
と書いたら
|
198
|
+
|
199
|
+
certbot: error: Unexpected line 1
|
200
|
+
in /etc/letsencrypt/cli.ini:
|
201
|
+
post-hook = apachectl graceful;
|
202
|
+
service postfix reload >/dev/null
|
203
|
+
(実際は1行)
|
204
|
+
|
205
|
+
というエラー
|
206
|
+
|
207
|
+
# certbot (4/10)
|
208
|
+
|
209
|
+
`post-hook` ファイルに分離して解決
|
210
|
+
|
211
|
+
% cat /etc/letsencrypt/post-hook
|
212
|
+
apachectl graceful
|
213
|
+
service postfix reload >/dev/null
|
214
|
+
|
215
|
+
(`post-hook` より `renew-hook` の方が望ましいがまだ変更していない)
|
216
|
+
(<http://blog.n-z.jp/blog/2017-01-03-certbot-renew-hook.html> 参照)
|
217
|
+
|
218
|
+
# certbot (5/10)
|
219
|
+
|
220
|
+
* 2016-11-08 に `/etc/cron.daily/local-letsencrypt` は消した
|
221
|
+
* `/etc/cron.d/certbot` より `/lib/systemd/system/certbot.timer` が優先されるようになったため
|
222
|
+
* ローカル時刻の 00:00:00 と 12:00:00 に自動実行
|
223
|
+
|
224
|
+
# certbot (6/10)
|
225
|
+
|
226
|
+
* `RandomizedDelaySec` がきいていないが lilo.linux.or.jp では対処せず
|
227
|
+
(<https://bugs.debian.org/843607> 参照)
|
228
|
+
|
229
|
+
# certbot (7/10)
|
230
|
+
|
231
|
+
% cat /etc/systemd/system/certbot.service.d/diffmail.conf
|
232
|
+
[Service]
|
233
|
+
ExecStopPost=/bin/bash -c "diff -u
|
234
|
+
<(cut -d: -f4- /var/log/letsencrypt/letsencrypt.log.1
|
235
|
+
| egrep -v '^DEBUG') <(cut -d: -f4-
|
236
|
+
/var/log/letsencrypt/letsencrypt.log | egrep -v
|
237
|
+
'^DEBUG') | ifne mail -s 'Change certbot log' root"
|
238
|
+
|
239
|
+
(`ExecStopPost` は実際は1行)
|
240
|
+
|
241
|
+
# certbot (8/10)
|
242
|
+
|
243
|
+
* service に直接 ExecStopPost を設定するのが良さそうにみえた
|
244
|
+
* 毎回変わる日時などが混ざる部分を除外して diff
|
245
|
+
* moreutils の ifne で diff があるときだけメール送信
|
246
|
+
|
247
|
+
# certbot (9/10)
|
248
|
+
|
249
|
+
* 詳細は「Mini Debian Conference Japan 2016」での発表資料の
|
250
|
+
「Certbotで無料TLSサーバー」
|
251
|
+
<http://slide.rabbit-shocker.org/authors/znz/debian-certbot/>
|
252
|
+
を参照
|
253
|
+
|
254
|
+
# certbot (10/10)
|
255
|
+
|
256
|
+
* 前回の発表以降3回の更新あり
|
257
|
+
* 2016-08-26 06:33
|
258
|
+
* 2016-10-25 06:49
|
259
|
+
* 2016-12-24 12:00
|
260
|
+
* ここから rsa-key-size = 4096
|
261
|
+
* 有効期限が30日未満になったら自動更新で90日になるので約2ヶ月ごと
|
262
|
+
|
263
|
+
# OCSP Stapling (1/4)
|
264
|
+
|
265
|
+
* OCSP (Online Certificate Status Protocol)
|
266
|
+
* 証明書の失効を確認するプロトコル
|
267
|
+
* その結果をステープル (ホッチキス) で止めるようにくっつけて、サーバー証明書と一緒に返す
|
268
|
+
|
269
|
+
# OCSP Stapling (2/4)
|
270
|
+
|
271
|
+
apache 2.4 だと数行
|
272
|
+
|
273
|
+
SSLUseStapling on
|
274
|
+
SSLStaplingResponderTimeout 5
|
275
|
+
SSLStaplingReturnResponderErrors off
|
276
|
+
SSLStaplingCache shmcb:/var/run/ocsp(128000)
|
277
|
+
|
278
|
+
* それぞれ、有効にする、タイムアウト、成功の時だけ、キャッシュ設定
|
279
|
+
|
280
|
+
# OCSP Stapling (3/4)
|
281
|
+
|
282
|
+
* キャッシュ設定は VirtualHost の外にする必要あり
|
283
|
+
* 他は VirtualHost の中でも可能
|
284
|
+
* 後述のサイトに合わせて全部外にした
|
285
|
+
|
286
|
+
# OCSP Stapling (4/4)
|
287
|
+
|
288
|
+
* `openssl s_client -connect lilo.linux.or.jp:443 -status </dev/null` で確認可能
|
289
|
+
* `OCSP response: no response sent` なら未設定
|
290
|
+
* `OCSP Response Data:` が返ってきたら成功
|
291
|
+
* <https://www.cybertrust.ne.jp/sureserver/support/files/apache_ocsp.pdf> 参照
|
292
|
+
|
293
|
+
# SSL 設定全般 (1/5)
|
294
|
+
|
295
|
+
* <https://mozilla.github.io/server-side-tls/ssl-config-generator/>
|
296
|
+
* <https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=apache-2.4.10&openssl=1.0.1t&hsts=yes&profile=intermediate> の設定を採用
|
297
|
+
|
298
|
+
# SSL 設定全般 (2/5)
|
299
|
+
|
300
|
+
% cat /etc/apache2/conf-available/local-ssl.conf
|
301
|
+
# intermediate configuration, tweak to your needs
|
302
|
+
SSLProtocol all -SSLv3
|
303
|
+
|
304
|
+
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:
|
305
|
+
ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:
|
306
|
+
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:
|
307
|
+
ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:
|
308
|
+
DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:
|
309
|
+
ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:
|
310
|
+
ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:
|
311
|
+
ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:
|
312
|
+
DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:
|
313
|
+
ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:
|
314
|
+
AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:
|
315
|
+
DES-CBC3-SHA:!DSS
|
316
|
+
# (SSLCipherSuite は実際は1行)
|
317
|
+
|
318
|
+
SSLHonorCipherOrder on
|
319
|
+
SSLCompression off
|
320
|
+
|
321
|
+
# OCSP Stapling, only in httpd 2.3.3 and later
|
322
|
+
SSLUseStapling on
|
323
|
+
SSLStaplingResponderTimeout 5
|
324
|
+
SSLStaplingReturnResponderErrors off
|
325
|
+
SSLStaplingCache shmcb:/var/run/ocsp(128000)
|
326
|
+
|
327
|
+
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
|
328
|
+
|
329
|
+
# SSL 設定全般 (3/5)
|
330
|
+
|
331
|
+
* `a2enconf local-ssl` で有効化
|
332
|
+
* `VirtualHost` の中
|
333
|
+
|
334
|
+
SSLEngine on
|
335
|
+
SSLCertificateFile /etc/letsencrypt/live/lilo.linux.or.jp/fullchain.pem
|
336
|
+
SSLCertificateKeyFile /etc/letsencrypt/live/lilo.linux.or.jp/privkey.pem
|
337
|
+
BrowserMatch "MSIE [2-6]" \
|
338
|
+
nokeepalive ssl-unclean-shutdown \
|
339
|
+
downgrade-1.0 force-response-1.0
|
340
|
+
# MSIE 7 and newer should be able to use keepalive
|
341
|
+
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
|
342
|
+
Header always set Strict-Transport-Security "max-age=15768000"
|
343
|
+
|
344
|
+
* (HSTS は Configuration Generator に合わせて1年から半年に変更)
|
345
|
+
|
346
|
+
# SSL 設定全般 (4/5)
|
347
|
+
|
348
|
+
* <https://www.ssllabs.com/ssltest/> での評価が「A-」(The server does not support Forward Secrecy with the reference browsers. Grade reduced to A-.)から「A+」に
|
349
|
+
* HSTS なしだと「A」
|
350
|
+
|
351
|
+
# SSL 設定全般 (5/5)
|
352
|
+
|
353
|
+
* Mozilla SSL Configuration Generator で Modern にしても評価は変わらず、接続できるクライアントが大幅に減るので Intermediate にした
|
354
|
+
* 自分の持っている Android 端末 (4.2.2) も Modern の対象外だったのも理由のひとつ
|
355
|
+
|
356
|
+
# まとめ
|
357
|
+
|
358
|
+
* unattended-upgrades で自動更新
|
359
|
+
* HSTS で常時 https 化
|
360
|
+
* mailman の fix_url で http が残っていたのを修正
|
361
|
+
* certbot で自動更新の現状
|
362
|
+
* その他 SSL/TLS 設定見直し
|
Binary file
|
metadata
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-znz-lilo-20170107
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kazuhiro NISHIYAMA
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-01-06 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: 前回の発表以降の lilo.linux.or.jp の管理の話をします。
|
28
|
+
email:
|
29
|
+
- zn@mbf.nifty.com
|
30
|
+
executables: []
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- ".rabbit"
|
35
|
+
- README.md
|
36
|
+
- Rakefile
|
37
|
+
- config.yaml
|
38
|
+
- lilo-20170107.md
|
39
|
+
- pdf/lilo-20170107-lilo-20170107.pdf
|
40
|
+
homepage: http://slide.rabbit-shocker.org/authors/znz/lilo-20170107/
|
41
|
+
licenses: []
|
42
|
+
metadata: {}
|
43
|
+
post_install_message:
|
44
|
+
rdoc_options: []
|
45
|
+
require_paths:
|
46
|
+
- lib
|
47
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - ">="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '0'
|
52
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
57
|
+
requirements: []
|
58
|
+
rubyforge_project:
|
59
|
+
rubygems_version: 2.5.2
|
60
|
+
signing_key:
|
61
|
+
specification_version: 4
|
62
|
+
summary: lilo.linux.or.jp の話 (2017年1月)
|
63
|
+
test_files: []
|