Data stworzenia tekstu: 01.01.2012

Linux – filozofia przepaści

Dla użytkownika Windows pierwsze zetknięcie z Linuksem może być szokiem. W dzisiejszych czasach być może nie dzieje tak się przy Ubuntu, ale przejście na jakiegoś Linuksa dla zaawansowanych użytkowników boli tak samo, jak 10 lat temu. Niniejszy artykuł będzie pokazywał najbardziej zaskakujące rzeczy w Linuksie (takim dla zaawansowanych), które rozszerzają i zmieniają sposób myślenia nie tylko o komputerach, ale w ogóle o świecie. Jeśli kogoś interesują komputery oczywiście ;)

Developer mode enabled

Developer mode to traktowanie użytkownika jak programisty. Użytkownik wie, czego chce, więc się z nim nie dyskutuje. Dzięki temu zaawansowany użytkownik czuje się naprawdę wolny: gdy będzie chciał zmienić bootloader na inny, to nie będzie musiał potwierdzać 3 razy, że nie uruchomi systemu i żaden automat przywracający pliki systemowe nie będzie z nim walczył.

Linux? A co to właściwie jest?

Android to też dystrybucja Linuksa. Linux działa na ruterach. Linux to tak naprawdę jądro systemowe dostępne na stronie kernel.org, a dobór wszystkich innych programów i podsystemów, które czynią z niego coś użytecznego, należy do twórców dystrybucji. Wcale nie jest oczywiste, że Linux musi używać narzędzi GNU czy czegokolwiek innego, wystarczy spojrzeć na tabelę modularności Linuksa.

Użytkownik nikogo nie obchodzi

Jeśli myślisz, że ktoś panuje nad tym, żeby w danym okresie czasu było działające środowisko graficzne czy jakiś program do robienia strasznie ważnej rzeczy, na której Ci zależy, to się mylisz. KDE 4 i GnomeShell wyszły mniej więcej razem, żadne z nich nie nadawało się do codziennej pracy. Zabawne jest, że sam Linus najpierw uciekał z KDE do GNOME, a potem do Xfce. Polityka rozwoju KDE polega na tym, żeby wypuścić do masowego użytku nie do końca przetestowane funkcjonalności, które jednak robią coś fajnego, tak aby przekonać jak najwięcej programistów do uczestnictwa w projekcie. Gdy jakieś rozwiązanie jest już dopracowane i sprawdzone, zwykle zastępowane jest nowatorskim niedziałającym pomysłem. Gdy zostanie on już dopracowany, wtedy zastępowany jest czymś jeszcze nowszym. Wiele rozwiązań jednak nie zostaje nigdy dopracowanych i czasem ich ambitne założenia muszą być zastąpione czymś prostszym, bo system staje się nieużywalny nawet dla programistów.

Po instalacji nic nie działa

No dobrze, nie wiedzieć czemu, w trakcie i po instalacji zwykle działa klawiatura. Pewnie żeby dać użytkownikom jakieś szanse. Poza tym jednak zostajemy wrzuceni w konsolę, gdzie trzeba (lub nie) zainstalować sobie środowisko graficzne, skonfigurować jego uruchamianie, kiedyś jeszcze trzeba było napisać plik konfiguracyjny dla X serwera, żeby działał tryb graficzny. Potem wypadałoby stworzyć sobie konto użytkownika (tak, ciągle jesteśmy w konsoli), a gdy już po godzinie uda nam się uruchomić środowisko graficzne, to nie mamy uprawnień do zamontowania pendrajwa czy nawet wyłączenia systemu. Kiedyś mysz na USB nie była dobrym pomysłem, bo wcale nie było takie oczywiste, że sterowniki do portów USB są załadowane. Możemy jednak włączyć muzykę, za którą tak bardzo tęskniliśmy, pod warunkiem, że skonfigurujemy kartę dźwiękową (ostatnio działa to od razu) i podgłośnimy wyjścia w mikserze, bo domyślnie wszystkie są na 0 (chyba że korzystasz z pulseaudio – jak widać fundacja freedesktop nawet coś robi).

Po co mi system, który domyślnie nie działa?

To wszystko zależy, co chcesz osiągnąć. Jeśli chcesz mieć system, który w pełni kontrolujesz (im więcej automatyzacji, tym mniejsza kontrola), system maksymalnie bezpieczny i niepsujący się (do pierwszej akutalizacji ;), bardzo szybki, działający 10 lat i więcej bez żadnych formatów, nigdy nie zwalniający, nie zabierający więcej pamięci czy miejsca na dysku niż miesiąc temu przy tym samym zestawie oprogramowania, to warto poświęcić kilka dni na dopieszczenie takiej dystrybucji. Dzięki niej komputera zaczniesz używać jak markowego woła roboczego, włączasz nogą i działa. Gdy po kilku latach uruchomisz jakiś system z pamięci przenośnej i zechcesz go zresetować na obudowie, będziesz tego guzika dopiero szukać.

Środowiska graficzne

Dla typowego użytkownika Windows w głowie się nie mieści, że środowisk graficznych jest kilka, a nie jedno zawsze włączone i zintegrowane z systemem. Na dodatek można je uruchomić wszystkie jednocześnie. Czad, nie?

Strumieniowanie wszystkiego gdziebądź

Polecenia dd oraz cat odczytują pliki, wyjścia lub urządzenia bajt po bajcie i mogą je przekierowywać do plików, wyjść lub urządzeń. Opis to bardzo ogólny, więc i funkcjonalność bardzo szeroka.

Jak posłuchać pliku graficznego? Tak samo, jak jakiegokolwiek innego (dla celów tego przykładu konieczne jest załadowanie mudułu kompatybilności z OSS: snd_pcm_oss):

Możemy ten plik także nagrać na dyskietkę:

Na płytę:

Tak, do drukarki też, ale sam posiadam jeszcze starego grata na port równoległy, więc nie chcę podawać przestarzałego przykładu. Podobnie do wszelkich pamięci, ale to spowoduje zawieszenie systemu. Można za to wykonać operację odwrotną dla celów zrzucania obrazu pamięci.

Na dysk twardy (zanim bezmyślnie przekleisz, przeczytaj uwagę na dole):

Do innego pliku:

Ale uwaga, w ten sposób zapiszesz bajt po bajcie do urządzenia. Na dyskietce nadpiszesz sektor rozruchowy, podobnie na dysku i na płycie. Innymi słowy staną się one nieprzydatne, chyba że wiesz co robisz. Jeśli jako argument wejściowy podasz obraz płyty (także ISO!) czy dysku sczytany wcześniej, wtedy to ma sens. Poleceniem dd można także precyzyjnie określać ile i co ile bajtów chcemy zapisywać. Tym sposobem możemy dopisywać coś do plików (ukrywanie treści), nadpisywać fragmenty urządzeń (odtworzenie MBR z kopii), kasować trwale dane (przekierowując kilka razy strumień z /dev/urandom), zerować pliki (/dev/null) czy też puszczać szum na głośniki :)

Jest ono także świetne do tworzenia kopii zapasowej: najpierw tworzymy plik z zer (aby wyzerować wolne miejsce), a potem przepuszczamy sczytywaną partycję w strumieniu przez jakiś kompresor typu zip czy bzip2 (uwaga, jeśli nie rozumiesz poniższych poleceń, nie stosuj ich, chwila nieuwagi i pożegnasz się z danymi):

Podobny efekt można uzyskać poleceniem cat, które należy do pakietu coreutils.

Oglądanie filmów, słuchanie muzyki, edycja obrazków, przeglądanie stron... w konsoli

Oglądanie filmów w konsoli (przełącz się do wirtualnego terminala za pomocą kombinacji klawiszy alt+F2):

Słuchanie muzyki w konsoli (na przykład tak):

Surfowanie w sieci WWW w konsoli:

Tworzenie, edycja lub konwersja grafiki w konsoli (na przykład:)

Przykład ukradziony ze strony imagemagick.

Inne dziwne rzeczy, które można zrobić konsolą.

Po co? Przydaje się to w skryptach automatyzujących różne rzeczy, na serwerach stron internetowych, w sytuacjach awaryjnych oraz do diagnostyki.