|
Prosty, tani, niezawodny: dekoder USB do laptopa, DVB-T, MPEG-4 naziemna telewizja cyfrowa w komputerze |
|
Pierwsze podejście,czyli " OD ZERA " . Rozpoczynamy od ustaleń :
Dobra - siadam przy kompie. Jest Debian - dość stare jądro,no cóż nikt nie jest doskonały. Badam maszynę jaką dostałem do ręki - fatalnie - rozpoznanie sprzętu odbywa się przy pomocy Windows'a. Ale obciach, żeby zainstalować system operacyjny trzeba mieć inny system operacyjny. Mam: DYGRESJA : Jak rozwiązać problem badania sprzętu przed instalacją ? Testuję rozwiązanie na paru komputerach. Wkładam do napędu CD z Knoppixem , a ten bez najmniejszych problemów rozpoznaje cały sprzęt . Teraz Debian jest naprawdę FREE ! Czy system Debian bootuje się z płyty ? Tak. ( potem trzeba to koniecznie wyłączyć vide - płytka z Knoppixem ). Instalacja Debiana przebiega łagodnie. Robię wszystko po kolei - zgodnie z ustaleniami. Przy okazji instalator pyta mnie o kilka drobiazgów . |
Nazwa | Partycja | Rozmiar | |
Win98 | Fizyczna FAT | hda 1 | 2,6 GB |
/ | Fizyczna ext2 | hda 4 | 9,88 GB |
Home | Logiczna ext2 | hda 5 | 10 GB |
Usr | Logiczna ext2 | hda 7 | 10 GB |
Var | Logiczna ext2 | hda 6 | 5 GB |
Swap | Fizyczna swap | hda 2 | 0.5 GB |
Tmp | Logiczna ext2 | hda 8 | 2 GB |
|
Bardzo ciekawa właściwość - jeśli system przy instalacji dostanie odpowiednio przygotowane partycje, montuje je w systemie plików jako katalogi. Jeśli zdarzy się nieszczęście na jednej partycji, można uratować danez pozostałych.
Niestety kłopot - nie widać karty sieciowej. Ten standardowy problem zniknie po rekompilacji nowego jądra.Spoko. DYGRESJA : Bywa odwrotnie ! Instaluję - PRZYZNAJĘ NA STAREJ MASZYNIE - jądro 2.2.... i śmiga po sieci. Po rekompilacji do wersji 2.4.. . no Ether ! Ciekawe , że Knoppix 2.4.... zasuwa po sieci z tej samej karty aż miło. Każdemu zakładam konto ( adduser ) podaje swój login , pełną nazwę , hasło. Dla porządku proszę, żeby jako pełną nazwę podawali swoje pełne dane - będzie łatwiej adminowi . Dodajemy dwu najwybitniejszych majstrów Tomka i Krzycha od Debiana do grupy well . Będą mogli uzyskać prawa root'a przez su- bez podawania hasła . To ma ułatwić pracę |
|
Drugie podejście,czyli " O PZREWADZE NOWYCH JĄDER NAD STARYMI ". Trzeba zainstalować nowe jądro . Z płyty , bo karty sieciowej ciągle nie ma. Właściwie, Debian to system zintegrowany z internetem, olbrzymia ilość konfigurowalnych pakietów pozwala "dostroić" system dokładnie do swoich potrzeb. Ale tysiące pakietów bez stałego łącza - to klęska dla admina . Na płycie - linux 2.4.28.tar.gz do rozpakowania tego pliku będzie potrzebny gzip , ale ten jest instalowany z każdym jądrem , więc nie ma problemu. Tu warto poczytać z dokumentacji jak trzeba sprawdzać autentyczność źródeł . O kluczach , podpisach cyfrowych itd. Warto ! Do prawidłowej i wygodnej instalacji nowego jądra potrzeba pakietów z płyty Debian'a . Do napędu wkładam pierwszą płytę z instalką Debian'a i bez mount wykonuję . Znajduje sie ona na plycie pierwszej debiana w katalogu: x:\pool\main\n\ncurses. Zmiana płyty w napędzie i linux 2.4.28.tar.gz trzeba przenieść do /usr/src i rozpakować. Czy przed kompilacją trzeba dołączyć do jądra łatę ? Rozpakowany plik powinien znalezc sie w katalogu obok katalogu z rozpakowanym jądrem. Aby uaktualnić jądro należy wydać polecenie: patch -p0 < ./grsecurity-2.0.2-2.4.28.patch.gz Czy ja to zrobiłem ? DYGRESJA : Testuję z ciekawości Jaka jest wersja gcc w komp Jaka jest potrzebna ? Został "apt-get'owany" pakiet libncurses5 dev więc można użyć menuconfig. Menuconfig pozwala na wybór składników przy pomocy menu okienkowego w trybie tekstowym Niektóre opcje do wyboru przed kompilacją jądra Linuxa :
Po skonfigurowaniu jądra pojawia się pytanie o chęć zapisu nowej konfiguracji:
Postanowiłem : Po ustawieniu wszystkiego w menuconfig nalezy wykonac kolejne polecenia: Jesli ponownie kompilujemy tą samą wersję jądra to powinniśmy przenieść starą bibliotekę z zainstalowanymi modulami np. : make modules_install - instaluje moduły i umieszcza w /lib/modules/2.4.28 #cp /usr/src/linux/arch/i386/boot/bzImage /boot/bzImage 2.4.28 -- kopiujemy nowe jądro #cp /usr/src/linux/.config /boot/config 2.4.28 -- kopia .configu z ustawieniami . Zachowujemy stare jądro w pliku vmlinuz.old, bo nie wiadomo czy nasze (nawet dobrze) skompilowane jądro uruchomi się bez problemów po restarcie systemu. #mv linux linux.old -- zmiana nazwy starego dowiązania #ln s linux 2.4.28 linux -- utworzenie nowego dowiązania - wskazuje na nowe jądro. #cp /usr/src/linux/System.map /boot/System.map-<nowa_wersja> kopiujemy plik #cp /etc/lilo.conf /etc/lilo.conf.old #chmod 0600 /etc/lilo.conf #vim /etc/lilo.conf -- Zmiany w pliku konfiguracyjnym LILO .Na końcu dodajemy : image=/boot/bzImage 2.4.28 label=linux NEW read only restricted # lilo -v -- aktualizujemy LILO : RESTART SYSTEMU - wstał ! #uname a Linux deb 2.4.28 ...no działa ! W /etc/lilo.conf zmieniamy wpis default=... na default=linux NEW ( od teraz system będzie domyślnie startował z nowym jądrem ) . #lilo Potrzebna jest sieć. Łatanie całej dystrybucji . #dhclient #ifconfig eth0 Jest IP 150.255.xxx.xxx . Ale jeśli na świat wychodzi się przez proxy server. Dalej dostrajanie systemu , bez żadnych udziwnień . Przejście na ext3 filesystem. Dla każdej partycji po kolei , np : W pliku /etc/fstab w linii /deb/hda5 zmieniamy wpis ext2 na ext3 . Restart . |
|
Trzecie podejście,czyli " MÓDL SIĘ I PRACUJ ". Opis " postinstalki " - zakładanie łat i zabezpieczeń można znaleźć w dokumentacji - nie będę jej tu kopiował . " Ruszyły " prace nad quotą , sambą , postfix'em , apache'm , firewall'em . |
|
Czwarte podejście,czyli " TYTANIC ". Dynamic Host Configuraton Protocol ( dynamiczny protokół konfiguracji hostów ) jest protokołem umożliwiającym zdalną konfiguracje komputera, niezależnie od OS-u na jakim pracuje . Daje możliwość ustalenia: adresu IP, maski podsieci, domyślnej bramy w sieci, serwerów DNS, domeny w jakiej hosty pracują automatycznie - po starcie każdego klienta . DHCP na Debianie. Metoda jest niezła , prosta i skuteczna . Przygotuj "pusty " plik konfiguracyjny ( /etc/dhcpd.conf ), a potem pozbieraj dane o MAC'ach i można je szybko dopisać do pliku. Wygląda to +/- tak : #Domena - option domain-name "debian.net.pl"; # DNS - option domain-name-servers 192.168.2.99 194.204.152.34; # maska sieci - option subnet-mask 255.255.255.0; # Czas dzierzawy - default-lease-time 21600; max-lease-time 86400; # Obslugowana podsiec subnet 192.168.2.0 netmask 255.255.255.192 { range 192.168.2.101 192.168.2.120; option broadcast-address 192.168.2.255; option routers 192.168.2.99; } #Linie dla komputerów którym my przydzielamy IP host win1 { hardware ethernet 00:00:00:00:00:00; fixed-address 192.168.2.101; option broadcast-address 192.168.2.255; option routers 192.168.2.99; } host win2 { hardware ethernet 00:00:00:00:00:00; fixed-address 192.168.2.102; option broadcast-address 192.168.2.255; option routers 192.168.2.99; } . . host win10 { hardware ethernet 00:00:00:00:00:00; fixed-address 192.168.2.110; option broadcast-address 192.168.2.255; option routers 192.168.2.99; } W czasie instalacji programu dhcpd na serwerze należy pamiętać, by utworzyć plik # touch /etc/dhcpd.leases . W pliku tym serwer zapisuje sobie informacje na temat aktualnie wydzierżawionych numerów IP i jeśli go nie będzie, nie uda się uruchomić daemona . Jak większość serwerów - czy daemonów, dhcpd powinno być uruchamiane przy starcie serwera. Odpowiednie skrypty są przy instalacji dodawane do katalogu /etc/rc.d. Po każdej modyfikacji pliku konfiguracyjnego, by zmiany odniosły skutek, należy zrestartować serwer DHCP. Można zrobić to np. wydając polecenie /etc/rc.d/init.d/dhcpd restart. Na serwerze jest już zainstalowana quota. Jest to pakiet umożliwiający ograniczenie wielkości dostępnego obszaru dyskowego dla użytkowników . Ma za zadanie " uczciwe " gospodarowanie miejscem na dysku i "sprawiedliwy" podział.Np. admin 3/4 - reszta userów - 1/4 .Trzeba ja uruchomić i skonfigurować . Trzeba dodac quote do systemow plikow na dysku , edytujac plik /etc/fstab.Np. : /dev/hda3 / ext3 defaults , userquota , grpquota 1 1 ( dla użytkowników lub dla grup ) Tworzymy teraz plik z informacjami dla Quoty. Np. : # touch /home/quota.user # chmod 600 /home/quota.user
lub/ i # touch /home/quota.group # chmod 600 /home/quota.group
Restart ? Limit dla użytkownika - edquota KLIKACZ Otwiera standardowy edytor zapisany w zmiennej EDITOR (vi ). Quotas for user KLIKACZ /dev/hda3: blocks in use: 2594, limits (soft = 5120, hard = 6000 ) inodes in use: 356, limits (soft = 1000, hard = 1500)
blocks in use -- aktualna ilość miejsca zajmowana przez naszego użytkownika, inodes in use -- liczba plików, które użytkownik posiada. Dla grup limity ustawiamy tak samo. Wartość soft oznacza maksymalną wartość jaką użytkownik ma przyznaną , ale istnieje jeszcze grace period, ktora razem z soft limit stanowi nieprzekraczalna ilość dostępnego miejsca - hard limit Grace period ustawia sie wydajac polecenie edquota -t Time units may be: days, hours, minutes, or seconds Grace period before enforcing soft limits for users: /dev/hda3: block grace period: 7 days, file grace period: 7 days 7 days - oznacza okres czasu, mozna go zamienic z dni na godziny, minuty, sekundy. Quotachec - wykonuje skanowanie ze zwroceniem uwagi na uzycie systemu plikow i katalogow, Repquota - podaje uzycie systemu plikow, Uotaon , quotaoff - startuje lub zatrzymuje quote.
I NAGLE - gorzej jak na Tytanic'u. BANG ! Nie ma prądu - no to po nas ! Padła faza i to na zasilaniu SERWERA ! Zagłada w 0.2 s Szybka rekompilacja gniazd sieciowych . Podnosimy 4 klienty i serwer....nie ten się nie podnosi. Jest bardzo źle. Próbuję analizować sytuację i przypominam sobie całą dotychczas nabytą wiedzę . Te wszystkie wykłady o deskryptorach , węzłach , tablicach otwartych plików. No i Linuxowy system zapisu danych na dysku. Nie mamy żadnej gwarancji , że pliki na dysku są OK. odratowanie jądra jeszcze niczego nie zmienia . Po namyśle stwierdzam , że " koszt " reanimacji systemu przekroczy koszt nowej instalacji , grupa specjalna nie daje się jednak przekonać i ..... podnoszą system . Jak to zrobili ? Odsyłam do dokumentacji Tomka - doskonała lektura. Ja przeczytałem dokładnie i wiem , że wypracowali algorytm . Dla mnie bomba ! |
|
Piąte podejście, czyli " KRAJOBRAZ PO BITWIE ". Zaczynamy wszystko od nowa. Krajobraz po bitwie. Na "wygląd" serwer i sieć się podniosły , ale moje lamerskie wątpliwości chyba się potwierdzają Samba to linuxowy serwer (daemon), umożliwiający udostępnienie użytkownikom sieci ich kont za pośrednictwem otoczenia sieciowego - dobrze znanego z systemu windows. Możliwe jest zarówno udostępnienie ludziom ich prywatnych katalogów na serwerze, jak też utworzenie publicznych katalogów, które będą dostępne dla wszystkich. Samba się nie podnosi. Korzystamy z doskonałej maksymy ... Miej logi i patrzaj w logi ! No tak nie ma plików bazy danych , a powinny być. Trzeba zacząć od nowa. Wyinstalowujemy i instalujemy Sambę . Mozolnie tworzymy config . Restart . Nic ! Mozolnie tworzymy config . Restart . Nic ! Mozolnie tworzymy config . Restart . Nic ! Mozolnie tworzymy config . Restart . Nic ! Co jest ? DYGRESJA:Ruszam do Samby. Muszę wiedzieć co jest nie tak ? Dziesięć minut czytania , dziesięć minut na napisanie configu. Tworzę całkowicie otwarty system . [global] [homes] [ pingwin ] Na serwerze są linuxowe konta root ; tomcio ; przemo . Zakładam katalog / home / pingwin ( chmod 766 ). W win 9x , na innych kompach daję workgroup = testowa i ..... już działa.w 15 min ! Przydatne konfiguracje . [global] Windows od wersji 98 wzywż domyślnie ma włączone kodowanie haseł. W przypadku przesyłania haseł niekodowanych użytkownik jest autoryzowany na podstawie swojego hasła w systemie Linux. Po załączeniu kodowania konieczne jest utworzenie pliku z hasłami specjalnie na użytek samby. guest account = gosc określa nazwę użytkownika, który będzie użyty przy dostępie do zasobów, dla których został włączony parametr guest ok. (oczywiście użytkownik o podanej nazwie musi istnieć w systemie). Łącząc te dwa parametry, można uostępniać określone zasoby bez konieczności autoryzacji. hosts allow = 192.168.0. 212.106.15.12 ograniczyć dostęp do serwera dla wybranych podsieci, bądź wręcz konkretnych komputerów (a raczej numerów IP im przypisanych ). hosts deny wiadomo local master = yes jeśli samba ma brać udział w rywalizacji o "tron" master browsera :-) null passwords = no czy samba ma zezwalać na użycie pustych haseł. os level = 80 szanse serwera samby na wygranie elekcji na master browsera. preferred master = yes wymuszenie elekcji przy starcie wins support = yes odpowiednie skonfigurowanie systemów klienckich, by wiedziały, że mają się łączyć z serwerem wins security = user indywidualnym hasłem dla każdego użytkownika Nazwy użytkowników muszą być w tym przypadku zgodne z nazwami w systemie Linux. share - umożliwia tworzenie zasobów dostępnych bez hasła. smb passwd file = /usr/local/samba/smbpasswd pełną ścieżkę do pliku server string = nasz serwer przypisać komputerowi krótki opis workgroup = grupa określenie nazwy grupy roboczej, do której ma należeć nasz serwer. Jest to jednocześnie nazwą domeny, jeśli się sambę skonfiguruje jako kontroler domeny. interfaces = adresy IP interfejsu sieciowego, na którym serwer Samby powinien nasłuchiwać. [<nazwa katalogu>] dostęp pod nazwą <nazwa katalogu> dowolny katalog na serwerze. writable = yes read only = no admin users = root tomcio listy użytkowników, którzy będą mieli dostęp do zasobu available = no tymczasowego wyłączenia udostępniania zasobu, browseable = yes wyświetlany przy "listowaniu create mask = 644 określenie praw dostępu do pliku path = /home/public bodaj najważniejszy parametr - podać lokalizację katalogu. public = no parametr ten ustawimy na yes, nie będzie wymagane podanie hasła users = tomcio przemo podać użytkowników, którzy będą mieli prawo używać zasobu. write list = tomcio przemo prawa zapisu w danym katalogu Kodowanie haseł --- usr/local/samba/smbpasswd /etc/rc.d/init.d/smb restart |