I'm very pleased to announce the release of our new website and documentation using the new toolchain with Hugo and AsciiDoctor. To get more information about the new toolchain please read the FreeBSD Documentation Project Primer[1], Hugo docs[2] and AsciiDoctor docs[3]. Acknowledgment: Benedict Reuschling <bcr@> Glen Barber <gjb@> Hiroki Sato <hrs@> Li-Wen Hsu <lwhsu@> Sean Chittenden <seanc@> The FreeBSD Foundation [1] https://docs.FreeBSD.org/en/books/fdp-primer/ [2] https://gohugo.io/documentation/ [3] https://docs.asciidoctor.org/home/ Approved by: doceng, core
419 lines
28 KiB
Text
419 lines
28 KiB
Text
---
|
|
title: Wprowadzenie do FreeBSD i Uniksa
|
|
authors:
|
|
- author: Annelise Anderson
|
|
email: andrsn@andrsn.stanford.edu
|
|
releaseinfo: "$FreeBSD$"
|
|
trademarks: ["freebsd", "ibm", "microsoft", "opengroup", "general"]
|
|
---
|
|
|
|
= Wprowadzenie do FreeBSD i Uniksa
|
|
:doctype: article
|
|
:toc: macro
|
|
:toclevels: 1
|
|
:icons: font
|
|
:sectnums:
|
|
:sectnumlevels: 6
|
|
:source-highlighter: rouge
|
|
:experimental:
|
|
:toc-title: Spis treści
|
|
:part-signifier: Część
|
|
:chapter-signifier: Rozdział
|
|
:appendix-caption: Dodatek
|
|
:table-caption: Tabela
|
|
:figure-caption: Rysunek
|
|
:example-caption: Przykład
|
|
|
|
[.abstract-title]
|
|
Abstrakt
|
|
|
|
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.
|
|
|
|
'''
|
|
|
|
toc::[]
|
|
|
|
== 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:
|
|
|
|
[source,bash]
|
|
....
|
|
# exit
|
|
....
|
|
|
|
Oczywiście, wydane polecenia potwierdza się wciskając kbd:[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
|
|
|
|
[source,bash]
|
|
....
|
|
# /sbin/shutdown -h now
|
|
....
|
|
|
|
By natomiast uruchomić go ponownie
|
|
|
|
[source,bash]
|
|
....
|
|
# /sbin/shutdown -r now
|
|
....
|
|
|
|
lub
|
|
|
|
[source,bash]
|
|
....
|
|
# /sbin/reboot
|
|
....
|
|
|
|
Ponowne uruchomienie można też wykonać za pomocą kbd:[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?
|
|
|
|
== 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
|
|
|
|
[source,bash]
|
|
....
|
|
# 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ć man:csh[1] zamiast man:sh[1], jeśli proponowana będzie `sh`. Aby zaakceptować sugerowane ustawienia, wciśnij po prostu enter. Domyślne ustawienia trafiają do pliku [.filename]#/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`
|
|
|
|
[source,bash]
|
|
....
|
|
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 man: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 kbd:[Ctrl+C], na koniec będziesz też mieć możliwość zatwierdzenia nowego użytkownika lub odrzucenia go, wpisując kbd:[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 [.filename]#/etc/group#; dopisz marka w pierwszej linii tego pliku (grupa `wheel`). Wcześniej jednak powinieneś zapoznać się z edytorem man:vi[1], lub skorzystać z prostszego edytora man:ee[1] dostępnego w nowych wersjach FreeBSD.
|
|
|
|
Użytkownika usuwa się poleceniem `rmuser`.
|
|
|
|
== 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. [.filename]#/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 kbd:[ScrollLock] i posłuż się kbd:[strzałką w górę] by przesunąć się wstecz. kbd:[ScrollLock] może być też stosowany przy przeglądaniu dokumentacji systemowej. By zakończyć przewijanie, ponownie wciśnij kbd:[ScrollLock]. Możesz wypróbować `cat` na ukrytych plikach w Twoim katalogu domowym: `cat .cshrc`, `cat .login`, `cat .profile`.
|
|
|
|
W [.filename]#.cshrc# znajdziesz aliasy dla polecenia `ls` (są bardzo wygodne). Własne aliasy możesz tworzyć modyfikując plik [.filename]#.cshrc#. Gdy chcesz udostępnić aliasy wszystkim użytkownikom, umieść je w pliku konfiguracyjnym `csh` dla całego systemu, [.filename]#/etc/csh.cshrc#.
|
|
|
|
== 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 kbd:[Enter] by przejść dalej, kbd:[Ctrl+B] by zobaczyć poprzednią stronę, kbd:[Ctrl+F] by zobaczyć następną, kbd:[q] albo kbd:[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 man:locate[1] i man: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.
|
|
|
|
[source,bash]
|
|
....
|
|
# periodic daily
|
|
pominięto wyniki
|
|
# periodic weekly
|
|
pominięto wyniki
|
|
# periodic monthly
|
|
pominięto wyniki
|
|
....
|
|
|
|
Jeżeli nudzi cię czekanie, wciśnij kbd:[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 [.filename]#/var/mail/root# i [.filename]#/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.
|
|
|
|
== Edycja tekstu
|
|
|
|
Konfigurowanie systemu wiąże się z edytowaniem plików tekstowych. Większość z nich znajduje się w katalogu [.filename]#/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 [.filename]#/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ć [.filename]#/etc/rc.conf#, możesz przejść do katalogu [.filename]#/etc# poleceniem `cd /etc` i napisać:
|
|
|
|
[source,bash]
|
|
....
|
|
# cp rc.conf rc.conf.orig
|
|
....
|
|
|
|
W rezultacie plik [.filename]#rc.conf# zostałby skopiowany jako [.filename]#rc.conf.orig#. Mógłbyś później przywrócić oryginalny plik kopiując [.filename]#rc.conf.orig# jako [.filename]#rc.conf#. Jeszcze lepszym wyjściem jest przeniesienie pliku (zmiana nazwy) i późniejsze skopiowanie go z powrotem:
|
|
|
|
[source,bash]
|
|
....
|
|
# 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ć [.filename]#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
|
|
|
|
[source,bash]
|
|
....
|
|
# mv rc.conf.orig rc.conf
|
|
....
|
|
|
|
Powrócisz w ten sposób do poprzedniego stanu.
|
|
|
|
Edycję pliku rozpoczyna się poleceniem
|
|
|
|
[source,bash]
|
|
....
|
|
# vi nazwapliku
|
|
....
|
|
|
|
Do poruszania się w tekście użyj klawiszy strzałek. Klawisz kbd:[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 kbd:[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
|
|
|
|
`nG`::
|
|
przejście do linii o numerze _n_
|
|
|
|
kbd:[Ctrl+L]::
|
|
przerysowanie ekranu
|
|
|
|
kbd:[Ctrl+b] i kbd:[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 kbd:[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 [.filename]#/etc# i zostać rootem korzystając z `su`. Uruchom `vi` i zmodyfikuj plik [.filename]#/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 kbd:[Esc] i wpisz `:wq` by zapisać plik i zakończyć edycję. Efekt natychmiastowy. (Nie wstawiłeś spacji za przecinkiem, zgadza się?)
|
|
|
|
== 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
|
|
|
|
[source,bash]
|
|
....
|
|
% man chmod | col -b > chmod.txt
|
|
....
|
|
|
|
spowoduje usunięcie znaczników formatujących i zamiast pokazywać stronę dokumentacji na ekranie, zapisze ją w pliku [.filename]#chmod.txt#. Włóż teraz sformatowaną dyskietkę do stacji A, skorzystaj z `su` by zostać rootem, i wpisz
|
|
|
|
[source,bash]
|
|
....
|
|
# /sbin/mount -t msdos /dev/fd0 /mnt
|
|
....
|
|
|
|
Powyższe polecenie zamontuje stację dyskietek w katalogu [.filename]#/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 [.filename]#chmod.txt# i skopiuj go na dyskietkę poleceniem:
|
|
|
|
[source,bash]
|
|
....
|
|
% cp chmod.txt /mnt
|
|
....
|
|
|
|
Po wpisaniu `ls /mnt` powinieneś zobaczyć, że w katalogu [.filename]#/mnt# znajduje się plik [.filename]#chmod.txt#.
|
|
|
|
Niekiedy warto zapisać w pliku to, co wyświetla [.filename]#/sbin/dmesg#. Można to zrobić wpisując
|
|
|
|
[source,bash]
|
|
....
|
|
% /sbin/dmesg > dmesg.txt
|
|
....
|
|
|
|
Potem można skopiować [.filename]#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
|
|
|
|
[source,bash]
|
|
....
|
|
# /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 [.filename]#/etc/printcap# oraz utworzyć katalog buforowania w [.filename]#/var/spool/output#. Jeśli drukarka jest podłączona do portu `lpt0` (oznaczonego `LPT1` w DOS-ie), być może wystarczy tylko przejść do [.filename]#/var/spool/output# i (będąc rootem) utworzyć katalog [.filename]#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 link:../../books/handbook/index.html[Podręczniku FreeBSD].
|
|
|
|
== 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 [.filename]#/# oraz (oddzielnie) [.filename]#/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 [.filename]#nazwapliku# w [.filename]#/usr# lub jego podkatalogach, skorzystaj z polecenia `find`:
|
|
|
|
[source,bash]
|
|
....
|
|
% 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 [.filename]#/# zamiast [.filename]#/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ć http://www.geek-girl.com/unix.html[Unix Reference Desk].
|
|
|
|
== 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 link:../../../../index.html[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 [.filename]#cdrom/packages/index#, [.filename]#cdrom/packages/index.txt#, oraz [.filename]#cdrom/ports/index#; dokładniejsze opisy znajdują się w [.filename]#/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 [.filename]#/usr/local# (to dobre miejsce na dodatkowe programy, które mają być dostępne dla wszystkich użytkowników) poleceniem:
|
|
|
|
[source,bash]
|
|
....
|
|
# cp -R /cdrom/ports/comm/kermit /usr/local
|
|
....
|
|
|
|
W efekcie powinien powstać katalog [.filename]#/usr/local/kermit# zawierający te same pliki, co katalog `kermita` na CDROM-ie.
|
|
|
|
Następnie korzystając z polecenia `mkdir` utwórz katalog [.filename]#/usr/ports/distfiles#, chyba że już taki istnieje. Sprawdź teraz, czy w katalogu [.filename]#/cdrom/ports/distfiles# znajduje się plik o nazwie odpowiadającej instalowanemu portowi. Skopiuj go do [.filename]#/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 [.filename]#/usr/local/kermit# zawierającego plik [.filename]#Makefile#. Napisz
|
|
|
|
[source,bash]
|
|
....
|
|
# make all install
|
|
....
|
|
|
|
Spowoduje to, iż wszystkie potrzebne pliki, których nie ma na CDROM-ie lub w [.filename]#/usr/ports/distfiles#, zostaną pobrane przez FTP. Jeżeli jeszcze nie skonfigurowałeś sieci, a w [.filename]#/cdrom/ports/distfiles# nie ma pliku potrzebnego do instalacji, będziesz musiał uzyskać ten plik korzystając z innego komputera i skopiować go do [.filename]#/usr/ports/distfiles# z dyskietki albo partycji DOS-a. Zajrzyj do [.filename]#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 [.filename]#/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 [.filename]#/usr/local/kermit#, odnajdź katalog zawierający [.filename]#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 [.filename]#.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ć [.filename]#./#; bez spacji po znaku ukośnika.)
|
|
|
|
Być może zechcesz ściągnąć najnowszą wersję przeglądarki Netscape z ich link:ftp://ftp.netscape.com/[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 [.filename]#/usr/local/bin# lub podobnego. Wykonaj `rehash`, oraz dodaj następujące polecenia do plików [.filename]#.cshrc# w katalogu domowym każdego użytkownika, lub (szybciej) do pliku [.filename]#/etc/csh.cshrc#, głównego pliku konfiguracyjnego `csh`:
|
|
|
|
[.programlisting]
|
|
....
|
|
setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB
|
|
setenv XNLSPATH /usr/X11R6/lib/X11/nls
|
|
....
|
|
|
|
Zakładamy tu, że plik [.filename]#XKeysymDB# i katalog [.filename]#nls# znajdują się w [.filename]#/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 [.filename]#/usr/local/bin/netscape#; jest to zwykły skrypt powłoki zajmujący się przygotowaniem zmiennych środowiskowych. Zamiast tego zmień nazwę nowego pliku na [.filename]#netscape.bin# i zastąp poprzedni plik wykonywalny [.filename]#/usr/local/netscape/netscape#.
|
|
|
|
== 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 kbd:[Tab] (`csh` wykorzystuje do tego kbd:[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:
|
|
|
|
[.procedure]
|
|
====
|
|
. 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ę.
|
|
. Działając jako root, dopisz w pliku [.filename]#/etc/shells# wiersz odpowiadający nowej powłoce, w naszym przypadku [.filename]#/usr/local/bin/tcsh#, i zapisz zmiany. (W przypadku niektórych portów może być to zrobione automatycznie.)
|
|
. 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ę.
|
|
====
|
|
|
|
[NOTE]
|
|
====
|
|
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 [.filename]#.tcshrc# dopisując polecenie `alias su su -m`
|
|
====
|
|
|
|
Podczas uruchamiania, `tcsh` odczytuje pliki [.filename]#/etc/csh.cshrc# i [.filename]#/etc/csh.login#, podobnie jak to robi `csh`. Ponadto wczytywane są pliki [.filename]#.login# i [.filename]#.cshrc#, chyba, że istnieje plik [.filename]#.tcshrc#. Można go utworzyć kopiując po prostu plik [.filename]#.cshrc# jako [.filename]#.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 [.filename]#.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 [.filename]#.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`.
|
|
|
|
== 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 [.filename]#/cdrom#, a nie jak zazwyczaj w [.filename]#/usr# i jego podkatalogach. Skorzystaj z `man lndir`.
|
|
|
|
== 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, mailto:andrsn@andrsn.stanford.edu[andrsn@andrsn.stanford.edu]
|