u Wstęp do Linuxa
u Rodzaje Linuxa
u Instalacja Linuxa
u Używanie programu LILO
u Podsumowanie instalacji
E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\01.DOC 31
Tim Parker
Rozdzia³ 1. ¨ Wstęp do Linuxa 49
W tym rozdziale:
u Linux – co to takiego?
u Historia Linuxa
u Co Linux może zrobić dla Ciebie
u Co jest potrzebne do instalacji Linuxa
u Minimalne wymagania sprzętowe
u Prawa autorskie
u Uzyskiwanie pomocy
u Grupy dyskusyjne w sieci Usenet
u O czym mówi ta książka?
Widziałeś już pewnie wiele książek i czytałeś wiele artykułów na temat Linuxa. Istnieją grupy dyskusyjne z setkami nowych wiadomości każdego dnia, CD-ROM-y z Linuxem sprzedawane są tysiącami, coraz więcej jest też użytkowników Windows próbujących wyrobić sobie zdanie o tym dziwnym systemie. Pomimo że system ten jest tak popularny, wciąż są tysiące, jeśli nie miliony użytkowników ciekawych Linuxa, ale bojących się kilku pierwszych kroków: instalacji oraz konfiguracji systemu. Pomóc Wam – to cel tej książki. Poprowadzimy Was krok po kroku przez instalację, pokażemy jak używać Linuxa i wprowadzimy w cudowny świat UNIX-a.
Jednak zanim zaczniemy, powiedzmy kilka słów o wymowie nazwy Linux. Są dwie szkoły wymawiania samogłoski i w tym wyrazie. Ponieważ pierwsza wersja Linuxa została opracowana przez programistę o imieniu Linus [wym. lajnys], wiele osób uważa, że prawidłowa wymowa tej samogłoski to [ai], tak jak w jego imieniu [lainyks]. Z drugiej strony, Linux został napisany po to, żeby zastąpić system podobny do UNIX-a o nazwie Minix (z krótkim i zbliżonym do polskiego y), więc reszta społeczności linuxowej tak właśnie [lynyks] wymawia tę nazwę. Która wersja jest lepsza? Autorzy tego systemu używają tej drugiej, ale większość Amerykanów woli pierwszą. Wybierz tę, która Ci bardziej odpowiada. I tak każdy będzie wiedział, o co chodzi.
Linux, jeśli ktoś jeszcze się nie zorientował, jest bezpłatnym, wielozadaniowym systemem operacyjnym, pozwalającym na jednoczesną pracę wielu użytkowników, który zachowuje się tak, jak UNIX. Linux został napisany specjalnie dla komputerów klasy PC (z procesorami firmy Intel) i wykorzystuje ich architekturę dla zapewnienia użytkownikowi wydajności porównywalnej z wydajnością stacji roboczych pracujących pod kontrolą systemu UNIX. Opracowano też sporo implementacji Linuxa dla innych platform sprzętowych; działają one bardzo podobnie jak wersja dla PC, na której skoncentrujemy się w tej książce.
Na początek spójrzmy na ten system całościowo. Co otrzymujesz po zainstalowaniu Linuxa? Oto krótka lista. Większość z jej pozycji zostanie omówiona dokładniej w następnych rozdziałach.
Linux jest wielozadaniowym, wieloużytkownikowym systemem operacyjnym, który działa tak samo jak UNIX, zarówno pod względem zachowania się jądra systemu, jak i obsługi urządzeń zewnętrznych. Linux posiada wszystkie zalety UNIX-a, a poza nimi jeszcze kilka nowych rozszerzeń zwiększających jego elastyczność. Kod źródłowy Linuxa oraz programów użytkowych jest dostępny za darmo.
Jądro systemu było pierwotnie napisane dla trybu chronionego procesorów Intel 80386. Procesory te zostały zaprojektowane z myślą o wielozadaniowości (choć większość z nich pracowała pod kontrolą systemu DOS, nie mającego z wielozadaniowością nic wspólnego), a Linux wykorzystuje ich zaawansowane możliwości. Mocną stroną procesora 80386, w porównaniu z poprzednimi produktami firmy Intel, jest zarządzanie pamięcią. Programowa emulacja koprocesora arytmetycznego pozwala Linuxowi działać na maszynach nie posiadających go.
Linux pozwala na współużytkowanie plików wykonywalnych (ang. shared executables), zatem gdy uruchomiona jest więcej niż jedna kopia aplikacji (przez jednego użytkownika lub przez kilku użytkowników pracujących z tym samym programem), wszystkie kopie używają tego samego obszaru pamięci. Pozwala to na bardzo wydajne wykorzystanie pamięci RAM.
Jądro Linuxa obsługuje również stronicowanie na żądanie (ang. demand paging), co oznacza, że tylko niezbędne części programu są wczytywane do pamięci operacyjnej. Żeby jeszcze bardziej zoptymalizować wykorzystanie RAM-u, Linux używa jednolitego modelu pamięci. To rozwiązanie pozwala systemowi przeznaczyć całą wolną pamięć na pamięć podręczną dla dysku, co przyspiesza dostęp do często używanych programów i danych. Rozmiar pamięci podręcznej jest automatycznie zmniejszany, gdy wzrasta zużycie pamięci przez aplikacje.
Aby sprostać dużym wymaganiom pamięciowym przy małej ilości fizycznej pamięci RAM, Linux używa pliku lub partycji wymiany (ang. swap space). Pozwala to na zapisywanie obszarów pamięci w zarezerwowane miejsce na dysku twardym, które jest traktowane jako „przedłużenie” pamięci RAM. Ceną płaconą za powiększenie pamięci operacyjnej jest spowolnienie dostępu do danych.
Linux pozwala również na używanie bibliotek współużytkowanych dynamicznie (ang. dynamic shared libraries). Biblioteki te są wspólne dla wielu aplikacji, co umożliwia zredukowanie wielkości programów. Dla utrzymania kompatybilności z systemami nie pozwalającymi na dynamiczne dołączanie bibliotek, Linux umożliwia także ich statyczne dołączanie (ang. statically linked libraries).
Linux obsługuje wiele różnych systemów plików, w tym kompatybilne z systemem DOS i OS/2. Własny system Linuxa, zwany ext2fs, został zaprojektowany z myślą o optymalnym wykorzystaniu dysku twardego.
Linux to doskonały wybór, jeśli chcesz pisać nowe aplikacje czy eksperymentować z nowymi językami programowania. W skład dystrybucji Linuxa wchodzą m.in. kompilatory języków C, C++, Fortran, Pascal, LISP, Ada, BASIC oraz Smalltalk. Wiele z kompilatorów i innych narzędzi programistycznych pochodzi z projektu Free Software Foundation GNU.
Projekt GNU (rekurencyjny akronim: Gnu to Nie UNIX – Gnu’s Not UNIX) został opracowany przez Free Software Foundation (FSF, Fundacja na rzecz darmowego oprogramowania) po to, aby zapewnić programistom dostęp do darmowego oprogramowania. Od momentu rozpoczęcia jego działalności powstało bardzo dużo pakietów programistycznych i narzędzi przeznaczonych do dystrybucji przez FSF. Większość oprogramowania GNU to odpowiedniki programów dostępnych komercyjnie (i bardzo drogich), często w stosunku do nich ulepszone.
Linux również zawiera wiele programów użytkowych GNU, takich jak wspomniane wcześniej języki programowania, debuggery, programy do przetwarzania tekstów, do drukowania i inne.
System X (czasem zwany także X Window) to graficzny interfejs użytkownika (GUI), zaprojektowany dla zapewnienia jednolitej obsługi i wyglądu aplikacji na różnych platformach. Wersja X rozprowadzana z Linuxem nazywa się XFree86 i jest implementacją standardowego systemu X11R5 dla komputerów opartych na procesorach 80386. XFree86 zawiera również pewne elementy zapewniające kompatybilność z niektórymi innymi GUI, np. z Open Look.
XFree86 obsługuje wiele różnych kart graficznych pracujących w różnych konfiguracjach, oferując wygodny interfejs graficzny o wysokiej rozdzielczości. Dowolna aplikacja pracująca z X może być przekompilowana tak, by działała poprawnie pod kontrolą Linuxa. W skład systemu X wchodzi pewna ilość gier i programów użytkowych.
System XFree86 zawiera również biblioteki, narzędzia i programy użytkowe potrzebne przy tworzeniu własnych aplikacji. Pozwala to programistom na pisanie programów przeznaczonych do pracy w X bez konieczności inwestowania w drogie, specjalistyczne oprogramowanie czy biblioteki.
Ponieważ Linux został opracowany dla komputerów PC, pewien stopień kompatybilności z systemem MS-DOS firmy Microsoft zapewnia sam system operacyjny. Częścią dystrybucji Linuxa jest emulator systemu MS-DOS, który pozwala na uruchomienie wielu aplikacji DOS-owych bezpośrednio pod kontrolą Linuxa. Nie należy jednak spodziewać się pełnej kompatybilności – niektóre programy używają bezpośredniej komunikacji z urządzeniami zewnętrznymi czy dyskami twardymi, co dla Linuxa jest nie do przyjęcia. Opracowany został też emulator Microsoft Windows (projekt WINE), który pozwala na uruchamianie w systemie Linux aplikacji przeznaczonych do pracy w systemie MS Windows. Bardziej zaawansowana wersja tego emulatora, zwana WABI, dostępna jest za dodatkową opłatą. WABI pozwala na uruchamianie aplikacji MS Windows za pomocą interfejsu X.
Linux pozwala na bezproblemową wymianę plików z partycjami systemu DOS, używając ich bezpośrednio, jeżeli tak jest skonfigurowany. Oznacza to łatwą wymianę danych pomiędzy tymi systemami operacyjnymi.
TCP/IP (Transmission Control Protocol / Internet Protocol) jest podstawowym systemem sieciowym używanym przez systemy UNIX i Linux. Jest to cała rodzina protokołów zaprojektowanych dla Internetu, musisz więc ich używać, jeśli chcesz korzystać z dobrodziejstw tej sieci. Jeżeli zamierzasz połączyć się z jakimiś maszynami UNIX-owymi, najprawdopodobniej również będziesz musiał użyć TCP/IP.
Wersja TCP/IP dla systemu Linux zawiera oprogramowanie i sterowniki takie same, jak wersje rozprowadzane komercyjnie, przeznaczone dla systemów UNIX. Dzięki temu możesz stworzyć własną sieć lokalną (Local Area Network, LAN), podłączyć się do istniejącej sieci Ethernet, bądź też podłączyć się do Internetu.
Praca w sieci jest mocną stroną Linuxa i będzie omówiona dość szczegółowo w dalszej części tej książki. W systemie linuxowym nie jest konieczne posiadanie dostępu do sieci, ale jej instalacja jest prosta i tania, a jest to najlepszy sposób przesyłania danych pomiędzy komputerami. Możliwe jest również używanie sieci przez modem, więc uzyskanie dostępu do komputerów przyjaciół nie sprawia problemu.
Linux został opracowany jako darmowa wersja UNIX-a. UNIX jest najszerzej używanym systemem operacyjnym na świecie i od dawna jest standardem dla wysoko wydajnych stacji roboczych i większych serwerów. Wielu użytkowników systemu UNIX, opracowanego w 1965 roku, to programiści, którzy stanowią potężne wsparcie techniczne dla tego systemu.
System UNIX należy zakupić osobno dla każdej platformy, na której będzie używany, ponieważ jest on produktem komercyjnym. Licencje na implementacje UNIX-a dla komputerów PC kosztują od kilkuset do kilku tysięcy dolarów. Aby udostępnić go szerszej rzeszy użytkowników, w ciągu ostatnich lat powstało wiele ogólnodostępnych, darmowych wersji (public domain) tego systemu.
Jednym z pierwszych klonów UNIX-a był Minix, napisany przez Andy’ego Tanenbauma. Choć nie miał wszystkich zalet UNIX-a, był małym systemem operacyjnym, który mógł być używany na maszynach klasy PC. Aby rozszerzyć jego możliwości, wielu użytkowników zaczęło pracować nad ulepszoną wersją, wykorzystującą możliwości, jakie oferowała architektura procesora 80386. Jednym z pierwszych projektantów nowego systemu, znanego później jako Linux, był Linus Torvalds z Uniwersytetu w Helsinkach, który opracował wczesną wersję Linuxa w roku 1991. Pierwsza „prawie bezbłędna” wersja została udostępniona programistom na całym świecie w marcu 1992 roku.
Wkrótce nad Linuxem pracowało już wielu programistów. Pomysł udoskonalenia nowego klonu UNIX-a okazał się „strzałem w dziesiątkę” i Linux zaczął rozrastać się w bardzo szybkim tempie, szczególnie od czasu, gdy programiści zaczęli adaptować do jego potrzeb programy i rozwiązania znane z komercyjnych wersji UNIX-a. Nowe wersje Linuxa lub programów użytkowych dla tego systemu pojawiają się teraz bardzo często. Zdarza się nawet, że nowa wersja pojawia się w tydzień po poprzedniej. Liczba programistów pracujących nad Linuxem rosła, a sam system stawał się coraz lepszy; dziś stoi on na bardzo wysokim poziomie i zawiera wszystkie narzędzia, które można znaleźć w komercyjnych wersjach UNIX-a.
Aby uniknąć jakichkolwiek opłat za Linuxa, programiści nie używali kodu zaczerpniętego z innych systemów UNIX-owych. Za używanie systemu Linux nie trzeba uiszczać żadnych opłat licencyjnych; podstawowym założeniem jego twórców jest jego powszechna dostępność. Kilka firm podjęło się zadania kompletowania i wydawania kolejnych wersji Linuxa, umieszczając je następnie na płytach CD-ROM i pobierając za nie symboliczne (zazwyczaj) opłaty.
Dlaczego powinieneś zawracać sobie głowę Linuxem? To dobre pytanie, ale trudno na nie odpowiedzieć. Jeżeli jesteś ciekawy, jak działa UNIX lub inny system operacyjny, Linux daje Ci wspaniałe środowisko do eksperymentowania, za bardzo niską cenę lub wręcz za darmo. Jeżeli oczekujesz od swojego sprzętu większej wydajności niż może dać Ci DOS lub Windows, Linux jest systemem dla Ciebie. Jeżeli potrzebujesz solidnego serwera, który połączy Twoją firmę z Internetem, Linux jest najtańszym i doskonałym rozwiązaniem. Ale jeśli nie zamierzasz uczyć się niczego nowego, nie chcesz wykorzystywać wszystkich możliwości swojego sprzętu i lubisz wesołe komunikaty systemu Windows na niebieskim tle, to Linux na pewno nie jest dla Ciebie.
Wyjaśnijmy sobie na samym początku jedną sprawę. Choć Linux nie nazywa się UNIX, to jest on kompletną implementacją tego systemu. Spełnia wiele z norm spełnianych przez systemy UNIX, wiele z nich nawet w szerszym zakresie, i bardzo trudno byłoby nawet doświadczonemu użytkownikowi UNIX-a stwierdzić (bez użycia specjalistycznych narzędzi do identyfikacji systemu), czy pracuje pod kontrolą systemu Linux czy UNIX. Dlaczego Linux nie nazywa się UNIX? To tylko kwestia praw autorskich.
Ponieważ Linux od UNIX-a różni się tylko nazwą, jest on doskonałym sposobem na nauczenie się UNIX-a. Linux działa dobrze na większości pecetów używanych w domach, czego na pewno nie można powiedzieć o komercyjnych wersjach UNIX-a; większość z nich wymaga szybkiego komputera z procesorem Pentium, a jego koszt to dopiero ułamek kosztów instalacji pełnego systemu. A przecież wszystko, czego nauczysz się w Linuxie, można bezpośrednio przenieść na platformę UNIX-ową. Aplikacje, które napiszesz dla Linuxa, zwykle również mogą być przekompilowane w systemie UNIX i będą działać znakomicie.
Uwzględniając to wszystko, można śmiało stwierdzić, że Linux jest naturalną drogą poznawania UNIX-a. UNIX jest jednym z najpotężniejszych z dostępnych systemów operacyjnych i jest powszechnie używany przez duże korporacje i firmy, które koncentrują się na badaniach naukowych i pracach projektowych. Powód jest prosty: UNIX pozwala projektantowi na bezproblemowe uzyskanie największej możliwej wydajności sprzętu. Jest on również najlepszym sposobem na połączenie w sieć wielu komputerów. Możliwe, że umiejętność pracy z systemem UNIX nie jest Ci potrzebna w tej chwili, ale kto wie, co zdarzy się w przyszłości? Nie wspominając już o tym, że znajomość UNIX-a świetnie prezentuje się w podaniu o pracę…
Wykorzystując system Linux, można śmiało prowadzić firmę. UNIX jest najczęściej stosowanym w biznesie systemem operacyjnym, a Linux może robić wszystko to, co może robić UNIX. Połączenie serwerów linuxowych z innymi rodzajami klientów sieciowych (takimi jak Windows, DOS, Macintosh czy inne rodzaje UNIX-a) tak, by mieć pod kontrolą cała firmę, nie nastręcza żadnych trudności.
W początkowym okresie rozwoju Linuxa rozwiązania takie uważane były za ryzykowne, ponieważ sam system operacyjny był jeszcze niezbyt stabilny. Firmy nie mogą pozwolić sobie na używanie serwera, który często odmawia współpracy. Od tamtej pory jednak Linux dojrzał, stał się stabilniejszy i przejął wszystkie zalety UNIX-a. Brakuje w nim tylko najbardziej profesjonalnych systemów zabezpieczeń, oferowanych przez komercyjne wersje UNIX-a. Dla systemu linuxowego ciągłe działanie przez lata bez żadnych wpadek i bez potrzeby restartowania systemu nie jest niczym nadzwyczajnym (choć raz na jakiś czas zaleca się zrestartować system, żeby usunąć tymczasowe katalogi i pliki, w których zapisywane są bieżące akcje systemu). Nie można tego powiedzieć o wielu innych systemach operacyjnych (jak często „wykładał” się Twój Windows w ciągu ostatnich kilku miesięcy?).
Tak naprawdę, różnica pomiędzy używaniem Linuxa i k...
pecet9