moriwaka、systemdを語る

現在のLinuxに搭載されているサービス管理システム「systemd」について、使うとどういったメリットがあるかを断片的につぶやいたまとめのようなもの。詳しい内容については、森若さんのブログを参照ください。http://moriwaka.blogspot.com/2018/06/systemd.html
8
Kazuo Moriwaka @moriwaka

まだsystemdがこわい人へ…… 主要Linuxディストリビューションにsystemdを回避できるルートはありません…… もしどうしても無理であればSoralisなりBSDなりに行ってください…… サポートされない環境で粘るよりはずっとマシなはず……

2018-06-05 20:36:16
dopen🇺🇦 @DensukeO

@moriwaka ここまでやるなら、カーネルにsystemd入れようぜ、と。

2018-06-06 08:21:55
336 @susumushi336

いまこそコンテナを触り、initやsystemdの呪縛から解き放たれるとき twitter.com/moriwaka/statu…

2018-06-06 10:21:54
Norihito Nishioka🌻 @n_nishioka

えー。systemdってsolarisのsmfのパクリちゃうん?とか言ったら怒られる? twitter.com/moriwaka/statu…

2018-06-06 15:33:42
Kazuo Moriwaka @moriwaka

@n_nishioka ある程度パクリですよ。まあ「どうしてもsystemd無理!」みたいに一度なっちゃったら勉強するのも嫌って人もいますから、そういう場合にはsmfのほうは勉強できるかもしれません…… :-P

2018-06-06 15:53:05
Kazuo Moriwaka @moriwaka

当然ながらsystemdが唯一正しいinitの実装とかいうわけではなく、今典型的なLinuxディストロを作りたいときに丁度いい性質をもった実装であるというだけ。なので凄く良い別の何かがでてくれば数年後にsystemdがなくなるというのはごく普通にありうる話。

2018-06-06 16:13:59
henrich @henrich

@moriwaka initを統べる者がsystemdと呼ばれる世界

2018-06-06 16:16:56
Lyiase @lyiase

systemdが怖いのはむしろ、systemdじゃないシステムを併用してるとき_ twitter.com/moriwaka/statu…

2018-06-06 22:50:27
キュラ太郎 @qurataro

@moriwaka systemd 好きなのに… init よりも使いやすいし、軽い、早い、安定している…と思うのですが…何か問題ですか?

2018-06-06 23:37:26
Kazuo Moriwaka @moriwaka

TODO: systemdのめっちゃ嬉しい機能をダラダラと説明する。20-30くらいはすぐ出せそうな気がする。

2018-06-07 03:23:52
Kazuo Moriwaka @moriwaka

sysvinitのスクリプトちょっといじってulimit文足したあとにパッケージupdateしたら消えたりしたことがある人はsystemdならその不幸はもう起きない

2018-06-07 03:27:25
Kazuo Moriwaka @moriwaka

/etc/init.d/hoge を直接実行してserviceコマンド経由での起動時と環境変数やらが違うからハマった人、systemdならその不幸はもう起きない

2018-06-07 03:29:29
Kazuo Moriwaka @moriwaka

同じサービスを1システム内で複数インスタンス構築してpidファイル被ったりログがどれがどれやら混乱したり、そういうことはsystemdをちゃんと使えば回避できる(残念ながら対応したパッケージは少ない)

2018-06-07 03:34:25
Kazuo Moriwaka @moriwaka

一時ファイルを/tmpに作って置き換え可能なタイミングが発生する典型的なセキュリティホール作っちゃった人、systemdならそのサービス専用の/tmpをbind mountして分離する緩和策が1行書くだけで実施できるよ

2018-06-07 03:38:35
Kazuo Moriwaka @moriwaka

なぜか時々死ぬサービスを再起動するためにdaemontools入れたことある人、systemdならそれ最初からあるよ

2018-06-07 03:40:22
Kazuo Moriwaka @moriwaka

「ん、このサービスいつ起動したっけ、先週月曜だっけ……?」ってログ漁ったことある人、systemdなら各サービス毎にいつ起動したかちゃんと覚えてるよ

2018-06-07 03:44:25
Kazuo Moriwaka @moriwaka

謎のbashが動いてて「え、これ何から呼ばれてるの」と思ったけどpstreeで見たらinitの子になってて「なんだろー」ってなったことある人、systemdならどのサービスか、それともユーザーセッションから出てきたプロセスか即わかるよ

2018-06-07 03:48:31
Kazuo Moriwaka @moriwaka

libvirtが起動するdnsmasqがサービス終了しても継続して動作してて、killall -9 dnsmasqしてNetworkManagerが呼んでる関係ないdnsmasqまで殺したことがある人、systemdならlibvirt関連の全プロセスだけを一発でkillできるよ

2018-06-07 03:53:33
Kenji HASUNUMA @btnrouge

今のSolarisはsvcadm/svcsという、systemdと類似のサービス制御をするので、状況はほぼ変わらない(むしろ部分的にはsystemdより複雑) twitter.com/moriwaka/statu…

2018-06-07 09:30:57
ぱんかれ(pumpCurry)🎃🍛 @pcb

@moriwaka もりわかさんがsystemd-daemonと化してるなあw

2018-06-07 09:55:43
Kazuo Moriwaka @moriwaka

複数台の/var/log/messagesを見比べて「何で時間が秒単位なん!どっちが先か後かわからん! (>_<)」ってなったことがある人、systemd-journaldならマイクロ秒まで保持してるよ

2018-06-07 15:41:31
Kazuo Moriwaka @moriwaka

トラブルシューティングでsyslogでためてるメッセージを解析する時に"warning"とかで検索してcriticalなメッセージ見逃したことがある人、systemd-journaldならログレベル保持してるからあらかじめ分けておかなくても「warn以上」とかですぐ絞りこめるよ

2018-06-07 15:47:49
Kazuo Moriwaka @moriwaka

全然ログらしいの吐かないデーモンについて詳しい人に聞いたら「daemonizeさせずにforegroundで動かしてstderr見ればいいんだよ」とか言われて「そんなん知らんがな」と思ったことがある人、systemd + systemd-journaldならサービスのstdout,stderrもきっちりログに収集するよ

2018-06-07 15:59:27
Kazuo Moriwaka @moriwaka

/etc/init.d以下のスクリプトがしれっとタイムアウトしてるくせにexit 0してて「フザケンナ」ってなったことがある人、残念ながらsystemdでも敢えてやればできちゃうけど普通の使い方ならちゃんと失敗したらnon zeroなexit code返すよ

2018-06-07 16:18:07
(Ǝ)ɐsıɥıɥso⅄ ouɐɓnS @koshian

@moriwaka @bravotan systemd の話題さがすのちょっとたいへんそうだけどよんでみるー。ありがとー☆

2018-06-07 17:43:05