ラベル Linux の投稿を表示しています。 すべての投稿を表示

UpStart

OnHubでrootを取ったので ChromeOS をちょっと調べてるとUpStartを知った。 

Linuxの起動プロセスは init → systemd へ移行するもんかと認識していたが、 sysinit → upstart → systemd な流れのようで、Cent6もupstartみたい。
upstart以降の特徴として下記あたり。

  • サービス起動が(部分的に)並列化できるので起動が早い 
  • 起動・終了制御が容易 
  • 異常終了してもUpstartが再起動してくれる。 


仕組み

こんな感じ
http://coewww.rutgers.edu/www1/linuxclass2012/lessons/startup/upstart.php

/etc/init 以下の設定ファイルを読み込んで、(且つ、後方互換用にrc-sysinit.confも読む)システムの起動/停止や、サービス/タスクの起動/停止、ハードウェアの着脱といったイベントをキャッチして色んなサービスを起動する。

設定例(デーモン化)

description "説明"
author  "名前 <メアド>"

start on runlevel [(Run Level)]
stop  on runlevel [(Run Level)]

chdir  作業ディレクトリ
exec   起動コマンド
respawn ★キモ

設定例(スタートアップ設定)



設定反映



$ sudo initctl reload-configuration
$ sudo initctl list | grep サービス名

起動

 $ sudo initctl start サービス名 killしてみる
$ ps axf
$ sudo kill 2389
$ sudo initctl list | grep サービス名
→ 再起動してる。。 停止
$ sudo initctl stop サービス名
その他
initctl check-config: 設定ファイルのチェック
initctl reload: kill -HUP します
initctl restart: 再起動します
start on 前提イベント ※イベントは定義可能。ジョブ名もイベントになる。
start on started 前提イベント

respawn

pre-start  exec 
post-start exec 

stop  on 

exec 単一行コマンド
script
    複数行スクリプト
end script

task

Ubuntu17でのネットワーク設定

/etc/network/interfaces ではなく、 /etc/netplan/01-netcfg.yaml で設定するように変わったみたい。

固定IP設定の例

 # This file describes the network interfaces available on your system
 # For more information, see netplan(5).
 network:
   version: 2
   renderer: networkd
   ethernets:
     ens3:
       dhcp4: no
       dhcp6: no
       addresses: [192.168.86.201/24]
       gateway4: 192.168.86.1
       nameservers:
         addresses: [8.8.8.8,8.8.4.4]

下記で反映
 sudo netplan --debug generate
 sudo netplan apply