Na zajęciach będą omawiane różne zaawansowane zagadnienia administrowania systemami linuksowymi i ogólniej — uniksowymi. Zakłada się, że uczestnicy zajęć posiedli już pewną wiedzę, np. w zakresie _Kursu administrowania Linuksem_, choć wcześniejsze ukończenie tego kursu nie jest wymagane.
#### Forma zajęć
Zwykle dwugodzinne referaty omawiające wybrane tematy, połączone z prezentacjami na żywo. Zajęcia będą się odbywać stacjonarnie w sali ćwiczeniowej z użyciem projektora.
#### Propozycje zagadnień omawianych na zajęciach
* Dzwięk w Linuksie i Uniksie. Hardware: karty dźwiękowe. Ich obsługa w jądrze: Advanced Linux Sound Architecture (ALSA). Informacja o starszym systemie Open Sound System (OSS). Dźwięk we FreeBSD. Serwery dźwięku: PulseAudio, JACK, PipeWire. Wyższe warstwy: KDE Phonon, OpenAL. Oprogramowanie aplikacyjne: Audacity, SOX. Miksery i odtwarzacze (Xmms2, Amarok i in.).
* Obraz w Linuksie. Terminale tekstowe. _Framebuffer_. _Kernel Mode Setting_.
* Serwery obrazu. Architektura serwera XWindows.
* Nowoczesna obsługa interfejsu graficznego: serwer obrazu Wayland.
* Zarządcy obrazu, sesji, okien, pulpitu. Środowiska graficzne. Przegląd. Protokoły.
* Infrastruktura KDE. Qt.
* Infrastruktura Gnome. Vala. GTK.
* Przechwytywanie obrazu w Linuksie: video4linux2.
* Komunikacja międzyprocesowa na wysokim poziomie: dbus.
* Pakiety bez dystrybucji: AppImage, Snap, Zero Install, Flatpak i in.
* Advanced Configuration and Power Interface (ACPI). Zarządzanie stanami. Tabele. ACPI w Linuksie i FreeBSD.
* _Hardware_ płyty głównej. Unified Extensible Firmware Interface (UEFI). TianoCore. Coreboot. Środowiska uruchomieniowe x86_64 i arm64.
* Sprzętowe wspomaganie grafiki. Direct Rendering Infrastructure (DRI).
* _Device mapper_. Zastosowania: dm-crypt, dm-raid, dm-cache, dm-verity, LVM2 i in.
* Systemy plików COW. Btrfs i ZFS. Migawki i kopie zapasowe.
* Zaawansowane konfigurowanie sieci w Linuksie. QoS, _traffic shaping_ i in.
* Implementacja stosu protokołów Bluetooth w Linuksie: BlueZ.
* Firewalle i Intrusion Prevention Systems. Iptables i nftables. Konfigurowanie w Linuksie. SNORT. Filtrowanie pakietów we FreeBSD i OpenBSD: PF, IPFW, IPF.
* Zdalne monitorowanie systemów. Protokoły SNMP, Syslog i RMON. Przegląd systemów: Nagios, Munin, Cacti, RRDTool i in.
* Zdalne konfigurowanie systemów. Systemy zarządzania konfiguracją: Ansible, Salt, Puppet i in.
* Wirtualizacja. Xen. KVM. Narzędzia: Qemu, Virtualbox, Bhyve. Zarządzanie maszynami wirtualnymi: virt-manager, vagrant i in.
* IaaS. Tworzenie chmur obliczeniowych. OpenStack, OpenNebula i in.
* Zarządzanie klastrami. Kubernetes, Docker Swarm i in.
* Konfiguracja i kompilacja jądra Linuksa: budowa jądra Linuksa, moduły jądra i zarządzanie nimi, konfigurator kompilacji jądra, przebieg kompilacji, initramfs (initramfs-tools/dracut). Gentoo Linux.
* Linux na procesorach ARM. Różnice w stosunku do x86-64. Rozruch z użyciem Coreboot i U-Boot. Custom Linux na typowych platformach (Raspberry, BeagleBone).
Buildroot i Yocto.
* Życie bez Linuksa — systemy BSD.
###### Uwagi
* Tematem zajęć może być wiele innych zagadnień, zależnie od zainteresowań słuchaczy (do uzgodnienia po rozpoczęciu zajęć).
* Niektóre z powyższych zagadnień są dostatecznie obszerne, by być tematem więcej niż jednego spotkania.