Submit Search
Upload
Lt debian 20190526
•
Download as PPTX, PDF
•
0 likes
•
142 views
H
hiroya akita
Follow
第146回 関西Debian勉強会での発表資料
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 33
Download now
Recommended
openSUSEの紹介とサーバ構築
openSUSEの紹介とサーバ構築
Kento Kawakami
Eucalyptus on OpenStack
Eucalyptus on OpenStack
irix_jp
SKKのススメ
SKKのススメ
Akira Taniguchi
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
Fuminobu Takeyama
AzureでopenSUSE Leap42.1が使えるよ!
AzureでopenSUSE Leap42.1が使えるよ!
Kento Kawakami
Inside wsl
Inside wsl
Satoshi Mimura
Packerで自動化
Packerで自動化
Shintaro Hasunuma
YaST を使って Linux をらくらく設定―Btrfs を活用したファイルサーバー構築 & OS インストールの自動化
YaST を使って Linux をらくらく設定―Btrfs を活用したファイルサーバー構築 & OS インストールの自動化
Fuminobu Takeyama
Recommended
openSUSEの紹介とサーバ構築
openSUSEの紹介とサーバ構築
Kento Kawakami
Eucalyptus on OpenStack
Eucalyptus on OpenStack
irix_jp
SKKのススメ
SKKのススメ
Akira Taniguchi
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
サーバーでもデスクトップでもOK! YaSTを使ってLinuxをらくらく設定
Fuminobu Takeyama
AzureでopenSUSE Leap42.1が使えるよ!
AzureでopenSUSE Leap42.1が使えるよ!
Kento Kawakami
Inside wsl
Inside wsl
Satoshi Mimura
Packerで自動化
Packerで自動化
Shintaro Hasunuma
YaST を使って Linux をらくらく設定―Btrfs を活用したファイルサーバー構築 & OS インストールの自動化
YaST を使って Linux をらくらく設定―Btrfs を活用したファイルサーバー構築 & OS インストールの自動化
Fuminobu Takeyama
Open Build Serviceで楽をする
Open Build Serviceで楽をする
Kento Kawakami
UEFIで始めるLinux From Scratch
UEFIで始めるLinux From Scratch
Yuma Ohgami
AllwinnerタブレットのOSを作ってみる (途中版)
AllwinnerタブレットのOSを作ってみる (途中版)
shimadah
いまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LT
いまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LT
shimadah
TUI作業で便利なソフト2題
TUI作業で便利なソフト2題
shimadah
Inside wsl
Inside wsl
Satoshi Mimura
UEFI向け自作OSの紹介
UEFI向け自作OSの紹介
Yuma Ohgami
CybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみた
Yuma Ohgami
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
tokuhy
第2回JAZUG総会 LT - FreeBSD on Azure
第2回JAZUG総会 LT - FreeBSD on Azure
Keiji Kamebuchi
Ancient Unixes on emu (OSC2017 Shimane)
Ancient Unixes on emu (OSC2017 Shimane)
MOCHIDAShuji
32bit UEFIマシンで遊ぶ
32bit UEFIマシンで遊ぶ
shimadah
構成管理のアンチパターン
構成管理のアンチパターン
akipii Oga
qpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtio
Takeshi HASEGAWA
軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -
Go Saito
Xenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバ
zgock
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
zgock
Bit visorsummit7material
Bit visorsummit7material
Ryosuke Yasuoka
全文検索くん(Search++)簡単導入の手引き
全文検索くん(Search++)簡単導入の手引き
検索 全文
Zrouter
Zrouter
yamori813
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
Kohsuke Kawaguchi
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
2bo 2bo
More Related Content
What's hot
Open Build Serviceで楽をする
Open Build Serviceで楽をする
Kento Kawakami
UEFIで始めるLinux From Scratch
UEFIで始めるLinux From Scratch
Yuma Ohgami
AllwinnerタブレットのOSを作ってみる (途中版)
AllwinnerタブレットのOSを作ってみる (途中版)
shimadah
いまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LT
いまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LT
shimadah
TUI作業で便利なソフト2題
TUI作業で便利なソフト2題
shimadah
Inside wsl
Inside wsl
Satoshi Mimura
UEFI向け自作OSの紹介
UEFI向け自作OSの紹介
Yuma Ohgami
CybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみた
Yuma Ohgami
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
tokuhy
第2回JAZUG総会 LT - FreeBSD on Azure
第2回JAZUG総会 LT - FreeBSD on Azure
Keiji Kamebuchi
Ancient Unixes on emu (OSC2017 Shimane)
Ancient Unixes on emu (OSC2017 Shimane)
MOCHIDAShuji
32bit UEFIマシンで遊ぶ
32bit UEFIマシンで遊ぶ
shimadah
構成管理のアンチパターン
構成管理のアンチパターン
akipii Oga
qpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtio
Takeshi HASEGAWA
軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -
Go Saito
Xenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバ
zgock
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
zgock
Bit visorsummit7material
Bit visorsummit7material
Ryosuke Yasuoka
全文検索くん(Search++)簡単導入の手引き
全文検索くん(Search++)簡単導入の手引き
検索 全文
Zrouter
Zrouter
yamori813
What's hot
(20)
Open Build Serviceで楽をする
Open Build Serviceで楽をする
UEFIで始めるLinux From Scratch
UEFIで始めるLinux From Scratch
AllwinnerタブレットのOSを作ってみる (途中版)
AllwinnerタブレットのOSを作ってみる (途中版)
いまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LT
いまどきのLinuxインストールバトル(新型PC編) OSC2015 Nagoya LT
TUI作業で便利なソフト2題
TUI作業で便利なソフト2題
Inside wsl
Inside wsl
UEFI向け自作OSの紹介
UEFI向け自作OSの紹介
CybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみた
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
第2回JAZUG総会 LT - FreeBSD on Azure
第2回JAZUG総会 LT - FreeBSD on Azure
Ancient Unixes on emu (OSC2017 Shimane)
Ancient Unixes on emu (OSC2017 Shimane)
32bit UEFIマシンで遊ぶ
32bit UEFIマシンで遊ぶ
構成管理のアンチパターン
構成管理のアンチパターン
qpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtio
軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -
Xenとzfsで作る家庭内VDIサーバ
Xenとzfsで作る家庭内VDIサーバ
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
Bit visorsummit7material
Bit visorsummit7material
全文検索くん(Search++)簡単導入の手引き
全文検索くん(Search++)簡単導入の手引き
Zrouter
Zrouter
Similar to Lt debian 20190526
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
Kohsuke Kawaguchi
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
2bo 2bo
190925 python-windows
190925 python-windows
Takuya Nishimoto
Jenkinsstudy#4kokawa
Jenkinsstudy#4kokawa
Takashi Kokawa
Tizen native application
Tizen native application
Naruto TAKAHASHI
45分で理解するKubernetesの世界
45分で理解するKubernetesの世界
Kujirai Takahiro
Slide osc2013tokyo spring
Slide osc2013tokyo spring
Takuma Nakajima
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
LibreOffice を Windows 上でビルドする UPDATE
LibreOffice を Windows 上でビルドする UPDATE
Tomofumi Yagi
ALMツールたべくらべ
ALMツールたべくらべ
Kaoru NAKAMURA
Cygwin 1.7 の紹介
Cygwin 1.7 の紹介
fd0
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Shinya Okano
Linux+Xenによるサーバ仮想化構築事例セミナー
Linux+Xenによるサーバ仮想化構築事例セミナー
VirtualTech Japan Inc.
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
aitc_jp
ITPro Expo 2014: Microsoft + Cisco UCS (Cisco Unified Computing System) サーバ
ITPro Expo 2014: Microsoft + Cisco UCS (Cisco Unified Computing System) サーバ
シスコシステムズ合同会社
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
Masaki Muranaka
みんなのブログ紹介
みんなのブログ紹介
Sanae Taniguchi
GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)
Wataru NOGUCHI
インフラエンジニアがk8sでアプリを作って見えた今後のインフラ
インフラエンジニアがk8sでアプリを作って見えた今後のインフラ
susumu tanaka
Similar to Lt debian 20190526
(20)
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
190925 python-windows
190925 python-windows
Jenkinsstudy#4kokawa
Jenkinsstudy#4kokawa
Tizen native application
Tizen native application
45分で理解するKubernetesの世界
45分で理解するKubernetesの世界
Slide osc2013tokyo spring
Slide osc2013tokyo spring
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
LibreOffice を Windows 上でビルドする UPDATE
LibreOffice を Windows 上でビルドする UPDATE
ALMツールたべくらべ
ALMツールたべくらべ
Cygwin 1.7 の紹介
Cygwin 1.7 の紹介
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Linux+Xenによるサーバ仮想化構築事例セミナー
Linux+Xenによるサーバ仮想化構築事例セミナー
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
ITPro Expo 2014: Microsoft + Cisco UCS (Cisco Unified Computing System) サーバ
ITPro Expo 2014: Microsoft + Cisco UCS (Cisco Unified Computing System) サーバ
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
みんなのブログ紹介
みんなのブログ紹介
GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)
インフラエンジニアがk8sでアプリを作って見えた今後のインフラ
インフラエンジニアがk8sでアプリを作って見えた今後のインフラ
More from hiroya akita
KyotoLT_Online_27.pdf
KyotoLT_Online_27.pdf
hiroya akita
はんなりPython #45
はんなりPython #45
hiroya akita
Python 3.10の新機能を 俯瞰してみる
Python 3.10の新機能を 俯瞰してみる
hiroya akita
KyotoLT(Online) 第26回
KyotoLT(Online) 第26回
hiroya akita
AppSync導入のすすめ
AppSync導入のすすめ
hiroya akita
みんなのPython勉強会#62
みんなのPython勉強会#62
hiroya akita
はんなりpython#32
はんなりpython#32
hiroya akita
Hannari python#27
Hannari python#27
hiroya akita
変数の重要度ってどうやったらわかるん?
変数の重要度ってどうやったらわかるん?
hiroya akita
みんなのはんなりPython勉強会
みんなのはんなりPython勉強会
hiroya akita
Pythonでも型をつけたいだけの人生だった
Pythonでも型をつけたいだけの人生だった
hiroya akita
More from hiroya akita
(11)
KyotoLT_Online_27.pdf
KyotoLT_Online_27.pdf
はんなりPython #45
はんなりPython #45
Python 3.10の新機能を 俯瞰してみる
Python 3.10の新機能を 俯瞰してみる
KyotoLT(Online) 第26回
KyotoLT(Online) 第26回
AppSync導入のすすめ
AppSync導入のすすめ
みんなのPython勉強会#62
みんなのPython勉強会#62
はんなりpython#32
はんなりpython#32
Hannari python#27
Hannari python#27
変数の重要度ってどうやったらわかるん?
変数の重要度ってどうやったらわかるん?
みんなのはんなりPython勉強会
みんなのはんなりPython勉強会
Pythonでも型をつけたいだけの人生だった
Pythonでも型をつけたいだけの人生だった
Lt debian 20190526
1.
SYSTEMDに入門してみた @papi_tokei 第 146 回関西
Debian 勉強会
2.
自己紹介 • 所属 • 京都のIT会社勤務(社会人2年目) •
取り組んでいること • AWSを使ったバックエンドの構築 • Vue.jsなどを使ったフロントエンド開発 • SORACOMのサービスを利用したIoT開 発 • Openblocksと戯れる日々…
3.
なぜ今頃systemd? 弊社で使用しているOpenblocks EX1のファームのバージョンが 2系から3系に上がった際に、sysvinitからsystemdに変更されたので、 systemdの知識が必要になったからです。。。
4.
OSが立ち上がるまで 電源ON⇒BIOSが起動⇒BIOSがブートローダー(GRUB)を起動 ⇒ブートローダーがカーネルを起動 ⇒カーネルがinitプロセス(sysvinit or systemd)を起動 ⇒intiプロセス(PID1)が諸々のサービスを起動
5.
Debianのinitプロセスは? ■ Debian squeeze(Debian
6)まではsysvinit ■ Debian wheezy(Debian 7)はsysvinit、ただしプレビューとして systemdが利用可能 ■ Debian jessie(Debian 8)以降はデフォルトsystemd、 ただしsysvinitも利用可能
6.
Initプロセスを見てみる(sysvinit)
7.
8.
Initプロセスを見てみる(systemd)
9.
10.
systemdのメリット ■ これまでのinitプロセスでは以下の問題が発生していた – シェルスクリプトを順番に実行していくので、 システムの起動に時間がかかる –
サービスごとにcgroupsでリソース配分を調整するなどの 仕組みがない ■ systemdでは? – プロセスの起動を出来る限り並列で行おうとするので、 起動が早い – Cgroupでプロセスの管理を行うので、リソース管理、 生存確認などが出来る – リファレンスがめっちゃ丁寧に書かれている
11.
sysvinitの 起動プロセス
12.
sysvinitの 起動プロセス /etc/init.d/rc /etc/rc*.d以下のスクリプトを 順番に実行する
13.
systemdの 起動プロセス
14.
systemdのユニット ■ systemdはプロセスをユニットという単位で管理する ■ 全部で11個のユニットが存在する –
サービスユニット – ターゲットユニット – ソケットユニット – …
15.
サービスユニット ■ プロセスを制御・管理するための ユニット ■ .serviceで終わるユニットファイル ■
一般的なユースケースで 使用するユニットはほとんどこれ
16.
ターゲットユニット ■ 複数のユニットをグルーピングする ためのユニット ■ .targetで終わるユニットファイル ■
ユニット間の起動順序を わかりやすくするために利用される
17.
systemdの起動順序 ■ ユニットの関係性は「依存」と「順序」の2つの考え方が存在 ■ 依存 –
プロセス同士が同時起動するかどうか – あくまで、同時に起動するかどうかであり、 起動順序は考慮しない ■ 順序 – プロセス起動の順序関係を定義する 例えば、プロセスAがプロセスBを必要とする場合(依存)、 明示的に順序を指定しないと、プロセスAとBは同時に起動する
18.
systemdの起動順序 ■ まず、default.targetから依存関係、順序関係を構築
19.
systemdではどんなプロセスが 起動するの? ■ sysvinitでは、/etc/rc*.d内のプロセスが起動する ■ systemdでは、以下のディレクトリのプロセスが起動対象 –
/etc/systemd/system(ユーザーのコンフィグ) – /lib/systemd/system(インストールパッケージのコンフィグ)
20.
systemctlって? ■ systemdにあれこれと命令を出すことが出来るコマンド – systemctl
status … unitの状態を見ることが出来る – systemctl edit … drop inという起動でunitファイルを編集 – systemctl show/cat … unitファイルを表示 – systemctl enable/disable … プロセスの自動起動を制御 – systemctl daemon-reload … unitファイルの変更を反映 – systemctl start/stop/restart … プロセスの起動制御 – systemctl list-unit-files --type=service … サービスの一覧を表示
21.
実際にサービスを作ってみる (自動起動) [Service] ExecStart=/bin/bash -c "date
> /home/hiroya/sampleA.txt; sleep 10" [Install] RequiredBy=multi-user.target sampleA.service 現在の日時をsampleA.txtの出力するプロセス multi-user.tagetの逆依存を指定
22.
実際にサービスを作ってみる (自動起動) sampleA.service sampleAの明示的な設定は2行だけだが、 後ろでいろいろな設定が勝手に付与される
23.
実際にサービスを作ってみる (依存あり) 自動起動の有効化
24.
実際にサービスを作ってみる (依存あり) [Unit] Requires=sampleB.service [Service] ExecStart=/bin/bash -c "date
> /home/hiroya/sampleA.txt; sleep 10" [Install] RequiredBy=multi-user.target sampleA.service sampleB.serviceへの依存を追加 sampleAには、sampleBが必要、 ということ [Service] ExecStart=/bin/bash -c "date > /home/hiroya/sampleB.txt" sampleB.service
25.
実際にサービスを作ってみる (依存あり) sampleAからsampleBが呼び出されていることがわかる また、依存のみなので、sampleAとsampleBは同時に起動している
26.
実際にサービスを作ってみる (順序あり) [Unit] Requires=sampleB.service Before=sampleB.service [Service] Type=oneshot ExecStart=/bin/bash -c "date
> /home/hiroya/sampleA.txt; sleep 10" [Install] RequiredBy=multi-user.target sampleA.service BeforeとType=oneshotを追加することで、 sampleAの後に、sampleBを起動することが出来る
27.
実際にサービスを作ってみる (順序あり) sampleAの10秒後にsampleBが起動していることがわかる
28.
おまけ
29.
journalctlって? ■ systemd環境では、ログの収集はjournald(system-journald)が担当 ■ journalctlはjournaldに対して命令を行う事ができるコマンド ■
Systemdのサービスのログを表示できるので、エラーの際は便利
30.
graphical.targetの遷移を邪魔してみる [Unit] Before=sysinit.target DefaultDependencies=no OnFailure=emergency.target [Service] Type=oneshot ExecStart=/bin/false [Install] RequiredBy=sysinit.target sample.service sysinit.targetが完了せず、次のターゲットに遷移せずに、 強制的にemergency.targetに遷移する
31.
systemdの 起動プロセス (再掲)
32.
graphical.targetの遷移を邪魔してみる [Unit] Before=sysinit.target DefaultDependencies=no #OnFailure=emergency.target [Service] Type=oneshot ExecStart=/bin/false [Install] RequiredBy=sysinit.target sample.service OnFailureをコメントアウトすると、正常にOSが起動しなくなる (プロンプト受付をしなくなる) もし、sysinit.targetよりも前のサービスを作成する場合は、 OnFailureを設定しておくと安心
33.
ご清聴ありがとうございました
Download now