System Ubuntu 26.04 (będący dystrybucją LTS ze wsparciem do 2031 roku), którego premiera – zgodnie ze standardem Canonical – nastąpi już w kwietniu, bez większego rozgłosu wprowadza nowe rozwiązanie w kontekście paczki linux-firmware. To zestaw „sterowników” do obsługi różnego sprzętu, który (przede wszystkim ze względu na rozmiar) jest pewnie znany większości administratorów. Przy okazji aktualizacji systemu nieraz można było zauważyć, że jeden pakiet na tle pozostałych zdecydowanie wyróżnia się czasem instalacji i pobierania – to właśnie linux-firmware.
Wspomniana paczka w starszych wersjach Ubuntu zawierała binaria do wszystkich obsługiwanych sprzętów. Przykładowo, jeśli korzystamy z laptopa z procesorem firmy Intel, to dzięki linux-firmware i tak posiadaliśmy zbędne firmware dla urządzeń AMD itd. Paczka DEB mogła zajmować nawet 300 MB.
Dla zwykłych użytkowników używających Ubuntu jako systemu do codziennej pracy nie stanowi to raczej problemu. Inaczej sytuacja wygląda w bardziej zaawansowanych środowiskach. W tym wypadku doskonale sprawdza się zasada minimalizacji, którą ciężko zachować, jeśli sam producent nie przejawia zainteresowania jej wprowadzeniem.
Przyszłość jednak będzie wyglądać lepiej, bo odpowiedzialna za rozwój systemu Ubuntu brytyjska firma Canonical wprowadza istotną zmianę, a przy tym unika szerszego informowania o swoich zamiarach. Świetny opis znajdziemy na stronie hintnal.com, natomiast całość zmiany sprowadza się do podziału paczki linux-firmware na oprogramowanie dla konkretnych dostawców. Oznacza to koniec nadmiarowych instalacji i mniejszą ilość danych pobieranych przy aktualizacjach. W systemie będą zainstalowane wyłącznie faktycznie potrzebne pakiety, co ma też korzyści związane z bezpieczeństwem.
Oczywiście dla tradycyjnych środowisk, w których wszelkie komponenty „serwerowe” zainstalowane są bezpośrednio w systemie operacyjnym, ta skromna zmiana nie przyniesienie spektakularnej różnicy. Obecnie jednak panuje trend konteneryzacji i automatyzacji z użyciem rozwiązań CI/CD. Absolutnie najlepszą praktyką jest dążenie do jak najmniejszych rozmiarów budowanych kontenerów czy stosowanych obrazów w procesach CI/CD. Z tego powodu wśród programistów czy DevOpsów popularne są obrazy oparte na systemie Alpine – bazowy obraz zajmuje około 3 MB i bez żadnych komplikacji pozwala zainstalować chociażby klienta SSH (openssh-client). Stąd już prosta droga do automatyzacji wdrożeń oprogramowania.
Analogicznie jest z obrazami używanymi do budowy środowiska uruchomieniowego. Jeśli posiadamy aplikację napisaną w Node.js, to nie korzystamy z obrazu ubuntu:latest, tylko raczej wyszukujemy gotowy obraz node z interesującą nas wersją – często z dopiskiem alpine (w „czystych” obrazach zwykle użyty jest Debian). Przede wszystkim trzeba odróżnić wirtualizację od konteneryzacji. Nie potrzebujemy stosować obrazu „pełnego” systemu operacyjnego i przeprowadzać w nim instalacji potrzebnego oprogramowania, skoro istnieją sprawdzone, oficjalne obrazy od dostawców danej technologii.
Czy w związku ze zmianą obsługi linux-firmware Ubuntu może stać się drugim Alpine? Nie wydaje się to realne na ten moment. Jeśli jednak Canonical będzie kontynuował prace zmierzające do dalszego minimalizowania swojego systemu, to istnieją pewne szanse na zmiany. Trzeba też pamiętać o rynku IoT, gdzie oprogramowanie o możliwie minimalnym narzucie sprzętowym jest cenione i wymagane. To również może być kierunek dalszego rozwoju systemów Ubuntu.
Czy ten artykuł był pomocny?
Oceniono: 0 razy



