Share
Embed
Podziel się wiedzą: systemd
Wewnętrzna prezentacja dla pracowników UTC Fire&Security.
Tomasz
October 14, 2010
Transcript
22 slides
-
systemd wymyślmy jeszcze jedno koło Podziel Się Wiedzą Podziel Się
Wiedzą Tomasz Torcz Tomasz Torcz <[email protected]> <[email protected]> -
Mamo, skąd się biorą procesy? - boot - cron, at
- inetd - D-Bus activation -
Autorzy systemd% git log --format=%an | sort -u | wc
-l 37 Kay Sievers, Lennart Poettering >10 commitów Pomysły: reszta świata -
Usługi to nie wszystko usługi gniazda punkty mountowania pliki, katalogi
upływ czasu urządzenia, cele -
Ale mu już mamy koło! /etc/init.d/* /etc/fstab /etc/init/* kernel command
line (emergency, single itp.) -
Usługi - kontrola WorkingDirectory= RootDirectory= User= Group= SupplementaryGroups= Nice= OOMScoreAdjust=
IOSchedulingClass= IOSchedulingPriority= CPUSchedulingPolicy= CPUSchedulingPriority= CPUSchedulingResetOnFork= CPUAffinity= UMask= Environment= EnvironmentFile= StandardInput= StandardOutput= StandardError= TTYPath= SyslogIdentifer= SyslogFacility= SyslogLevel= SyslogLevelPrefix= TimerSlackNSec= LimitCPU= LimitFSIZE= LimitDATA= LimitSTACK= LimitCORE= LimitRSS= LimitNOFILE= LimitAS= LimitNPROC= LimitMEMLOCK= LimitLOCKS= LimitSIGPENDING= LimitMSGQUEUE= LimitNICE= LimitRTPRIO= LimitRTTIME= PAMName= TCPWrapName= Capabilities= SecureBits= CapabilityBoundingSetDrop= ControlGroup= ReadWriteDirectories= ReadOnlyDirectories= InaccessibleDirectories= PrivateTmp= MountFlags= -
Gniazda - kontrola BindIPv6Only= Backlog= BindToDevice= SocketMode= MaxConnections= KeepAlive= Priority=
ReceiveBuffer= SendBuffer= IPTOS= IPTTL= Mark= PipeSize= FreeBind= TCPCongestion= -
Podsumowując lepsza kontrola – restarty, limity OnFailure pilnowanie zależności mniej
kodu: demonizowanie, sockety -
Podsumowując 2 zintegrowanie usług dystrybucyjnych (random seed, clock) ujednolicenie skryptów
startowych szybki start, zintegrowany readahead -
avahi-daemon.service [Unit] Description=Avahi mDNS/DNS-SD Stack Requires=avahi-daemon.socket After=syslog.target [Service] Type=dbus BusName=org.freedesktop.Avahi
ExecStart=/usr/sbin/avahi-daemon -s ExecReload=/usr/sbin/avahi-daemon -r NotifyAccess=main [Install] WantedBy=multi-user.target Also=avahi-daemon.socket -
systemctl status # systemctl status avahi-daemon.service avahi-daemon.service - Avahi mDNS/DNS-SD
Stack Loaded: loaded (/lib/systemd/system/avahi-daemon.service) Active: active (running) since [Sat, 18 Sep 2010 23:32:54 +0200; 16h ago] Main PID: 3300 (avahi-daemon) Status: "Server startup complete. Host name is dhartha.local. Local service cookie is 966442585." CGroup: name=systemd:/systemd-1/avahi-daemon.service ├ 3300 avahi-daemon: running [dhartha.local] └ 3305 avahi-daemon: chroot helper -
status mount # systemctl status boot.mount boot.mount - /boot Loaded:
loaded Active: active (mounted) since [Sat, 18 Sep 2010 23:32:54 +0200; 16h ago] Where: /boot CGroup: name=systemd:/systemd-1/boot.mount -
systemd: wymyślmy jeszcze jedno koło Podziel Się Wiedzą Podziel Się
Wiedzą Tomasz Torcz Tomasz Torcz <[email protected]> <[email protected]> -
na koniec co nam daje lepsza kontrola – restarty, limity
pilnowanie zależnosci nie trzeba pisac kodu do demonizowania, otwierania socketow itp. typowo dystrybucyje (random seed, clock) zintegrowane ujednolicenie skryptow startowych miedzy dystrybucjami syslog lekarstwo na raka OnFailure szybki start, zintegrowany readahead