Dystrybucje -> Debian
Debian GNU/Linux jest bardzo szczególnš odmianš Linuxa. Debian jako jedyna dytrybucja jest rozwijana przez ok. 500 ochotników z całego œwiata. Przy czym inne dystrybucje sš tworzone przez "zamknięte" grupy ludzi, bšdŸ komercyjne firmy. Projekt Debian GNU/Linux zapaczštkował w 1993 roku pod "skrzydłami" Free Software Foundation's GNU - Ian Murdock. Do dzisiaj Debian zdobył niezliczone rzesze fanów ;]. Dla mnie Debian jest wypoœrodkowanš dystrybucjš. Co mam na myœli? Mam na myœli dytrybucje pomiędzy łatwoœciš obsługi Red Hata (ale nie przesadzajmy), a "surowoœciš" Slackware. Czyli coœ doskonale wypoœrodkowanego. Nadajšcego się do każdych celów. Debian zawiera w przybliżeniu 4200 różnego rodzaju oprogramowania, które można bez problemów zainstalować, gdyż debian obsługuje rozszerzenie *.deb (coœ jakby rpm z Red Hata) co dla leniwych (czyt. dla tych, którym nie chce się kompilować Ÿródeł) stanowi nie lada ułatwinie. Na serverach ftp Debiana jest też dostępnych ok. 420 paczek z różnego rodzaju oprogramowaniem. Całe to oprogramowanie dostępne jest na licencji GNU/GPL, a więc możemy sobie zrobić z nim co nam się tylko podoba. Cały system bšdŸ poszczególne oprogramowanie może być łatwo uaktualnione w większoœci przypadków nawet nie trzeba restartować systemu (a to niby windows jest przyjazny dla użytkownika ;)). Debian posiada także BTS czyli bug tracking system (ang. system œledzenia bugów). Każdy odkryty błšd jest numerowany i przechowywany wraz z opisem dopuki nie będzie już stanowił problemu. Jest to moim zdaniem œwietne rozwišzanie pozwalajšce dokładnie pilnować systemu. A właœnie jeżeli już o tym mowa to każdy może sam zgłosić odkrytego buga poprzez witrynę http://www.debian.org/Bugs/. A skšd można wzišœć ten system? Można kupić go z jakšœ gazetš, bšdŸ scišgnšć bezpoœrednio z internetu, z servera ftp debiana: ftp://ftp.debian.org/pub/debian/, bšdŸ jego różnych mirrorów
Dystrybucje -> Red Hat
Jeżeli chcesz zaczšć swojš przygodę z linuxem to ta dystrybucja jest właœnie dla ciebie. Red Hat Linux jest rozwijany właœnie przez firmę Red Hat. Jest to pierwsza firma linuxowa, która weszła na giełdę. Najnowszš dytrybucjš linuxa jest Red Hat 7.1. Jak już zapewne po tym kt\rótkim wstępie zauwarzyłeœ Red Hat jest po częsci komercyjnym linuxem, po częœci bo jest i jego darmowa wersja. Red Hat 7.1 zawiera m.in. kernel 2.4, Xfree86 4.0.3, obsługę USB, kilka kompilatorów: C, C++, Perl, Fortran, Python, Tcl i GCJ oraz PHP. Jak na nowoczesnš dystrybucję przystało dostępny jest tryb graficzny instalatora. Tak wychwalany w czasopismach windowsowych dla mnie jest to po prostu porażka. (nie tylko w Red Hacie). Działa on zbyt wolno, i nie zapewnia takiego komortu pracy jakiego można by się po nim spodziewać. Na szczęœcie jest także i instalator tekstowy, który spałnia wszystkie swoje funkcje będšc jednoczeœnie bardzo przejrzystym i łatwym w obsłudze. Red Hat zawiera też kilka typowych dla tej dystrybucji programów jednoczeœnie bardzo ułatwiajšch pracę. Należy do nich mianowcie Xcongifurator - program, dzieki któremu możemy wybrać graficzne œrodowisko, którego będziemu urzywać, czy rodzaj posiadanej przez nas karty graficznej. Drugim z bardzo ważnych narzędzi chcrakterytycznym dla tej dystrybucji jest LinuConf. Za pomocš tego programu możemy skonfigurować w naszym Red Hacie prawie wszystko. Pozostaje tylko pytanie. Czy warto jest mieć tego linuxa? Poczštkujšcy nie powinni się długo zastanawiać, a inni? No cóż.... oni już napewno majš swojego faworyta.
Dystrybucje -> Slackware
Jest to najbardziej "surowa" dystrybucja linuxa. Zapoczštkował jš Patrick Volkerding w 1992 roku. Autorzy zawsze szczycili się tym, że ta dystrybucja jako jedyna sięga korzeni linuxa. Co mam przez to na myœli? To, że nie posiada ona niepotrzebnych ułatwień, zyskujšc dzięki temu na szybkoœci, stabilnoœci i bezpieczeństwie. Na tš dytrybucję jest najmniej exploitów! Slackware linux jest kompletnym 32 bitowym systemem "unixo-podobnym". Slackware w tej fazie prac bazuje na jšdrze serii 2.2 i zawiera X window, œrodowiska do projektowania aplikacji C/C++, Perla, oprogramowanie sieciowe, serwery: http, mail, news. Slackware potrafi chodzić na nawet na 386. Tak więc jeżeli chcemy postawić jakiœ serverek w naszym lanie to ta dytrybucja będzie się do tego doskonale nadawać. Slackware występuje także w dwóch ciekawych odmianach mšgšcych się przydać dla tych, którzy nic chcš repatrycjonować swojego twardego dysku. Sš to: ZipSlack - ta dystrybucja zawiera się w ok. 100MB. Można jš zainstalować na partycji FAT lub FAT32. Zawiera większoœć przydatnych pakietów. Dystrybucja ta może być także bootowana z dyskietki ZIP. Minimum, które trzeba pobrać z serwera ftp (katalog /zipslack, lista serwerów na końcu strony) to: zipslack.zip - główny plik z dystrybucjš. bootdisk.img - przydatne jeżeli chcesz bootować ZipSlacka z dyskietki. rawrite.exe - jeżeli chcesz bootować linuxa z DOSa to przyda ci się ten plik. fourmeg.zip - jeżeli twoja maszyna ma tylko 4mb ramu, przydatne jeżeli stawiamy tego linuxa na jakimœ 386,486 itp. BigSlack - jest to podobna do ZIpSlacka dystrybucja, także działajšca na patrycji FAT, jednak w przeciwieństwie do swojego poprzednika zawiera œrodowisko graficzne XWindow wraz z Gnome, jednak za takie dodatki trzeba "zapłacić" pewnš cenę. Jest niš minowicie waga tej dystrybucji: 850MB. Serwery ftp: ftp://ftp.man.olsztyn.pl ftp://ftp.funet.fi ftp://ftp.lip6.fr ftp://dl.xs4all.nl ftp://ftp.rediris.es
Bezpieczny system -> Prawa dostępu
Bezpieczeństwo jest ważnš cechš Linuxa (Unixa). Urzytkownik tworzy pliki i może nadawać im prawa dostępu, które okreœlajš czy można do nich pisać, bšdŸ je czytać lub tylko wykonywać. Proponuje przypatrzeć się poniższemu przykładowi zanim przejdziemy dalej:
drwxr-xr-x -rw-r--r-- -rw------- lrwxrwxrwx -rwxr-xr-x 3 1 1 1 1 root zealtar zealtar zealtar zealtar root zealtar zealtar zealtar zealtar 1024 124 12288 9 0 Feb 24 15:50 Feb 24 15:50 Feb 24 14:54 Feb 24 22:49 Feb 24 22:50 .. .bashrc .swp witaj -> /bin/witaj test
Na pierwszy rzut oka może sie to wydawać cholernie skšplikowane jednak zapewniam, że tak nie jest. Jest to wykaz plików, jaki dało mi wykonanie polecenia ls -la w katalogu dowmowym. No, ale czym sš te prawa dostępu? Czy widzicie te literki i minusy w pierwszej kolumnie? To właœnie one ;). Pierwszy znak oznacza czy jest to zwykły plik, katalog (literka d), czy dowišzanie symboliczne (literka l). Od razu może wyjaœnie co to jest dowišzanie symboliczne. Proponuje przyjżeć się linijce gdzie znajdziemy witaj -> /bin/witaj. Otórz wykonanie polecenia ln -s /bin/witaj /home/zealtar/witaj pozwoliło mi utworzyć symlinka do pliku /bin/bash. Tak więc teraz po wykonaniu polecenia witaj w swoim katalogu domowym shell wykona polecenie /bin/witaj. Symlinki oznaczane sš literkš l przed prawami dostępu. No, ale może wróćmy do tematu. Poza pierwszym znakiem okreœlajšcym czy to plik, katalog, czy link mamy ich 9. Występować w nich mogš litery r,w,x , które kolejno oznaczajš: czytaj, zapisuj, wykonuj. Pierwsze trzy oznaczajš prawa dostępu dla właœciciela (ang. user), drugie grupy, do której on należy (group), i kolejne dla innych (ang. other). Rozważmy to na przykładzie pliku test. Ma on prawa dostępu -rwxr-xr-x. Co to oznacza? Jest to plik (bo pierwszy znak jest pusty) własciciel tego pliku ma do niego pełne prawa (rwx), grupa do której należy własciciel może go czytać i wykonywać (r-x), tak samo jak każdy pozostały urzytkownik systemu. A teraz bym nie zapomniał małe słówko na temat katalogów. Katalogi muszš zawsze mieć prawo do wykonywania (+x) bo inaczej nie będzie można ich przeglšdać. Prawa nadajemy poleceniem chmod. Np. aby zabrać wszystkie prawa plikowi test dla kategorii inni można napisać chmod o-rwx test, a potem napisać chmod u+rwx, żebysmy mogli (jako własciciel) cokolwiek z tym plikiem zrobić. Jest jeszcze jeden sposób ustawiania praw dostępu do plików. Wykorzystuje sie do niego cyfry od 0 do 7, które kolejno oznaczajš: 0 brak dostępu --- 1 tylko wykonywanie --x 2 tylko pisanie -w- 3 pisanie(2)+wykonywanie(1) -wx 4 tylko czytanie r-- 5 czytanie(4)+wykonywanie(1) r-x 6 czytanie(4)+pisanie(2) rw- 7 czytanie(4)+pisanie(2)+wykonywanie(1) rwx W formacie liczbowym każda z grup urzytkowników reprezentowana jest przez jednš liczbe. Np., aby nadać plikowi test nieograniczony dostęp dla własciciela i prawo do czytania i wykonywania dla grupy i innych należałoby napisać chmod 755 test. Spotkałem się z opiniami, ze ten drugi sposób jest trudniejszy do opanowania dla poczatkujšcych urzytkowników linuxa, jednak wydaje mi się, że ta opinia jest raczej przesadzona ;].
Bezpieczny system -> Blokowanie usług
Aby wyłšczyć jakieœ uslugi dla konkretnego adresu ip potrzeba demona inetd oraz programu tcp_wrappers, który z tym demonem współpracuje. Ja używam wersji dostarczanych wraz z dystrybucjš Red Hat 6.2. Można to łatwo sprawdzić wydajšc poniższe polecenia: [root@dhs /root]# rpm -qv inetd inetd-0.16-4 [root@dhs /root]# rpm -qv tcp_wrappers tcp_wrappers-7.6-10 Oczywiœcie zadziałajš one tylko w red hacie (chyba jeszcze w mandrake, ale nie polecam tego linuxa). Jeżeli wiesz już czy masz zainstalowane powyższe pakiety to możesz przejœć do następnego kroku (jeżeli nie to zainstaluj je poleceniem rpm -i pelna_nazwa_pakietu). Program tcp_wrappers czerpie informacje potrzebne mu do blokowania poszczególnych usług z pliku konfiguracyjnego demona inet (/etc/inetd.conf), którego mały wycinek wyglšda mniej więcej tak: ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd Pokazuje tylko ten wycinek gdyż na nim własnie zademonstruje wyłšczanie telnetu dla konkretnego ip (w tym konkretnym wypadku dla localhost czyli 127.0.0.1 - łatwiej sprawdzać czy działa). Program tcp_wrappers czerpie informacje z plików /etc/hosts.allow oraz /etc/host.deny. W tych dwóch plikach sš zawarte informacje o udostępnianiu odpowiednich uslug dla konkretnych adresow ip. Odpowiednio hosts.allow zezwala na dostęp do uslugi, hosts.deny zabrania wykonania uslugi. A oto przykładowy plik /etc/hosts.deny: [root@dhs /etc]# cat /etc/hosts.deny # # hosts.deny This file describes the names of the hosts which are # *not* allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # # The portmap line is redundant, but it is left to remind you that # the new secure portmap uses hosts.deny and hosts.allow. In particular # you should know that NFS uses portmap! in.telnetd:127.0.0.1: twist echo "Acces denied.." Oczywiœcie te linijki z hashem na poczštku sš dla nas nie ważne, ważna jest natomiast ta ostania linia. Zaczyna się ona od in.telnetd jest to nazwa uslugi z ostatniej kolumny pliku /etc/inetd.conf, następnie dla jakiego ip ma być zablokowana ta usługa (tutaj użylem 127.0.0.1 żeby można bylo łatwiej to testować). Zanim jednak sprawdzisz czy działa blokada trzeba jeszcze wykonać polecenie: [root@dhs /etc]# tcpdchk warning: /etc/inetd.conf, line 35: in.telnetd: not found in /usr/sbin: No such file or directory Polecenie tcpdchk sprawdza czy plik /etc/inetd.conf zawiera poprawne wpisy, tutaj program nie znalazł pliku in.telnetd w katalogu /usr/sbin, ja sobie poradziłem z tym w ten sposób: [root@dhs /etc]# ln -s /usr/bin/telnet /usr/sbin/in.telnetd Zrobiłem poprostu dowišzanie symboliczne to polecenia telnet ( można też to zrobić inaczej, po inne - oficjalne - rozwišzania odsylam do man tcpd). Aaaa... zapomniałbym twist echo "Acces denied.." wypisze poprostu Acces denied.. przy próbie nawišzania połšczenia. No to sprawdŸmy... [root@dhs /etc]# telnet 127.0.0.1 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. Acces denied.. Connection closed by foreign host. Jak widzisz wszystko odbylo sie zgodnie z zamierzeniem....
Dystrybucje -> Bash
Shell bash jest niewštpliwie jednym z najpopularniejszych linuxowych/unixowych shelli. Po częsci swojš popularnoœć zawdzięcza on zapewne temu, że w woelu dystrybucjach jest on shellem domyœlnym. Popularnoœci też dodaje mu fakt, że doskonale edytuje on wiersz poleceń, a mianowicie uzupełnia on nazwy plików, czy œcieżki. Takie rozwišzanie zbliżone jest do tego jakie można znaleœć chociażby w emacsie. Jednak shell to nie tylko powłoka. To także pełnym językiem programowania zawierajšcym konstrukcje iretacyjne i warunkowe, zmienne, w pełni konfigurowalne œrodowisko urzytkowinika. I tak chociażby na przykładzie basha. W plikach ~/.bash_profile , ~/.bash_login , ~/.profile, czy ~/.bashrc możesz w pełni skonfigurować pracę swojego shella. Na konfiguracji prompta (znak zachęty) poczšwszy, a na pisaniu własnych skryptów (które mogš robić właœciwie wszystko) skończywszy.
Dystrybucje -> Shell C
Shell C został opracowany przez Bill Joy'a wraz z innymi studentami Uniwersytetu Kalifornijskiego. Niewštpliwie shell C zaczerpnšł swojš nazwę z języka programowania C. Zresztš nie tylko nazwę. Składnia poleceń jest też podobna, dzięki czemu znajšc choć trochę C można szybko przyzwyczaić się do pracy w tym shellu i w pełni wykorzystywać możliwoœci jakie daje język skryptowy. Shell C posiada historię poleceń i umorzliwia poruszanie się po ej liœcie i wykonywanie konkretnych poleceń bez koniecznoœci ponownego wpisywania ich z klawiatury (można także wyœwietlić tekst polecenia z listy zmodyfikować je, a następnie wykonać zmodyfikowane polecenie). Nie muszę chyba pisać jakie to jest ułatwienie (notabene nie tylko hell C ma takš możliwoœć). Oczywiœcie shell C zawiera także mechanizm aliasów, które potrafiš skutecznie ułatwić pracę. No bo czy nie łatwiej jest wpisać um zamias umount /mnt/cdrom ? Mnie się wydaje, że łatwiej. Jednak to także zawiera chociażby bash, więc jedynš godnš uwagi i wyróznienia "nowoœciš" jest podobieństwo składni poleceń do języka C.
Edytory -> Vi
Edytor vi jest chyba najbardziej znanym linuxowym/unixowym edytorem textu. W przeciwieństie do seda omawianego wyrzej posiada on własny interface. Uruchomiamy go poprosty poleceniem vi lub vi plik_do_czytania. Bioršc pod uwagę, że poczštkujšcym najwyższš trudnoœć sprawia wyjœcie z tego edytora tym zajmiemy się od razu na poczštku. Po uruchomieniu naciskamy klawisz Esc i zaraz po nim i i już możemy pisać do woli. Gdy chemy wejœć w tryb komend edytora vi zwyczajnie naciskamy Esc. No i oczywiœcie wyjœcie z edytora to :q jeżeli nic nie zmienialiœmy w pliku lub :q! jeżeli coœ zmienialiœmy a nie chcemy tego zapisać. Jeżeli modyfikowałeœ jakiœ plik i chcesz go zapisać to istnieje oczywiœcie kilka sposobów na dokonanie tego: :w - zapisanie do pliku podanego przy uruchamianiu edytora i nie wychodzenie z niego :w inny_plik - zapisanie do innego pliku (jak wyżej nie wychodzi z edytora) :x - zapisanie do pliku podanego przy uruchamianiu vi i opuszczenie edytora Jeżeli jesteœmy w trybie poleceń to istnieje jeszcze kilka komend, które mogš sie przydać: x - kasowanie bieżšcego znaku w pozycji kursora dw - kasowanie słowa na poczštku którego stoi kursor dd - kasowanie całego wiersza D - usówa tekst od pozycji kursora do końca lini (vi rozróżnia małę i duże litery) u - anulowanie ostatniej opercji kasowania 0 (zero) - przenosi kursor do poczštku linii $ - przenosi kursor na koniec linii :$ - przenosi kursor na koniec pliku /jaki_tekst - szukanie tekstu w kierunku końca pliku ?jaki_tekst - w kierunku poczštku :set all - wyœwietlenie wszystkich opcji edytora vi :set wm=liczba - wystawienie długoœci wiersza pliku :set list - wyœwietla znaki ukryte :set nolist - cofa powyższe polecenie :set number - numeruje wiersze :set nonumber - cofa powyższe polecenie :set showmode - pokazuje tryb w jakim aktualnie znajduje się vi :set noshowmode - cofa powyższe polecenie Do przesówanie ekranu służš następujace kombinacje klawiszy: CTRL+u - pół ekranu w górę CTRL+d - pół ekranu w dół CTRL+y - ten skrót przesówa ekran w górę nie przemieszczajšc kursora CTRL+e - ten natomias przesówa ekran w dół także nie przemieszczajšć kursora
Edytory -> Sed
Nazwa sed pochodzi z ang. stream editor - edytor strumieniowy. Nie posiada on żadnego interface'u graficznego polecenia wydajemy mu z lini komend shella. Pracuje właœciwie tak jak każdy inny edytor. Pobiera dane z pliku, wykonuje polecenia na tym pliku, ale nie zapisuje przetworzonych danych z powrotem do tego pliku tylko wyœwietla je na standardowe wyjœcie (czyt. ekran). Nie stanowi to jednak żadnego problemu, gdyż można urzyć przecież przekierowywanie > lub >>. Składnia edytora sed: sed -n 'polecenie' [plik_wejœciowy] sed -n [-e polecenie] [-f skrypt z poleceniami] [plik_wejsciowy] Przy czym: -n nie wyœwietlaj wynikowych wierszy -e pobierz polecenie z wiersz -f pobierz polecenie z pliku Gdy sed ma wykoneć tylko jedno polecenie nie trzeba urzywać opcji -e, jednak jeżeli chcemy urzyć więcej niż jendego polecenia na jakimœ pliku to opcję -e musimy urzyć przed każdym z tych poleceń np. sed -e 'polecenie1' -e 'polecenie2' plik_wejsciowy. W takim wypadku lepiej jest urzyć opcji -f, tworzšc najpierw jakiœ plik z poleceniami edytora sed. Wywołanie edytora będzie miało wtedy postać: sed -f skrypt plik_wejœciowy. Kilka co bardziej przydatnych poleceń: s/jaki_tekst/na_jaki_teskt/znaczniki. Dla przykładu: chcemy zastšpić wystšpienia wszystkich słów ala na ola. Możemy to wykonać np. takim poleceniem sed 's/ala/ola/g' tekst.txt g - zastšp wszystkie wystšpienia p - wyœwietl wiersz po zastšpieniu w - zapisz wiersz do pliku (po wykonaniu zastšpienia) n - zastšp n-te wystšpienie wzorca ( 1<= n => 512) = - wypisz numer bieżšcego wiersza na standoardowym wyjœciu ( z reguły jest to ekran;)) y/123/456 - zastšp wszystkie znaki z pierwszego argumentu znakami z drugiego ( długoœć obu argumentów musi być taka sama polecenie sed -n '1,5p' tekst.txt przeœle pięć wierszy z pliku tekst.txt, gdzie p oznacza wyœwiel wiersz. Jest urzywane razem z opcjš -n do wyœwietlania wybranych wierszy. d - usuń wybrane wiersze np. sed '/^$/d' tekst.txt usunie wszystkie puste wiersze z pliku Podsumowujšc jest to bardzo przydatny program pomagajšcy w pracy (np. przy edycji plików wynikowych ankiet na stronach www ;)) Edytor ten bardzo ułatwia pracę i sprawia, że w połšczeniu z innymi poleceniami linuxowymi możemy zrobić z tekstem co tylko zechcemy.
Œrodowiska graficzne -> KDE
Jeżeli ktoœ ma ochotę popracować w interfejsie graficznym to moim zdaniem najlepszym wyborem będzie KDE. Konfiguracja wszystkich programów napisanych dla KDE odbywa się graficznie co zaoszczędzi czasu na przyswojenie sobie wiedzy potrzebnej do ręcznej edycji plików konfiguracyjnych (chociaż ja polecam ręcznš edycję). KDE wchodzi w skład wielu dystrybucji Linuxa więc zdobycie go nie stanowi żadnego problemu. Instalacja też takowego nie sprawia, gdyż wystarczy wybrac go przy instalacji, a system wszystko wykona za nas. Multum programów i polski interfejs stanowiš kolejny duży plus. Pozatym Kde 2 zawiera doskonałš przeglšdrkę internetowš Konqueror stanowišcšalternatywę dla tych, co nie chcš używać Mozilli, czy Netscape'a. Przeglšdarka ta obsługuje włsciwie wszystkie internetowe standardy: JavaScript, Java, HTML 4.0, CSS-1, CSS-2 (Cascading Style Sheets), SSL (Secure Socket Layer dla tranmisji szyfrowanych), a także pluginy Netscape dla Flasha, odtwarzania dzwięku RealAudio, czy obrazu RealVideo. Dla tych co chcieliby popracować w biurze oczywiœcie także nie zabrakło odpowiedniej aplikacjii. A jest niš mianowicie Koffice. Aplikację do rysownia "obrazków" wektorowych - KIllustrator, nie mogło oczywiœcie zabraknšć edytora tekstu tutaj nazwanego KWord. Więc dostajemy do naszych łapek w pełni funkcjonalnš aplikację i oczywiœcie darmowš. Poniżej kilka screenów z najnowszej odsłony KDE 2.