Submit Search
Upload
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
•
Download as PPTX, PDF
•
2 likes
•
1,012 views
Genta Iha
Follow
Debianのstart-stop-daemonのPID namespace分離対応な話。あといじってたらkFreeBSDのjailにもうっかり対応しちゃった話。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 15
Download now
Recommended
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces
Akihiro Suda
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Nobuto Murata
Dockerを使ってみよう
Dockerを使ってみよう
GIG inc.
Docker Machineを始めるには?
Docker Machineを始めるには?
Masahito Zembutsu
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす
Akihiro Suda
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
irix_jp
RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4
Yohei Sasaki
Linux kernelsourcearchaeologywithgit public_20120130
Linux kernelsourcearchaeologywithgit public_20120130
Etsuji Nakai
Recommended
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces
Akihiro Suda
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Nobuto Murata
Dockerを使ってみよう
Dockerを使ってみよう
GIG inc.
Docker Machineを始めるには?
Docker Machineを始めるには?
Masahito Zembutsu
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす
Akihiro Suda
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
OSC2012 Tokyo Fall OpenStack Essex Multinode Demo
irix_jp
RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4
Yohei Sasaki
Linux kernelsourcearchaeologywithgit public_20120130
Linux kernelsourcearchaeologywithgit public_20120130
Etsuji Nakai
Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介
Akira Hayakawa
[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能
Akihiro Suda
Unixアレコレ調べたい2
Unixアレコレ調べたい2
Hirokazu Yatsunami
Bossan dentoo
Bossan dentoo
kubo39
CouchDB JP & BigCouch
CouchDB JP & BigCouch
Yohei Sasaki
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
uchan_nos
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
あるキャッシュメモリの話
あるキャッシュメモリの話
nullnilaki
[Docker Tokyo #35] Docker 20.10
[Docker Tokyo #35] Docker 20.10
Akihiro Suda
Fn project爆誕
Fn project爆誕
Hiroshi Hayakawa
Dockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんか
axsh co., LTD.
Nbug201503
Nbug201503
Kenji Aoyama
MINCS – containers in the shell script
MINCS – containers in the shell script
Masami Hiramatsu
Git リモートへの道
Git リモートへの道
Koudai Takahasi
Docker やってみた
Docker やってみた
Fumihiko Nishio
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話
Masaru Oki
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
Masaru Oki
Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )
ロフト くん
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Akihiro Suda
DPDKを拡張してみた話し
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
言語処理系入門10
言語処理系入門10
Kenta Hattori
分散システム第7章(前半)
分散システム第7章(前半)
Kenta Hattori
More Related Content
What's hot
Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介
Akira Hayakawa
[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能
Akihiro Suda
Unixアレコレ調べたい2
Unixアレコレ調べたい2
Hirokazu Yatsunami
Bossan dentoo
Bossan dentoo
kubo39
CouchDB JP & BigCouch
CouchDB JP & BigCouch
Yohei Sasaki
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
uchan_nos
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
あるキャッシュメモリの話
あるキャッシュメモリの話
nullnilaki
[Docker Tokyo #35] Docker 20.10
[Docker Tokyo #35] Docker 20.10
Akihiro Suda
Fn project爆誕
Fn project爆誕
Hiroshi Hayakawa
Dockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんか
axsh co., LTD.
Nbug201503
Nbug201503
Kenji Aoyama
MINCS – containers in the shell script
MINCS – containers in the shell script
Masami Hiramatsu
Git リモートへの道
Git リモートへの道
Koudai Takahasi
Docker やってみた
Docker やってみた
Fumihiko Nishio
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話
Masaru Oki
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
Masaru Oki
Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )
ロフト くん
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Akihiro Suda
DPDKを拡張してみた話し
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
What's hot
(20)
Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介
[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能
Unixアレコレ調べたい2
Unixアレコレ調べたい2
Bossan dentoo
Bossan dentoo
CouchDB JP & BigCouch
CouchDB JP & BigCouch
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
あるキャッシュメモリの話
あるキャッシュメモリの話
[Docker Tokyo #35] Docker 20.10
[Docker Tokyo #35] Docker 20.10
Fn project爆誕
Fn project爆誕
Dockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんか
Nbug201503
Nbug201503
MINCS – containers in the shell script
MINCS – containers in the shell script
Git リモートへの道
Git リモートへの道
Docker やってみた
Docker やってみた
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
DPDKを拡張してみた話し
DPDKを拡張してみた話し
Viewers also liked
言語処理系入門10
言語処理系入門10
Kenta Hattori
分散システム第7章(前半)
分散システム第7章(前半)
Kenta Hattori
取り残されたIt未開の地
取り残されたIt未開の地
Kenta Hattori
38th CBUG meeting opening ("Welcome to CBUG!"), Feb 27 2016, Tokyo, Japan
38th CBUG meeting opening ("Welcome to CBUG!"), Feb 27 2016, Tokyo, Japan
Genta Iha
言語処理系入門4
言語処理系入門4
Kenta Hattori
40th CBUG meeting opening ("Welcome to CBUG!") (at Asahi Net)
40th CBUG meeting opening ("Welcome to CBUG!") (at Asahi Net)
Genta Iha
July Tech Festa 2014発表資料
July Tech Festa 2014発表資料
Kenta Hattori
言語処理系入門7
言語処理系入門7
Kenta Hattori
分散システム第7章(後半)
分散システム第7章(後半)
Kenta Hattori
言語処理系入門5
言語処理系入門5
Kenta Hattori
言語処理系入門2
言語処理系入門2
Kenta Hattori
言語処理系入門8
言語処理系入門8
Kenta Hattori
私とscreen (@第30回CBUG Meeting) 2014/5/17(土)@池袋
私とscreen (@第30回CBUG Meeting) 2014/5/17(土)@池袋
Genta Iha
言語処理系入門1
言語処理系入門1
Kenta Hattori
言語処理系入門9
言語処理系入門9
Kenta Hattori
Introduction to PEG
Introduction to PEG
Kota Mizushima
言語処理系入門3
言語処理系入門3
Kenta Hattori
言語処理系入門6
言語処理系入門6
Kenta Hattori
Net opscoding#4発表資料
Net opscoding#4発表資料
Kenta Hattori
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
Viewers also liked
(20)
言語処理系入門10
言語処理系入門10
分散システム第7章(前半)
分散システム第7章(前半)
取り残されたIt未開の地
取り残されたIt未開の地
38th CBUG meeting opening ("Welcome to CBUG!"), Feb 27 2016, Tokyo, Japan
38th CBUG meeting opening ("Welcome to CBUG!"), Feb 27 2016, Tokyo, Japan
言語処理系入門4
言語処理系入門4
40th CBUG meeting opening ("Welcome to CBUG!") (at Asahi Net)
40th CBUG meeting opening ("Welcome to CBUG!") (at Asahi Net)
July Tech Festa 2014発表資料
July Tech Festa 2014発表資料
言語処理系入門7
言語処理系入門7
分散システム第7章(後半)
分散システム第7章(後半)
言語処理系入門5
言語処理系入門5
言語処理系入門2
言語処理系入門2
言語処理系入門8
言語処理系入門8
私とscreen (@第30回CBUG Meeting) 2014/5/17(土)@池袋
私とscreen (@第30回CBUG Meeting) 2014/5/17(土)@池袋
言語処理系入門1
言語処理系入門1
言語処理系入門9
言語処理系入門9
Introduction to PEG
Introduction to PEG
言語処理系入門3
言語処理系入門3
言語処理系入門6
言語処理系入門6
Net opscoding#4発表資料
Net opscoding#4発表資料
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
Similar to Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Lxc cf201207-presen
Lxc cf201207-presen
Kouhei Maeda
Linux Namespaces
Linux Namespaces
Masami Ichikawa
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
外道 父
Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6
Kazuo Asano (@kazuo_asa)
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
Yohei Fushii
Kansai mrb gr_sakura
Kansai mrb gr_sakura
Kosuga Masakatsu
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
Kensuke Maeda
kube-system落としてみました
kube-system落としてみました
Shuntaro Saiba
Ubuntuで始めるコンテナ技術入門
Ubuntuで始めるコンテナ技術入門
Takenori Matsumoto
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
h2so5
エンジニアのための痔の話
エンジニアのための痔の話
Kouhei Maeda
GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性
Yusaku Watanabe
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
l_b__
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
tamtam180
Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)
tamtam180
retrobsd-2012-JUL-07 at JNUG BSD BoF
retrobsd-2012-JUL-07 at JNUG BSD BoF
たけおか しょうぞう
Debianで組み込み環境
Debianで組み込み環境
Youhei SASAKI
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
MITSUNARI Shigeo
自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介
Kentaro Mitsuyasu
Redis速習会@Wantedly
Redis速習会@Wantedly
Yoshinori Kawasaki
Similar to Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
(20)
Lxc cf201207-presen
Lxc cf201207-presen
Linux Namespaces
Linux Namespaces
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
Kansai mrb gr_sakura
Kansai mrb gr_sakura
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
kube-system落としてみました
kube-system落としてみました
Ubuntuで始めるコンテナ技術入門
Ubuntuで始めるコンテナ技術入門
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
エンジニアのための痔の話
エンジニアのための痔の話
GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM / GraalVM超入門 #jjug_ccc #ccc_c2
Getting Started GraalVM (再アップロード)
Getting Started GraalVM (再アップロード)
retrobsd-2012-JUL-07 at JNUG BSD BoF
retrobsd-2012-JUL-07 at JNUG BSD BoF
Debianで組み込み環境
Debianで組み込み環境
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介
Redis速習会@Wantedly
Redis速習会@Wantedly
Recently uploaded
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Recently uploaded
(10)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
1.
2016/02/27(Sat), 38th CBUG
meeting Debianのstart-stop-daemonがLXC対応じゃないので いじってたら 何故かkFreeBSDも触ることになった的な話 Genta IHA
2.
38th CBUG Meeting LXCとは •
Linuxのjailっぽいあれ。namespaces(7)使う。詳細 google • IPC namespace • network namespace (FIBとか分離するやつ) • pid namespace — pid_namespaces(7) • user namespace (uid / gid分離) • uts namespace (ホスト名 / NIS domain name分離) 2 ←今日この話
3.
38th CBUG Meeting 問題 •
LXCコンテナを100個くらい上げました • 監視したくなり、LXCホスト側でsnmpd上げました • コンテナも監視したくなり、snmpd上げました • LXCホスト側で/etc/init.d/snmpd restartしました → LXCコンテナ内の snmpd が全滅しました(!) 3
4.
38th CBUG Meeting なぜか •
/etc/init.d/snmpd で呼ばれている start-stop-daemon がPID namespace分離に対応していなかった • /etc/init.d/snmpd restart すると、killall snmpdする • コンテナ内のプロセスも、親からは見えるので、も れなく滅亡する 4
5.
38th CBUG Meeting 回避策 •
/sbin/start-stop-daemon に —pid-file <FILE_NAME> を指定すると、そのPIDだけ相手にしてくれるので回 避できる (何も指定しないと killall 相当をしてくれる) • 手元では /etc/init.d/snmpd を修正して回避した • start-stop-daemonがPID namespace分離に対応する のが正しい気がする (FreeBSDの/etc/rc.subrはJail ID 見てる) 5
6.
38th CBUG Meeting パッチ •
dpkgという名前のdpkgパッケージにstart-stop- daemon入ってる • ちょっといじったら、Linux対応 (/proc/<PID>/ns/pid も見るだけ) のものはできた • が、コード中に不穏な文字列が… • #if defined (OSFreeBSD) 6
7.
38th CBUG Meeting GNU/kFreeBSD用だった •
kFreeBSDも触らなければならないか… (入れた) • /proc/<PID>/ns/pid は見えない (カーネルはFreeBSD だしpid namespace分離はLinuxカーネルの機能だし 当然) • あぁこれjail id取らないとだめなやつや… 7
8.
38th CBUG Meeting s-s-dをPID名前空間対応する 8 Linuxにはjail
idという概念は存在しない(つらい) 「/proc/PID/ns/pid のinodeが同じなら同じnamespace」 ということだけは決まっている
9.
38th CBUG Meeting s-s-dをPID名前空間対応する 9
10.
38th CBUG Meeting s-s-dをPID名前空間対応する 10 自分のjail
ID(的なもの)を確認 同じjail ID(というものはない) のやつだけ対象にする
11.
38th CBUG Meeting jail
ID(というものは略)の確認 11 /proc/PID/ns/pidのinode取るだけ Linuxなのでjail IDというものはない
12.
38th CBUG Meeting jail
ID(というものはある)確認 12 sysctl叩いてjid取ってるだけ これでいいんだっけ… (動作未確認) FreeBSDなのでjail IDがある kvm_getprocs使うべき?→sysctlでいいらしい
13.
38th CBUG Meeting 要調査 •
/lib/lsb/init-functions の pidof(8) を呼んでいる箇所で pidof -c を呼ぶようにすればだいたい救えるのでは? • -cで救える理由: コンテナは大抵 chroot するから • CentOS だと pidof -c 指定している • Ubuntu / Debian は -c ついてない • 他のOSのPID namespace分離的な実装(Solaris)対応? 13
14.
38th CBUG Meeting TODO •
kFreeBSD jail環境での動き確認する (多分うごくけど ) • バグレポート書く (英語…) 14
15.
38th CBUG Meeting 見なかったことにしたい 15
Download now