Debian GNU/Linux logo
4. Poradnik Debiana dla początkujących

[ << ] [ < ] [ Strona główna ] [ > ] [ >> ]


Wstęp

Aby móc w pełni korzystać z Debiana trzeba po prostu mieć o nim jakąś podstawową wiedzę. Trzeba sobie radzić z różnymi problemami - tylko jak? Ano ten poradnik pomoże Ci opanować pewne podstawy, dzięki którym będziesz mógł dopieszczać swojego Debianka, bawić się nim i uczyć się razem z nim :-) Zaczniemy od teorii, a następnie przejdziemy do praktyki. Jeżeli jesteś już obeznany w Debianie, to wiedz, że zakładam iż osoba czytająca ten poradnik jest typowym newbie - stąd taki, a nie inny styl pisania. Czas jaki musisz poświęcić na przeczytanie poradnika waha się od dwóch do pięciu godzin. Uwierz mi - przez ten krótki okres możesz dowiedzieć się naprawdę wielu ważnych informacji, które po prostu musisz opanować. Proszę również abyś nie przerażał się długością poradnika. Nie ukrywam, dla niektórych krótki on nie jest, ale mam nadzieję, że styl w jakim go pisałem, sprawi iż będziesz go czytał z przyjemnością :) I jeszcze raz chciałbym podkreślić: czytaj powoli i uważnie - w przeciwnym wypadku, zmarnujesz tylko swój czas.

Zapraszam do czytania! :-)



Poradnik, a dostęp do Internetu

Chciałbym jeszcze zwrócić uwagę na dostęp do Internetu na Linuksie. W poradniku wychodzę z założenia, że masz już w pełni dostęp do Internetu. Będzie tutaj trochę przykładów praktycznych, które wymagają dostępu do niego. Jeżeli nie masz jeszcze skonfigurowane neta, nie rób tego teraz. Po prostu czytaj dalej poradnik, omijając przy tym polecenia instalacji pakietów czy aktualizacji repozytoriów. Mówię o tym po to, abyś najpierw poznał podstawy, dzięki którym konfiguracja połączenia nie powinna Ci sprawić problemów (ważne jest aby rozumieć co się wpisuje w konsoli, nawet podczas korzystania z poradnika typu krok po kroku).



Konsola

No tak, konsola... Dużo osób nie zdaje sobie sprawy jakie to potężne narzędzie, a niektórzy nawet nie widzą co to jest. Konsola jest to wiersz poleceń (innymi słowy, wpisuje się tam przeróżne polecenia). Konsola w Linuksie jest naprawdę potężna i można w niej robić praktycznie wszystko (no gorzej jest z obróbką audio i grafiki ;-). Jak wygląda konsola? Najczęściej jest to czarny ekran z białymi napisami, gdzie możesz poruszać się tylko klawiaturą. W różnych środowiskach graficznych istnieją tak zwane terminale, które emulują konsolę. Wygląd takich terminali można dowolnie zmieniać (kolor czcionki, przezroczystość, wielkość okna, itd.). Osobiście używam terminala o nazwie Urxvt (znajduje się w paczce rxvt-unicode-ml).

Dużo osób twierdzi, że konsola jest trudna i aby się po niej poruszać trzeba zapamiętać masę poleceń. Oczywiście jest to kompletna bzdura. Poleceń konsoli jeszcze nikt nie wkuwał na pamięć - po prostu jak coś zrobisz dwa, trzy, cztery razy, zapamiętujesz to. Tutaj tkwi sedno sprawy: jeżeli chcesz sprawnie poruszać się po konsoli, używaj jej na co dzień.

Jestem swego rodzaju "maniakiem konsoli". Robię w niej praktycznie wszystko. Dla mnie praca w niej jest czystą przyjemnością. Nie dość, że potrafię zrobić tam wiele rzeczy o wiele szybciej, aniżeli przy pomocy programów graficznych, to praca w konsoli jest po prostu przyjemniejsza. Wiem, wyśmiejesz mnie za te poglądy, ale powiem Ci jedno: sam kiedyś to zrozumiesz i będziesz się śmiał z tego, że teraz się ze mnie śmiejesz... ;-)

W konsoli dla przykładu można odbierać czy wysyłać maile, prowadzić rozmowę z kimś przez komunikator (Gadu, Jabber, etc.), słuchać muzyki, pisać programy, aktualizować system i wiele, wiele więcej.

Oczywiście nie będę Cię cały czas zmuszać do używania konsoli - chciałbym Ci po prostu uświadomić, że prędzej czy później będziesz zmuszony do jej używania i wtedy mogą wyjść Twoje braki. Dlatego, zachęcam Cię drogi czytelniku, żebyś poznał chociaż podstawowe polecenia - ale to akurat rozwinę w dalszej części poradnika.



Pakiety

Co to są pakiety? Pakiety to nic innego jak skompilowane źródła danego programu gotowe do natychmiastowej instalacji. Pakiety są też często określane jako programy. Pakiety dla Debiana i dystrybucji bazujących na Debinie, mają końcówkę .deb Pakiety .deb to według mnie najlepsze jakie powstały. To właśnie dzięki nim można bardzo szybko i sprawnie przeprowadzić różnego rodzaju instalacje.



Programy do instalacji pakietów

W Debianie, jak i w dystrybucjach bazujących na nim, istnieje bardzo dobre i bajecznie proste narzędzie do instalacji pakietów. Zwie się ono apt-get. Jest ono częścią APT (zaawansowane narzędzie pakietowe), w którego skład wchodzi również apt-cache.

Należy jeszcze wspomnieć o aptitude. Cóż to takiego jest? Aptitude jest to nakładka na dpkg. Posiada prosty interfejsem tekstowy. Pozwala użytkownikowi przeglądać listę pakietów i wykonywać zadania związane z zarządzaniem nimi, takie jak instalowanie, uaktualnianie czy usuwanie. Zadania te można wykonywać w trybie interaktywnym lub z wiersza poleceń. Dlaczego wspominam tu o aptitude? Ponieważ chcę żebyś instalował programy za pomocą aptitude, a nie apt-get. aptitude to taki ulepszony apt-get. Aplikacja ta podczas usuwania pakietów sprawdza czy zależności danego pakietu wymagane są do poprawnego działania innych programów, i w razie gdy nie są, usuwa je. Dzięki temu możesz utrzymać większy porządek w systemie. Więcej na ten temat dowiesz się w artykule: aptitude vs APT.

Innym programem do instalacji pakietów jest dpkg. Teoretycznie dpkg jest uruchamiany zawsze podczas instalacji pakietów, jednakże działa on w tle. dpkg jest to niskiego poziomu menedżer pakietów Debiana. Więcej na temat dpkg dowiesz się w dalszej części artykułu.

Jest jeszcze kilka programów do instalacji pakietów, jednak nie będę o nich wspominał bo są mało popularne i raczej nie będziesz ich używał. Zainteresowanym polecam zapoznać się z wajig.



Repozytoria

Repozytoria (inaczej po prostu repo) są to miejsca skąd można pobrać pakiety - takie archiwa pakietów. Repozytoria mogą być oficjalne i nieoficjalne. W Debianie listę repo umieszcza się w pliku /etc/apt/sources.list. Stamtąd właśnie apt-get jak i aptitude pobiera listę pakietów. Aktualnie, w oficjalnym repo Debiana znajduje się około 20300 pakietów! Tak aż tyle, a ta liczba cały czas rośnie.

Wspomniałem o /etc - cóż to takiego jest? Jest to katalog, jeden z najważniejszych katalogów gdzie mieści się praktycznie cała konfiguracja systemu. O tym także wspomnę później.



Budowa repozytorium

Trzeba jeszcze pokrótce omówić budowę wpisu repozytorium. Jako przykład wezmę sobie taki oto wpis:

deb-src http://ftp.pl.debian.org/debian/ etch main non-free contrib

Na początku wpisu widzimy deb-src - informuje to nas (jak i programy) jakiego typu jest dane archiwum. deb-src oznacza, że dane w danym repozytorium są źródła pakietów, które można ściągnąć i skompilować. Gdyby było tam samo deb to oznaczało by to, że w tym archiwum znajdują się pakiety binarne, gotowe do pobrania i natychmiastowego zainstalowania.

Kolejna część, czyli http://ftp.pl.debian.org/debian/ jest to pełny adres repozytorium.

Następnie widzimy nazwę dystrybucji, czyli etch.

Po nazwie dystrybucji są tak zwane sekcje. W Debianie wyróżniamy trzy sekcje:
  • main - w niej znajdują się wszystkie wolne pakiety,
  • non-free - tutaj znajdują się wszystkie niewolne pakiety, czyli takie, które mają zamknięty kod źródłowy,
  • contrib - tutaj znajdują się wszystkie pakiety wolne, które zależą od pakietów niewolnych.




Edytor i pakiety biurowe

Edytor... Chyba każdy z nas wie co to takiego. W Debianie mamy mnóstwo edytorów do wyboru. Moim ulubionym jest Vim. Za pomocą edytora dokonuje się na przykład zmiany różnych plików. Tylko nie myl edytora typu Vim z Microsoft Word bo to zupełnie inna historia.

Microsoft Office jest to komercyjny pakietu biurowy, w którego skład wchodzi wiele różnych programów. Jego darmowym i wolnym odpowiednikiem jest np: OpenOffice.

Czy warto używać OO (OpenOffice)? Według mnie tak. Największym argumentem przemawiającym za tym jest to, że za OpenOffice nic nie trzeba płacić, a otrzymuje się zbliżoną funkcjonalność do pakietu ze stajni Microsoftu.



Zależności

Co to są zależności? Najlepiej będzie jak podam przykład:

Pakiet A zależy od pakietu B, a ten zależy od pakietu C, który zależy od pakietów D i Y, które z kolei zależą (wymagają) 10 innych pakietów.

Większość pakietów zależy od innych. Jeżeli są jakieś błędy w zależnościach to mówi się, że masz niespełnione zależności. Powiesz, że to bezsensu takie coś. Właśnie nie. Dzięki zależnościom wygodniej pisze się różnego rodzaju programy i niekiedy łatwiej utrzymać porządek w systemie.

Nie ma co ukrywać, że walka z zależnościami czasami jest męcząca, ale w końcu nabiera się w tym wprawy. Pamiętaj jednak, że najczęściej problemy z zależnościami wynikają... z własnej głupoty. Za każdym razem, czy to instalując, usuwając czy aktualizując system, menadżer pakietów prosi Cię o potwierdzenie danej operacji. Wcześniej oczywiście wypisuje zaplanowane zadania. Pamiętam aby czytać to z rozwagą i nie klepać bezpodstawnie Tak.



Instalacja pierwszego pakietu

Zanim dojdziemy do tej wymarzonej chwili, w której zainstalujemy nasz pierwszy pakiet musisz dowiedzieć się pewnej rzeczy. Mianowicie: jeżeli na początku jakiegoś polecenia zobaczysz znak $, to oznaczać to będzie, że dane polecenie powinieneś wykonać jako zwykły użytkownik (user). W przypadku kiedy na początku polecenia będzie #, wpisz je jako administrator (root).

I jeszcze jedna rzecz: znak ` Jeżeli spotkasz się gdzieś, chociażby w tym poradniku, z np. takim zapisem: `ls -la` to oznacza to, że masz wykonać to polecenie, które znajduje się pomiędzy ` `

Za nim zainstalujemy nasz pierwszy pakiet musimy posiadać odpowiednie repozytoria. W zależności jakiego masz Debiana (unstable, testing, stable) musisz dodać odpowiednie wpisy do /etc/apt/sources.list A jakie to mają być wpisy? Udaj się tutaj i wybierz odpowiednie repo. Po wybraniu odpowiednich wpisów w konsoli najpierw wpisz:

Listing #1: Zalogowanie się na konto administratora (roota)
$ su

i podaj hasło administratora (roota). Następnie wpisz:

Listing #2: Edycja repozytoriów
# nano /etc/apt/sources.list

Polecenie to otworzy nam plik /etc/apt/sources.list w edytorze nano. Teraz wprowadzamy odpowiednie wpisy i naciskamy Ctrl + O oraz Ctrl + X. Jeżeli wszystko dobrze robiłeś, to plik zostanie zapisany oraz wyjdziesz z edytora.

Teraz wpisz:

Listing #3: Update pakietów
# aptitude update

oraz

Listing #4: Instalacja pakietu o nazwie mc
# aptitude install mc

Teraz parę wyjaśnień:
  • aptitude - tym poleceniem wywołujesz opisywany już przeze mnie program do zarządzania pakietami,
  • install - jest to polecenie programu aptitude,
  • mc - nazwa pakietu, który chcemy zainstalować.
Jeżeli wszystko dobrze wpisałeś to zostanie pobrany pakiet mc oraz zostanie on zainstalowany. W czasie instalacji będą pojawiać się różnego rodzaju informacje - przeczytaj je. Przeczytaj je przynajmniej pięć razy, a gwarantuję Ci, że już połowę tych komunikatów zrozumiesz.

Opuść teraz tryb administratora wpisując w konsoli:

Listing #5: Wychodzenie z roota
# exit




Uruchomienie zainstalowanego pakietu

Jak widzisz, zainstalowaliśmy mc, czyli jeden z lepszych menadżerów plików pod konsolę.

W Debianie i w każdym systemie Linuksowym, programy uruchamia się tak samo - wpisując odpowiednie polecenie w konsoli. Poleceniem najczęściej jest nazwa programu, czyli w naszym przypadku aby uruchomić mc wystarczyć w konsoli wpisać `mc`. Menadżer powinien się uruchomić.



Instalacja kolejnego pakietu - Kadu

Prędzej czy później zadasz pytanie: Czy mogę mieć gadu na Linuksie? Odpowiedź brzmi tak. Potrzebny nam do tego odpowiedni program zwany kadu. Oczywiście jest wiele innych programów tego typu, ale kadu jest najpopularniejszy.

Udaj się na stronę i dodaj do /etc/apt/sources.list odpowiedni wpis (już to potrafisz!). Pamiętaj, że wszystko musisz robić jako root! Pragnę jeszcze zauważyć, że dodanie odpowiedniego repo jest wymagane tylko dla Debiana Etch.

Teraz wykonaj:

Listing #6: Update pakietów
# aptitude update

oraz

Listing #7: Instalacja kadu
# aptitude install kadu

Jeżeli pokaże Ci się informacja, że pakiet nie mógł zostać zweryfikowany lub coś w tym stylu, to nie przejmuj się tym, nie zwracaj uwagi na ten komunikat, bo to co się pojawia jest tylko informacją, że posiadasz nieoficjalne repozytoria. Jeżeli jednak przeszkadza Ci ten komunikat, to aby się go pozbyć, możesz wywalić dane repo, albo zastosować się do wskazówek dostępnych w tym artykule.

Teraz w konsoli wpisz `exit` i wpisz `kadu`. Powinien Ci się uruchomić zainstalowany przez nas program. Możesz go teraz sobie ustawić jak chcesz, jednak na razie wstrzymałbym się i czytałbym dalej :)



Usuwanie pakietów

Skoro można instalować pakiety to można i je usuwać. Do tego celu posłuży nam aptitude lub apt-get.

Aby usunąć dany pakiet wpisujemy:

Listing #8: Usuwanie pakietu za pomocą aptitude
# aptitude remove [nazwa_pakietu]

Aby usunąć całkowicie pakiet z systemu wraz z jego konfiguracją wpisz:

Listing #9: Usuwanie pakietu za pomocą aptitude wraz z jego konfiguracją
# aptitude purge [nazwa_pakietu]

W przypadku apt-get jest troszeczkę inaczej. Aby usunąć pakiet za pomocą apt-get wpisz:

Listing #10: Usuwanie pakietu przy pomocy apt-get
# apt-get remove [nazwa pakietu]

Aby usunąć dany pakiet wraz z jego plikami konfiguracyjnymi wpisz:

Listing #11: Usuwanie pakietu przy pomocy apt-get z jego konfiguracją
# apt-get remove --purge [nazwa_pakietu]

Chciałbym jeszcze dodać, że apt-get nie usunie zależności pakietu, który usuwamy! Natomiast aptitude te zależności usunie, o ile nie wymaga ich inny pakiet.



Szukanie pakietów

Chcesz znaleźć jakiś pakiet? Nie wiesz jak się dokładnie nazywa? Nic trudnego! Są do tego bardzo dobre narzędzia. Pierwszym z nich jest apt-cache a drugie to znany nam już aptitude. Jak to działa?

Wpisz w konsoli:

Listing #12: Szukanie pakietu z użyciem apt-cache
$ apt-cache search kadu

a teraz:

Listing #13: Szukanie pakietu z użyciem aptitude
$ aptitude search kadu

I co widzisz? Znalazło Ci pakiet o nazwie kadu, wraz z krótkim opisem. Osobiście używam tych dwóch poleceń, raz to raz to.

Należy jeszcze dodać, że apt-cache szuka podanej frazy w nazwach i opisach pakietów, a aptitude tylko w nazwach.



Synaptic

Synaptic jest to graficzna nakładka na apt-get. Tam nic nie wpisujesz, tam ech... klikasz. Nie polecam używać Synaptic mimo, że jest on bardziej intuicyjny niż konsolowe programy. Instalując pakiety w Synaptic (i podobnych programach z GUI) niewiele się nauczysz. Aby korzystać z Synaptic'a musisz go zainstalować (już to potrafisz!).

Choć muszę przyznać, że sam na początku mojej przygody z Debianem, używałem tylko Synaptic'a, ale teraz używam do instalacji programów tylko i wyłącznie konsoli (czyli aptitude i apt-get).



dpkg

dpkg jest to menedżer pakietów Debiana. Za jego pomocą możemy instalować paczki, które między innymi znajdują się na dysku. apt-get i aptitude służą głównie do instalacji pakietów z repo. No a co zrobić gdy danego pakietu nie ma w repo ale mamy go na dysku? Do jego instalacji posłużymy się dpkg. Ma on bardzo dużo możliwości jednak ja podam tu tylko jak zainstalować pakiet, a więcej na ten temat dowiesz się szukając na Google lub czytając `man dpkg`.

Przejdź do folderu gdzie znajduje się pakiet który chcesz zainstalować, zaloguj się na roota (su), a następnie wpisz:

Listing #14: Instalacja pakietu z użyciem dpkg
# dpkg -i nazwa_pakietu.deb

Gdzie nazwa_pakietu.deb musi to być pełna nazwa pakietu! Jeszcze raz powtarzam: pełna nazwa pakietu!
Musisz to wpisać w folderze gdzie jest dana paczka, lub podać dokładną ścieżkę do paczki.

Przykład:

Listing #15: Instalacja pakietu z użyciem dpkg
# dpkg -i /home/kaka/moc/moc-2.5.0-alpha1/moc-2.5.0_alpha1-1_amd64.deb

Teraz mamy już zainstalowany dany pakiet. Aby go usunąć należy posłużyć się apt-get lub aptitude. Możemy też go usunąć posługując się samym dpkg, ale ostrożnie z tym, jak i z całym dpkg - jeżeli nie jesteś pewien czego robisz, to raczej nie używaj dpkg.



Drzewo katalogów

Głównym katalogiem w Linuksie jest / , a w nim znajdują się następujące katalogi (podaję w kolejności alfabetycznej):
  • /bin - tutaj znajdują się podstawowe pliki binarne (wykonywalne),
  • /boot - w tym katalogu znajdują się pliki niezbędne do uruchomienia systemu np. kernel czy pliki GRUBa,
  • /dev - znajdujące się tutaj pliki odnoszą się do urządzeń - za ich pośrednictwem system komunikuje się z urządzeniami (komunikacja niskopoziomowa),
  • /etc - tutaj znajdują się pliki konfiguracyjne i ustawienia systemowe,
  • /home - w tym katalogu znajdują się pliki określające ustawienia każdego użytkownika, ponadto jest on przeznaczony na zapisywanie danych, np. dokumentów, obrazków, muzyki i wszelkich plików których używamy na co dzień. Przydatną rzeczą może okazać się, zrobienie /home na osobnej partycji, dzięki temu, jeśli z jakiś powodów będziesz musiał zainstalować ponownie system, nie utracisz swoich danych,
  • /lib - tutaj znajdują się systemowe biblioteki dzielone (shared libraries) zawierające funkcje, które są wykonywane przez wiele różnych programów,
  • lost+found - tutaj narzędzia sprawdzające system plików umieszczają zagubione pliki (np. z powodu błędów na dysku),
  • /media - stąd mamy dostęp do np. pendrive, CD-ROM, etc.,
  • /mnt - tutaj natomiast najczęściej montuje się dyski,
  • /proc - wirtualny katalog, zawierający przeróżne dane o systemie i sprzęcie,
  • /root - główny katalog roota (administratora). Jest to swego rodzaju odpowiednik /home,
  • /sbin - katalog ten zawiera pliki wykonywalne poleceń, które mogą być wykonywane tylko przez administratora,
  • /tmp - folder przeznaczony na pliki tymczasowe,
  • /usr - w tym katalogu są instalowane dodatkowe programy, które umożliwiają pracę zwykłemu użytkownikowi systemu. Znajdziesz tam również źródła programów,
  • /var - katalog przeznaczony na pliki, których zawartość często się zmienia. Są tam między innymi przetrzymywane logi programów i systemu.


Konfiguracje programów - na ogół - znajduję się w /etc jak i w /home/xxx gdzie xxx to nazwa użytkownika. Konfiguracja znajdująca się w /home/xxx jest dla danego użytkownika, natomiast ta znajdująca się w /etc jest globalna, tzn. że jeżeli użytkownik gienek nie będzie miał skonfigurowane danego pakietu (np. vim) w swoim katalogu, to będzie korzystał z ustawień które są w /etc.

W przypadku konieczności zainstalowania systemu ponownie, warto skopiować sobie konfiguracje programów, dzięki czemu zaoszczędzimy wiele czasu tuż po reinstalacji.



Dyski i partycje

Musisz wiedzieć, że w Linuksie nie oznacza się dysków, partycji, czy innych urządzeń tak jak w Windowsie. Tutaj nie ma dysku C, D, E, F itd. Tutaj jest hda1, hdb2, sda3 itd.

Pomyślisz pewnie: "Dlaczego właśnie są takie oznaczenia?" Takie oznaczenia wprowadzono po to aby ułatwić montowanie różnego rodzaju urządzeń oraz ich rozpoznawanie. "Jak to ułatwić? Przecież te oznaczenia są skomplikowane!" One nie są skompilowane, one są logiczne.

Więc po kolei. Mamy dwa rodzaje dysków: ATA i SATA. Dyski ATA oznaczane są jako hda, hdb, hdc itd. Dyski SATA natomiast oznaczane są jako sda, sdb, sdc itd..

Zapewne zastanawia Cię, jaka jest różnica pomiędzy np. hda, a hdb. Otóż, hda jest to pierwszy dysk ATA (podłączony do komputera oczywiście), natomiast hdb jest to drugi dysk ATA, hdc to trzeci, hdd czwarty itd.

W przypadku dysków SATA jest podobnie. sda to pierwszy dysk SATA, sdb to drugi dysk SATA, sdc to trzeci...

Jednak jest jeszcze jedna niespodzianka ;) Numery partycji. A więc: sda1 to pierwsza partycja na pierwszym dysku SATA, sda2 to drug partycja na tym samym dysku, sdb3 to trzecia partycja na drugim dysku SATA.

Podsumowując, takie coś możemy sobie tłumaczyć następująco:
  • /dev/hda1 - pierwsza partycja na dysku ATA primary master
  • /dev/sdb4 - czwarta partycja na dysku SATA primary slave
  • /dev/hdc - dysk ATA secondary master
  • /dev/sdd1 - pierwsza partycja na dysku SATA secondary slave
Należy jeszcze wspomnieć, że stacje CD/DVD są widziane jako dyski ATA (choć ostatnio ulega to powoli zmianie na scd0, scd1 itd.), a różnego rodzaju karty pamięci czy dyski wymienne oznaczane są tak samo jak dyski SATA.

Należy jeszcze dodać, że w Linuksie występują partycje: główne i rozszerzone/logiczne. Partycji głównych można mieć najwyżej 4. Jeżeli jednak 4 partycje to dla Ciebie za mało, to można stworzyć 3 partycje główne, jedną rozszerzoną, na której będą partycje logiczne. Cały problem jest w oznaczeniach, bowiem partycje główne w Linuksie są numerowane od 1 do 4, a partycje logiczne 5-8, niezależnie czy partycji podstawowych jest 4 czy nie. I tak np. może być hda1 (w Windowsie było to C:), hda2 (w Windowsie było to D:), a później już partycje logiczne hda5 (w Windowsie było to E:) i hda6 (w Windowsie było to F:).

Domyślam się, że pierwsze wrażenia z nowych oznaczeń nie są zbyt przyjemne, ale uwierz mi - po pewnym czasie docenisz to w jaki sposób w Linuksie oznaczamy niektóre urządzenia :).



Podstawowe polecenia konsoli

Jak już wcześniej wspomniałem, nie będę Cię zmuszać do używania konsoli. Wiedz jednak, że kiedyś nadejdzie ten moment kiedy staniesz twarzą w twarz z konsolą. A żeby nie mieć problemów, musisz ją polubić, poznać chociażby jej podstawowe polecenia.

Podam tu najczęstsze polecenia jakie wykonuje się w konsoli. Jest ich dość dużo, nie podam więc wszystkich - zaprezentuje tyle te, które według mnie są najważniejsze.
  • cd - przenosi nas do wybranego katalogu, np. wpisując `cd /etc/apt` zostaniesz przeniesiony do katalogu /etc/apt w którym między innymi znajduje się sources.list,
  • pwd - pokazuje nam w jakim katalogu aktualnie się znajdujemy,
  • ls - pokazuje nam jakie katalogi i pliki znajdują się w danym katalogu,
  • touch - tworzy plik o podanej nazwie,
  • mkdir - tworzy folder o podanej nazwie,
  • top - pokazuje dużo przydatnych informacji na temat uruchomionych procesów, zużycia przez nich pamięci czy CPU,
  • htop - ulepszone top,
  • mv - przenosi dany plik/katalog w podane miejsce; w przypadku podania innej nazwy pliku/katalogu docelowego działa to jak "zmień nazwę...",
  • cat - bardzo często używane prze zemnie polecenie. Wyświetla ono zawartość danego pliku,
  • less - ulepszone cat - umożliwia przewijanie linii,
  • rm - usuwa dany plik,
  • rmdir - usuwa katalog (jeżeli jest pusty),
  • rm -r - usuwa dany katalog wraz z jego zawartością,
  • mount - montuje określone urządzenie/dysk/partycję etc.
  • whoami - pokazuje nazwę użytkownika, na którym aktualnie pracujemy,
  • su - zalogowanie się na konto roota (administratora),
  • chmod - zmienia prawa do pliku/katalogu (za chwilkę do tego przejdziemy),
  • id - wyświetla nasz identyfikator (UID) oraz grupy do jakich należymy z ich identyfikatorami (GID),
  • exit - wychodzi z konsoli. W przypadku kiedy zalogowałeś się na roota poleceniem su to wpisując `exit` zostaniesz wylogowany z roota,
  • man - polecenie do czytania dokumentacji. Na początek wpisz: `man man`.
Jak na razie to wszystko co powinieneś umieć. Nie przejmuj się! Gwarantuję Ci, że najpóźniej za parę dni będziesz to znał na pamięć! :-)



Wydawanie poleceń w konsoli

Wyżej podałem polecenia, które powinieneś znać, ale... jak je właściwie wpisywać? Bardzo dobre pytanie...

Otóż to wszystko co tam podałem, wystarczy wpisać w konsolę, np. ls. Ale nie każde z podanych poleceń zadziała - trzeba do nich coś jeszcze dodać. Tylko co? Napisałem, że np. mkdir tworzy nowy katalog. Jeśli jednak wpiszesz samo mkdir w konsoli to na 99% pojawi Ci się poniższy komunikat:

Spróbuj `mkdir --help' dla uzyskania informacji

Dlaczego tak się stało? mkdir tworzy nowy katalog, ale nie podaliśmy nazwy katalogu! Jak mamy stworzyć katalog bez nazwy? No właśnie, trzeba dopisać nazwę katalogu. Wpisując `mkdir komputer` utworzysz katalog o nazwie komputer (o ile nie ma już takiego katalogu).

Tak samo z innymi poleceniami.

Dodam jeszcze jedną bardzo ważną rzecz. Mianowicie wpisując

cat --help

pokaże ci się mnóstwo różnych dodatkowych parametrów, które możesz dołączyć do danego polecenia. Warto, naprawdę warto, zaglądać do

--help




Montowanie urządzeń

Co to jest montowanie? W Linuksie nie jest tak jak w Windowsie, że podłączysz jakiś nowy dysk, włożysz dyskietkę czy płytę CD/DVD i już możesz robić co chcesz. Nie, w Linuksie najpierw trzeba dane urządzenie zamontować. Spytasz: "czy nie prościej by było zrobić tak jak w Windowsie?" Tak i nie.
Można tak zrobić, jednak nie zawsze jest to dobre rozwiązanie. Czemu dysk ma być zawsze montowany jeżeli nie korzystasz z niego cały czas? Ano właśnie. Tutaj (w Linuksie) jeżeli potrzebujesz dostęp do jakiejś partycji, której na co dzień nie używasz, to montujesz ją, robisz co chcesz i odmontowujesz.
Na pewno teraz sobie pomyślisz: "Przecież to bezsensu!" Nieprawda! Ma to swój sens (z czasem to zrozumiesz).

Więcej o montowaniu napisałem tutaj



chmod - czyli prawa

Za pomocą polecenia chmod możemy manipulować prawami plików i katalogów. A właściwie po co są te prawa? Każdy plik czy folder posiada własne ustawienia praw. Dzięki nim możemy manipulować dostęp do danego katalogu lub pliku. Powiesz: "Czy nie prościej byłoby bez praw?" Odpowiedź jest prosta: Nie! Co zrobisz jeżeli nie chcesz by ktoś grzebał po Twoich plikach czy folderach? Posłużysz się właśnie prawami.

Nie jest to łatwe zagadnienie, więc zalecam się teraz bardzo skupić :).

Aby kontynuować, musisz się dowiedzieć kim tak naprawdę jest root. Root jest to administrator danego komputera - ma on najwyższe uprawnienia i może robić z systemem co mu się podoba. Zauważyłeś już, że na Linuksie nie pracuje się cały czas jako root. Dlaczego? Pracując jako zwykły użytkownik prawdopodobieństwo, że coś zepsujesz jest równe zeru. Zastanów się dlaczego Windows jest tak podatny na różnego rodzaju wirusy. Między innymi dlatego, że na Windowsie jesteśmy praktycznie zmuszeni pracować jako administrator. A administrator może wszystko, więc każdy program, wirus etc. uruchomiony przez administratora także może zrobić wszystko z systemem. Po prostu pracując jako administrator jesteś narażony na bardzo łatwe uszkodzenie systemu - nie przez wirusa, bo wirusów na Linuksie nie ma, ale możesz coś przez przypadek usnąć (np. ważny plik systemowy). Oczywiście nie zepsuje to całkowicie systemu. Systemy Linuksowe praktycznie zawsze da się podnieść na nogi, ale przysporzy Ci to kłopoty w postaci naprawy dystrybucji. Nie myśl zatem o ciągłej pracy na koncie administratora! Nigdy! Przenigdy! Loguj się na roota tylko wtedy kiedy musisz, tzn. kiedy chcesz coś zainstalować, zrobić upgrade systemu etc.

Przejdźmy do grup...

W Linuksie istnieje wiele grup (mam na myśli grupy w systemie). Przykładem takiej grupy jest audio. Jeżeli nie będziesz do niej należał to najzwyczajniej w świecie nie będziesz mógł słuchać muzyki. Użytkownik należący do jakiejś grupy ma zazwyczaj większe uprawnienia niż użytkownik do niej nienależący. Wyobraź sobie taką rzecz. Tworzysz nową grupę o nazwie np. rodzina. Do tej grupy będą należeć użytkownicy: mama, ojciec, brat. Ale jest jeszcze trzech innych użytkowników: ciocia, wujek, kuzyn. Jeżeli odpowiednio ustawimy prawa grup to osoby należące do grupy rodzina mogą oglądać pliki cioci, wujka i kuzyna, ale już ciocia, wujek i kuzyn nie mogą oglądać plików użytkowników: mama, ojciec, brat. Wszystko zależy od ustawień danej grupy.

Czas na praktykę. Stwórzmy plik o nazwie komputer:

Listing #16: Tworzenie pliku
$ touch komputer

Wykonaj teraz:

Listing #17: Sprawdzanie praw pliku
$ ls -la | grep komputer

Dzięki temu będziesz mógł sprawdzić prawa do pliku. A dokładniej, uprawnienia wyglądają następująco:

drwxr-xr-x

Pewnie nic Ci to nie mówi, ale nie martw się - za chwilkę to omówię. Wykonaj teraz w konsoli:

Listing #18: Zmienianie praw
$ chmod u=rwx,g=w,o=x komputer

Teraz ponownie wpisz:

Listing #19: Sprawdzanie praw pliku
$ ls -l | grep komputer

No i co widzisz? Prawa się zmieniły!

Teraz parę wyjaśnień:
  • chmod za pomocą tego polecenia zmieniamy prawa,
  • u= oznacza to, że dane prawa, które są podane za znakiem = będą nadane właścicielowi danego pliku/folderu,
  • g= to samo co wyżej z tą różnicą, że nie dla właściciela lecz dla grupy,
  • o= to samo co wyżej tylko, że dla wszystkich innych użytkowników,
  • r oznacza readable (odczyt),
  • w oznacza writable (zapis),
  • x oznacza executable (wykonanie).
Teraz pomyśl chwilkę i popatrz na wyżej zaprezentowane listingi (przeanalizuj je bardzo dokładnie).

Prawa można jeszcze zapisywać jako liczby, jednak osobiście nie polecam tego zapisu.



Aktualizacja systemu

Opisałem już jak się instaluje różne pakiety. Tutaj opowiem o aktualizacji systemu.

Jak już wiesz, listę pakietów pobiera się z serwerów zwanych repozytoriami, czyli po prostu repo. Jeżeli wcześniej miałeś Windowsa to pewnie zdziwi Cię fakt, że w Debianie aktualizacje systemu mogą być nawet codziennie. Dlaczego? Deweloperzy Debiana (czyli osoby, które go tworzą) znają się świetnie na swojej robocie i gdy tylko zostanie znaleziony błąd w jakimś pakiecie to poprawka jest praktycznie wypuszczana następnego dnia, a nie jak w przypadku Microsoftu gdzie na aktualizację trzeba czasami czekać miesiąc, dwa miesiące - a może Microsoft nigdy nie wyda poprawki?

"Skoro tak często są poprawki, to pewnie ciągle są jakieś błędy? Niekoniecznie jest to prawdą. Najczęściej są to aktualizacje pakietów do nowszych wersji, choć i błędy się zdarzają, a wtedy, tak jak już wspomniałem, poprawka jest wydawana bardzo szybko.



Jak zaktualizować system ?

Przed każdą aktualizacją jak i przed każdą instalacją pakietów należy uaktualnić listę pakietów, czyli wykonać (jako root):

Listing #20: Aktualizacja bazy pakietów
# aptitude update

Dopiero teraz możemy zaktualizować system, wydając w konsoli:

Listing #21: Aktualizacja systemu
# aptitude upgrade

I to wszystko. Teraz czekamy aż odpowiednie pakiety zostaną pobrane i uaktualnione.



Jak zmienić wersję systemu ?

Pewnie się już domyślasz, że w Debianie mamy kilka gałęzi. Poniżej znajdują się ich opisy.

Debian unstable - Sid
Jest to wersja, do której trafiają wszystkie nowo powstałe pakiety i to tutaj rozpoczyna się rozwój dystrybucji. Tutaj są wprowadzane zarówno małe poprawki jak i duże zmiany. Znajdują się tu pakiety, które mogą (lecz nie muszą) zawierać jakieś błędny. Jednakże w rzeczywistości pakiety nie stwarzają dużych problemów. Jeśli po upływie jakiegoś czasu w pakiecie nie zostaną wykryte poważniejsze błędy, to pakiet zostaje przeniesiony do wersji testowej.

Debian testing - Lenny
Tu trafiają pakiety z wersji niestabilnej, więc są już dość przetestowane i nie stwarzają żadnych poważniejszych problemów. Pakiety są dość aktualne. Co pewien czas wersja testing zostaje zamrożona, co oznacza, że zostaje wstrzymane przenoszenie pakietów, które normalnie by trafiły tutaj z wersji niestabilnej. Po zamrożeniu cała wersja przechodzi gruntowne testy, pod względem stabilności i integralności (dlatego nie trafiają tu pakiety z Sid'a ponieważ mogą one zachwiać stabilność) i po zaliczeniu tych testów zamrożona wersja testowa staje się nową wersją stabilną. No i znowu wersja testing zostaje otwarta.

Debian stable - Etch
Do tej wersji nie trafiają już żadne nowe pakiety (jedynie są dodawane łaty bezpieczeństwa), ponieważ jej rozwój mógłby osłabić stabilność. W związku z tym wersja ta jest bardzo stabilna i dlatego nadaje się idealnie na serwery, gdzie najważniejsza jest stabilność, oraz na zwykłe Desktop'y - jeżeli cenisz sobie stabilność.


Należy też wspomnieć o wersji eksperymentalnej. Experimental nie jest prawdziwą dystrybucją, to tylko dopełnienie unstable o paczki, które nie nadają się jeszcze do użytku przez większość ludzi - eksperymentalne wersje jednym słowem.

Experimental
Nie jest to żadna gałąź Debiana. Po prostu jest to dodatkowe repo. Trafiają tu niektóre nowo powstałe pakiety, cechujące się wysoce eksperymentalnym/niebezpiecznym charakterem: eksperymenty niektórych deweloperów, szczególne wersje beta, cvs, więc mogą powodować błędy (czasami poważne). Jeżeli pakiet nie stwarza poważnych problemów typu wykładanie się systemu, uszkadzanie innych pakietów etc. to zostaje przeniesiony do wersji niestabilnej.

Dodam, że niektóre pakiety z experimental są stabilne - np. od wielu miesięcy używam EKG2. Ten pakiet jest w experimental, ale ani razu nie zdarzyło się, żeby się wywalił.

Wiesz już jakie są wersje Debiana. Ale jak zmienić wersję systemu? Trzeba mieć odpowiednie wpisy w sources.list. Gdzie szukać odpowiednich wpisów? Powinieneś już to wiedzieć. Chodzi mi o ten artykuł.

Po dodaniu odpowiedniego repo wykonaj:

Listing #22: Aktualizacja bazy pakietów
# aptitude update

i

Listing #23: Aktualizacja systemu
# aptitude dist-upgrade


Podam jeszcze linki do dwóch ciekawych artykułów:

Dlaczego warto zaktualizować Debiana do wersji testowej?
Czy warto zaktualizować Debiana do wersji niestabilnej ?



Rozpakowywanie archiwów itp.

Często się zdarza, że spotykamy się z plikami, które mają końcówkę np. tar, tar.gz etc. Co to jest? Jest to archiwum (taki odpowiednik *.rar, *.zip). Jak je rozpakować? Poniżej podaję przykłady co i jak.

Jak rozpakować plik tar.gz?

W konsoli przejdź do katalogu gdzie znajduje się dany plik i wydaj:

Listing #24: Rozpakowywanie archiwum .tar.gz
$ tar -xzvf nazwa_pliku.tar.gz

Jak rozpakować pliki .tar?

W konsoli wpisz:

Listing #25: Rozpakowywanie archiwum .tar
$ tar -xvf nazwa_pliku.tar

Jak rozpakować plik tar.bz2?

w konsoli wpisz :

Listing #26: Rozpakowywanie archiwum .tar.bz2
$ tar -xjvf nazwa_pliku.tar.bz2


Ale ja mam inne rozszerzenie !

Tak też się może stać. Plik tar.gz może mieć trochę inną postać. Zawsze możesz spróbować rozpakować go, taką metodą jaką wyżej podałem, zmieniając tylko rozszerzenie pliku. Jednakże jeżeli nie jesteś pewien co i jak zrobić, poczytaj dokumentację (man tar ; man bzip2 ; man gzip), jednakże zanim to zrobisz, proszę Cię czytaj dalej, tam wspomnę o dokumentacji.



Instalacja pakietów ze źródeł

Źródła to nic innego jak nieskompilowane pakiety, czyli po prostu, sam kod programu. Kod ten, trzeba jeszcze przetłumaczyć na język procesora. Więc aby zainstalować program ze źródeł należy go najpierw skompilować. Ale czy ma sens bawić się w źródełka, skoro możemy sobie zrobić bałagan, czy zainstalować już skompilowane pakiety? I tak i nie. Nie zalecane jest instalowanie wielu programów ze źródeł, ale te 3-5 programów można spokojnie zainstalować - bałaganu sobie przez te kilka programów nie zrobisz. Po prostu nieraz jesteśmy zmuszeni do instalacji ze źródeł bo nie ma ani paczki .deb czy innych paczek które można przerobić za pomocą alien (o tym później). Oczywiście możemy sobie zrobić paczkę .deb ze źródeł i jeśli ją dobrze zrobimy, to żadnego bałaganu w systemie mieć nie będziemy.

Ale aby móc kompilować programy, trzeba posiadać odpowiednie pakiety. Są to najczęściej kompilatory oraz biblioteki. Tak logicznie pomyśl: przecież nie da się skompilować programu bez kompilatora ;)
Żeby nie utrudniać sobie życia, zainstalujemy pakiet build-essential.

Listing #27: Instalacja pakietu build-essential
# aptitude install build-essential


A więc aby skompilować dany program, musimy najpierw ściągnąć jego źródła. Następnie rozpakowujemy go z archiwum. Po tym przechodzimy do katalogu z tym programem. I kolejno wydajemy:

Listing #28: Konfigurowanie źródeł programu
# ./configure --prefix=/usr

potem:

Listing #29: Kompilowanie programu
# make


Listing #30: Instalowanie skompilowanego programu
# make install

Jeżeli będziemy chcieli odinstalować dany program to wystarczy dać (w katalogu ze źródłami [jako root]):

Listing #31: Odinstalowywanie programu
# make uninstall

W przypadku kiedy otrzymasz informację o braku pliku configure, to z zasady należy wtedy wykonać `./autogen`, który dane pliki utworzy - część pakietów źródłowych jest tak udostępniana.



Dla zainteresowanych podam dlaczego w pierwszym poleceniu podałem

--prefix=/usr

Otóż, wszystkie dystrybucje Debianowe umieszczają programy w /usr, a nie jak standardowo robi ./configure w /usr/local. Więc aby nie robić bałaganu w systemie musimy to zmienić. Dzięki temu programy zostaną zainstalowane w /usr a nie w /usr/local



Jak stworzyć ze źródeł paczkę .deb ?

Instalowanie czystych źródeł w systemie może narobić nam trochę bałaganu. Aby temu zapobiec, zamiast instalować z czystych źródeł, zrobimy paczkę .deb, którą potem zainstalujemy. Posłużymy się programem checkinstall. Najpierw go zainstalujemy czyli:

Listing #32: Instalowanie pakietu chceckinstall
# aptitude install checkinstall


Teraz standardowa procedura, czyli:

Listing #33: Konfigurowanie źródeł programu
# ./configure --prefix=/usr

potem:

Listing #34: Kompilowanie programu
# make

A teraz niespodzianka, bo nie będzie make install ale:

Listing #35: Tworzenie pakietu
# checkinstall -D --install=no

Parametr -D oznacza, że ma zostać stworzona paczka .deb, a --install=no oznacza, że paczka nie ma zostać zainstalowana - sami to uczynimy.

Teraz, w katalogu ze źródłami powinna pojawić się paczka .deb. Aby ją zainstalować posłuż się dpkg (już to potrafisz!).



Jak stworzyć paczkę .deb sposobem debianowym ?

Wcześniej napisałem jak można w prosty sposób zbudować paczkę .deb ze źródeł posługując się programem checkinstall. Jednak checkinstall nie jest to dobre rozwiązanie na dłuższą metę. Cały problem polega na tym, że checkinstall to tylko malutki skrypt, który po prostu wrzuca pliki do deba, kompletnie nie przejmując się zależnościami, poprawnością danych itp. Żaden deweloper z tego nie korzysta, bo to po prostu pchełka w porównaniu z narzędziami (prawdziwymi kombajnami) dostępnymi w Debianie.

Zatem dlaczego powstał checkinstall? Checkinstall jest po prostu dla osób, które nie umieją zbudować paczki, a nie chcą sobie brudzić w systemie (dpkg miarę poprawnie odinstaluje paczki zbudowane przez checkinstall).

Czyli tak: jeżeli masz czas i chcesz dużo programów kompilować i regularnie, powinieneś się nauczyć budować paczki sposobem debianowym. Jeżeli jednak, nie masz czasu na uczenie się budowania paczki lub tylko jednorazowo coś kompilujesz, zostań przy checkinstall.

Proces tworzenia takiej porządnej paczki .deb musi trochę potrwać i trzeba poświęcić temu trochę czasu. Ja tutaj nie będę opisywał co i jak, bo już to ktoś świetnie zrobił. A dokładniej chodzi mi o to: http://www.us.debian.org/doc/manuals/maint-guide/index.en.html. Tak znam Cię, już sobie myślisz: "O cholera, ale to długie..." ;) Jeżeli właśnie tak pomyślałeś to muszę Ci powiedzieć, że nie widziałeś naprawdę długich poradników ;) Warto poświęcić te parę godzin żeby nauczyć się tworzyć paczki .deb sposobem debianowym. Zobaczysz ile na tym zyskasz!



Alien


Alien jest programem konwertującym pomiędzy różnymi formatami plików pakietów: rpm Red Hata, deb Debiana, slp Stampede, tgz Slackware'a oraz pkg Solarisa (także obsługuje pakiety LSB). Alien używamy tylko wtedy kiedy mamy jakąś inną paczkę niż .deb i nie mamy dostępu do źródeł etc. Wtedy możemy np: paczkę .rpm przerobić na .deb

Mimo wysokiego numeru wersji, alien wciąż jest (i najprawdopodobniej zawsze będzie) programem raczej eksperymentalnym. Chociaż jest rozwijany od wielu lat, to wciąż zawiera wiele błędów i ograniczeń.

Ogólnie alien używa się bardzo rzadko. Nie powinno się używać alien do konwertowania różnych bibliotek bo może to zaszkodzić systemowi. Niemniej jednak czasami jesteśmy po prosty zmuszeni skorzystać z alien.

Aby zamienić paczkę .rpm na .deb wydajemy polecenie:

Listing #36: Konwertowanie pakietu .rpm na .deb
# alien --to-deb pakiet.rpm

Gdzie pakiet.rpm to nazwa pakietu, wraz z końcówką .rpm

Aby skonwertować z .deb na .rpm to wystarczy dać:

Listing #37: Konwertowanie pakietu .deb na .rpm
# alien --to-rpm pakiet.deb


Więcej: `man alien`



X Window System

Nie myl tej nazwy z Windowsem, bo z Windowsem to nie ma nic wspólnego.

X Window System jest to graficzny system komputerowy (system okienkowy). Odpowiada on za tworzenie obrazu oraz obsługę urządzeń wejściowych (myszki, klawiatury). Najpopularniejszą implementacja X Window System jest X.Org. Tyle nam na razie wystarczy.

Gdyby nie X Window System to nie było by X.Orga, a gdyby go nie było to byś nie miał środowiska graficznego, np. GNOME, KDE, Xfce. Po prostu jest to potrzebne żeby cieszyć się x'ami (czytaj: iksami).

Często się zdarza, że podczas startu Debiana nie uruchomią się nam okienka i od razu katastrofa, bo nie można klikać. A konsola to co? zła jest? przecież umiesz już podstawy, pisałem o tym.

Dużo osób robi tak, że jak im x'y nie działają to od razu instalują system ponownie. Jest to błędem! Naprawdę nie trzeba tego robić. Są o wiele prostsze sposoby naprawy xservera.

Ogólnie w Linuksach panuje taka zasada, że wszystko działa jako daemon. Załóżmy, że padnie Ci X.Org - ale cały system dalej działa, padł tylko i wyłącznie X.Org, który to nie ma wpływu na inne aplikacje. Tak samo np. z dźwiękiem. Załóżmy, że padnie ALSA - to tylko dźwięku nie będzie, a cała reszta będzie działać.

Dlatego też nie ma sensu instalować ponownie systemu jak padną Ci x'y, ALSA etc. Reinstall to nie jest żadne rozwiązanie, bo jeśli znowu coś Ci padnie to co? Kolejny raz będziesz instalować system? Czy nie lepiej dojść do źródła problemu i mieć święty spokój? No właśnie :)



Konfiguracja X'ów

Tak, konfiguracja. Pewnie źle się znowu kojarzy? Ale to też nieprawda. Konfiguracja X.Orga jest banalna, jednakże ze względu na częste problemy z tym postanowiłem opisać to wszystko w osobnym arcie. Dodatkowo dodałem tam foty z tejże konfiguracji co na pewno ułatwi Ci całą konfigurację. Cały artykuł znajduje się tutaj.



Logi

Co to są te logi? Logi to nic innego jak informacje na dany temat co się stało w danym czasie. Logi informują nas najczęściej o błędach. Logi x’ów znajdują się w /var/log/Xorg.0.log i tam zawsze powinniśmy szukać przyczyny wystąpienia jakiegoś błędu. Często jest tak, że jak padną x’y to pojawia się komunikat błędu. W takim przypadku należy przeanalizować ten komunikat i podjąć odpowiednie kroki aby naprawić "iksy" czy cokolwiek innego (w zależności co nam padło).



Analiza logu xorg

Pokażę tutaj przykładowy błąd xorga i pokażę jak w prosty sposób można odczytać co jest nie tak. Logi bardzo często są długie, ale błędy które wystąpiły najczęściej są na końcu logów.

Przykład końcówki logu z błędem:

(**) Configured Mouse: Device: "/dev/input/mice"
(**) Configured Mouse: Protocol: "IMPS/2"
(**) Option "?SendCoreEvents" "true"
(**) Configured Mouse: always reports core events
(**) Option "Device" "/dev/input/mice"
(EE) xf86OpenSerial: Cannot open device /dev/input/mice
No such device.
(EE) Configured Mouse: cannot open input device
(EE) PreInit failed for input device "Configured Mouse"
(II) UnloadModule: "mouse"
(**) Configured Mouse: Device: "/dev/input/mice"
(**) Configured Mouse: Protocol: "IMPS/2"
(**) Option "SendCoreEvents" "true"
(**) Configured Mouse: always reports core events
(**) Option "CorePointer"
(**) Configured Mouse: Core Pointer
(**) Option "Device" "/dev/input/mice"
(EE) xf86OpenSerial: Cannot open device /dev/input/mice
No such device.
(EE) Configured Mouse: cannot open input device
(EE) PreInit failed for input device "Configured Mouse"
(II) UnloadModule: "mouse"
(WW) No core pointer registered
(II) XINPUT: Adding extended input device "Generic Keyboard" (type: KEYBOARD)
xkb_keycodes { include "xfree86+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compatibility { include "complete" };
xkb_symbols { include "pc(pc105)+pl" };
xkb_geometry { include "pc(pc105)" };
No core pointerFatal server error:
failed to initialize core devices


No i co? Przeczytałeś to? Nie? To przeczytaj, chociaż spróbuj. Za chwilę to omówię.

Każdy log wygląda troszkę inaczej. Każdy też ma swój sposób na sprawdzanie logów.

W powyższym logu (EE) oznacza błąd. Jeżeli dobrze się przyjrzałeś to zauważyłeś, że już na początku wystąpił błąd, a jego treść brzmi:

(EE) xf86OpenSerial: Cannot open device /dev/input/mice
No such device.


Co można przetłumaczyć tak: "Nie można otworzyć /dev/input/mice - brak urządzenia."
Ja sobie w taki sposób to tłumaczę. Widać, że w /dev/input/ nie ma pliku odpowiedzialnego za myszkę. Skoro masz myszkę podłączoną to co trzeba zrobić żeby działało? Ponowna instalacja? Nie! Trzeci wynik na Google mówi aby spróbować:

Listing #38: Ładowanie modułu
# modprobe mousedev

Co najprawdopodobniej rozwiąże problem. I to tyle - po problemie. I co aż takie to trudne przeanalizować log? Chyba nie...

Ja zawsze staram się patrzeć na pierwszy błąd który wystąpił. Nie patrz na ostatni błąd bo się pogubisz - zawsze patrz na pierwszy błąd i idź tym śladem. Dopiero jak nic nie poskutkuje spójrz na drugi błąd. Oczywiście możesz robić jak chcesz - ja w takie sposób patrzę na błędy, ale tak jak już wspomniałem, każdy ma swój sposób na to.

To jest tylko przykład logu z xorga. Niektóre wyglądają trochę inaczej, ale też są łatwe do analizy - więc czytaj, czytaj i analizuj logi. Są one najczęściej po angielsku. Jeżeli nie znasz dobrze tego języka to słownik do ręki i do dzieła :)



Środowisko graficzne

Co to jest środowisko graficzne? Jest to nic innego jak grupa wzajemnie współpracujących programów, umożliwiające łatwiejsze zarządzanie komputerem. W Debianie mamy do dyspozycji trzy środowiska graficzne:

  1. KDE - K Desktop Environment. Jest to najpotężniejsze środowisko graficzne. Posiada bardzo dużo programów świetnie współpracujących ze sobą. Zostało napisane w C++ przy użyciu Qt
  2. GNOME - GNU Network Object Model Environment. Jest to drugie, zaraz po KDE, największe środowisko graficzne. Nie posiada tylu programów co KDE, jednakże jest łatwiejsze w konfiguracji. Zostało napisane przy użyciu biblioteki GTK+ i GDK
  3. XFCE - najmniejsze i najszybsze z dostępnych środowisk graficznych. Jest dość ubogie w programy, ale za to bardzo szybkie. Zostało ono stworzone specjalnie dla słabych komputerów


Według przeprowadzonych testów, najwolniejszym środowiskiem jest GNOME (Sic!), a nie jak mówią plotki, KDE. Co zatem wybrać? Jest to bardzo częste pytanie. Nie zadawaj go na forum, listach czy grupach dyskusyjnych bo to po prostu bezsensu. Sam musisz wybrać to jedno ulubione środowisko.

GNOME jest bardzo ładne w wyglądzie i szybko konfigurowalne. Jednakże nie ma tylu możliwości co KDE. Jak to ktoś kiedyś powiedział: "GNOME jest wystarczające, ale KDE najlepsze". Zgadzam się z tym w 100%. Moim pierwszym środowiskiem graficznym było GNOME, jednakże po jakimś czasie przesiadłem się na KDE - czego w ogóle nie żałuję. Co prawda, nad dostosowaniem KDE do własnych potrzeb trzeba trochę posiedzieć, ale naprawdę warto, warto poświęcić trochę więcej czasu, na najlepsze środowisko graficzne jakie powstało (oczywiście moim zdaniem).

To są w skrócie opisy tych środowisk i moja opinia. Jeśli chcesz wiedzieć więcej:

KDE : GNOME : XFCE :



Menadżer okien

Menedżer okien to program kontrolujący położenie i wyświetlanie okien aplikacji. Każdy program posiada swoje własne niezależne okno, a kiedy dostępny jest menedżer okien, interakcja między X-serwerem a jego klientami jest przekierowywana przez menedżera okien.

Innymi słowy, bez menadżera okien nie ma okienek :)

Zauważ, że środowisko graficzne to nie to samo co menadżer okien. Zobacz co napisałem o środowisku graficznym:

"Co to jest środowisko graficzne? Jest to nic innego jak grupa wzajemnie współpracujących programów, umożliwiające łatwiejsze zarządzanie komputerem."

Widzisz różnicę? Środowisko graficzne dostarcza nam różnego rodzaju programów (w tym menadżera okien). Natomiast menadżer okien odpowiada za wyświetlanie okienek.

Właściwie, to po co ja to piszę? Ano, dlatego, że menadżerów okien jest całe mnóstwo. Kiedy w Debianie mamy do dyspozycji trzy środowiska graficzne, to menadżerów okien całe mnóstwo. Tak właściwie, to nie potrzeba środowiska graficznego do pracy w x'ach - wystarczy sam menadżer okien. Jednakże używając dodatkowo środowiska graficznego, zyskujemy dodatkowe możliwości.

Na ogól WM'y są bardzo szybkie. Najszybszy jaki znam to Fluxbox. Jednakże najpopularniejszym jest chyba Beryl i compiz. Otóż, te dwa ostatnie dostarczają nam różnego rodzaju bajerów, jak deszcz na pulpicie, śnieg, efekty rozmazania, galaretowate okna, przezroczystość etc. Jednakże ze względu na swoje możliwości, te menadżery okien potrzebują poprawnie zainstalowanych sterowników do karty graficznej w przypadku kart z chipsetem NVIDIA. Z kartami ATI jest trochę problemów.

O tym jak zainstalować Beryla znajdziesz tutaj. Natomiast aby dowiedzieć się jak zainstalować compiza, zajrzyj tutaj.

Jeżeli chodzi o inne WM'y, to jak już wspomniałem, najszybszym jaki znam to Fluxbox.

Innym ciekawym menadżerem okien jest Enlightenment. Jest to bardzo szybki, ale zarazem dostarczający nam bardzo dużo różnych efektów graficznych, menadżer okien. Naprawdę jest godny polecenie, jako alternatywa dla Beryla/Compiza na słabe komputery.

Jeszcze jednym, dość popularnym WM'em jest Window Maker. Dość szybki, prosty i łatwy w konfiguracji.

Uwaga! Notka z dnia 21.07.2012r.

Aktualnie projekt Beryl nie instnieje, a możliwości Compiza rozszerza Compiz Fusion.



Co wybrać ?

Zapewne teraz się zastanawiasz co wybrać: hmm, może KDE, GNOME? A beryl? No i fluxbox jeszcze jest... Trudna decyzja? ;) Ja, czy użytkownicy forum itd., nie pomogą Ci dokonać tego wyboru. Sam to musisz zrobić. Zaletą np. Fluxboksa jest to, że jest niesamowicie szybki, ale większości użytkownikom lepiej się będzie pracować w KDE. Inni bardziej lubią E17 (Enlightenment), jeszcze inni co innego. Zatem sam musisz wybrać. Najlepiej zainstaluj sobie te środowiska graficzne, czy menadżery okien, jakie chcesz potestować. Wybierz najbardziej odpowiadające Ci i na nim pracuj. Nie ma innej możliwości.



Menadżer logowania

Jak sama nazwa wskazuje, jest to program służący do logowania się do danego środowiska graficznego, czy menadżera okien. Menadżer logowania potrzebuje do działania serwera X. To właśnie tu wpisujesz swoje hasło i login, po czym zostajesz zalogowany. Oczywiście można się logować prosto z konsoli, jednakże jest to wielce niewygodne, choć czasami jesteśmy do tego zmuszeni. Nawet najwięksi maniacy konsoli, używaj często graficznych menadżerów logowania.

Z najpopularniejszych można wymienić: KDM, GDM i XDM.



man i Google Twoim "błogosławieństwem"

Tak, tak. Jeżeli czytasz poradnik od początku to zauważyłeś, że wszystkie polecenia podawałem jak na tacy, wszystko dokładnie opisywałem co i jak zrobić. Teraz już kilka razy wspomniałem o manie. Musisz się nauczyć samodzielnie szukać informacji po internecie - gwarantuję Ci, że bez tego, w świecie Linuksowym, po prostu "zginiesz".



man

Co to jest man? man jest program do czytania podręczników. Najczęściej podręczniki te są pisane po angielsku, choć czasami zdarza się, że jakiś podręcznik jest przetłumaczony na język polski. Pewnie teraz sobie pomyślisz, po co masz czytać jakieś głupie podręczniki skoro możesz zapytać na forum. Jeżeli tak pomyślałeś to powinienem Cię odesłać do RTFM!

man jest naprawdę potężny i w bardzo prosty sposób napisany. Aż w taki prosty, że znając podstawy angielskiego zdołasz go przeczytać. A jeżeli w ogóle nie znasz angielskiego to zapraszam na tę stronę.

Bardzo dużo rzeczy które tu pisałem są na podstawie mana. Tak - naprawdę! Gdyby nie man to nie wiem czy miałbym takie umiejętności jakie mam. Może nawet w ogóle bym nie miał Linuksa? W podręczniku tym masz wszystko pięknie opisane.

Jeszcze raz powtarzam! Czytaj podręczniki! To jedna z dróg do sukcesu w Linuksie.

Na początek polecam:

Listing #39: Wyświetlenie podręcznika dla man
$ man man

Wpisz również:

Listing #40: Wyświetlenie podręcznika dla alien
$ man alien

i przeczytaj go. Potem porównaj z tym co napisałem.



Google

Niektórzy mają stracha jak słyszą to słowo. Google, Google, Google... Szukałeś tam kiedyś czegoś? Jeżeli tak to ograniczało się to pewnie do wpisania frazy jakiej szukasz, a potem patrzysz na pierwsze trzy wyniki i: "hmm, nic tu nie ma! lepiej napiszę na forum." A potem się ludzie dziwią, że dostają bana... Google to podstawa w Linuksie. Bez tego leżysz, po prostu leżysz. Gdybym ja miał się udawać z każdym problemem na forum to gwarantuję Ci, że serwer by padł z liczby wątków ;) Na Google wchodzę przynajmniej 20-30 razy dziennie - przynajmniej! Tak. Nieraz cały dzień szukałem na Google rozwiązania problemu. Dopiero gdy po tym dniu nic nie znajdę, udaję się na forum. Tak też i Ty powinieneś robić. Zresztą i tak pewnie zrobisz co będziesz chciał. Ja Ci tylko mówię: "Googluj, Googluj i jeszcze raz Googluj".

Napisałem poradnik, który mówi o tym jak szukać informacji na Google. Polecam go przeczytać.



Wiki czyli Wikipedia

Wiki to świetna wolna encyklopedia. Znajdziesz tam mnóstwo polskich, a jeszcze więcej, angielskich haseł. Naprawdę polecam tą encyklopedię. Jak po prostu czegoś nie rozumiesz, nie wiesz co znaczy dane słowo itp. udaj sie do Wiki i poczytaj o tym.



RTFM - Jak mądrze zadawać pytania

Jak ktoś kiedyś odeślę Cię do tego podręcznika, to uwierz mi, że ta osoba ma rację - powinieneś go wtedy przeczytać. Powiesz: "przecież on jest taki długi!" I co z tego? Jak przyzwyczaisz się do czytania takich długich rzeczy to po miesiącu żaden tekst/podręcznik czy jeszcze co innego nie będzie Ci straszny.

Tak wiem, naiwny jestem. Stare przyzwyczajenia z Windowsa mówią Ci, że jeżeli napotkasz na jakikolwiek błąd, to albo robisz reinstall, lub piszesz od razu na forum. W Linuksie tak nie było, nie ma i nie będzie. Nie próbuj tego nawet zmieniać. Po prostu jeżeli nie nauczysz się szukać na Google, czytać podręczników etc. to daleko nie zajedziesz.



Bezpieczeństwo

Doszliśmy do ważnego rozdziału: Bezpieczeństwo.
Dużo mówi się, że Linux jest bezpiecznym systemem. Jest to prawda, lecz nie do końca. Zależy to od tego jak rozumiemy pojęcie "Bezpieczeństwo".

Linux nie jest podatny na wirusy, spyware i inne śmieci. Taki wirus Winodwsowy nic nie zrobi Linuksowi. Nie oznacza to jednak, że Linux jest całkowicie bezpiecznym systemem. Ogólnie to zapamiętaj, że nie istnieje coś takiego jak bezpieczny system. Na każdy, powtarzam: każdy, system można się włamać. Tylko od nas zależy czy będzie to banalnie prosta sprawa, czy takie włamanie będzie trudne do wykonania.



Podstawy bezpieczeństwa

Skoro już wiesz, że nie jesteś anonimowy w sieci, że na Linuksie na ma wirusów, że nie ma bezpiecznego systemu to przejdźmy do zabezpieczenia naszego systemu.

Podstawą jest mieć firewalla, ale zanim przejdę do sedna sprawy, pozwól, że wyjaśnię dokładniej co to jest ten "firewall".
Kiedyś mój kolega powiedział coś takiego: "Firewall jest jak płot przed domem, łatwo go obejść". Otóż nie do końca się z tym zgadzam. Prawdą jest, że firewall jest takim płotem przed naszym komputerem i można znaleźć w nim dziurę (przeskoczyć go, etc.), ale nie każdy potrafi przeskoczyć przez płot. Nie każdy prześlizgnie się przez jakąś szparę. Nie każdy rozwali go w pewnej części. Są ludzie, którym to nie sprawia kłopotu, ale są też ludzie, którzy nie poradzą sobie z firewallem. Dlatego jestem zwolennikiem instalowania firewalla nawet na Desktopie. To od nas zależy, czy nasz płot będzie miał 1 metr wysokości czy 100 metrów. Czy będzie miał pełno szpar czy w ogóle ich nie będzie miał...

Linux posiada wbudowany firewall który nazywa się iptables. Jest naprawdę świetny. Jedyną jego wadą, dla początkujących osób, jest to, że trzeba wszystko wpisywać w konsoli. O ile instalowanie czy robienie upgrade systemu w konsoli nie sprawia nikomu problemu, to iptables już problem sprawia. Jednak powstała świetna nakładka graficzna na tenże wspaniały firewall. A zwie się firestarter. Nie tracąc czasu, zainstalujmy to:

Listing #41: Instalowanie pakietu firestarter
# aptitude install firestarter


Teraz uruchamiamy go wpisując w konsoli jako root:

Listing #42: Uruchamianie firestartera
# firestarter

Teraz pozostaje nam skonfigurować firewalla. Jest to banalne więc nikt nie powinien mieć problemu, no ale jeśli sprawia Ci to aż tak wielki problem to zajrzyj tutaj. Po skonfigurowaniu firewalla udajemy się na tę stronę. Jeżeli znajdzie się u Ciebie jakaś "luka" to podczas konfiguracji coś schrzaniłeś i tyle ;)



Hasła

Po co Ci hasło w systemie, nie? Lepiej zostawić otwarte drzwi i czekać aż ktoś Ci zacznie grzebać na kompie. Dobre hasło to podstawa! Nie rób haseł takich samych jak nazwa użytkownika czy coś w tym stylu. Jeżeli nie możesz zapamiętać hasła to jest to już Twój problem... Ja zapamiętuje około 20 haseł, a połowę z nich zmieniam co dwa tygodnie. Czyli jednak można zapamiętać hasła. I nie może to być byle jakie.

Powinien to być ciąg przypadkowych liter, cyfr i znaków.

Przykładowe hasło:

@AfIf70#

Jak takie hasło zapamiętać?
Przeczytaj je od tyłu... I co? Widzisz już? To jest dobre hasło, a nie, że dla użytkownika gienek będzie hasło: gienek86 czy nawet samo gienek.



Wirusy i inne śmieci

No tak, bardzo ciekawe zagadnienie. Czy na Linuksa są jakiekolwiek wirusy?

Takie "guru" Linuksowe odpowie Ci: "A co to są wirusy? :D"

Cóż, niby kiedyś był jeden wirus, poważny, na Linuksa, ale i tak długo nie pożył. A jak jest aktualnie? Aktualnie to nie ma wirusów na Linuksa. Oczywiście wiele osób, najczęściej pracujących dla firm świadczących usługi w dziedzinie ochrony przed wirusami, uważa, że w przyszłości na Linuksa będzie tyle wirusów co na Windowsa. Oczywiście, moim skromnym zdaniem, jest to kompletna bzdura. Linux to zupełnie inny system aniżeli Windows. Windows jest tak dziurawy, że "hej", a dziury w Linuksie? To rzecz niespotykana. Po prostu, jak zostaje wykryta jakaś luka, najpóźniej za dwa dni jest wypuszczana poprawka.
To jest Open Source - Wolne Oprogramowanie - to zupełnie inny świat, to nie Windows.

Więc zapewniam Cię, że na Linuksa nie ma wirusów i nie będzie - w ogóle nie musisz się tym przejmować. Nie musisz instalować żadnych programów antywirusowych.



Konto Roota

Już wcześniej wspomniałem co może administrator. Wspomniałem również, że nie powinieneś się na to konto zbyt często logować, ze względu na bezpieczeństwo. No tak, ale tak właściwie to dlaczego nie można logować się w trybie graficznym na konto root'a? Skoro nie ma wirusów...

Jak wiesz, administrator może wszystko, może zmieniać pliki, usuwać je itd. A co będzie jak pod x'ami przez przypadek usuniesz jakiś plik? a nie daj Boże folder? No więc właśnie. Mimo, że taka sytuacja może nie być częsta, to w Linuksach zachowała się taka zasada, że logujesz się na konto root'a (w konsoli) tylko wtedy kiedy musisz.

Nigdy nie loguj się jako root do x'ów. Standardowo ta możliwość jest nawet wyłączone w menadżerach logowania - i dobrze, tak było, jest i niech tak zostanie. Nie próbuj tego zmieniać, bo zaszkodzisz tylko sobie.

W Windowsie zachowała się zasada, że wszystko robisz jako administrator, dlatego ten system tak łatwo doprowadzić do grobu. Natomiast w Linuksie, żaden trzeźwy użytkownik, tak robić nie będzie. Wspominam o tym i będę to robić, bo to tylko dla Twojego dobra.

Dodam jeszcze, że samo uruchamianie x'ów jako root jest niezalecane, to z uruchomieniem tylko danych programów może być inaczej. No bo np. Synaptic musisz uruchomić jako root, czy kilka innych programów. To oczywiście możesz robić, ale też ostrożnie z tym.



Screen

Wbrew pozorom, podczas korzystania z konsoli mogą się stać różne sytuacje. Co prawda rzadko, ale jednak. Zachęcam Cię do używania screena, ponieważ zwiększa on w pewnym sensie stabilność i bezpieczeństwo systemu. Więcej o screenie dowiesz się, czytając mój artykuł: Screen - HowTo



Współpraca Linuksa ze sprzętem

Tak, na ten temat krążą różne opinie. Jedni twierdzą, że Linux z każdym sprzętem sobie poradzi, inni, że różnie to bywa, jeszcze inni twierdzą, że Linux fatalnie współpracuje ze sprzętem. Ale co tak właściwie jest prawdą?

Otóż, moim zdaniem, Linux bardzo dobrze obsługuje sprzęt, o ile mu się tego nie utrudnia. Praktycznie cały czas są dodawane do jądra coraz to nowsze sterowniki. Coraz to nowszy sprzęt jest obsługiwany. Jednakże jest jeden problem. Mianowicie: tani sprzęt, dla którego producent udostępnia tylko sterowniki dla Windowsa. Ile razy w sklepie możesz spotkać atrakcyjną cenę, na przykład kamery internetowej. Ale gwarantuję Ci, że ta atrakcyjna cena jest tylko dla posiadaczy Windowsa. Na 99% producent takiej kamery nie tworzy sterowników dla innych systemów niż tych ze stajni Microsoftu. Dlaczego? Trudno jednoznacznie to stwierdzić...

Dlatego ostrzegam Cię przed kupowaniem taniego (zbyt taniego sprzętu), jeżeli masz zamiar korzystać z niego na Linuksie. Zanim cokolwiek kupisz, upewnij się, czy dany sprzęt jest wspierany przez Linuksa. Jak? Przeszukaj Google, dokumentację kernela, zapytaj na forum itd. Dla przykładu, ja swój sprzęt dobierałem, jak dobrze pamiętam, tydzień. Wolałem najpierw się upewnić, czy moja przyszła maszynka będzie działać w 100%.

Oczywiście to nie oznacza, że Linux źle obsługuje sprzęt. Wręcz przeciwnie, tylko mówię, wszystko będzie ok jak nikt "nie stanie Linuksowi na drodze".

Na koniec chciałbym jeszcze dodać coś o kartach z chipsetem ATI. Być może nie wiesz, ale ATI można by powiedzieć, że olewa (w prawdziwym tego słowa znaczeniu) użytkowników Linuksa. Dlaczego? Bo ich sterowniki są mało wydajne, a w dodatku mają duże problemy z OpenGL i akceleracją 3D. Choć ostatnio krążą informacje po sieci, że ATI chce otworzyć sterowniki - zobaczymy co z tego będzie. Na aktualny dzień na zamkniętych sterownikach, bez użycia XGL'a, praktycznie nie uzyskasz bajerów typu Beryl, Compiz.

Jednak nie ma co ukrywać, że ATI jest 1000 lat za NVIDIĄ. NVIDIA bardzo dobrze wspiera Linuksa.

Dlatego chciałbym Ciebie ostrzec przed kupowaniem kart ATI, jeżeli chcesz używać Linuksa. Oczywiście jak masz już takową kartę, nic nie zrobisz - nie załamuj się, są jeszcze otwarte sterowniki (ale o tym za chwilę). Ale jeżeli chcesz kupować nową kartę graficzną, to tylko z chipsetem NVIDII.



Sterowniki do kart graficznych

ATI

Jak już wspominałem, mogą być problemy z kartami ATI (a raczej z ich zamkniętymi sterownikami). Na razie na to nie ma rady i trzeba trochę "pocierpieć".

Jednak dla kart ATI istnieją otwarte sterowniki: tworzone przez społeczność Linuksową. Są one zawarte w jądrze. Ich wydajność w porównaniu z zamkniętymi sterownikami, niekiedy jest lepsza (Sic!). Aczkolwiek nie zawsze.

Dawniej miałem kartę ATI i używałem otwartych sterowników i do ich używania będę Ciebie zachęcać.

Więcej o sterownikach otwartych i zamkniętych dla kart z chipsetem ATI dowiesz się czytając ten artykuł.


NVIDIA

Tutaj raczej nie będzie żadnych problemów. NVIDIA bardzo dobrze wspiera Linuksa (szacuneczek za to ;) i tutaj wybór jest prosty: instalujemy sterowniki zamknięte. Jak zainstalować sterowniki do kart z chipsetem NVIDIA dowiesz się czytając ten artykuł.


Inne chipsety

Jeżeli masz kartę z innym chipsetem aniżeli ATI czy NVIDIA, to raczej Ci nie pomogę, bo mam małe doświadczenie z innymi kartami. Wiem jednak tylko, że na każdej karcie odpalisz x'y - gorzej może być z akceleracją 3D. W razie problemów odwiedź Google i/lub napisz na jakimś forum.



GUI vs konsola

Powyższy tytuł mówi sam za siebie. Czego lepiej używać? Programów z GUI, czy może tych bez? Czym lepiej konfigurować system? GUI? A może przez konsolę? Pytanie nie lada wyzwanie, aczkolwiek odpowiedź trudna...

Jak powszechnie wiadomo, zaletą programów graficznych (GUI) jest to, że umożliwiają one szybką i bezproblemową konfigurację, czy instalację danej rzeczy. Dla przykładu, w Ubuntu istnieje szereg aplikacji ułatwiających instalację różnych rzeczy: od najprostszych pakietów, do instalacji sterowników. Niby to skraca bardzo czas jaki trzeba poświęcić na konfigurację. Ale czy warto? Otóż moim zdaniem nie warto korzystać z takiego typu aplikacji.
Dlaczego?
Załóżmy, że chcemy zainstalować sterowniki do karty graficznej, ale mamy na to mało czasu. Ściągamy więc ten "genialny" program, który się zwie automatix. Uruchamiamy go, klikamy co trzeba i voila - za 10 minut wszystko jest zrobione. Ale czy wiesz co się przez ten czas robiło? Czy wiesz co było instalowane i konfigurowane? Jakie pliki uległy zmianie? Nie, nie wiesz tego i tu jest cały problem. Prędzej czy później te zainstalowane sterowniki z takiego, czy innego powodu padną Ci. Co wtedy zrobisz? No nie zainstalujesz ich ponownie, bo bez x'ów nie ma GUI czyli nie ma automatiksa, a bez tego nie poradzisz sobie z ponowną instalacją sterowników. No nic, pozostaje wtedy tylko reinstall...

Tak często robią użytkownicy *buntu. Ci użytkownicy to najczęściej osoby nie mające pojęcia o podstawowych rzeczach w Linuksie. Nie potrafią nawet podstawowych rzeczy w konsoli zrobić. Dlaczego? Bo zostali przyzwyczajeni do używania programów z GUI. Oczywiście są osoby mające Ubuntu i znające dobrze Linuksa - chwała im, ale większość użytkowników *buntu, czy Mandrivy to zwykli Windowsowi klikacze, którzy mało co potrafią zrobić.

Dlaczego o tym mówię? Ponieważ chcę Ci uświadomić jakie możesz mieć problemy instalując wszystko i konfigurując w różnego rodzaju graficznych nakładkach. Uwierz mi, naprawdę lepiej poświecić tę godzinę, czy dwie więcej na zrobienie czegoś, ale w konsoli. Raz, że się nauczysz czegoś nowego, dwa, że w razie problemów, mając do dyspozycji tylko konsolę, szybko rozwiążesz problem. Znając jednak życie, śmiejesz się z tego co teraz napisałem. Cóż, ale to tylko świadczy o tym, że nie zrozumiałeś tego co chciałem Ci przekazać...

Oczywiście, nie mówię, że w ogóle nie można korzystać z GUI - pewnie, można to robić, ale bez przesady! Takie Centrum Sterowania KDE (KDE Control Panel) naprawdę ułatwia nam życie i sam z niego korzystam. Ale nie korzystam za to z żadnych automatiksów, synapticów czy innych programów tego typu. Po prostu, to co jest ważne w systemie, np. instalacja sterowników, to powinieneś to zrobić własnoręcznie, w konsoli. Dzięki temu w razie wystąpienia jakiegoś błędu poradzisz sobie z tym bardzo szybko.

Jako ciekawostkę podam, że w Debianie miał być (podobno) stworzony taki "Panel Sterowania". Na szczęście plany legły w gruzach, z czego się cieszę :)



Gry i programy windowsowe na Linuksie

Jestem niemal pewien, że 50% czytelników tego poradnika to fani gier komputerowych, którzy nie wytrzymują nawet kilku dni bez grania (to już jest uzależnienie, ale to powinieneś przemyśleć w wolny wieczór).

Często pada pytanie, czy na Linuksie można grać w gry. Odpowiedź jest prosta: tak. Ale tutaj należy rozróżnić dwa rodzaje gier:
  1. Gry pisane dla Windowsa
  2. Gry pisane dla Linuksa
Jaka jest między nimi różnica? Ano taka, że gry pisane dla Linuksa to żaden problem odpalić na naszym systemie, ale już żeby odpalić gry windows'owe trzeba się trochę pomęczyć. To nie wina programistów Linuksa - po prostu 95% twórców gier, pisze je tylko dla Windowsa - i to im za to dziękuj...

Aczkolwiek, załamywać się nie możesz bo nawet gry pisane dla jedynego słusznego systemu, da się odpalić na Linuksie. Można to uczynić posługując się odpowiednim programem. Z najpopularniejszych można wymienić Wine (Wine is not an emulator) oraz Cedega. Kiedy to pierwsze jest zupełnie darmowe, to Cedega jest płatna. Ale Wine i Cedega to dwie najpopularniejsze aplikacje tego typu - pamiętaj, że zawsze możesz spróbować skompilować cedegę z cvs (za darmo), bądź przeznaczyć trochę pieniędzy na CrossOver.

Co polecam? Wine, Wine bez wahania, a dlatego, że jest darmowe, a wielu z nas, nawet nie myśli o wydawaniu pieniędzy na płatne aplikacje, choć Cedega nie jest aż taka droga (wydatek około 80 zł). Ale zawsze w pierwszej kolejności sprawdzaj czy dana aplikacja (gra) działa na Wine. Pamiętaj jednak, że Wine tak samo z siebie rzadko odpala aplikacje (przynajmniej takie są moje wnioski) - często trzeba coś pozmieniać w opcjach, doinstalować jakiś pakiet czy program windowsowy, etc. Tak więc pamiętaj, że jak dana aplikacja nie odpali Ci się za pierwszym razem na Wine, to poszukaj o tym na Google czy Yahoo!. Dużo informacji możesz znaleźć także na http://appdb.winehq.org/.

A co do Cedegi... Faktem jest, że odpala ona więcej gier niż Wine oraz, że o niebo lepiej współpracuje z DirectX. Ale faktem również jest, że jest ona płatna. Ale czy jest ona droga? Myślę, że nie, bo wydatek rzędu 80 zł to nie aż taka duża suma. Należy jednak podkreślić, że Cedega nie daje Ci 100% pewności, że daną grę uda się odpalić. Przed zakupem Cedegi warto odwiedzić tę stronę.

Zapamiętaj również, że Wine nie jest tylko do odpalania gier - wręcz przeciwnie, odpalisz tam bardzo dużo programów pisanych na Windowsa - to niekoniecznie muszą być gry.

Ale z Cedegą wydaje się być inaczej (przynajmniej ja mam takie wrażenie) - ona jest raczej do gier, a nie do różnych programów.



Windows a Linux

Chciałbym tutaj zdementować krążące po internecie pogłoski iż instalacja Windowsa obok Linuksa jest swego rodzaju zdradą w środowisku linuksowym. Niestety dużo osób tak uważa - ale dlaczego? Przecież Windows to też system. Czytając ten artykuł pomyślałeś zapewne, że jestem wielkim przeciwnikiem Windowsa... Kiedy ja go mam zainstalowane obok Linuksa! Tak, tak - mam go zainstalowane, a konkretniej na sda5 ;)

Długo zastanawiałem się nad tą decyzją, ale w końcu ją podjąłem i zainstalowałem ponownie Windowsa. Dlaczego? Bo po prostu, niektórych rzeczy pisanych dla jedynego słusznego systemu, po prostu nie da się odpalić na Linuksie - nie da się i tyle.

Wiedz, że instalacja i tym bardziej korzystanie z Windowsa to nie jest żadna zdrada czy powód do bycia gorszym od innych - a Ci, którzy tak uważają, moim zdaniem, po prostu nie dojrzali do Linuksa. Dlatego jeżeli masz naprawdę potrzebę zainstalowania Windowsa - nie wahaj się, nie utrudniaj sobie aż tak życia. Pamiętaj jednak, że po jego instalacji na tym samym dysku gdzie jest Linux, padnie Ci GRUB (bądź LILO - zależy czego używasz) i będziesz go musiał ponownie zainstalować (ale to żaden problem - informacji jak tego dokonać jest mnóstwo w internecie).



Chroot

Nie będę tutaj się za bardzo rozpisywał nad chrootem ponieważ napisałem o tym osobny artykuł. Jednakże zanim ten artykuł zaczniesz czytać, powinieneś wiedzieć, że warto zapoznać się z tym narzędziem, chociażby dlatego, że możemy je wykorzystać do naprawy systemu.



Maszyna wirtualna

A teraz swego rodzaju ciekawostka: czy wiesz, że możesz zainstalować Windowsa na Linuksie (i na odwrót)? Czy wiesz, że możesz zainstalować kilka dystrybucji Linuksa na np. Debianie?

Brzmi dziwnie? A jednak jest to możliwe i to w bardzo prosty sposób. Omówię tutaj co to jest maszyna wirtualna oraz co dzięki niej możesz zdziałać.

Wirtualna maszyna służy nam na ogół do tego, aby na aktualnym systemie zainstalować kolejny system. Co prawda szybkość takiego systemu nie jest cudowna, ale narzekać nie można. Z maszyny wirtualnej może korzystać praktycznie każdy. Dość często używają ją niektórzy deweloperzy, którzy muszą przetestować np. działanie jakiejś aplikacji, a nie chcą tracić na stabilności systemu.

Innym zastosowaniem jest na przykład odpalenie na takiej maszynie LiveCD - dzięki temu możemy przetestować daną płytkę, bez ponownego uruchamiania systemu.

Zastosowań maszyny wirtualnej jest naprawdę wiele i myślę, że 30% czytelników tego poradnika, znajdzie powody, dla których skorzysta z tego dobrodziejstwa.

OK, do konkretów. Od siebie mogę polecić QEMU oraz VMware. Są to naprawdę dobre aplikacje, z których często korzystam.

Dużo dobrego słyszałem też o VirtualBox.

A teraz muszę się do czegoś przyznać: dawniej na VMware miałem zainstalowanego Windowsa, gdzie odpaliłem Diablo 2 (z dodatkiem LOD) oraz Hearts of Iron 2 - tak, tak, trochę sobie pograłem tam - ale jedno trzeba podkreślić: na maszynie wirtualnej jeszcze długo nie będzie można dobrze pograć. Nie mówię, że mi się źle grało, Diablo nawet, nawet chodziło (około 90-100% wykorzystania CPU) a Hearts of Iron 2 już lepiej (około 50% wykorzystania CPU) - ale zauważ, że są to gry, które nie wymagają 3D - a właśnie z tym jest najgorzej na wirtualnej maszynie. Aczkolwiek w płatnej wersji VMware jest już wsparcie dla 3D (co prawda jest to dopiero w fazie Alpha, ale fakt faktem). Niemniej jednak jeżeli lubisz sobie pograć, nie trudź się z wirtualną maszyną, a zainstaluj lepiej Windowsa na osobnej partycji.




[ << ] [ < ] [ Strona główna ] [ > ] [ >> ]

Valid XHTML 1.1 Valid CSS! Reklama
Ten poradnik dostępny jest na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 2.5 Polska.