koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · jaki powinien być...
TRANSCRIPT
![Page 1: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/1.jpg)
Koszmar z ulicy systemd v2.0Krzysztof ‘ksx4system’ Staniorowski Meet IT Toruń Nº12
![Page 2: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/2.jpg)
Wprowadzenie
![Page 3: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/3.jpg)
Porzućcie wszelką nadzieję.
![Page 4: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/4.jpg)
Co to jest init i za co odpowiada?
![Page 5: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/5.jpg)
Co to jest init i za co odpowiada?• uruchamia się jako pierwszy program po kernelu (stąd pid 1)
• działa nieprzerwanie od uruchomienia do wyłączenia systemu
• odpowiada za sekwencję startową systemu
![Page 6: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/6.jpg)
Watch your first step.
![Page 7: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/7.jpg)
Masz wybór!
![Page 8: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/8.jpg)
sysvinit, openrc, upstart, runit…
![Page 9: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/9.jpg)
Jaki powinien być pid 1?
![Page 10: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/10.jpg)
Możliwie prosty.
![Page 11: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/11.jpg)
Less is more.Autor kodu: Felipe Contreras
#!/usr/bin/ruby
Process.spawn('agetty', 'tty1')sleep
![Page 12: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/12.jpg)
29551Tyle SLOC zawiera kod źródłowy sysvinit.
![Page 13: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/13.jpg)
747873Tyle SLOC zawiera kod źródłowy systemd.
![Page 14: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/14.jpg)
25x…to aż tyle razy więcej :-(
![Page 15: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/15.jpg)
Dlaczego systemd to zły pomysł?
![Page 16: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/16.jpg)
Bo robi więcej niż rzeczywiście musi.
![Page 17: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/17.jpg)
![Page 18: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/18.jpg)
Skrócona lista grzechów systemd• hostnamed zamiast /etc/hostname
• journald czyli logi binarne zamiast tradycyjnego sysloga
• resolved zamiast /etc/hosts
• timesyncd zamiast ntpdate/rdate lub NTPd
• systemd-random-seed zamiast istniejących rozwiązań RNGd
• machined i importd w roli ersatzu OpenVZ
• pęd do integracji jak największej ilości składników systemu (np. obsługa audio)
![Page 19: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/19.jpg)
Co dalej?
![Page 20: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/20.jpg)
Co dalej?• cokolwiek zamiast systemd (może Twój własny kod?)
• vdev zamiast udev
• trzeba unikać GNOME3
• może istnieć potrzeba migracji na mniej popularne dystrybucje GNU/Linux jak Devuan, Gentoo czy Stali - nie ma się czego bać ;-)
![Page 21: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/21.jpg)
Jak to robią inni?
![Page 22: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/22.jpg)
Jak to robią inni?• OpenBSD, FreeBSD i NetBSD korzystają z BSD-style init
• macOS korzysta z launchd (autorskie rozwiązanie Apple)
• Android ma swój własny mechanizm init
• OpenWRT używa init wbudowanego w busybox
• Solaris używa sysvinit
![Page 23: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/23.jpg)
Jak będzie w przyszłości?
![Page 24: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/24.jpg)
Jak będzie w przyszłości?• macOS pozostanie przy launchd (YA, RLY!)
• FreeBSD zmigruje na launchd lub wprowadzi go jako alternatywę
• NetBSD być może skopiuje rozwiązanie FreeBSD, a OpenBSD nie zmieni nic
• Android zostanie przy własnym rozwiązaniu
• OpenWRT i całe mnóstwo innych projektów embedded pozostanie przy busybox-init lub stworzy własne skrajnie minimalistyczne rozwiązania
• Solaris i inne niszowe UNIXy pozostaną przy sysvinit
![Page 25: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/25.jpg)
![Page 26: Koszmar z ulicy systemd v2ksx4system.net/talks/koszmar-z-ulicy-systemd-v2.pdf · Jaki powinien być pid 1? Możliwie prosty. Less is more. Autor kodu: Felipe Contreras #!/usr/bin/ruby](https://reader034.vdocuments.mx/reader034/viewer/2022051806/5ffce9c426050a742d24533b/html5/thumbnails/26.jpg)
Dziękuję za uwagę!Chcesz o coś zapytać lub potrzebujesz admina? Napisz do mnie :-)[email protected]