More Related Content
Similar to systemdを始めよう (20)
More from Preferred Networks (20)
systemdを始めよう
- 5. systemdとは何か
l initであるSysV init/Upstartの代替となる
l Linuxの必要デーモンや、initスクリプトなどの起動・管理理システム
l inetd, xinetdといったデーモンの代わりの機能も持つ
l ちなみにCentOS 6やUbuntuではUpstart
l initに対応する他の有名なシステム
l SolarisはSMF(Service Management Facility)
l Mac OS X(iOS)はlaunchd
5
- 7. systemdをなぜ学ぶ・紹介するのか
l Red Hat Enterprise Linux 7 (CentOS7)でデフォルトで採⽤用
l Debianでも次期バージョンjessieでsystemd採⽤用が決まっている
l Ubuntuは創始者/リーダーのMark Shuttleworth⽒氏も採⽤用を表明
l デフォルトでsystemd有効なディストリビューションが多い
l Arch Linux, CoreOS, Debian, Fedora, openSUSE, Ubuntu
l デフォルトでなくとも採⽤用が決まっているものや、現在未リリー
スでもsystemd採⽤用が決まっているものも含め総数が多い
l これらLinuxを中⼼心に扱うのであれば対応必須の時代がくる!
l OpenBSD向けに作られたsystemdのフォークも存在する
l もちろん採⽤用するメリットもある
7
- 10. Unitの種類
l service: デーモンの起動・管理理
l socket: ソケットに接続(通信)があるとサービスを起動する
l mount: ファイルシステム(リモートも)のマウント
l automount: アクセスが発⽣生したらマウントする(automountd)
l target: Unitをまとめて順序関係を作れるようにする
l などなど
l 公式マニュアル:
http://www.freedesktop.org/software/systemd/man/
systemd.unit.html
10
- 11. Unitのserviceを記述する
l ファイルを置くパス
l /usr/lib/systemd/system/ システム標準・パッケージからはこちらへ
l /etc/systemd/system/ 同名ファイルがあるとこちらが優先
l ファイル
l 名前 daemon-name.service のように末尾にunitの種類を書く
l フォーマット
l systemdの独⾃自形式
l Unit, Service, Installと3つのセクションがある
l 依存関係の前後、実⾏行行するコマンドライン、プロセス停⽌止時の成
功条件や、起動に失敗と⾒見見なして再起動させないオプションなど
l Linux - systemdの*.serviceファイルの書き⽅方 - Qiita
l http://qiita.com/masami256/items/ef0f23125cf8255e4857
11
- 12. Unitのserviceを記述する 〜~Serviceセクション〜~
l Type
l simple: デフォルト。プロセス起動してサービスとなるタイプ
l forking: プロセス起動後に⾃自⾝身をフォークするタイプのデーモン。
l oneshot: 1回だけジョブを実⾏行行
l notify: simpleと同じだが、プログラム側からsystemdに起動し
たことの通知を送る
l idle: simpleに似ているが、他のジョブが実⾏行行されまで待つ
(console
l systemd (⽇日本語) - ArchWiki
l systemd.service(5)
12
- 13. Unitのserviceを記述する 〜~sshd.service を⾒見見る〜~
13
[Unit]
Description=OpenSSH server daemon
After=syslog.target network.target auditd.service
[Service]
EnvironmentFile=/etc/sysconfig/sshd
ExecStartPre=/usr/sbin/sshd-keygen
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
- 14. Unitのserviceを制御する
サービス⼀一覧を表⽰示する
# systemctl list-units --type=service
firewalldを無効化する
# systemctl disable firewalld
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service’
firewalldを有効化する
# systemctl enable firewalld
ln -s '/usr/lib/systemd/system/firewalld.service' '/etc/systemd/system/
dbus-org.fedoraproject.FirewallD1.service'
ln -s '/usr/lib/systemd/system/firewalld.service' '/etc/systemd/system/
basic.target.wants/firewalld.service’
参考: Systemd⼊入⾨門(2) - Serviceの操作⽅方法 - めもめも
14
- 17. systemdは⼤大変荒れやすいトピック
l 開発を巡ってのトラブルがある
l 本の⾍虫: Linus様がSystemdにぶちきれる
l http://cpplover.blogspot.jp/2014/04/linussystemd.html
l systemdの採⽤用の有無を巡っての激しい議論論
l Wikipedia (en)によると
l アーキテクチャ (init script が好き派)
l Unixの哲学(シンプルさ)に違反して機能を取り込み過ぎている
のではないか派
‒ 現在Linuxのudevのソースツリーを取り込んでいる
l systemdを使⽤用しないシステムのサポートを必須とするDebianの
⼀一般決議、不不成⽴立立となる
17
- 18. なぜsystemdでコミュニティが荒れるのか(私⾒見見含)
l Linusは開発者を叩くが、systemd⾃自体は嫌いではない (slashdot)
l ⼀一部のsystemd嫌いの⼈人は、誤解があると考えられる
l 作者の主張「The Biggest Myths」
l http://0pointer.de/blog/projects/the-biggest-myths.html
l エントリの解説があるがsystemdは
l 1. 単⼀一バイナリ(モノリシック)でない
l 2. 速いが速度度だけを求めたものではない
l 3. システムのブートが速いのはサーバに良良い
l 4. initスクリプトとの互換性もある
l 5. systemdは難しくない
l … などなど 30まで続く
l それでもWindwowsのsvchostに近づいているという指摘もある
18
- 21. 参考⽂文献 〜~systemd概要・⼊入⾨門〜~
l Linux⼥女女⼦子部 systemd徹底⼊入⾨門
l http://www.slideshare.net/enakai/linux-27872553
l Hello, systemd!
l http://www.slideshare.net/Yuryu/hello-systemd
l Systemd⼊入⾨門(1) - Unitの概念念を理理解する - めもめも
l http://d.hatena.ne.jp/enakai00/20130914/1379146157
l systemdを本番運⽤用してわかったこと - mixi Engineers' Blog
l http://alpha.mixi.co.jp/entry/2013/12063/
l 【翻訳】なぜsystemdなのか? | POSTD
l http://postd.cc/why-systemd/
l systemdによるCentOS 7の管理理 | Think IT(シンクイット)
l http://thinkit.co.jp/story/2014/12/11/5388
l The Biggest Myths
l http://0pointer.de/blog/projects/the-biggest-myths.html
21
- 22. 参考⽂文献:CoreOS
l CoreOSに⼊入⾨門した | SOTA
l http://deeeet.com/writing/2014/11/17/coreos/
l Fleetの使い⽅方,Unitファイルの書き⽅方 | SOTA
l http://deeeet.com/writing/2014/11/20/fleet/
22
- 23. 参考 〜~関連ニュース・ゴシップ〜~
l [Phoronix] Ubuntu To Abandon Upstart, Switch To Systemd
l http://www.phoronix.com/scan.php?
page=news_item&px=MTYwNDE
l 本の⾍虫: Linus様がSystemdにぶちきれる
l http://cpplover.blogspot.jp/2014/04/linussystemd.html
l systemdを使⽤用しないシステムのサポートを必須とするDebianの
⼀一般決議、不不成⽴立立となる
l systemdをめぐる論論争の結果、「Devuan」プロジェクトがDebia
nをフォーク
l DevuanのML「I want systemd」
l https://lists.dyne.org/lurker/message/
20141130.125423.9da1f8c2.en.html
23