Linux dla początkujących – materiały do nauki
Piotr Stykowski
Linux – podstawowe zagadnienia
Co to jest Linux???
Linux - ostatnio coraz częściej można to słowo usłyszeć w mediach, lub przeczytać jakiś artykuł o nim w czasopismach komputerowych - co to w zasadzie jest i dlaczego wzbudza aż tyle kontrowersji? Czy przesiadać się na niego ze znanego nam wszystkim systemu jakim jest Windows? Co go wyróżnia od innych systemów?
Linux jest to 32-bitowy, wielozadaniowy system operacyjny klasy Unix. Przede wszystkim jest darmowy i stabilny. Również większość oprogramowania przeznaczonego dla niego jest darmowa, zdarzają się wyjątki w postaci oprogramowania komercyjnego, shareware lub licencji tylko do użytku domowego, no ale takie jest prawo rynku. Jednak głównym przesłaniem twórców oprogramowania dla tego systemu jest tworzenie i udostępnianie darmowego oprogramowania wraz z kodem źródłowym. Oprogramowanie to często przewyższa swoimi możliwościami konkurencyjne oprogramowanie komercyjne. Każdy kto zna się na programowaniu może dowolnie zmieniać kod programu pod warunkiem dołączenia swoich poprawek w postaci kodu do programu. To wszystko powoduje, że nad oprogramowaniem dla Linuksa pracują tysiące indywidualnych programistów na świecie, również w Polsce, oraz coraz więcej firm. Wsparcie dla Linuksa z dnia na dzień ogłasza coraz więcej firm, między innymi producenci sprzętu tacy jak IBM, Intel, HP czy Lexmark. W tej chwili duża ilość serwerów internetowych postawionych jest na Linuksie, wykorzystywany on jest przez wiele przedsiębiorstw, firm państwowych, militarnych, rządowych, prestiżowych hoteli, przykładem może być Kancelaria Sejmu w Polsce, czy Biuro Bezpieczeństwa Narodowego.
Istnieje wiele dystrybucji Linuksa, od najprostszych - przeznaczonych raczej dla początkującego użytkownika, są to Corel Linux(w zasadzie był - Corel wycofał się z tworzenia go), WinLinux i według mnie Mandrake, przez dystrybucje poważniejsze, jednak coraz łatwiejsze do opanowania jak Red Hat czy SuSE, po takie, które są wyzwaniem dla zagorzałych zwolenników konsoli i konfiguracji ręcznej - Slackware (jednocześnie jedna z bezpieczniejszych i stabilniejszych dystrybucji) oraz sprawiający dużo kłopotów w konfiguracji Debian. Co powinniśmy wybrać? Najlepiej spróbować kilku dystrybucji i samemu ocenić co nam jest potrzebne i w czym czujemy się najlepiej.
A jak się to zaczęło? Oto pierwszy post Linusa na grupy usenetu dotyczący stworzonego przez niego projektu:
Autor:Linus Benedict Torvalds (torvalds@klaava.Helsinki.FI)
Temat:Free minix-like kernel sources for 386-AT
Grupy dyskusyjne:comp.os.minix
Data:1991-10-05 08:53:28 PST
Do you pine for the nice days of minix-1.1, when men were men and wrote
their own device drivers? Are you without a nice project and just dying
to cut your teeth on a OS you can try to modify for your needs? Are you
finding it frustrating when everything works on minix? No more all-
nighters to get a nifty program working? Then this post might be just
for you :-)
As I mentioned a month(?) ago, I'm working on a free version of a
minix-lookalike for AT-386 computers. It has finally reached the stage
where it's even usable (though may not be depending on what you want),
and I am willing to put out the sources for wider distribution. It is
just version 0.02 (+1 (very small) patch already), but I've successfully
run bash/gcc/gnu-make/gnu-sed/compress etc under it.
Sources for this pet project of mine can be found at nic.funet.fi
(128.214.6.100) in the directory /pub/OS/Linux. The directory also
contains some README-file and a couple of binaries to work under linux
(bash, update and gcc, what more can you ask for :-). Full kernel
source is provided, as no minix code has been used. Library sources are
only partially free, so that cannot be distributed currently. The
system is able to compile "as-is" and has been known to work. Heh.
Sources to the binaries (bash and gcc) can be found at the same place in
/pub/gnu.
ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled
(and gcc-1.40, possibly 1.37.1, haven't tested), and you need minix to
set it up if you want to run it, so it is not yet a standalone system
for those of you without minix. I'm working on it. You also need to be
something of a hacker to set it up (?), so for those hoping for an
alternative to minix-386, please ignore me. It is currently meant for
hackers interested in operating systems and 386's with access to minix.
The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If
you are still interested, please ftp the README/RELNOTES, and/or mail me
for additional info.
I can (well, almost) hear you asking yourselves "why?". Hurd will be
out in a year (or two, or next month, who knows), and I've already got
minix. This is a program for hackers by a hacker. I've enjouyed doing
it, and somebody might enjoy looking at it and even modifying it for
their own needs. It is still small enough to understand, use and
modify, and I'm looking forward to any comments you might have.
I'm also interested in hearing from anybody who has written any of the
utilities/library functions for minix. If your efforts are freely
distributable (under copyright or even public domain), I'd like to hear
from you, so I can add them to the system. I'm using Earl Chews estdio
right now (thanks for a nice and working system Earl), and similar works
will be very wellcome. Your (C)'s will of course be left intact. Drop me
a line if you are willing to let me use your code.
Linus
PS. to PHIL NELSON! I'm unable to get through to you, and keep getting
"forward error - strawberry unknown domain" or something.
1. Instalacja programów
Pakiety RPM
Aby zainstalować pakiet RPM wpisujemy polecenie:
rpm -ivh nazwa_pakietu.rpm
użyte opcje: -i -polecenie instalacji pakietu -v - podaje nazwę instalowanego pakietu -h - pokazuje postęp instalacji za pomocą znacznika #
Aby uaktualnić zainstalowany pakiet należy wydać polecenie:
rpm -Uvh nazwa_pakietu.rpm
Zastosowana tutaj opcja -U usuwa poprzednią wersję programu i instaluje nową.
Odinstalowanie programu możemy wykonać wydając polecenie:
rpm -e nazwa_pakietu.rpm
Żeby zainstalować pakiety źródłowe RPM, mające rozszerzenie *.src.rpm, należy je wcześniej skompilować poleceniem:
rpm --rebuild nazwa_pakietu.src.rpm
Po tej operacji, jeżeli nie wystąpiły jakieś błędy podczas kompilacji, powinniśmy uzyskać ( Red Hat ) w katalogu /usr/src/redhat/RPMS/i386 gotowy do zainstalowania pakiet binarny.
Instalacja programów spakowanych programami tar, gzip i bzip2
Aby rozpakować dany plik musimy wydać odpowiednią komendę:
dla plików z rozszerzeniem *.tgz lub *.tar.gz odpowiednia jest komenda: tar -xvzf nazwa_pliku.tar.gz
dla plików *.tar.bz2 musimy użyć komendy: tar -xvjf nazwa_pliku.tar.bz2
Teraz możemy przystąpić do instalacji programu, wykonuje się to zazwyczaj ciągiem poleceń wydanych w katalogu ze źródłami programu: ./configure make make install
Przed instalacją warto jest przeczytać pliki README i INSTALL, zazwyczaj znajdujące się w katalogu ze źródłami. Można w nich dowiedzieć się ważnych informacji dotyczących programu i sposobu jego konfiguracji i instalacji.
Inne pliki instalacyjne
Czasami może się zdarzyć, że programy wymagają odmiennego podejścia do ich instalacji. Przykładem może być ostatni hit - StarOffice - udostępniany jako plik instalacyjny zakończony rozszerzeniem *.bin. W tym wypadku należy nadać plikowi możliwość uruchomienia poleceniem chmod. Zdarzają się też inne programy, które posiadają gotowe skrypty lub programy instalacyjne.
2. Najważniejsze polecenia shella
adduser nazwa_konta - założenie nowego konta cal - wyświetla kalendarz na bieżący miesiąc cat nazwa_pliku - wyświetla zawartość pliku cd - polecenie analogiczne jak w systemie MS-DOS chmod u/g/o/a +/- r/w/x plik/katalog - polecenie służące do zmiany praw dostępu do plików i katalogów - właściciela określia się za pomocą liter: u - właściciel, g - grupa, o - inni użytkownicy, a - wszyscy - prawa określa się następująco: r - zezwolenie na odczyt, w - zapis, x - uruchomienie Innymi sposobem ustawiania praw dostępu to ustawianie ich za pomocą liczb ósemkowych. Cyframi od 0-7 ustawiamy odpowiednio: 0 to ( --- ) brak praw dostępu 1 to ( --x ) wykonywanie 2 to ( -w- ) zapis 3 to ( -wx ) zapis i wykonywanie 4 to ( r-- ) odczyt 5 to ( r-x ) odczyt i wykonywanie 6 to ( rw- ) odczyt i zapis 7 to ( rwx ) odczyt, zapis, wykonywanie wydając polecenie chmod podajemy 3 liczby, które oznaczają w kolejności: prawa dostępu właściciela, grupy i innych. chown nowy_właściciel plik/katalog - polecenie zmiany właściciela pliku lub katalogu chgrp nowa_grupa plik/katalog - polecenie zmiany grupy pliku lub katalogu clear - czyszczenie ekranu cmp plik1 plik2 - porównuje zawartość dwóch plików cp - kopiuje pliki i katalogi date - wyświetla bieżącą datę df - sprawdza wolne miejsce na dysku diff plik1 plik2 - stwierdza, czy między zawartością dwóch plików występują różnice du - informuje o wielkości poszczególnych katalogów echo - wyświetla podany tekst kill - kończy pracę danego procesu last nazwa_użytkownika - wyświetla logi użytkownika ln -s nazwa_katalogu nazwa_łącza - tworzy łącze symboliczne (tzw. link) ls - wyświetla zawartość katalogu mail - wysyła i odbiera pocztę man - pomoc na wszelkie tematy - np.: man ls - pokaże nam pomoc na temat polecenia ls mkdir - tworzenie katalogu mv - zmiana nazwy pliku lub jego przeniesienie rmdir - usuwanie katalogupasswd nazwa_konta - ustawienie hasła dla konta rm - usunięcie plikurm -f nazwa_katalogu - usuwanie katalogu wraz z podkatalogami bez potwierdzenia rpm -q | część_nazwy_pakietu - sprawdza czy jest zainstalowany dany pakiet RPM shutdown - restartuje komputer wall - przesyła komunikaty do wszystkich użytkowników who - lista użytkowników w - jak wyżej, jednak informacje są dokładniejsze
3. Partycje FAT16/32 w linuxie
Podczas instalacji Linuksa możemy wskazać miejsce montowania istniejących już partycji Windowsa (fat16/32), jednak partycje te dostępne są w trybie rw (odczyt/zapis) tylko dla root-a, zaś zwykły użytkownik może jedynie używać ich w trybie ro czyli tylko do odczytu. Jeżeli chcesz to zmienić musisz zmodyfikować, lub jeżeli zamierzasz podmontować nową partycję wprowadzić wpis w pliku /etc/fstab. Standardowo partycje montuje się w katalogu /mnt, gdzie tworzymy katalog do którego ma być podmontowana, np: "Windows" lub "c". Jeżeli wskazaliśmy punkt montowania podczas instalacji to wpis w pliku /etc/fstab wygląda mniej więcej tak:...
mariuszlew