Systemy Operacyjne: Unix
Administro-wanie systemem Linux
Jeszcze o montowaniu
Za pomocą polecenia mount można montować zarówno partycje Linuxa, jak i MS-DOS. Bardziej praktyczne jest jednak montowanie ich automatycznie za pośrednictwem pliku /etc/fstab (patrz dalej). Przed rozpoczęciem montowania systemów plikowych zawartych w partycjach dysku posłuż się poleceniem df.
Przykład: podgląd listy partycji dysku twardego
$ df
Filesystems 1024-blocks Used Available Capacity Mounted
/dev/hda4 345132 237123 112345 60% /mnt
/dev/hda3 297635 169345 112345 60% ./
/dev/hda1 205380 187345 45678 89% /mnt/dos
/dev/hdc 637689 637543 0 100% /mnt/cdrom
Przykład: montowanie partycji /dev/hda4 w katalogu mnt
$ mount /dev/hda4 /mnt
Montować można także partycje MS-DOS (patrz przykład powyżej), co daje bezpośredni dostęp do plików DOS-wych.
Przykład: montowanie partycji MS-DSO /dev/hda1 w katalogu /mnt/dos
$ mount –t msods /dev/hda1 /mnt/dos
Jeśli chcesz zamontować nową partycję z nowego dysku twardego lub aktualnego, należy najpierw stworzyć nową partycję, używając programów Linuxa fdisk lub cfdisk, a następnie sformatować ją przy pomocy programu mkfs.
Partycje na dysku twardym nazywane są literkami hd, za którymi następuje litera oznaczająca dysk i cyfra numerująca partycje. Partycje mogą być własnością różnych systemów operacyjnych, np. MS-DOS, OS/2, Windows NT lub Linux. Pierwsza tworzona partycja nosi nazwę hda1 i jest pierwszą partycją na pierwszym dysku twardym a.
Jeśli dodasz drugą partycję, będzie ona nazwana hda2. Jeśli zaś dodasz nowy dysk, jego pierwsza partycja będzie miała nazwę hdb1. Każdą nową partycję należy sformatować.
Przykład: formatowanie pierwszej partycji dysku b
$ mkfs /dev/hdb1
q Dodając nową partycję do systemu Linux czasami chcemy, aby była ona automatycznie montowana podczas uruchamiania systemu i odmontowywania przy jego zamykaniu. Innym razem chcemy to robić ręcznie.
q Aby Linux montował automatycznie system plików nowej partycji należy dodać jedynie jego nazwę do pliku fstab. Można to zrobić edytując plik fstab (umieszczony w katalogu /etc) lub można posłużyć się programem fstool (patrz dalej).
q W katalogu /etc umieszczane są systemy plikowe montowane poleceniem mount –a. Samo polecenie odnotowywane jest w pliku /etc/rc.d/rc.sysinit. Polecenia w tym pliku inicjują system i są wykonywane zawsze podczas uruchamiania systemu Linux.
q Każde odmontowanie (polecenie umount –a) odnotowane jest w pliku /etc/rc.d/init/halt, który zwiera polecenia wykonywane podczas zamykania systemu.
q Wynika stąd, że dowolny system plików określony w pliku fstab bęzie automatycznie montowany w momencie uruchamiania systemu oraz automatycznie demontowany przy jego zamykaniu.
Jeden wpis w pliku fstab składa się z kilku pól, oddzielonych od siebie spacją lub tabulatorem. Pierwsze pole jest nazwą montowanego systemu plików, np. /dev/hda2. Drugie pole określa katalog (punkt montowania), w którym ma być zaimplementowany system plików. Trzecie pole określa typ montowanego systemu. W Tab.1 pokazano opcje polecenia mount, zaś w Tab.2 listę wszystkich obsługiwanych typów.
Typem standardowej partycji linuxowej jest ext2, podczepiony standardowo pod katalog główny (/). Jej opis w pliku fstab ma postać:
/dev/hda3 / ext2 defaults 0 1
Tab.1 Opcje polecenia mount
W polu po typie umieszcza się domyślne opcje montowania systemu plików. Domyślny zestaw opcji umieszcza się wpisując defaults. Opcje umieszcza się jedną za druga oddzielając je przecinkiem (bez spacji). Opcja defaults oznacza, że urządzenie jest do odczytu i zapisu, asynchroniczne, blokowe, zwykły użytkownik nie może na nim montować innych systemów plików i mogą być wykonywane programy (szczegóły patrz Tab.2).
Przykład: wpisy w pliku ftab dotyczące CD-ROM i dyskietek
/dev/fd0 /mnt/floppy ext2 defaults,noauto 0 0
/dev/hdc /mnt/cdrom iso9669 ro,noauto 0 0
Ostatnie dwa pola zawierają wartości całkowite. Pierwsza jest używana przez polecenie dump do określenia, czy system ma być zrzucany w celu zrobienia kopii. Ostatnie pole używane jest z kolei przez program fsck do określenia, czy system plików powinien być sprawdzany i w jakiej kolejności.
Rys.1 przedstawiony poniżej zawiera kopię pliku /etc/fstab (znak # oznacza komentarz).Wpis dla systemu plików typu proc ma specjalne znaczenie i jest używany przez system operacyjny.
Rys.1 Zawartość pliku /etc/fstab
Tab.2 Lista obsługiwanych typów systemów plików
Program fstool pracuje w środowisku graficznym X-Windos i jest menedżerem systemu plików. Program otwiera okno i wypisuje w nim zawartość pliku /etc/fstab (patrz rys.1). Obsługując się przyciskami i menu można w wygodny sposób montować i odmontowywać systemy plików, dodawać nowe systemy plików do /etc/fstab oraz zmieniać opcje dotyczące systemów plików.
Linux oferuje zestaw programów pod nazwą mtools, które ułatwiają dostęp do dyskietek w formacie MS-DOS (patrz Tab.3).
Tab.3 Polecenia udostępniające MS-DOS
Przykład: kopiowanie plików na/z dyskietki MS-DOS
$ mcopy mojedane a:
$ mcopy a:\wstep
Przykład: listowanie zawartości katalogu oraz zmiana katalogu bieżącego
$ mdir a:
$ mcd a:\wstep
Dostęp do partycji MS-DOS jest konfigurowany w pliku /etc/mtools. W pliku tym wypisywane są różne partycje MS-DOS wraz z ich konfiguracją (patrz rys.2).
Rys.2 Przykładowa zawartość pliku /etc/tools
W Linuxie istnieją dwa typy współpracy: ze zwykłym użytkownikiem i z superużytkownikiem (administratorem). Użytkownicy posiadają własne powłoki. Ich wygląd określany jest przez administratora, któ®y może także dodawać nowych użytkowników, drukarki i terminale.
Po zalogowaniu się jako administrator masz pełne prawa do zmieniania prawie wszystkiego w systemie, tzn. możesz uruchamiać i zamykać system, zmieniać tryby działania, takie jak tryb jednoużytkownikowy, możesz dodawać i usuwać użytkowników, dodawać lub usuwać całe systemy plików, robić kopie zapasowe i odtwarzać z nich pliki, itp.
Przykład: logowanie się administratora (hasło wpisywane jest bez echa)
login: root
password:
#
Administrator ma także prawo zmiany haseł zarówno swojego, jak i innych użytkowników.
Administrowanie systemem
Przykład: zmiana hasła administratora
# passwd root
New password:
Re-enter new password:
Będąc zalogowanym jako zwykły użytkownik możemy chcieć na moment stać się administratorem. W taki przypadku nie musimy się wylogowywać z konta zwykłego użytkownika, ale posługując się poleceniem su uzyskać uprawnienia administratora. Kombinacja klawiszy <CTRL+D> umożliwia powrót do zwykłego konta.
Przykład: czasowe wlogowanie się na konto administratora
$ pad
/home/chris
$ su
# pwd
/
# ^D
$
Linux może znajdować się w kilku stanach ponumerowanych od 0 do 6 i stan jednoużytkownikowy oznaczony literka s lub S. W momencie uruchomienia sytemu przechodzi on do stanu domyślnego. Następnie można przejść do innych stanów za pomocą polecenia init.
Przykład: zamknięcie systemu (stan 0)
# init 0
Przykład: zatrzymanie systemu i ponowne uruchomienie (stan 6)
# init 6
Stan 1 jest stanem administracyjnym, umożliwiającym adminitratorowi na wykonywanie czynności administrowania systemu bez kolizji z innymi użytkownikami.
Stan 2 jest stanem częściowo wieloużytkownikowym, pozwalającym na dostęp wielu użytkownikom, ale bez możliwości współdzielenia plików odległych. Stan 3 jest stanem domyślnym wieloużytkownikowym z pełnym współdzieleniem plików odległych. Pozostałe stany patrz Tab.4.
Tab.4 Stany systemu Red Hat Linux
System można zamykać przy pomocy polecenia init 0, można użyc także polecenia shutdown. Polecenie to jako argument przyjmuje czas (bezwzględny lub względny), który daje administrator innym użytkownikom na wylogowanie się z systemu. Dokładny czas bezwzględny określa się w formacie gg:mm (godzina i minuty), czas względny zaś w postaci: +mm (mm – minuty).
Polecenie shutdown ma kilka opcji: -h zamyka system, -r zamyka system, a następnie uruchamia go ponownie.
Przykład: zamknięcie systemu po 10 minutach
# shutdown –h +10
Wraz z poleceniem shutdown można podać komunikat wysłąny do wszystkich aktualnie zalogowanych użytkowników.
Przykład: zamknięcie systemu po 5 minutach wraz z komunikatem
# shutdown –h +5 „Proszę się wylogować - konserwacja”
Stan w jakim aktualnie pracuje system można obejrzeć po wydaniu polecenia runlevel.
Przykład: weryfikacja stanu pracy systemu
# runlevel
N 3
q W DOS-ie są dwa pliki systemowe, które odpowiadają za konfigurację systemu podczas startu, ustawienie zmiennych i ewentualnie uruchomienie jakichś programów (autoexec.bat i config.sys).
q W Linux-ie jest o wiele więcej takich plików, z których kilku nie powinieneś ruszać dopóki nie będziesz wiedział dokładnie co robisz. Oto te najważniejsze: /etc/inittab oraz zbiór plików /etc/rc.d/*
q Jeśli wszystko czego chcesz, to ustawienie zmiennej PATH czy innej albo zmiana wyglądu komunikatu "login" albo automatyczne uruchomienie jakiegoś programu podczas wlogowywania się, to zajrzyj do tych plików:
PLIK UWAGI
/etc/issue ustawia format komunikatu "login"
/etc/motd ustawia komunikat wyświetlający się
zaraz po wlogowaniu się
/etc/profile powłoka bash/sh dla wszystkich
użytkowników różne ustawwienia
/etc/csh.cshrc to samo dla powłoki tcsh/csh - z pliku
nie może być nic wyświetlane na ekran
/etc/csh.login powłoka tcsh/csh - można wyświetlać na ekran
/home/twoj_dom_kat/.profile
powłoka bash/sh - robi to co chcesz
/home/twoj_dom_kat/.cshrc
patrz wyżej - z tą różnicą, że ustawienia
dotyczą tylko ciebie
/home/twoj_dom_kat/.login patrz wyżej
Tab.5 Pliki konfiguracyjne używne przy administrowaniu systemem
Jeśli pliki .login albo .profile istnieją, to zostaną przeczytane po zalogowaniu się na końcu i zostaną wykonane zawarte w nich polecenia (coś jakby AUTOEXEC.BAT)
Przykład: spójrz na ten plik .profile:
# Oznacza komentarz
echo Środowisko:
printenv | more # ekwiwalent polecenia SET pod DOS-em
alias d='ls -l'
alias up='cd ..'
echo "Przypominam ci, że zmienna PATH zawiera: "$PATH
echo "Miłego dnia, "$LOGNAME
# PATH i LOGNAME - zmienne środowiskowe
# To jest funkcja w powłoce
ctgz() # Wyświetla zawartość archiwum .tar.gz
{
for file in $*
do
gzip -dc ${file} | tar tf -
...
ozzy_hw