Poradnik Debianowca – część 2. Struktura katalogów, polecenia, montowania, root i sudo

Wiemy już coś na temat Debiana, ale tylko od jego historycznej i logistycznej strony. Teraz przydałoby się zagłębić trochę w jego strukturę. Nie będziemy rozwalać jądra na osobne moduły, bo to mija się z celem. Mamy go poznać w sensie użytkowym, a nie programowym :-). Dzisiaj zajmiemy się poleceniami, które będą nam potrzebne po poruszaniu się w trybie tekstowym oraz strukturę katalogów. Dodatkowo wypadałoby znać oznaczenia dysków twardych. Tutaj nie ma literek C, D. Dodatkowo wyjaśnimy różnice pomiędzy rootem a sudo.

Od bin-a do var-a

Struktura katalogów w Linuksie jest całkiem inna niż w Windows. W Debianie, tak jak w każdej innej dystrybucji występuje pewne rozdrobnienie. W każdym folderze trzymane jest co innego. O dziwo, dzięki temu jest porządek na dysku. Jeżeli chcemy znaleźć logi, to nie będziemy szukać w katalogu etc tylko w var. Bardzo łatwo jest nam manewrować po tej sieci. Postaram się wytłumaczyć co znajduje się w poszczególnych katalogach.

/ – jest to główny katalog na dysku. Coś jak odpowiednik C:. W nim znajdują się poniższe katalogi:

/bin – w tym folderze znajdują się podstawowe pliki binarne, czyli wykonywalne.
/boot – folder zawierający niezbędne pliki wymagane do uruchomienia systemu. (np. grub)
/dev – katalog zawiera pliki, za pomocą których system komunikuje się z urządzeniami
/etc – folder z plikami konfiguracyjnymi systemu i programów
/home – katalog, w którym znajdują się folderu i pliki innych użytkowników. Ponadto katalog /home służy do zapisywania dokumentów, obrazów. Coś jak moje dokumenty w Windows z tym wyjątkiem, że może być trzymany na innej partycji, przez co podczas reinstalacji systemu nie utracimy danych. W katalogu użytkownika niektóre aplikacje ładują swoje pliki konfiguracyjne
/lib – tutaj znajdują się biblioteki współdzielone, z których korzysta system i aplikacje
/lost+found – w tym katalogu system umieszcza zagubione pliki np. z powodu błędów logicznych
/media – w tym folderze znajdują się punkty montowania takich urządzeń jak CD, pendrive itd.
/mnt – w tym katalogu montowane są dyski twarde
/proc – wirtualny katalog, w którym umieszczane są różne dane o systemie i sprzęcie
/root – główny katalog dla użytkownika root. Coś podobnego jak /home
/sbin – folder zawiera pliki wykonywalne, które może tylko uruchomić root
/tmp – katalog dla plików tymczasowych
/usr – w tym katalogu znajdują się aplikacje, które może uruchomić zwykły użytkownik
/var – folder dla plików, które często zmieniają swoją zawartość. Tam głównie najdziemy logi systemowe i programów

Do wszystkich folderów oprócz /home /tmp musimy wejść za pomocą roota, aby cokolwiek zmienić.

Jak widzimy, sporo tych katalogów i nie ma w tym wszystkim żadnego chaosu. Każdy przechowuje odpowiednie dane, nie wtrącając się do innego folderu.

Alfabet konsoli

Gdy znamy już strukturę katalogów, musimy się nauczyć po tym chodzić. Oto podstawowe podstawowych poleceń:

aptitude install – instaluje odpowiedni pakiet z repozytorium
aptitude remove – usuwa pakiet bez jego plików konfiguracyjnych
aptitude remove –purge – usuwa pakiet wraz z jego plikami konfiguracyjnymi
aptitude search – wyszukuje czy dany pakiet istnieje w repozytorium
aptitude update – uaktualnia listę repozytoriów
aptitude upgrade – pobiera i instaluje aktualizacje
aptitude dist-upgrade – uaktualnia wersję systemu
cd<ścieżka> – przechodzi do danego katalogu lub powraca z niego
chmod – ustawia prawa dla plików i katalogów
chown – ustawia danego użytkownika, daną grupę dla plików i katalogów
df – sprawdza miejsce dla wszystkich dysków
dpkg – umożliwia instalowanie paczek .deb
ls – pokazuje wszystkie katalogi i pliki w aktualnie znajdującym się folderze
mkdir – tworzy katalog
nano – podstawowy edytor plików w trybie tekstowy
rm – usuwa katalog
rm -r – usuwa katalog wraz z całą jego zawartością
su – pozwala zalogować się na roota
top – coś jak menedżer zadań
touch – tworzy plik

To nie są oczywiście wszystkie polecenia. Jest ich masa, ale na dzień dzisiejszy tyle wystarczy. Nie wszystko naraz :-).

Notka!

Gdybyś chciał coś więcej dowiedzieć się na temat tych poleceń, wpis man np. man chmod. Pojawi się podręcznik dla danego polecenia.

sdb – co to za dysk ??

Gdy znamy już strukturę katalogów, znamy polecenia, wypadałoby się przyjrzeć jak oznaczane są dyski. Linux nie oznacza ich literami C:, D: tak jak Windows, tylko np. hda, sda. Na początku wygląda co na mniej to dziwnie, ale nie jest aż tak tragicznie.

Od wersji 6.0 Debiana wszystkie dyski, przynajmniej u mnie nie zależnie od tego, czy sata czy ata oznaczane są jako sda, sdb itd. Postaram się wytłumaczyć na moim przykładzie o co w tym wszystkim chodzi.

Ze screenu można zauważyć, że zainstalowane są trzy dyski twarde:

sda – pierwszy dysk działający jako master
sdb – drugi dysk działający jako slave
sdc – trzeci dysk działający jako master

Możemy jeszcze zauważyć następujące rzeczy:

Dysk sda podzielony jest na:

sda1 – partycja rozruchowa systemu
sda2 – partycja z systemem
sda5 – partycja ze swapem

Numery przy sda oznacza kolejną partycję na tym dysku. Czyli już wiemy, że partycja rozruchowa jest pierwszą partycją na dysku, partycja ze systemem drugą, zaś swap jest trzeci. W Debianie Lenny można było spotkać taki zapis:

hda – dysk ATA działający jako master
hdc – dysk ATA działający jako slave
sdb – pierwszy dysk SATA
sdd – drugi dysk SATA

Cyfry przy takim zapisie oznaczały to samo czyli:

hda1 – pierwsza partycja na dysku ATA działający jako master
hdc3 – trzecia partycja na dysku ATA działający jako slave
sdb2 – druga partycja na pierwszym dysku SATA

Jak widzimy, oznaczenie nie jest wcale skomplikowane, jeżeli się je zrozumie.

Kim jest root ? Sudo to jego krewny ?

W tym artykule spotkaliście się niejednokrotnie ze słowem root. Co to jest, albo lepiej kim jest root ?

Root to super użytkownik w systemach Linux, podobny do administratora w okienkach Microsoftu. Dysponuje on wszelkimi możliwymi prawami. Jest on praktycznie bogiem w systemie. Gdy będziesz wykonywał zadania administracyjne typu aktualizacja repozytoriów, edytowanie plików konfiguracyjnych itd. to będziesz korzystał z niego. Z tego co mi wiadomo, na konto roota nie można zalogować się poprzez tryb graficzny. Jeszcze w roku 2008 można było, teraz na szczęście usunięto tą możliwość. Konta roota NIE WOLNO używać do uruchamiania aplikacji codziennego użytku takich jak komunikatory, przeglądarki internetowe. Stwarza to zagrożenie instalacji złośliwego kodu w systemie.

Pisząc powyższe zdanie słyszałem za pleców głosy „ale korzystając z przeglądarki za pomocą zwykłego użytkownika też może się złośliwy kod zainstalować w systemie”.

Otóż nie jest tak prosto. Jeżeli wejdziemy na jakąś witrynę, która będzie chciała nam zainstalować jakiś syf, to będzie wymagała do tego uprawień administratora. W takim przypadku może się pojawić komunikat, że np. Opera domaga się uprawnień roota. I jeżeli nie podamy hasła, to na tym wszystko się skończy. Jeżeli zaś wpiszemy i przeglądarka dostanie te uprawnienia, to może być ciekawie.

Co z tym sudo ?

Nie wiem jak w innych dystrybucjach, ale np. w Ubuntu zamiast logować się na konto roota twórcy systemu proponują wszystkie zadania administracyjne wykonywać z poleceniem sudo. Co ono właściwie robi ? To polecenie na określony czas przypisuje nam uprawienia administratora. Te uprawnienia nie trwają wiecznie, lecz są usuwane po określonym czasie. Aby dostać te uprawnienia, nie podajemy hasła roota, ale hasło użytkownika, który chce być przez pewien czas bogiem. W Debianie domyślnie polecenia sudo nie ma, ale można doinstalować odpowiedni pakiet i odpowiednio skonfigurować. Ja jednak z tego nie korzystam, nawet na Ubuntu wszystko robię jako root, a nie poprzez sudo.

Podsumowanie.

Znamy strukturę katalogów, znamy podstawowe polecenia, wiemy, jak oznaczane są dyski, tak więc jesteśmy gotowi do instalacji systemu. I to zrobimy w następnym numerze.