Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
全新的 Linux 一號行程--
systemd
by Freedman
2014-03-04
Q__
f"_<
○ ○▽ ............. 自由車上自由人
常見的一號行程
● init:
debian, archlinux ~2012-10-12, BSD...
● upstart:
Ubuntu 6.10~, Fedora 9~14
● systemd:
Fedora 15~, archlinu...
常見的系統開機過程
GRUB/LILO/...
載入系統
核心以 Initrd 設定系統
Init Systemd
Init
(upstart)
SysV int | Systemd
prefdm
gdm kdm...
mingetty...
...
systemd 專案
●
由 Lennart Poettering 與 Kay Sievers 開發
●
Linux 上的系統與服務管理程式
●
可以相容、取代 init
●
主要效益:快速啟動、服務程式的線上抽換
●
以 LGPL v2.1+...
運作概念
● init:
設定檔是文件和 shell 腳本,以啟動各種行程為系
統的運作概念
– /etc/inittab /etc/init.d /etc/rc[0~6].d/
● upstart:
基於事件,在事件發生時啟動各種程式,還能支...
systemd 架構圖
圖片取自維基百科 http://zh.wikipedia.org/wiki/File:Systemd_components.svg
systemd 的特色
●
啟動速度較快
– 不使用 shell script
– 各服務平行啟動(只在 SSD 上才會加快)
●
提供系統服務快照
●
掛載及自動掛載管理
●
以事務系統 (transaction) 處理相依服務
●
服務的無...
Target vs. Runlevel
SysVinit systemd
init 0 systemctl poweroff
init 1 systemctl isolate rescue.target
init 3 systemctl iso...
systemd 的設定檔
位置:
/lib/systemd/
/lib/systemd/system/
/etc/systemd/
/etc/systemd/system/
主要類型:
XXX.target
XXX.service
XXX.so...
default.target → graphic.target
[Unit]
Description=Graphical Interface
Documentation=man:systemd.special(7)
Requires=multi...
iscsid.service
[Unit]
Description=Open-iSCSI
Documentation=man:iscsid(8) man:iscsiadm(8)
DefaultDependencies=no
Conflicts=...
iscsid.socket
[Unit]
Description=Open-iSCSI iscsid Socket
Documentation=man:iscsid(8) man:iscsiadm(8)
[Socket]
ListenStrea...
啟動的比較
其他相關命令與套件
●
服務的管理
systemctl start/stop/restart foo.service
立刻啟動、重新啟動或停止服務
systemctl status foo.service 查看服務狀態
systemctl en...
參考資料
● systemd man page
●
鳥哥的私房菜
http://linux.vbird.org/linux_basic/0510osloader.php#startup_init
● Itsmw http://myip.tw/i...
Upcoming SlideShare
Loading in …5
×

5

Share

Download to read offline

The New Process No. 1 of Linux -- SystemD

Download to read offline

Showing what systemD is. These slides had been wrote in traditional chinese.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

The New Process No. 1 of Linux -- SystemD

  1. 1. 全新的 Linux 一號行程-- systemd by Freedman 2014-03-04 Q__ f"_< ○ ○▽ ............. 自由車上自由人
  2. 2. 常見的一號行程 ● init: debian, archlinux ~2012-10-12, BSD... ● upstart: Ubuntu 6.10~, Fedora 9~14 ● systemd: Fedora 15~, archlinux 2012-10-13~, Mageia 2, Mandriva 2011, openSUSE 12.1~
  3. 3. 常見的系統開機過程 GRUB/LILO/... 載入系統 核心以 Initrd 設定系統 Init Systemd Init (upstart) SysV int | Systemd prefdm gdm kdm... mingetty... gnome PowerOn BootLoader Splash Kernel InitRAMFS Init Services (Runlevel) mate sugar xsession... kde startx
  4. 4. systemd 專案 ● 由 Lennart Poettering 與 Kay Sievers 開發 ● Linux 上的系統與服務管理程式 ● 可以相容、取代 init ● 主要效益:快速啟動、服務程式的線上抽換 ● 以 LGPL v2.1+ 發行 ● 已經在很多 Linux 發行版中被採用
  5. 5. 運作概念 ● init: 設定檔是文件和 shell 腳本,以啟動各種行程為系 統的運作概念 – /etc/inittab /etc/init.d /etc/rc[0~6].d/ ● upstart: 基於事件,在事件發生時啟動各種程式,還能支援 變動的硬體環境 – /etc/init/ (/etc/event.d/) ● systemd: 基於 socket, 先將各種服務的 socket 建立,然後 各種程式可以同時啟動
  6. 6. systemd 架構圖 圖片取自維基百科 http://zh.wikipedia.org/wiki/File:Systemd_components.svg
  7. 7. systemd 的特色 ● 啟動速度較快 – 不使用 shell script – 各服務平行啟動(只在 SSD 上才會加快) ● 提供系統服務快照 ● 掛載及自動掛載管理 ● 以事務系統 (transaction) 處理相依服務 ● 服務的無感即時更新、重新啟動與暫時結束 ● 使用 Linux 核心 cgroup 功能進行管理
  8. 8. Target vs. Runlevel SysVinit systemd init 0 systemctl poweroff init 1 systemctl isolate rescue.target init 3 systemctl isolate multi-user.target init 5 systemctl isolate graphical.target init 6 systemctl reboot ● 以目標取代執行等級的概念 ● 相關檔案: – /lib/systemd/system/*.target – /etc/systemd/system/default.target
  9. 9. systemd 的設定檔 位置: /lib/systemd/ /lib/systemd/system/ /etc/systemd/ /etc/systemd/system/ 主要類型: XXX.target XXX.service XXX.socket 這些檔案由建構整個 發行版的工程師們撰 寫,一般的系統管理 員通常不需要自行修 改。
  10. 10. default.target → graphic.target [Unit] Description=Graphical Interface Documentation=man:systemd.special(7) Requires=multi-user.target After=multi-user.target Conflicts=rescue.target Wants=display-manager.service AllowIsolate=yes [Install] Alias=default.target
  11. 11. iscsid.service [Unit] Description=Open-iSCSI Documentation=man:iscsid(8) man:iscsiadm(8) DefaultDependencies=no Conflicts=shutdown.target After=network.target iscsiuio.service Before=remote-fs-pre.target [Service] Type=forking PIDFile=/var/run/iscsid.pid ExecStart=/usr/sbin/iscsid ExecStop=/sbin/iscsiadm -k 0 2 [Install] WantedBy=multi-user.target
  12. 12. iscsid.socket [Unit] Description=Open-iSCSI iscsid Socket Documentation=man:iscsid(8) man:iscsiadm(8) [Socket] ListenStream=@ISCSIADM_ABSTRACT_NAMESPA CE [Install] WantedBy=sockets.target
  13. 13. 啟動的比較
  14. 14. 其他相關命令與套件 ● 服務的管理 systemctl start/stop/restart foo.service 立刻啟動、重新啟動或停止服務 systemctl status foo.service 查看服務狀態 systemctl enable/disable foo.service 設定使用或不使用某服務(只會設定在目前的 target ) ● 分析工具: systemd-analyze 套件 systemd-analyze blame 列出最耗時的 systemd-analyze plot > out.svg 製作時序圖
  15. 15. 參考資料 ● systemd man page ● 鳥哥的私房菜 http://linux.vbird.org/linux_basic/0510osloader.php#startup_init ● Itsmw http://myip.tw/itsmw/index.php?title=Upstart ● systemd System and Service Manager http://www.freedesktop.org/wiki/Software/systemd/ ● Systemd/zh-hant - The Chakra Project http://www.chakra-project.org/wiki/index.php?title=Systemd/zh-hant#.E4.BD.BF.E7.94.A8_systemd ● (=..=)/: systemd-analyze http://xatierlike.blogspot.tw/2013/01/systemd-analyze.html
  • panos_liu

    Jul. 17, 2017
  • jimmy899

    Oct. 25, 2014
  • nfsnfs

    Oct. 20, 2014
  • lwhsu

    Oct. 20, 2014
  • benuxwei

    Mar. 17, 2014

Showing what systemD is. These slides had been wrote in traditional chinese.

Views

Total views

1,721

On Slideshare

0

From embeds

0

Number of embeds

9

Actions

Downloads

56

Shares

0

Comments

0

Likes

5

×