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

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.