Blog (1)
Komentarze (365)
Recenzje (0)
@PerceptronLinux the hard way...

Linux the hard way...

16.07.2016 07:16

Witam, jako że to mój pierwszy wpis chciałbym dziś pokrótce napisać o systemie rzadko opisywanym dziś w Internecie, o dystrybucji, która nie odnajduje się w dzisiejszych trendach ułatwiania i udomowiania systemów, o najstarszej jeszcze rozwijanej dystrybucji Linux. Szanowni Państwo dnia 17 lipca Slackware Linux kończy 23 lata.

Troszkę historii

Teoretycznie za pierwsze wydanie tego systemu, można by uznać jedną z pierwszych dystrybucji Linuxa w ogóle, a mianowicie SLS powstałą w roku 1992 (korzystającą już z jądra Linux w wersji 0.99.11). Softlanding Linux System, był swego czasu jednym z najpopularniejszych wydań tego systemu. Jednak jego kiepski rozwój, zarządzenie i w końcu brak poprawek, poniekąd sprawiło, że Ian Murdock w 1993 stworzył dystrybucje Debian, pierwowzór m.in Ubuntu.

Inny developer Patrick Volkerding, zamiast tworzyć coś całkiem nowego, postanowił wskrzesić SLS. Uporządkował i poprawił kod dystrybucji, a swój twór nazwał Slackware. Co humorystycznie podkreśla, jej niekomercyjny charakter, nazwa wywodzi się bowiem od terminu "Slack" mającego kilka znaczeń (np. umiejętność osiągnięcia swoich celów bez wysiłku) i wywodzącego się od Kościoła SubGeniuszu.

J. R. (Bob) Dobbs - symbol kościoła
J. R. (Bob) Dobbs - symbol kościoła

trudny Linux?

Gdyby wszystkie dystrybucje Linuxa, posortować, gdzie na pierwszych miejscach byłyby najprostsze dla użytkownika wydania systemu(Mint, Ubuntu, Fedora). To Slackware znajdowałby się na samym końcu, ex aequo z Gentoo (choć może to być kwestia dyskusyjna), a przed chyba tylko LFS.

Tak, przy obcowaniu z tym systemem można zapomnieć o dodatkowej automatyce, ułatwieniach i kreatorach graficznych(pomijając samą konfiguracje środowiska graficznego).

Po uruchomieniu płyty instalacyjnej, nie ujrzymy nawet klasycznego instalatora. Powita nas konsola z zapytaniem o wybór startowego kernela, po czym za pomocą konsolowych narzędzi musimy sobie przygotować m.in partycje pod system(można to oczywiście zrobić wcześniej innym narzędziem). Po tych przygotowaniach, możemy wpisać w konsoli "setup" po czym ujrzymy, coś co w końcu wygląda na instalator, a jest raczej zbiorem skryptów z ładnym interfejsem ncurses. .. W nim dokonujemy prostych ustawień jak punkty montowania partycji, layout klawiatury, czy oprogramowanie do zainstalowania.

592365
Główny ekran instalatora
Sposoby wyboru oprogramowania

Po instalacji wystarczy już tylko ręcznie stworzyć dla siebie zwykłego użytkownika, dodać go do odpowiednich grup systemowych, edytować konfiguracje Init (tak w Slackware systemd nie zawitał i najpewniej nigdy tego nie zrobi), by system uruchamiał się domyślnie ze środowiskiem graficznym. I można powiedzieć, że to kon... dobry punkt startowy do dalszej konfiguracji ;)

Pulpit KDE po instalacji
Pulpit KDE po instalacji

KISS w praktyce

Nasuwa się oczywiste pytanie, po co tak się męczyć. Takie Ubuntu ma prosty instalator i większość aspektów systemu konfiguruje automatycznie. Do tego do zainstalowania dodatkowych aplikacji wystarczy kilka kliknięć.

Keep It Simple, Stupid

Otóż Slackware ma skrajnie inne podejście, stawia na prostotę, ale nie stricte użytkowania systemu, a swojej budowy i designu. Jest to obecnie najbardziej Unixowy z Linuxów, jako jedyny z rodziny tych systemów respektuje większość tzw. "Unix rules". Mówiących, na przykład, by każde narzędzie służyło tylko w jednym celu i wykonywało go dobrze, spełniając kilka dodatkowych zasad jak np. obsługa standardowego wejścia-wyjścia. Umożliwia to, by za pomocą kilku połączonych np. potokiem programów wykonać pozornie skomplikowaną czynność, która w innym wypadku wymagałaby, oddzielnej aplikacji. A wielkim, pełnym błędów "kombajnom" do wszystkiego/niczego, mówimy nie.

Sam system jest jednocześnie kompletny i nie przeładowany. Posiada domyślnie wszystkie podstawowe i niezbędne aplikacje. Twórcy szybko wydają niezbędne poprawki bezpieczeństwa, a dostarczone aplikacje są dobrze przetestowane.

Dependency hell?

Pierwszą kwestią na ustach ludzi stykający się ze Slackware jest menadżer pakietów. A konkretniej jego okrojenie o śledzenie zależności i bogatsze repozytoria z oprogramowaniem. Przekłada się to na fakt, że większość oprogramowania(typowo desktopowego trzeba dodać) nie jest dostępne jako gotowy pakiet do zainstalowania na Slackware. Powodem takiego podejścia, jest typowa dla środowiska Open-source zasada, by zostawić użytkownikom możliwości wyboru tego, co w danej paczce ma się znajdować w jakiej wersji ma być i jak dany program ma być skonfigurowany. W Slackware jest to domyślne podejście do instalacji zewnętrznego oprogramowania.

Brak automatycznego rozwiązywania zależności, wymusza na administratorze systemu większą kontrolę nad zainstalowanymi paczkami, co powinno przekładać się na większy porządek w systemie i brak problemu tzw. "piekła zależności". W praktyce wiele zależy od potrzeb i umiejętności admina.

Jak zatem zainstalować zewnętrzną aplikacje? Prostota w praktyce ;) :

  1. Należy, pobrać kod źródłowy danego oprogramowania, zapoznać się z jego dokumentacją i z opcjami kompilacji. Opcjonalnie można jeszcze zapoznać się z kodem samej aplikacji.
  2. Stworzyć lub pobrać(istnieje baza stworzonych przez społeczność) skrypt tzw. SlackBuild, którego zadaniem będzie stworzenie dla nas gotowego do zainstalowania pakietu.
  3. Uruchomić skrypt, odczekać kilka sekund/minut/godzin, gdy ten rozpakuje, skonfiguruje, skompiluje, a na koniec spakuje gotowe oprogramowanie do postaci paczki
  4. Wynikową paczkę instalujemy już jednym poleceniem jak w innych dystrybucjach i cieszymy się z nowej aplikacji.

To oczywiście schemat postępowania przy założeniu, że dane oprogramowanie kompiluje się bez błędów i nie wymaga innych, zależności, ale o te świadomie dbamy sami.

Gdzie tu prostota? ano owe skrypty to zasadniczo zwykły zbiór poleceń shella do otworzenia w każdym edytorze. W razie konieczności zmiany ficzerów oprogramowania lub chęci upgrade-u wersji, wystarczy gotowy skrypt edytować, uruchomić ponownie, a paczkę zaktualizować. Same paczki to z kolei zwykłe skompresowane archiwa tar, które podczas instalacji wypakowywane są względem katalogu głównego systemu '/'. Wyróżniają je jedynie opcjonalny opis paczki w pliku tekstowym i skrypty po‑instalacyjne.

Alternatywnie możemy pobrać gotową paczkę z fanowskich repozytoriów lub skonwertować pakiety .deb lub .rpm. Bez gwarancji pozytywnych efektów oczywiście, bez możliwości dostosowania, w dalszym ciągu bez rozwiązywania zależności i bez ewidentnej frajdy.

Vanilla software

Kolejną cechą charakterystyczną tego systemu, jest brak autorskich poprawek w oprogramowaniu. Dotyczy to w szczególności jądra Linux. Praktycznie każde inne distro dodaje do kernela swoje autorskie patche w celu poprawy wydajności, czy kompatybilności. Slackware korzysta tylko z oficjalnych źródeł z kernel.org.

Reszta oprogramowania również dostarczona jest w formie przewidzianej przez jej twórców tzw. oprogramowanie waniliowe, bez dodatkowych usprawnień i zmian w kodzie. Wyjątkiem są tylko, niekiedy niezbędne patche.

W praktyce oznacza to, że w przypadku, gdy potrzebujemy np. nowszej wersji oprogramowania zainstalowanego w systemie. Możemy jego kod pobrać bezpośrednio od twórcy konkretnego programu i po odpowiedniej kompilacji funkcjonował będzie jak oryginalna systemowa paczka. Dodatkowo dla ułatwienia możemy po prostu edytować i wykorzystać SlackBuild oryginalnej paczki.

Przykładów swoistej prostoty tego systemu jest oczywiście więcej, ale niektóre są już bardziej subtelne albo wynikają z tych już podanych.

Rozwój dystrybucji

Kolejne wersje systemu wydawane są z zasady: kiedy są gotowe, a nie kiedy chce tego społeczność. Więc jeżeli ktoś "lubi" kilkuletni system wydawniczy takiego Debiana to dla przykładu z początkiem lipca br. wyszła nowa stabilna wersja Slackware 14.2 :D z tym, że poprzednia wersja 14.1 ma już prawie 3 lata :(

Po za wydaniami stabilnymi, jest jeszcze gałąź rozwojowa "current" przeznaczona do testowania i otrzymująca względnie najnowsze wersje oprogramowania. Stabilność porównywalna jak w zwykłych wydaniach, ale trzeba być bardziej ostrożnym przy aktualizacjach.

Jak na system otwarto-źródłowy podejście twórców jest więc dosyć konserwatywne, jednak to m.in dzięki temu właśnie system ten dalej ma swoich zwolenników. Nie na darmo opiekun dystrybucji Patrick Volkerding należy do BDFL (Benevolent Dictator For Life), grupy osobistości ze środowiska Open-source do których należy ostatnie słowo w spornych kwestiach dotyczących poszczególnych projektów.

Tux z fajką - maskotka Slackware
Tux z fajką - maskotka Slackware

Podsumowanie

Na koniec chciałbym tylko wyklarować, iż celem tego wpisu nie była, żadna forma przekonywania do Linuxa jako takiego, ani też polecanie, bądź odradzanie tej czy innej dystrybucji. Moim celem było tylko przedstawienie tej już niszowej dystrybucji, oferującej zupełnie inne podejście do tematu korzystania z systemu operacyjnego. Które już co prawda zanikające ma dla niektórych w tym dla mnie, sens i w dzisiejszych czasach.

Dziękuje za wytrwałość i ew. krytykę.

Wybrane dla Ciebie
Komentarze (51)