# Wprowadzenie do FreeBSD i Uniksa

### Annelise Anderson

`<andrsn@andrsn.stanford.edu>`

$FreeBSD: release/9.1.0/pl_PL.ISO8859-2/articles/new-users/article.sgml 38826 2012-05-17 19:12:14Z hrs $

Niniejsze wprowadzenie przeznaczone jest dla osób nie znających ani FreeBSD, ani Uniksa; omówione są tu zagadnienia podstawowe. Zakładam, że korzystasz z FreeBSD w wersji 2.0.5 lub późniejszej, a twój system ma (przynajmniej na razie) jednego użytkownika (ciebie). Powinieneś też dość dobrze znać DOS-a/Windows lub OS/2.

[ HTML z podziałem na podstrony / Pojedyncza strona HTML ]

## 1. Logowanie się i wychodzenie z systemu

Gdy ujrzysz komunikat `login:`, zaloguj się jako użytkownik utworzony podczas instalacji lub jako root (konto root jest już w systemie; root może dostać się wszędzie i robić co mu się podoba, także usuwać ważne pliki, więc trzeba z nim uważać). Znaki `%` i `#` są znakami gotowości (mogą wyglądać inaczej), przy czym `%` odpowiada zwykłemu użytkownikowi, a `#` kontu roota.

Aby się wylogować (i powrócić do komunikatu `login:`), napisz:

    # exit

Oczywiście, wydane polecenia potwierdza się wciskając enter. Trzeba także pamiętać, że Unix rozróżnia małe i duże litery, więc `exit` i `EXIT` to nie to samo.

By wyłączyć komputer, napisz

    # /sbin/shutdown -h now

By natomiast uruchomić go ponownie

    # /sbin/shutdown -r now

lub

    # /sbin/reboot

Ponowne uruchomienie można też wykonać za pomocą Ctrl-Alt-Delete. W obecnych wydaniach FreeBSD jest to odpowiednik `/sbin/reboot`, i korzystanie z niego jest o wiele lepszym rozwiązaniem od używania przycisku reset. Nie masz przecież ochoty na ponowną instalację, prawda?

## 2. Dodawanie użytkownika z uprawnieniami roota

Jeżeli nie dodawałeś użytkowników podczas instalacji systemu, i jesteś zalogowany jako root, powinieneś teraz utworzyć użytkownika poleceniem

    # adduser

Przy pierwszym korzystaniu z adduser mogą pojawić się pytania o pewne ustawienia domyślne. Na przykład jako domyślną powłokę możesz wybrać csh(1) zamiast sh(1), jeśli proponowana będzie `sh`. Aby zaakceptować sugerowane ustawienia, wciśnij po prostu enter. Domyślne ustawienia trafiają do pliku `/etc/adduser.conf`, który można samodzielnie edytować.

Dla przykładu, chcesz dodać użytkownika `marek` o nazwisku Marek Piegus. Dla bezpieczeństwa przydziel markowi hasło (choćby w obawie przed wszędobylskimi dzieciakami). Gdy zobaczysz pytanie, do jakich innych grup ma należeć marek, wpisz `wheel`

    Login group is ``marek''. Invite marek into other groups: wheel

Dzięki temu po zalogowaniu się jako `marek` będzie można skorzystać z polecenia su(1) by zostać rootem. Nie będziesz już teraz besztany za logowanie się jako root.

Możesz przerwać `adduser` w dowolnym momencie wciskając Ctrl-C, na koniec będziesz też mieć możliwość zatwierdzenia nowego użytkownika lub odrzucenia go, wpisując n. Jeśli chcesz, możesz dodać drugiego użytkownika; gdy będziesz zmieniać ustawienia konta marka i coś pójdzie nie tak, będziesz mieć zapas.

Po wykonaniu powyższych czynności, wpisz `exit` aby móc znów się zalogować, i zaloguj się jako `marek`. Należy raczej pracować jako zwykły użytkownik, jeśli nie są potrzebne uprawnienia roota (i związane z nimi ryzyko).

Jeśli wcześniej dodałeś użytkownika i chcesz dać mu możliwość zostania rootem za pomocą `su`, możesz to zrobić logując się jako root i modyfikując plik `/etc/group`; dopisz marka w pierwszej linii tego pliku (grupa `wheel`). Wcześniej jednak powinieneś zapoznać się z edytorem vi(1), lub skorzystać z prostszego edytora ee(1) dostępnego w nowych wersjach FreeBSD.

Użytkownika usuwa się poleceniem `rmuser`.

## 3. Rozglądanie się

Zaloguj się jako zwykły użytkownik, rozejrzyj się wokoło i spróbuj skorzystać z kilku poleceń służących uzyskiwaniu informacji i pomocy.

Oto niektóre polecenia z krótkim opisem:

`id`

  Pokazuje kim jesteś.

`pwd`

  Pokazuje gdzie jesteś, czyli bieżący katalog.

`ls`

  Wyświetla listę plików w bieżącym katalogu.

`ls `-F``

  Wyświetla listę plików w bieżącym katalogu, znakiem `*` oznaczając pliki wykonywalne, znakiem `/` katalogi, a znakiem `@` dowiązania symboliczne.

`ls `-l``

  Wyświetla listę plików w długim formacie, pokazując rozmiar, datę, uprawnienia.

`ls `-a``

  Wyświetla również pliki ukryte (o nazwie rozpoczynającej się kropką). Gdy jesteś rootem, pliki ukryte są pokazywane bez stosowania opcji `-a`.

`cd`

  Zmiana katalogu. `cd `..`` przechodzi o jeden poziom wyżej; uwaga na odstęp po `cd`. `cd `/usr/local`` przejdzie do wskazanego katalogu. `cd `~`` przechodzi do domowego katalogu obecnego użytkownika, np. `/usr/home/marek`. Poleceniem `cd `/cdrom``, a następnie `ls` możesz przekonać się, czy Twój CDROM jest zamontowany i czy działa.

`view `nazwapliku``

  Pokazuje zawartość pliku (o nazwie `nazwapliku`) bez możliwości dokonywania zmian. Spróbuj napisać `view `/etc/fstab``. Wpisz `:q` by zakończyć.

`cat `nazwapliku``

  Pokazuje na ekranie zawartość pliku `nazwapliku`. Jeśli jest on zbyt duży i widać tylko koniec, wciśnij ScrollLock i posłuż się strzałką w górę by przesunąć się wstecz. ScrollLock może być też stosowany przy przeglądaniu dokumentacji systemowej. By zakończyć przewijanie, ponownie wciśnij ScrollLock. Możesz wypróbować `cat` na ukrytych plikach w Twoim katalogu domowym: `cat `.cshrc``, `cat `.login``, `cat `.profile``.

W `.cshrc` znajdziesz aliasy dla polecenia `ls` (są bardzo wygodne). Własne aliasy możesz tworzyć modyfikując plik `.cshrc`. Gdy chcesz udostępnić aliasy wszystkim użytkownikom, umieść je w pliku konfiguracyjnym `csh` dla całego systemu, `/etc/csh.cshrc`.

## 4. Gdzie szukać pomocy i informacji

Oto niektóre przydatne źródła pomocy. `Tekst` oznacza coś, co wpisałeś; zwykle będzie to jakieś polecenie lub nazwa pliku.

`apropos `tekst``

  Wszystkie wystąpienia `tekstu` w bazie danych whatis.

`man `tekst``

  Dokumentacja systemowa na temat `tekstu`. Jest to podstawowe źródło informacji w systemach Un*ksowych. Przykładowo `man `ls`` podpowie, jak korzystać z polecenia `ls`. Naciśnij Enter by przejść dalej, Ctrl-B by zobaczyć poprzednią stronę, Ctrl-F by zobaczyć następną, q albo Ctrl-C aby zakończyć.

`which `tekst``

  Znajduje `tekst` w ścieżce użytkownika.

`locate `tekst``

  Pokazane będą wszystkie ścieżki, w których znaleziony został `tekst`.

`whatis `tekst``

  Informuje, jak działa polecenie `tekst` i na której stronie dokumentacji systemowej znajduje się jego opis. Wpisując `whatis *` otrzymasz opis wszystkich plików w bieżącym katalogu.

`whereis `tekst``

  Odnajduje plik `tekst` i podaje jego pełną ścieżkę.

Spróbuj użyć `whatis` by otrzymać opisy najczęściej używanych poleceń, na przykład `cat`, `more`, `grep`, `mv`, `find`, `tar`, `chmod`, `chown`, `date` i `script`. `more` pozwala na oglądanie kolejnych stron jedna po drugiej (znane z DOS'a), na przykład `ls -l | more` lub `more `nazwapliku``. Znak `*` działa jak szablon, np. polecenie `ls w*` pokaże pliki o nazwach zaczynających się literą `w`.

Niektóre z powyższych poleceń mogą działać nie całkiem prawidłowo. Działanie locate(1) i whatis(1) uzależnione jest od bazy danych, która aktualizowana jest raz na tydzień. Jeżeli nie planujesz zostawiać włączonego komputera (z uruchomionym FreeBSD) na weekend, powinieneś co jakiś czas uruchomić polecenia codziennej, cotygodniowej i comiesięcznej obsługi. Uruchamiaj je jako root i daj każdemu z nich nieco czasu na wykonanie pracy przed uruchomieniem kolejnego.

    # periodic daily
    pominięto wyniki
    # periodic weekly
    pominięto wyniki
    # periodic monthly
    pominięto wyniki

Jeżeli nudzi cię czekanie, wciśnij Alt-F2 by przejść do następnej konsoli wirtualnej i ponownie się zalogować; w końcu to system wielodostępny i wielozadaniowy. Tak czy inaczej, uruchomione polecenia będą zapewne wypisywać na ekranie komunikaty; możesz wyczyścić ekran wpisując `clear`. Gdy polecenia obsługi zakończą pracę, możesz zajrzeć do `/var/mail/root` i `/var/log/messages`.

Wykonywanie tego typu poleceń jest częścią administracji systemem - a jako samodzielny użytkownik systemu jesteś administratorem sam dla siebie. Właściwie wszystko, co wymaga uprawnień roota, to administracja systemem. Zagadnienia z tym związane nie są zbyt dobrze omówione nawet w opasłych księgach o Uniksie, gdzie często wiele miejsca poświęcone jest omówieniu rozwijanych menu w menedżerach okien. Jeśli chcesz, możesz zaopatrzyć się w jedną z dwóch najpopularniejszych książek o administrowaniu systemem, pierwsza z nich to UNIX System Administration Handbook autorstwa Evi Nemeth i in. (Prentice-Hall, 1995, ISBN 0-13-15051-7), wydanie drugie z czerwoną okładką; druga napisana przez Ćleen Frisch Essential System Administration (O'Reilly & Associates, 1993, ISBN 0-937175-80-3). Ja korzystałam z tej pierwszej.

## 5. Edycja tekstu

Konfigurowanie systemu wiąże się z edytowaniem plików tekstowych. Większość z nich znajduje się w katalogu `/etc`; do ich modyfikacji wymagane będą uprawnienia roota. Możesz posługiwać się prostym edytorem `ee`, jednakże na dłuższą metę warto nauczyć się obsługi edytora `vi`. Znakomite wprowadzenie do vi można znaleźć w `/usr/src/contrib/nvi/docs/tutorial`; jeśli go tam nie ma, możesz pobrać je przez FTP z `ftp.cdrom.com` z katalogu FreeBSD/FreeBSD-current/src/contrib/nvi/docs/tutorial.

Zanim zabierzesz się za edycję pliku, dobrze byłoby zrobić jego kopię zapasową. Jeżeli na przykład chcesz edytować `/etc/rc.conf`, możesz przejść do katalogu `/etc` poleceniem `cd /etc` i napisać:

    # cp rc.conf rc.conf.orig

W rezultacie plik `rc.conf` zostałby skopiowany jako `rc.conf.orig`. Mógłbyś później przywrócić oryginalny plik kopiując `rc.conf.orig` jako `rc.conf`. Jeszcze lepszym wyjściem jest przeniesienie pliku (zmiana nazwy) i późniejsze skopiowanie go z powrotem:

    # mv rc.conf rc.conf.orig
    # cp rc.conf.orig rc.conf

Polecenie `mv` zachowuje oryginalną datę i właściciela pliku. Możesz już edytować `rc.conf`. Gdy zechcesz powrócić do poprzedniego pliku, napisz `mv rc.conf rc.conf.moje` (o ile chcesz również zachować swoją wersję), a następnie

    # mv rc.conf.orig rc.conf

Powrócisz w ten sposób do poprzedniego stanu.

Edycję pliku rozpoczyna się poleceniem

    # vi nazwapliku

Do poruszania się w tekście użyj klawiszy strzałek. Klawisz Esc powoduje przełączenie `vi` w tryb poleceń. Oto niektóre z poleceń:

`x`

  usunięcie litery pod kursorem

`dd`

  usunięcie całego wiersza

`i`

  wstawianie tekstu w miejscu kursora

`a`

  wstawianie tekstu za kursorem

Po wpisaniu `i` lub `a` możesz wprowadzac tekst. Klawiszem Esc powracasz do trybu poleceń, oto kolejne z nich

`:w`

  zapisanie pliku na dysku i powrót do edycji

`:wq`

  zapisanie pliku i wyjście z edytora

`:q!`

  wyjście bez zapisywania zmian

`/`tekst``

  przeniesienie kursora do `tekstu`; `/Enter` (klawisz enter) znajduje kolejne wystąpienie `tekstu`.

`G`

  przejście na koniec pliku

``n`G`

  przejście do linii o numerze `n`

Ctrl-L

  przerysowanie ekranu

Ctrl-b i Ctrl-f

  przejście wstecz i do przodu o jeden ekran, podobnie jak w `more` i `view`.

Możesz poćwiczyć korzystanie z `vi` w katalogu domowym; utwórz nowy plik poleceniem `vi `nazwapliku``, spróbuj wpisać i usunąć tekst, zapisać plik i następnie go wczytać. `vi` może niekiedy sprawiać niespodzianki, gdyż jest w gruncie rzeczy bardzo skomplikowany. Czasami zdarza się, że niechcący wydasz polecenie, które zachowa się inaczej niż oczekiwałeś. (Niektórzy naprawdę lubią `vi`, jest o wiele potężniejszy od DOS-owego edytora EDIT; poszukaj informacji o poleceniu `:r`.) Jeśli będziesz mieć kłopoty, wciskając Esc wróć do trybu poleceń i spróbuj jeszcze raz; często zapisuj poleceniem `:w`, i używaj `:q!` by wyjść i zacząć od nowa (od ostatniego użycia `:w`) jeśli to konieczne.

Możesz teraz, przy pomocy `cd`, przejść do `/etc` i zostać rootem korzystając z `su`. Uruchom `vi` i zmodyfikuj plik `/etc/group` dodając użytkownika do grupy wheel, by mógł on otrzymywać uprawnienia roota. Dopisz przecinek i nazwę użytkownika na końcu pierwszego wiersza pliku, następnie wciśnij Esc i wpisz `:wq` by zapisać plik i zakończyć edycję. Efekt natychmiastowy. (Nie wstawiłeś spacji za przecinkiem, zgadza się?)

## 6. Drukowanie plików w DOS-ie

Zapewne twoja drukarka nie jest jeszcze gotowa do pracy w FreeBSD, by więc wydrukować plik trzeba będzie przenieść go na dyskietkę i wydrukować w DOS-ie. Załóżmy, iż chciałbyś uważnie przeczytać stronę dokumentacji omawiającą dokonywanie zmian w prawach dostępu do plików (co jest dosyć ważnym zagadnieniem); możesz ją zobaczyć wpisując `man chmod`. Natomiast polecenie

    % man chmod | col -b > chmod.txt

spowoduje usunięcie znaczników formatujących i zamiast pokazywać stronę dokumentacji na ekranie, zapisze ją w pliku `chmod.txt`. Włóż teraz sformatowaną dyskietkę do stacji A, skorzystaj z `su` by zostać rootem, i wpisz

    # /sbin/mount -t msdos /dev/fd0 /mnt

Powyższe polecenie zamontuje stację dyskietek w katalogu `/mnt`.

Uprawnienia roota nie są już potrzebne, możesz więc wpisać `exit` by z powrotem korzystać z konta marka. Przejdź teraz do katalogu, w którym utworzyłeś plik `chmod.txt` i skopiuj go na dyskietkę poleceniem:

    % cp chmod.txt /mnt

Po wpisaniu `ls /mnt` powinieneś zobaczyć, że w katalogu `/mnt` znajduje się plik `chmod.txt`.

Niekiedy warto zapisać w pliku to, co wyświetla `/sbin/dmesg`. Można to zrobić wpisując

    % /sbin/dmesg > dmesg.txt

Potem można skopiować `dmesg.txt` na dyskietkę. `/sbin/dmesg` pokazuje komunikaty wyświetlane podczas ładowania systemu; można dzięki temu prześledzić przebieg procesu ładowania FreeBSD. Kiedy zadajesz pytaniena lub na grupie USENET, na przykład: FreeBSD nie chce wykryć mojego dysku, co zrobić?, wówczas inni będą chcieli dowiedzieć się, co pokazuje `dmesg`.

Możesz już odmontować stację dyskietek (jako root), wydając polecenie

    # /sbin/umount /mnt

Dyskietkę możesz już wyjąć. Uruchom komputer ponownie by załadować DOS-a. Skopiuj pliki z dyskietki do jakiegoś katalogu i otwórz je przy pomocy DOS-owego EDIT-a, Notatnika Windows albo WordPada, dokonaj jakiejś drobnej zmiany aby wymusić zapisanie pliku, po czym wydrukuj go w sposób tradycyjny dla DOS-a lub Windows. Udało się? Strony dokumentacji systemowej najlepiej jest drukować korzystając z DOS-wego polecenia `print`. (Kopiowanie plików z FreeBSD na zamontowaną partycję DOS-a ciągle jeszcze bywa niebezpieczne.)

Aby korzystać z drukarki w FreeBSD, należy dodać odpowiedni wpis w `/etc/printcap` oraz utworzyć katalog buforowania w `/var/spool/output`. Jeśli drukarka jest podłączona do portu lpt0 (oznaczonego LPT1 w DOS-ie), być może wystarczy tylko przejść do `/var/spool/output` i (będąc rootem) utworzyć katalog `lpd` za pomocą polecenia: `mkdir lpd` (chyba, że taki katalog już tam jest). Od tej chwili drukarka powinna się zgłaszać podczas ładowania systemu, jeśli jest włączona, a drukowanie plików powinno być możliwe dzięki poleceniu `lp` lub `lpr`. Konfiguracja drukowania opisana jest w Podręczniku FreeBSD.

## 7. Inne przydatne polecenia

`df`

  pokazuje zamontowane systemy plików i zajmowaną przestrzeń.

`ps aux`

  lista działających procesów. `ps ax` wyświetla bardziej zwięzłą postać listy.

`rm `nazwapliku``

  usunięcie pliku `nazwapliku`.

`rm -R `katalog``

  usunięcie katalogu `katalog` wraz z podkatalogami. (ostrożnie!)

`ls -R`

  lista plików w katalogu bieżącym i wszystkich jego podkatalogach. Swego czasu stosowałam `ls -AFR > where.txt` aby sporządzić listę wszystkich plików w `/` oraz (oddzielnie) `/usr`, zanim poznałam lepsze sposoby wyszukiwania plików.

`passwd`

  zmiana hasła użytkownika (lub roota)

`man hier`

  dokumentacja Uniksowego systemu plików

Aby odnaleźć plik `nazwapliku` w `/usr` lub jego podkatalogach, skorzystaj z polecenia `find`:

    % find /usr -name "nazwapliku"

Możesz wykorzystać znak `*` jako wzorzec nazwy `"`nazwapliku`"` (wówczas należy ją ująć w cudzysłów). Jeśli wybierzesz, by `find` szukało w katalogu `/` zamiast `/usr`, wówczas poszukiwania obejmą wszystkie zamontowane systemy plików, w tym CDROM i partycje DOS-owe.

Polecenia i programy narzędziowe Uniksa są omówione w znakomitej książce Unix for the Impatient (wyd. drugie, Addison-Wesley, 1996), autorstwa Abrahamsa i Larsona. Jest także mnóstwo informacji na ten temat w Internecie, przykładem może być Unix Reference Desk.

## 8. Co dalej

Masz już wszystko, co będzie potrzebne by sprawnie posługiwać się systemem i edytować pliki, możesz więc zająć się dostosowywaniem systemu do własnych potrzeb. Wiele przydatnych informacji można znaleźć w podręczniku FreeBSD (który zapewne masz na dysku) oraz na stronie FreeBSD. Na stronie, a także na CDROM-ie, dostępny jest również pokaźny zbiór pakietów i portów. O tym, jak z nich korzystać, można dowiedzieć się z podręcznika (znajdź potrzebny pakiet, dodaj go poleceniem `pkg_add /cdrom/packages/All/`nazwapakietu``, przy czym `nazwapakietu` jest nazwą pliku pakietu). Listę pakietów i portów wraz z krótkim opisem można znaleźć na CDROM-ie, w `cdrom/packages/index`, `cdrom/packages/index.txt`, oraz `cdrom/ports/index`; dokładniejsze opisy znajdują się w `/cdrom/ports/*/*/pkg/DESCR`, przy czym znaki `*` oznaczają odpowiednio rodzaj programu i jego nazwę.

Jeżeli opis instalacji portów z CDROM-u zawarty w podręczniku wydaje ci się zbyt skomplikowany (przez jakieś `lndir`, czy coś), możesz spróbować poniższego sposobu:

Znajdź port, który chcesz zainstalować, powiedzmy, że będzie to `kermit`. Na CDROM-ie znajdziesz jego katalog. Skopiuj ten katalog do `/usr/local` (to dobre miejsce na dodatkowe programy, które mają być dostępne dla wszystkich użytkowników) poleceniem:

    # cp -R /cdrom/ports/comm/kermit /usr/local

W efekcie powinien powstać katalog `/usr/local/kermit` zawierający te same pliki, co katalog `kermita` na CDROM-ie.

Następnie korzystając z polecenia `mkdir` utwórz katalog `/usr/ports/distfiles`, chyba że już taki istnieje. Sprawdź teraz, czy w katalogu `/cdrom/ports/distfiles` znajduje się plik o nazwie odpowiadającej instalowanemu portowi. Skopiuj go do `/usr/ports/distfiles`; w obecnych wersjach nie trzeba tego robić, ponieważ zajmuje się tym samo FreeBSD. W przypadku `kermita` pliku nie ma.

Teraz poleceniem `cd` przejdź do podkatalogu `/usr/local/kermit` zawierającego plik `Makefile`. Napisz

    # make all install

Spowoduje to, iż wszystkie potrzebne pliki, których nie ma na CDROM-ie lub w `/usr/ports/distfiles`, zostaną pobrane przez FTP. Jeżeli jeszcze nie skonfigurowałeś sieci, a w `/cdrom/ports/distfiles` nie ma pliku potrzebnego do instalacji, będziesz musiał uzyskać ten plik korzystając z innego komputera i skopiować go do `/usr/ports/distfiles` z dyskietki albo partycji DOS-a. Zajrzyj do `Makefile` (poleceniem `cat`, `more` lub `view`) by dowiedzieć się, skąd wziąć potrzebny plik (lokalizacja w sieci) i jak się on nazywa. Jeżeli ściągasz plik korzystając z DOS-a, jego nazwa zostanie obcięta, tak więc po umieszczeniu go w `/usr/ports/distfiles` będziesz musiał zmienić nazwę pliku (poleceniem `mv`) na prawidłową. (Pamiętaj, by pobierać pliki w trybie binarnym!) Przejdź z powrotem do `/usr/local/kermit`, odnajdź katalog zawierający `Makefile`, i wpisz `make all install`.

Może się zdarzyć, że do instalacji jakiegoś portu bądź pakietu wymagany będzie jakiś inny program. Jeżeli instalacja zostanie przerwana komunikatem `can't find unzip` (nie znaleziono unzip) lub podobnym, prawdopodobnie trzeba będzie zainstalować pakiet lub port unzip by móc kontynuować instalację.

Po instalacji wpisz `rehash` aby uwzględnić ewentualne zmiany ścieżki. (Jeżeli używając `whereis` lub `which` często trafiasz na komunikat `path not found` (nie znaleziono ścieżki), powinieneś uzupełnić katalogi umieszczone w ścieżce w pliku `.cshrc` w katalogu domowym. Ścieżka pełni w Uniksie taką samą rolę jak w DOS-ie, z tym, że (domyślnie) nie zawiera katalogu bieżącego ze względów bezpieczeństwa; chcąc uruchomić plik z bieżącego katalogu, należy przed jego nazwą napisać `./`; bez spacji po znaku ukośnika.)

Być może zechcesz ściągnąć najnowszą wersję przeglądarki Netscape z ich serwera FTP. (Netscape wymaga zainstalowanego X Window System.) Dostępna jest wersja dla FreeBSD, więc poszukaj jej. Rozpakuj plik poleceniami `gunzip `nazwapliku`` oraz `tar xvf `nazwapliku`` i przenieś otrzymany plik wykonywalny do `/usr/local/bin` lub podobnego. Wykonaj `rehash`, oraz dodaj następujące polecenia do plików `.cshrc` w katalogu domowym każdego użytkownika, lub (szybciej) do pliku `/etc/csh.cshrc`, głównego pliku konfiguracyjnego `csh`:

    setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB
    setenv XNLSPATH /usr/X11R6/lib/X11/nls

Zakładamy tu, że plik `XKeysymDB` i katalog `nls` znajdują się w `/usr/X11R6/lib/X11`; jeśli tak nie jest, odnajdź je i umieść tam.

Jeżeli początkowo zainstalowałeś Netscape jako port z CDROM-u (lub FTP), nie umieszczaj nowego pliku wykonywalnego w miejscu starego `/usr/local/bin/netscape`; jest to zwykły skrypt powłoki zajmujący się przygotowaniem zmiennych środowiskowych. Zamiast tego zmień nazwę nowego pliku na `netscape.bin` i zastąp poprzedni plik wykonywalny `/usr/local/netscape/netscape`.

## 9. Własne środowisko pracy

Najważniejszym elementem środowiska pracy jest powłoka. W DOS-ie rolę powłoki pełni command.com. Powłoka zajmuje się przetwarzaniem poleceń wpisywanych w linii poleceń, jest więc pośrednikiem w komunikacji z systemem operacyjnym. Może także wykonywać skypty, podobne do znanych z DOS-a plików wsadowych, składające się z serii poleceń wykonywanych bez ingerencji użytkownika.

W FreeBSD zainstalowane są dwie powłoki: `csh` i `sh`. `csh` dobrze obsługuje linię poleceń, skrypty powinny być jednak pisane w `sh` (lub `bash`). Wpisując `echo $SHELL` możesz dowiedzieć się, z jakiej powłoki korzystasz.

Powłoka `csh` jest niezła, jednakże `tcsh` potrafi wszystko to, co `csh` i jeszcze więcej. Umożliwia wywoływanie wcześniej wpisanych poleceń za pomocą klawiszy strzałek. Pozwala uzupełniać nazwy plików przy pomocy klawisza Tab (`csh` wykorzystuje do tego Esc), jak również powrót do ostatnio odwiedzonego katalogu poleceniem `cd -`. W `tcsh` można też w prosty sposób zmienić swój znak zachęty. Wszystko to bardzo ułatwia życie.

Nową powłokę instaluje się w następujący sposób:

1. Zaintaluj powłokę w postaci portu lub pakietu. Wpisz `rehash`, a potem `which tcsh` (zakładając, że instalujesz `tcsh`), by mieć pewność, że instalacja powiodła się.

2. Działając jako root, dopisz w pliku `/etc/shells` wiersz odpowiadający nowej powłoce, w naszym przypadku `/usr/local/bin/tcsh`, i zapisz zmiany. (W przypadku niektórych portów może być to zrobione automatycznie.)

3. Aby na stałe zmienić swoją powłokę na `tcsh`, skorzystaj z polecenia `chsh`. Możesz także wpisać `tcsh` w linii poleceń, by zmienić powłokę bez powtórnego logowania się.

> Notatka: Zmiana powłoki roota na inną niż `sh` lub `csh` we wczesnych wersjach FreeBSD i wielu wersjach Uniksa może okazać się niebezpieczna, ponieważ może prowadzić do braku działającej powłoki w trybie jednego użytkownika. Można sobie z tym poradzić stosując `su -m` do zostania rootem, dzięki czemu możliwe jest korzystanie z `tcsh`, gdyż powłoka jest elementem środowiska. Aby takie rozwiązanie było stosowane na stałe, utwórz alias w `.tcshrc` dopisując polecenie `alias su su -m`

Podczas uruchamiania, `tcsh` odczytuje pliki `/etc/csh.cshrc` i `/etc/csh.login`, podobnie jak to robi `csh`. Ponadto wczytywane są pliki `.login` i `.cshrc`, chyba, że istnieje plik `.tcshrc`. Można go utworzyć kopiując po prostu plik `.cshrc` jako `.tcshrc`.

Gdy powłoka `tcsh` jest już zainstalowana, możesz zająć się wyborem odpowiadającego ci znaku zachęty. Szczegółowo jest to opisane w dokumentacji `tcsh`, przykładowe polecenie przedstawione poniżej wpisane do `.tcshrc` spowoduje, iż znak zachęty będzie informował o tym, ile wydałeś poleceń, która jest godzina, oraz jaki jest bieżący katalog. Na końcu pojawi się znak `>`, jeśli jesteś zwykłym użytkownikiem, lub znak `#`, jeśli jesteś rootem:

`set prompt = "%h %t %~ %# "`

Powyższy wiersz umieść w miejscu starego "set prompt", albo pod "if($?prompt) then". Poprzedni wiersz zamień w komentarz, dzięki temu będziesz mógł do niego wrócić, jeśli zechcesz. Przepisz dokładnie spacje i cudzysłowy. Aby plik `.tcshrc` został przeczytany ponownie, wpisz `source .tcshrc`.

Listę innych zmiennych środowiskowych uzyskać można korzystając z polecenia `env`. Lista zawiera domyślny edytor, program do przeglądania plików tekstowych, typ terminala i wiele innych. Jeżeli logujesz się do systemu przez sieć i jakiś program nie daje się uruchomić z powodu nieodpowiedniego terminala, przydatne może okazać się polecenie `setenv TERM vt100`.

## 10. Na koniec

Mając uprawnienia roota, można odmontować CDROM poleceniem `/sbin/umount /cdrom`, następnie wyjąć płytę z napędu, włożyć inną i zamontować ją poleceniem `/sbin/mount_cd9660 /dev/cd0a /cdrom` (o ile cd0a odpowiada napędowi CDROM). Najnowsze wersje FreeBSD pozwalają na montowanie CDROM-u poleceniem `/sbin/mount /cdrom`.

Jeśli masz do dyspozycji niewiele miejsca na dysku, możesz skorzystać z bezpośredniego systemu plików na drugiej płycie CD FreeBSD. Jej zawartość zmienia się z każdym nowym wydaniem systemu. Spróbuj na przykład zagrać w jedną z gier umieszczonych na CDROM-ie. Przyda się przy tym `lndir`, instalowane wraz z X Window System, aby powiadomić programy gdzie znajdują się potrzebne im pliki, ponieważ są one w systemie plików `/cdrom`, a nie jak zazwyczaj w `/usr` i jego podkatalogach. Skorzystaj z `man lndir`.

## 11. Uwagi mile widziane

Jeśli skorzystałeś z niniejszego wprowadzenia, chętnie dowiem się, czy w czymś ci ono pomogło, co było niedostatecznie wyjaśnione i czego brakowało. Dziękuję profesorowi Eugene W. Stark z SUNY-Stony Brook, oraz Johnowi Fieberowi za pomocne uwagi.

Annelise Anderson, `<andrsn@andrsn.stanford.edu>`

Ten i inne dokumenty można pobrać z ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

W przypadku pytań o FreeBSD prosimy przeczytać dostępną dokumentację przed kontaktem z <questions@FreeBSD.org>.
W sprawie zapytań o tę dokumentację prosimy o kontakt z <doc@FreeBSD.org>.