rabbit-slide-kenhys-tokyodebian-d-i-netcfg-202503 2025.03.15.1
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 +7 -0
- data/.rabbit +1 -0
- data/README.md +16 -0
- data/Rakefile +35 -0
- data/config.yaml +25 -0
- data/d-i-netcfg.md +202 -0
- data/images/d-i-ping-failure.png +0 -0
- data/images/mirror-deb-debian-org.png +0 -0
- data/pdf/tokyodebian-d-i-netcfg-202503-d-i-netcfg.pdf +0 -0
- data/theme.rb +5 -0
- metadata +66 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 16a8f683df7a913a2cefaf461455edfc0e599426fcce00e57f6db517de35e173
|
4
|
+
data.tar.gz: 0602f9af498b5c4ca7fea3c0aaf2fd8435746a6dead5542ef25cbf8262f5bcea
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 341125266bf66a9a2714eac55686ac05e011ce082f0bedb1084c51fba36e02645afa8ec004fb0489a4baa6d6932c544f78f655de0054edcaba4c9c86591effbd
|
7
|
+
data.tar.gz: 1cda1f77fdd9383e6a9183924ad6ba918d8fe88eaca0f8e4032597b9664bf63073d43a74a0714a3a9b8ef104acbac95c8dea93f41c0c8627d8177376167f16f7
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--size=1920,1080 d-i-netcfg.md
|
data/README.md
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,35 @@
|
|
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("rabbit-theme-YOUR-THEME")
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Preview"
|
14
|
+
task :preview do
|
15
|
+
sh("rabbit", "-w", "1024", "-h", "768")
|
16
|
+
end
|
17
|
+
|
18
|
+
desc "Tag #{spec.version}"
|
19
|
+
task :tag do
|
20
|
+
sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
|
21
|
+
sh("git", "push", "--tags")
|
22
|
+
end
|
23
|
+
|
24
|
+
desc "Extract slide as a image"
|
25
|
+
task :extract do
|
26
|
+
9.times do |i|
|
27
|
+
sh("pdftk", "slides.pdf", "cat", "#{i+1}", "output", "images/slides#{i+1}.pdf")
|
28
|
+
sh("pdftocairo", "-png", "-singlefile", "images/slides#{i+1}.pdf", "images/slides#{i+1}")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
desc "Show mini slide to preview"
|
33
|
+
task :minislide do
|
34
|
+
sh("rabbit", "-w", "960", "-h", "540")
|
35
|
+
end
|
data/config.yaml
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
id: tokyodebian-d-i-netcfg-202503
|
3
|
+
base_name: d-i-netcfg
|
4
|
+
tags:
|
5
|
+
- rabbit
|
6
|
+
- debian
|
7
|
+
- debian-installer
|
8
|
+
presentation_date: 2025-03-15
|
9
|
+
presentation_start_time:
|
10
|
+
presentation_end_time:
|
11
|
+
slideshare_id:
|
12
|
+
version: 2025.03.15.1
|
13
|
+
licenses:
|
14
|
+
- CC-BY-SA-4.0
|
15
|
+
slideshare_id: kenhys
|
16
|
+
speaker_deck_id:
|
17
|
+
vimeo_id:
|
18
|
+
youtube_id:
|
19
|
+
author:
|
20
|
+
markup_language: :md
|
21
|
+
name: Kentaro Hayashi
|
22
|
+
email: kenhys@gmail.com
|
23
|
+
rubygems_user: kenhys
|
24
|
+
slideshare_user:
|
25
|
+
speaker_deck_user: kenhys
|
data/d-i-netcfg.md
ADDED
@@ -0,0 +1,202 @@
|
|
1
|
+
# Debian Installerが\\nミラー選択で\\n刺さる問題をどうにかする
|
2
|
+
|
3
|
+
subtitle
|
4
|
+
: Debian installerとnetcfgとIPv6の話
|
5
|
+
|
6
|
+
author
|
7
|
+
: Kentaro Hayashi
|
8
|
+
|
9
|
+
institution
|
10
|
+
: ClearCode Inc.
|
11
|
+
|
12
|
+
content-source
|
13
|
+
: 2025年3月 東京エリア・関西合同Debian勉強会
|
14
|
+
|
15
|
+
allotted-time
|
16
|
+
: 15m
|
17
|
+
|
18
|
+
theme
|
19
|
+
: .
|
20
|
+
|
21
|
+
# スライドは\\nRabbit Slide Showにて公開済み
|
22
|
+
|
23
|
+
* Debian Installerがミラー選択で刺さる問題を解決する
|
24
|
+
* {::note}<https://slide.rabbit-shocker.org/authors/kenhys/tokyodebian-d-i-netcfg-202503>{:/note}
|
25
|
+
|
26
|
+
# 本日の内容
|
27
|
+
|
28
|
+
* 問題に気づいたきっかけ
|
29
|
+
* Debian Installerの問題の切り分け
|
30
|
+
* どう回避するのか
|
31
|
+
* 修正するにはどうするか
|
32
|
+
|
33
|
+
# 本日の内容
|
34
|
+
|
35
|
+
* **問題に気づいたきっかけ**
|
36
|
+
* Debian Installerの問題の切り分け
|
37
|
+
* どう回避するのか
|
38
|
+
* 修正するにはどうするか
|
39
|
+
|
40
|
+
# 問題に気づいたきっかけ(1)
|
41
|
+
|
42
|
+
* mozc: New upstream release available: 2.30.5544.102
|
43
|
+
* <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1085173#40>
|
44
|
+
* Mozcが2.28.4715.102+dfsg-2.3から2年くらい更新できてなかった問題😭
|
45
|
+
* 2024年11月 Debian勉強会「より新しい Mozc を Debian でも使いたい」
|
46
|
+
* <https://tokyodebian-team.pages.debian.net/2024-11.html>
|
47
|
+
|
48
|
+
# 問題に気づいたきっかけ(2)
|
49
|
+
|
50
|
+
* Mozc 2.29.5160.102+dfsg-1になんやかんやあって更新した🎉
|
51
|
+
* 各種デスクトップ環境で問題ないか確認するのにインストールが必要
|
52
|
+
|
53
|
+
# 実際にどのようなことが起きるか
|
54
|
+
|
55
|
+
* Weekly ISOイメージでGraphical Install
|
56
|
+
* ベースシステムインストール後、Debianアーカイブミラーとしてdeb.debian.orgを選択
|
57
|
+
* 「ミラーを検査しています...」の画面から進まない😱
|
58
|
+
|
59
|
+
# ミラー選択で刺さったときの\\nスクリーンショット
|
60
|
+
|
61
|
+
{:relative-height="100"}
|
62
|
+
|
63
|
+
# 本日の内容
|
64
|
+
|
65
|
+
* 問題に気づいたきっかけ
|
66
|
+
* **Debian Installerの問題の切り分け**
|
67
|
+
* どう回避するのか
|
68
|
+
* 修正するにはどうするか
|
69
|
+
|
70
|
+
# Debian Installerの問題の切り分け
|
71
|
+
|
72
|
+
* Debian Installer(d-i)の内部では何が発生しているのか?
|
73
|
+
|
74
|
+
* Ctrl+Alt+F2でコンソールに切り替え
|
75
|
+
* pingが通るか確認してみる
|
76
|
+
|
77
|
+
# ネットワークの疎通状況の\\nスクリーンショット
|
78
|
+
|
79
|
+
{:relative-height="100"}
|
80
|
+
|
81
|
+
# ネットワークの疎通状況
|
82
|
+
|
83
|
+
* ping -4 deb.debian.org
|
84
|
+
* ✅ IPv4では疎通できる
|
85
|
+
* ping -6 deb.debian.org
|
86
|
+
* ❌ IPv6では疎通できない
|
87
|
+
* wget http://deb.debian.org (--connection-timeoutあり)
|
88
|
+
* IPv6を優先して、IPv4へとフォールバックする挙動
|
89
|
+
|
90
|
+
# d-iを構成する関連コンポーネント
|
91
|
+
|
92
|
+
* <https://salsa.debian.org/installer-team/>
|
93
|
+
* netcfg
|
94
|
+
* ネットワークの設定
|
95
|
+
* choose-mirror
|
96
|
+
* ミラーの選択をユーザーにさせる
|
97
|
+
|
98
|
+
# choose-mirrorの内部実装の前提
|
99
|
+
|
100
|
+
* <https://salsa.debian.org/installer-team/choose-mirror/-/blob/master/choose-mirror.c?ref_type=heads#L274-295/>
|
101
|
+
* 前提条件: choose-mirrorでは**wget**を使って選択したミラーからファイルを取得し検証を実施する
|
102
|
+
|
103
|
+
# wgetのオプションを制御する\\nコードの抜粋
|
104
|
+
|
105
|
+
```
|
106
|
+
char *get_wget_options(void) {
|
107
|
+
char *options;
|
108
|
+
|
109
|
+
if (wget_is_gnu()) {
|
110
|
+
options = strdup("--no-verbose");
|
111
|
+
if (strcasecmp(protocol, "https") == 0) {
|
112
|
+
debconf_get(debconf, "debian-installer/allow_unauthenticated_ssl");
|
113
|
+
if (strcmp(debconf->value, "true") == 0)
|
114
|
+
options = append(options, " --no-check-certificate");
|
115
|
+
}
|
116
|
+
} else {
|
117
|
+
if (strcasecmp(protocol, "https") == 0)
|
118
|
+
/* We shouldn't normally get here, but let's make it
|
119
|
+
* easier to debug in case somebody has hit us over
|
120
|
+
* the head with preseeding.
|
121
|
+
*/
|
122
|
+
fputs("busybox wget does not support https\n", stderr);
|
123
|
+
options = strdup("-q");
|
124
|
+
}
|
125
|
+
|
126
|
+
return options;
|
127
|
+
}
|
128
|
+
```
|
129
|
+
|
130
|
+
# wgetのオプションを制御するget_wget_options()の問題
|
131
|
+
|
132
|
+
* get_wget_options()ではタイムアウトオプションを指定していない
|
133
|
+
* ネットワークの問題はない前提
|
134
|
+
* 疎通できない場合、ただひたすら待つ
|
135
|
+
* wgetはIPv6から優先的に接続を試みる
|
136
|
+
* **IPv6で疎通できない場合、ただひたすら待つ**💀
|
137
|
+
|
138
|
+
|
139
|
+
# 本日の内容
|
140
|
+
|
141
|
+
* 問題に気づいたきっかけ
|
142
|
+
* Debian Installerの問題の切り分け
|
143
|
+
* **どう回避するのか**
|
144
|
+
* 修正するにはどうするか
|
145
|
+
|
146
|
+
# どう回避するのか
|
147
|
+
|
148
|
+
* choose-mirrorでできること
|
149
|
+
* wget --prefer-family=IPv4を指定したらIPv4を優先できる
|
150
|
+
* wget --connect-timeoutでタイムアウトしたらフォールバックさせる
|
151
|
+
* いずれも根本解決ではない
|
152
|
+
|
153
|
+
# 既知の問題だったりしないか?
|
154
|
+
|
155
|
+
* <https://www.virtualbox.org/ticket/22153>
|
156
|
+
* Bridge mode with WiFi interface: IPv6 does not work via router
|
157
|
+
* VirtualBoxでブリッジ接続した場合に疎通できない問題がある
|
158
|
+
|
159
|
+
# ひとまずの回避策
|
160
|
+
|
161
|
+
* ❌VirtualBox + ブリッジ接続(WiFi)
|
162
|
+
* ✅VirtualBox + NAT接続(WiFi)
|
163
|
+
|
164
|
+
# VirtualBox + ブリッジ接続環境での回避策
|
165
|
+
|
166
|
+
* <https://www.virtualbox.org/ticket/22153>
|
167
|
+
* Bridge mode with WiFi interface: IPv6 does not work via router
|
168
|
+
* VirtualBoxでブリッジ接続した場合に疎通できない問題がある
|
169
|
+
* **ルーターのグローバルアドレスへpingする**
|
170
|
+
|
171
|
+
# 回避策に関するデモ
|
172
|
+
|
173
|
+
* インストーラーを起動し回避策(ping)を試す
|
174
|
+
* d-i のmasterからビルドしたmini.iso (netboot-gtk)
|
175
|
+
|
176
|
+
# 本日の内容
|
177
|
+
|
178
|
+
* 問題に気づいたきっかけ
|
179
|
+
* Debian Installerの問題の切り分け
|
180
|
+
* どう回避するのか
|
181
|
+
* **修正するにはどうするか**
|
182
|
+
|
183
|
+
# 修正するにはどうするか
|
184
|
+
|
185
|
+
* choose-mirrorで頑張るのは筋が悪い
|
186
|
+
* netcfgで次のような対策をとる
|
187
|
+
* グローバルアドレスを頑張って取得して、pingする
|
188
|
+
* ip -6 routeやip -6 neighの結果を抽出して対処
|
189
|
+
* 複数のネットワークアダプタ有効にされていたりすると面倒🤔
|
190
|
+
|
191
|
+
# 修正版に関するデモ
|
192
|
+
|
193
|
+
* インストーラーを起動し修正版(ping)を試す
|
194
|
+
* d-i のmasterからビルドしたmini.iso (netboot-gtk)
|
195
|
+
|
196
|
+
# さいごに
|
197
|
+
|
198
|
+
* 有線LANでのインストールが安定
|
199
|
+
* WiFi環境でDebianインストールは
|
200
|
+
* VirtualBox + ブリッジ接続は問題あり
|
201
|
+
* VirtualBox + NAT接続が(現状)推奨
|
202
|
+
* or IPv4のみのミラー(ftp.jp.debian.org)を選択するとよい
|
Binary file
|
Binary file
|
Binary file
|
data/theme.rb
ADDED
metadata
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-kenhys-tokyodebian-d-i-netcfg-202503
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2025.03.15.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kentaro Hayashi
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2025-03-14 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: ''
|
28
|
+
email:
|
29
|
+
- kenhys@gmail.com
|
30
|
+
executables: []
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- ".rabbit"
|
35
|
+
- README.md
|
36
|
+
- Rakefile
|
37
|
+
- config.yaml
|
38
|
+
- d-i-netcfg.md
|
39
|
+
- images/d-i-ping-failure.png
|
40
|
+
- images/mirror-deb-debian-org.png
|
41
|
+
- pdf/tokyodebian-d-i-netcfg-202503-d-i-netcfg.pdf
|
42
|
+
- theme.rb
|
43
|
+
homepage: https://slide.rabbit-shocker.org/authors/kenhys/tokyodebian-d-i-netcfg-202503/
|
44
|
+
licenses:
|
45
|
+
- CC-BY-SA-4.0
|
46
|
+
metadata: {}
|
47
|
+
post_install_message:
|
48
|
+
rdoc_options: []
|
49
|
+
require_paths:
|
50
|
+
- lib
|
51
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
requirements: []
|
62
|
+
rubygems_version: 3.4.19
|
63
|
+
signing_key:
|
64
|
+
specification_version: 4
|
65
|
+
summary: Tokyo Debian Local Meeting Presentation 2025/03
|
66
|
+
test_files: []
|