Podręcznik testera jądra Linux
|
|
- Agnieszka Wawrzyniak
- 10 lat temu
- Przeglądów:
Transkrypt
1 Podręcznik testera jądra Linux (wersja 0.2) Michał Piotrowski Linux Testers Group Współautorzy: Maciej Rutecki Unixy.pl Rafał J. Wysocki Ludzie, którzy wpłynęli na kształt podręcznika: Bartłomiej Żołnierkiewicz Jarek Popławski Mariusz Kozłowski
2 II
3 Spis treści I Podstawy 1 1 Jądro, łatki, drzewa i kompilacja Jądro Łatki Ketchup Drzewa Drzewo -mm Kompilacja, przygotowanie systemu testowego Testowanie Faza Faza 2 (AutoTest) Faza Pomiar wydajności Witaj świecie, czyli czego właściwie szukamy? Sterowniki binarne i jądra dystrybucyjne Przechwytywanie błędów Konsola szeregowa Konsola sieciowa Git, quilt i przeszukiwanie binarne Git Quilt Przeszukiwanie binarne - idea Przeszukiwanie binarne z pomocą quilt Przeszukiwanie binarne z pomocą git-bisect Uwaga na make oldconfig Zgłaszanie błędów 37 6 Testowanie sprzętu 39 A Dodatek A 41 A.1 Wysyłanie łatek A.2 System testowy III
4 IV SPIS TREŚCI A.3 KLive A.4 Jak zostać deweloperem Linuksa? B Dodatek B 45 B.1 Jak pomóc w dalszym rozwoju podręcznika? B.2 Gdzie uzyskać pomoc w testowaniu? B.3 Trochę o Linux Testers Group B.4 Przyczyny propagacji błędów do stabilnych wersji Linuksa B.5 Licencja
5 Wprowadzenie Testowanie oprogramowania odgrywa bardzo ważną rolę w procesie jego tworzenia. Niniejszy podręcznik ma za zadanie przybliżyć Czytelnikowi proces testowania jądra systemu Linux. Jest podzielony na kilka krótkich rozdziałów omawiających ważniejsze zagadnienia, które powinny być znane każdemu dobremu testerowi. Nie opisuję w nim dogłębnie wszystkich problemów na jakie można natrafić podczas testowania aby nie zanudzać Czytelnika, oraz aby zostawić pole do własnych odkryć. Dlaczego warto się zająć testowaniem jądra Linux? Otóż moim zdaniem powinniśmy je testować, jeżeli chcemy mieć gwarancję, że kolejne wersje jądra będą prawidłowo działać na naszym sprzęcie i będą prawidłowo robić to, co jest nam potrzebne. Innymi słowy, jeżeli chcemy używać Linuksa na poważnie, to warto poświęcić trochę czasu na sprawdzanie, czy w kolejnej wersji nie szykuje się coś, co nam popsuje szyki, zwłaszcza, że obecnie jądro dość znacznie zmienia się między stabilnymi wersjami (z czego większość użytkowników nawet nie zdaje sobie sprawy). W gruncie rzeczy na tym polega odpowiedzialność użytkownika Open Source: należy sprawdzać nowe wersje i informować o problemach. Jeżeli tego nie robimy, to później nie mamy prawa narzekać, że coś przestało działać. Oczywiście z naszego testowania skorzystają także inni użytkownicy, ale raczej nie warto liczyć na to, że ktoś za nas sprawdzi czy na naszym sprzęcie nowa wersja jądra będzie działać prawidłowo, czy nie. :-) Rafał J. Wysocki Niestety wśród użytkowników Linuksa pokutuje mit mówiący, że ludzie chcący testować jądro systemu muszą umieć programować. Takie stwierdzenie jest równie prawdziwe jak stwierdzenie, że ludzie oblatujący nowe modele samolotów muszą umieć je projektować. Umiejętność programowania jest bardzo przydatna podczas wykonywania testów, pozwala lepiej ocenić sytuację, oraz pozwala poznać sposób działania jądra systemu, jednak brak tej umiejętności nie dyskwalifikuje nas jako testerów. Powinniśmy posiadać wiedzę o budowie i zasadzie działania systemu operacyjnego. Polecam lekturę Budowa systemu operacyjnego Linux SO/Linux/ (opracowanie jest przestarzałe, jednak jako wprowadzenie nadaje się bardzo dobrze), Linux Device Drivers Jonathana Corbeta, Alessandro Rubiniego i Grega Kroah- Hartmana i Linux Kernel Development Roberta Love (na stronie KernelNewbies można znaleźć listę wszystkich 1
6 2 SPIS TREŚCI ciekawych książek Bardzo przydatne artykuły przybliżające działanie niektórych komponentów jądra Linux można znaleźć na stronach Linux Weekly News (ang.). Powinniśmy jednak pamiętać, że żadna nawet najlepsza książka czy artykuł nie zastąpią nam lektury kodu źródłowego jądra systemu jedynej zawsze aktualnej dokumentacji. Kolejny często spotykany mit mówi: używając rozwojowych wersji systemu narażamy się na utratę danych. Jest to jak najbardziej prawdziwe stwierdzenie, tak samo jak używając noża kuchennego narażamy się na utratę palców. Aby zaradzić utracie danych, najlepiej jest wykonywać testy na systemie przeznaczonym do tego celu, zainstalowanym na oddzielnej partycji lub dysku, na którym nie montujemy żadnych partycji z systemu stabilnego. Dobrą praktyką jest też wykonywanie regularnych kopii zapasowych naszych danych (to jest bardzo dobra praktyka również na systemach uważanych za stabilne).
7 Część I Podstawy 1
8
9 Rozdział 1 Jądro, łatki, drzewa i kompilacja 1.1 Jądro Aktualną wersję jądra systemu możemy pobrać z The Linux Kernel Archives kernel.org/ w postaci dużego archiwum tar skompresowanego za pomocą programu gzip lub bzip2 (warto pamiętać o tym, że pliki bz2 są mniejsze niż gz). Archiwum należy rozpakować do jakiegoś katalogu (standardowo /usr/src/), można to zrobić na kilka sposobów (urok systemów uniksowych), moim ulubionym jest: $ tar xjvf linux-2.6.x.y.tar.bz2 - pliki skompresowane programem bzip2 $ tar xzvf linux-2.6.x.y.tar.gz - pliki skompresowane programem gzip Równie dobrze możemy postąpić zgodnie z instrukcją zawartą w pliku README $ bzip2 -dc linux-2.6.x.y.tar.bz2 tar xvf - $ gzip -cd linux-2.6.x.y.tar.gz tar xvf - Po rozpakowaniu kodu źródłowego jądra otrzymujemy katalog o nazwie odpowiadającej jego wersji (np. linux ), którego zawartość często jest nazywana drzewem jądra (ang. kernel tree). Z tego powodu słowo drzewo bywa wykorzystywane do nazywania różnych wersji kodu źródłowego jądra. Na przykład zamiast mówić wersja źródeł jądra przygotowywana przez Andrew Mortona wygodniej jest powiedzieć drzewo -mm. 1.2 Łatki Aby zaktualizować źródła nie powinniśmy pobierać całego archiwum, szybciej jest pobrać łatkę (ang. patch). Aplikujemy ją będąc wewnątrz katalogu z źródłami systemu: $ bzip2 -cd /ścieżka/do/patch-2.6.x.bz2 patch -p1 $ gzip -cd /ścieżka/do/patch-2.6.x.gz patch -p1 lub $ patch -p1 < /ścieżka/do/patch-x.y.z $ cat /ścieżka/do/patch-x.y.z patch -p1 w przypadku łatek rozpakowanych. (To oczywiście są tylko najprostsze sposoby, bez problemu można wymyślić ciekawsze.) Bardzo użyteczną funkcją jest odwracanie łatek gdy ich już nie potrzebujemy (lub źle działają), możemy to wykonać dodając do flag patch parametr -R. 3
10 4 ROZDZIAŁ 1. JĄDRO, ŁATKI, DRZEWA I KOMPILACJA $ bzip2 -cd /ścieżka/do/patch-2.6.x.bz2 patch -p1 -R Możemy też sprawdzić czy łatka aplikuje się czysto (nie ma żadnych odrzuconych fragmentów kodu) przy użyciu flagi dry-run $ bzip2 -cd /ścieżka/do/patch-2.6.x.bz2 patch -p1 --dry-run Jeżeli nie zauważyliśmy żadnych komunikatów 1 out of 1 hunk FAILED -- saving rejects to file *, możemy spokojnie nałożyć łatkę. Rzecz jasna po nałożeniu łatek otrzymujemy drzewo jądra różne od tego, które mieliśmy na początku. W związku z tym drzewo, od którego zaczynamy nakładanie łatek, często nazywa się drzewem surowym (ang. raw), lub zwyczajnym (ang. vanilla). Większość różnych wersji kodu źródłowego jądra, czyli drzew jądra, jest dostępna w postaci zbiorów łatek, lub nawet w postaci pojedynczych łatek, które należy nałożyć na odpowiednią surową wersję jądra dostępną z ftp://ftp.kernel.org. Stabilne wersje jądra mają oznaczenie 2.6.x lub 2.6.x.y, wersje rozwojowe są oznaczane jako 2.6.x-git*, 2.6.x-rc* oraz 2.6.x-rc*-git*. Ten sposób oznaczania pozwala na łatwe zorientowanie się, jakie łatki należy nałożyć na aktualnie posiadaną wersję, aby uzyskać tą która nas interesuje. Poniższy przykład rozjaśni całą sytuację. Mamy do dyspozycji stabilną wersję i chcemy przejść do wersji rozwojowej rc1-git1. Rozpakowujemy naszą kopię źródeł: $ tar xjvf linux tar.bz2 Pobieramy łatkę patch bz2 i odwracamy ją. $ bzip2 -cd /ścieżka/do/patch bz2 patch -p1 -R Teraz w katalogu roboczym mamy wersję o to nam chodziło, łatki stabilne i rozwojowe aplikują się czysto tylko na wersję 2.6.x, ponieważ już zawierają poprawki wchodzące w skład 2.6.x.y. Teraz pobieramy łatki w wersjach , oraz i aplikujemy je po kolei. $ bzip2 -cd /ścieżka/do/patch bz2 patch -p1 $ bzip2 -cd /ścieżka/do/patch bz2 patch -p1 $ bzip2 -cd /ścieżka/do/patch bz2 patch -p1 Otrzymaliśmy wersję systemu Następnie trzeba pobrać dwie łatki rozwojowe rc1 i rc1-git1, aplikujemy je w podanej kolejności. Prawda że proste? Ale żmudne - dlatego ludzie, którzy nie lubią marnować czasu, stosują narzędzie nazywające się ketchup Więcej o aplikowaniu i ściąganiu łatek można przeczytać w plikach: Documentation/applying-patches.txt oraz README znajdujących się w źródłach jądra. Jeśli podczas nakładania łatki zobaczymy komunikat patch: **** malformed patch at line np. $ cat../sched-2.patch patch -p1 -R --dry-run patching file kernel/sched.c patch: **** malformed patch at line 33: if (next == rq->idle) oznacza to, że łatka najprawdopodobniej została prze formatowana przez naszego klienta poczty - lub też kopiowaliśmy łatkę bezpośrednio ze strony archiwum LKML - wtedy najczęściej wszystkie wcięcia używane w kodzie źródłowym znikają. Na stronie http:
11 1.3. KETCHUP 5 //marc.theaimsgroup.com/?l=linux-kernel wszystkie wiadomości są dostępne w postaci tekstowej (bez formatowania HTML) - wystarczy kliknąć na link Download message RAW. 1.3 Ketchup Ketchup jest narzędziem, dzięki któremu możemy w prosty i szybki sposób pobrać najnowszą wersję interesującego nas jądra systemu. Robi to w całkiem inteligentny sposób, sprawdza aktualną wersję i pobiera tylko wymagane łatki. Jeżeli używamy Debiana testing/unstable, to po prostu instalujemy pakiet ketchup przy pomocy naszego ulubionego narzędzia np. # apt-get install ketchup dostępny, to najłatwiej będzie wykonać: $ mkdir ~/bin (jeżeli nie mamy bin w katalogu domowym) $ cd ~/bin $ wget $ tar xjvf ketchup tar.bz2 Musimy także mieć zainstalowany pakiet python. Należy pamiętać o tym, że ketchup potrafi sprawdzać sygnatury łatek, a więc odwiedzamy stronę zapisujemy aktualny klucz do jakiegoś pliku tekstowego ($ gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E jakoś nigdy u mnie nie działało) i robimy: $ gpg --import plik_z_kluczem_kernel.org Teraz możemy sprawdzić jak to wszystko działa: $ mkdir ~/tree $ cd ~/tree $ ketchup -m Powinien pojawić się taki błąd: Traceback (most recent call last): File "/usr/bin/ketchup", line 695, in? lprint(get_ver("makefile")) File "/usr/bin/ketchup", line 160, in get_ver m = open(makefile) IOError: [Errno 2] No such file or directory: Makefile Oznacza to tylko i wyłącznie tyle, że nie mamy w tym katalogu żadnego drzewa Linuksa. Poleceniem ketchup 2.6-tip pobieramy najnowszą wersję drzewa stable : $ ketchup 2.6-tip None -> Unpacking linux tar.bz2 Applying patch bz2 Downloading patch bz2 --21:11: => /home/michal/.ketchup/patch bz2.partial
12 6 ROZDZIAŁ 1. JĄDRO, ŁATKI, DRZEWA I KOMPILACJA Translacja , Connecting to :80... połączono. Żądanie HTTP wysłano, oczekiwanie na odpowiedź OK Długość: 5,284 (5.2K) [application/x-bzip2] 100%[====================================>] 5, K/s 21:11:49 (6.18 KB/s) - /home/michal/.ketchup/patch bz2.partial saved [5284/5284] Downloading patch bz2.sign --21:11: patch bz2.sign => /home/michal/.ketchup/patch bz2.sign.partial Translacja , Connecting to :80... połączono. Żądanie HTTP wysłano, oczekiwanie na odpowiedź OK Długość: 250 [application/pgp-signature] 100%[====================================>] K/s 21:11:49 (18.34 MB/s) - /home/michal/.ketchup/ patch bz2.sign.partial saved [250/250] Verifying signature... gpg: Signature made wto 28 mar :37:31 CEST using DSA key ID 517D0F0E gpg: Good signature from "Linux Kernel Archives Verification Key <ftpadmin@kernel.org>" gpg: OSTRZEŻENIE: Ten klucz nie jest poświadczony zaufanym podpisem! gpg: Nie ma pewności co do tożsamości osoby która złożyła podpis. Odcisk klucza głównego: C75D C40A 11D7 AF ED5B C86B A06A 517D 0F0E Applying patch bz2 Teraz wydajemy polecenie ketchup -m aby sprawdzić, czy rzeczywiście mamy najnowsze stable: $ ketchup -m Jak widać, ketchup w razie potrzeby pobiera potrzebne łatki, inne bierze z folderu ~/.ketchup, znajdującego się w naszym katalogu domowym - więc dobrym pomysłem będzie wrzucenie tam łatek, które aktualnie już posiadamy. Przejście do konkretnej wersji drzewa nie stanowi dla ketchup a żadnego problemu. Po prostu wpisujemy ketchup wersja_drzewa np. $ ketchup rc4-mm > rc4-mm1 Applying patch bz2 -R Applying patch bz2 -R
13 1.4. DRZEWA 7 Applying patch rc4.bz2 Applying rc4-mm1.bz2 lub, gdy chcemy najnowsze drzewo -rt $ ketchup 2.6-rt ketchup 2.6-rt rc4-mm1 -> rt12 Applying rc4-mm1.bz2 -R Applying patch rc4.bz2 -R Applying patch bz2 Applying patch rt12 Narzędzie automatycznie nakłada/wyrzuca łatki. Aby pobrać archiwum z łatkami wchodzącymi w skład ostatniego -mm, powinniśmy wykonać $ wget -c ketchup -u 2.6-mm sed "s/.bz2/-broken-out.tar.bz2/" Wybrane drzewa: 2.6-tip - aktualne stabilne wydanie Linuksa 2.6-rc - najnowsza wersja rozwojowa -rc 2.6-git - najnowsza wersja rozwojowa -git 2.6-rt - drzewo Ingo Molnara 2.6-mm - drzewo Andrew Mortona 2.6-ck - drzewo Cona Kolivasa (desktop) 2.6-cks - drzewo Cona Kolivasa (serwer) Po co w takim razie wypisywałem te wszystkie polecenia służące do nakładania/odwracania łatek? Powód jest bardzo prosty - jak znajdziemy i zgłosimy błąd, to dostaniemy do przetestowania poprawkę, którą powinniśmy umieć poprawnie nałożyć. 1.4 Drzewa Często spotkamy się z pojęciem drzewo jądra (ang. kernel tree). Co to takiego? Drzewo, jest to zbiór łatek posiadający swoją własną nazwę np. drzewo -mm, -rt dający się nałożyć na konkretną wersję systemu. Do popularniejszych drzew można zaliczyć: Drzewo -mm (prowadzone przez Andrew Mortona) jest zbiorem innych mniejszych drzew i eksperymentalnych łatek. Drzewo -rt (prowadzone przez Ingo Molnara) - znajdują się w nim łatki zamieniające Linuksa w system ograniczony czasowo (Real Time). Drzewo -ck (prowadzone przez Cona Kolivasa) - skupia się na poprawianiu wydajności systemu.
14 8 ROZDZIAŁ 1. JĄDRO, ŁATKI, DRZEWA I KOMPILACJA Praktycznie każdy deweloper, oraz podsystem jądra posiada swoje drzewo nad którym prowadzone są prace. Po pewnym czasie różne części drzew wchodzą do drzewa surowego, prowadzonego przez Linusa Torvaldsa. 1.5 Drzewo -mm Jak już wcześniej wspomniałem, drzewo -mm jest zbiorem innych mniejszych drzew i eksperymentalnych łatek, to właśnie w nim przebiega główna linia frontu walki z błędami w Linuksie. Zrozumienie znaczenia tego drzewa ułatwi schemat przepływu łatek, a jest on następujący (przynajmniej tak to wygląda w teorii) drzewo -mm - drzewa podsystemów - drzewo Linusa. Nowe łatki wysyłane przez deweloperów, albo są włączane od razu do drzewa danego podsystemu, albo najpierw trafiają do -mm (jeżeli trafią od razu do drzewa podsystemu, to i tak zostaną przetestowane w -mm, ponieważ właśnie z tych drzew się ono składa). Andrew Morton łączy wszystkie drzewa w jedną spójną całość, którą następnie wypuszcza do przetestowania. Drzewo -mm jest zawsze dostępne w postaci pojedynczej łatki i zbioru wszystkich, z których zostało złożone (razem z poprawkami, które wprowadził Andrew). Ułatwia to odnajdywanie łatek wprowadzających błędy (więcej informacji o quilt i przeszukiwaniu binarnym można znaleźć w rozdziale czwartym). W katalogu, w którym umieszczone są łatki (na kernel.org) znajdziemy podkatalog hot-fixes - przed przystąpieniem do kompilacji warto zawsze do niego zajrzeć i pobrać poprawki, które się w nim znajdują. Łatki włączane i wyrzucane z drzewa -mm są wysyłane na listę mm-commits ( kernel.org/vger-lists.html#mm-commits) - jej śledzenie pozwoli nam na zorientowanie się w aktualnej jego zawartości, oraz ułatwi odnajdywanie łatek, które wprowadziły nowe błędy. Od czasu do czasu Andrew wysyła na mm-commits list zatytułowany mm snapshot brokenout-data-godzina.tar.gz uploaded jest to najnowsza migawka drzewa -mm przeznaczona głównie dla ludzi, którzy chcą pomóc w jego poskładaniu. 1.6 Kompilacja, przygotowanie systemu testowego Powinniśmy zacząć od przygotowania środowiska do pracy, potrzebne nam będą: gcc, make, binutils, util-linux, pakiet z plikami nagłówkowymi ncurses (libncurses5-dev w Debianie lub ncurses-devel w Fedorze). Plik Documentation/Changes w katalogu ze źródłami systemu zawiera spis wszystkich niekoniecznie wymaganych programów. Poniższe polecenia należy wykonać z uprawnieniami administratora. # groupadd kernel # mkdir /usr/src/kernel # chgrp kernel /usr/src/kernel # chmod 775 /usr/src/kernel/ # usermod -G kernel <login>
15 1.6. KOMPILACJA, PRZYGOTOWANIE SYSTEMU TESTOWEGO 9 Pierwsze polecenie tworzy nową grupę nazywająca się kernel, następnie tworzymy katalog roboczy, zmieniamy uprawnienia dostępu do katalogu tak, aby użytkownicy należący do grupy kernel mieli w nim prawo do zapisu. Ostatnie polecenie dodaje nasze konto do świeżo utworzonej grupy. Jeżeli używamy systemu opartego na Debianie, to polecenie usermod -G src <login> doda nasze konto do grupy src, która ma już prawo do zapisu w /usr/src. Warto zwrócić uwagę na to, że po pewnym czasie nasz katalog /usr/src/kernel może zajmować kilka gigabajtów, więc może powinniśmy go umieścić w jakimś innym miejscu. Aby skompilować jądro musimy wykonać sekwencję poleceń: make oldconfig - przetwarza nasz stary plik konfiguracyjny (nazywający się po prostu.config (na początku nazwy jest kropka - plik jest plikiem ukrytym)) i wyświetla zapytania czy chcemy użyć nowych opcji, sterowników etc. make menuconfig - pozwala zmienić konfigurację - instrukcja krok po kroku jak przeprowadzić konfigurację jądra znajduje się pod adresem: linuxa_26.xt.pl/ make - kompilujemy jądro systemu make modules_install - instalujemy wybrane moduły w /lib/modules/wersja cp arch/i386/boot/bzimage /boot/vmlinuz-2.6.x.y - kopiujemy jądro do katalogu /boot cp System.map /boot/system.map-2.6.x.y - kopiujemy mapę symboli do katalogu /boot Na początku, gdy nie wiemy jeszcze co włączyć a co wyłączyć w pliku konfiguracyjnym naszego jądra, można skorzystać z konfiguracji jądra dystrybucyjnego (przeważnie zawiera mnóstwo nie potrzebnych nam rzeczy, dlatego też warto się nauczyć konfigurować jądro ;)). $ zcat /proc/config.gz >.config $ make oldconfig Kilka przydatnych opcji: make O=/katalog/ - zapisuje wynik kompilacji w innym katalogu. Opcja bardzo przydatna, szczególnie, gdy nie chcemy sobie zaśmiecać katalogu z jądrem plikami *.o. (Trzeba wtedy też używać zmodyfikowanych wersji make O=/katalog menuconfig, make O=/katalog oldconfig, make O=/katalog modules_install itd.). make CC= - możemy podać nazwę naszego kompilatora gcc, np. w debianie mamy do dyspozycji kilka wersji gcc, gdy chcemy kompilować jądro wersją 3.4 wystarczy wpisać make CC=gcc-3.4. make C=1 - przed kompilacją źródła są sprawdzane przez sparse. make -j<liczba> - możemy podać, ile jednocześnie procesów gcc chcemy uruchomić. Na maszynach SMP przyśpiesza to proces kompilacji.
16 10 ROZDZIAŁ 1. JĄDRO, ŁATKI, DRZEWA I KOMPILACJA make xconfig - konfiguracja w trybie graficznym (qt). make gconfig - konfiguracja w trybie graficznym (gtk). Po wybraniu opcji: Loadable module support ---> [*] Enable loadable module support [*] Automatic kernel module loading będziemy mogli korzystać z tak zwanych modułów. Są to fragmenty kodu, które nie są wbudowywane w jądro na stałe. Dzięki modularyzacji jądro może być znacznie mniejsze, przez co może działać szybciej. Aby skompilować wybrany fragment kodu jako moduł musimy oznaczyć go literą M podczas konfiguracji np. <M> Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4 Jeśli wcześniej wybraliśmy opcję Automatic kernel module loading, to moduły powinny być ładowane przez jądro automatycznie wtedy, gdy będą potrzebne - czyli, jeżeli chcemy zamontować płytę cd-rom, to zostanie załadowany moduł isofs.ko. Do ręcznego ładowania i wyładowywania modułów można użyć polecenia modprobe (lub insmod, rmmod) modprobe isofs - załaduje moduł isofs.ko modprobe -r isofs - usunie moduł isofs.ko Wszystkie moduły jakie są aktualnie dostępne dla naszego systemu możemy znaleźć w podkatalogach /lib/modules/<wersja_jądra>/kernel. Podczas konfiguracji jądra warto zwrócić uwagę na opcje znajdujące się w menu Kernel hacking Powinniśmy włączyć przynajmniej: [*] Kernel debugging [*] Compile the kernel with debug info Poniższe opcje służą do debugowania konkretnej funkcjonalności jądra, w miarę możliwości powinniśmy włączyć je wszystkie (niektóre mogą znacznie obniżyć szybkość działania systemu) [*] Debug shared IRQ handlers [*] Detect Soft Lockups [*] Debug slab memory allocations [*] Slab memory leak debugging [*] RT Mutex debugging, deadlock detection [*] Built-in scriptable tester for rt-mutexes [*] Lock debugging: prove locking correctness [*] Lock dependency engine debugging [*] Locking API boot-time self-tests [*] Highmem debugging [*] Debug VM
17 1.6. KOMPILACJA, PRZYGOTOWANIE SYSTEMU TESTOWEGO 11 Bardzo użyteczną funkcją jest [*] Magic SysRq key Często pozwala ograniczyć skutki błędu jądra, oraz może służyć do uzyskania dodatkowych informacji o stanie systemu. Oferuje nam skróty klawiaturowe, które pozwalają wykonać ściśle określone instrukcje: Alt + SysRq + h - wyświetla pomoc Alt + SysRq + b - natychmiastowy restart systemu, bez odmontowania dysków i zapisania buforów. NIEBEZPIECZNE! Alt + SysRq + c - crashdump Alt + SysRq + e - wysyła sygnał TERM do wszystkich procesów z wyjątkiem procesu INIT Alt + SysRq + i - wysyła sygnał KILL do wszystkich procesów z wyjątkiem procesu INIT Alt + SysRq + k - sekwencja SAK (Secure Access Key), zabicie wszystkich procesów na danej konsoli, np. awaryjne wyłączenie XWindow, gdy Ctrl+Alt+Backspace zawiedzie Alt + SysRq + l - wysyła sygnał KILL do wszystkich procesów, z procesem INIT włącznie, skutkuje zatrzymaniem systemu Alt + SysRq + m - informacja o pamięci Alt + SysRq + o - wyłączenie systemu Alt + SysRq + p - wyświetla zawartość rejestrów i flag procesora Alt + SysRq + r - przełącza klawiaturę w tryb RAW - gdy np. Ctr+Alt+Del nie działa Alt + SysRq + s - synchronizacja dysków i zapisania zawartości buforów dysków Alt + SysRq + t - lista wszystkich zadań Alt + SysRq + u - przemontowanie wszystkich systemów plików w trybie tylko do odczytu SysRq, który to klawisz? x86 - Print Screen SPARC - STOP szeregowa konsola - Break PowerPC - PrintScreen (lub F13)
18 12 ROZDZIAŁ 1. JĄDRO, ŁATKI, DRZEWA I KOMPILACJA Wszystkie - echo t > /proc/sysrq-trigger Jak najbezpieczniej restartować komputer? Najpierw powinniśmy spróbować Ctrl + Alt + Backspace (XWindow) lub Ctrl + Alt + Del (konsola). Gdy to zawiedzie, to: aby zabić wszystkie procesy na danej konsoli: Alt+SysRq+k aby bezpiecznie zrestartować komputer: Alt+SysRq+s Alt+SysRq+u Alt+SysRq+b Więcej informacji na temat Magic SysRq key można znaleźć w pliku Documentation/sysrq.txt. W niektórych dystrybucjach (lub jeżeli skompilowaliśmy sterowniki naszego kontrolera SCSI / IDE / SATA albo system plików używany na / jako moduł) musimy wygenerować tzw. initrd. Powinno to za nas załatwić wydanie polecenia $ make install Jeżeli używamy grub, to plikiem konfiguracyjnym jest /boot/grub/menu.lst. Wpisujemy do niego: title Linux 2.6.wersja root (hd0,0) kernel /boot/vmlinuz-2.6.wersja ro root=/dev/<nasza partycja /> # Jeżeli używamy initrd # initrd /boot/initrd-2.6.wersja.img Użytkownicy lilo powinni w pliku /etc/lilo.conf wpisać image=/boot/vmlinuz-2.6.wersja label=linux initrd=/boot/initrd-2.6.wersja.img read-only root=/dev/<nasza partycja /> Następnie trzeba powiadomić lilo o zmianie konfiguracji $ sudo /sbin/lilo Powyższe kroki mogą już być wykonane przez skrypt instalacyjny jądra dostępny w naszej dystrybucji. Więcej informacji na temat konfiguracji bootloaderów można znaleźć w man lilo.conf i info grub. Poniżej znajduje się skrypt, dzięki któremu można pobrać, skompilować i zainstalować najnowsze jądro -stable. Skrypt jest dość uniwersalny, łatwo też jest dostosować go do własnych potrzeb. #! /bin/sh # Ścieżka do katalogu ze źródłami jądra SRC_PATH="/usr/src/kernel/linux-stable" OBJ_PATH="$SRC_PATH-obj/"
19 1.6. KOMPILACJA, PRZYGOTOWANIE SYSTEMU TESTOWEGO 13 cd $SRC_PATH # Pobieramy najnowsze -stable ketchup 2.6 # Zapamiętujemy wersję VER= ketchup -m # Odświeżamy konfigurację make O=$OBJ_PATH oldconfig # Budujemy jądro make O=$OBJ_PATH # Instalujemy moduły sudo make O=$OBJ_PATH modules_install # Kopiujemy skompresowany obraz jądra do /boot sudo cp $OBJ_PATH/arch/i386/boot/bzImage /boot/vmlinuz-$ver # Kopiujemy System.map do /boot sudo cp $OBJ_PATH/System.map /boot/system.map-$ver # Jeżeli używamy Fedory, to trzeba wygenerować fedorowe initrd # sudo /sbin/new-kernel-pkg --make-default --mkinitrd --depmod \\ --install $VER Poniżej zamieszczam odsyłacze do instrukcji budowania jądra metodą konkretnych dystrybucji CentOS (ang.) Debian (ang.) Fedora (ang.) Gentoo Mandriva (ang.) OpenSUSE (ang.) Ubuntu (ang.) Więcej informacji o arkanach konfiguracji i kompilacji jądra można znaleźć w książce Grega Kroah-Hartmana Linux Kernel in a Nutshell Linux posiada bardzo specyficzny model rozwoju - niespotykany w innych projektach otwartych czy zamkniętych, dlatego warto zapoznać się z zasadami nim rządzącymi stardust.webpages.pl/ltg/wiki/index.php/proces_rozwoju_j%c4%85dra_linux Krótkie wskazówki: wpisz make help i przyjrzyj się dostępnym opcjom w menu Kernel hacking ---> można znaleźć wiele użytecznych opcji zapoznaj się z opcjami skryptu ketchup
20 14 ROZDZIAŁ 1. JĄDRO, ŁATKI, DRZEWA I KOMPILACJA
21 Rozdział 2 Testowanie Proces testowania możemy podzielić na trzy fazy: 1. Używanie wersji testowej do normalnej pracy. 2. Użycie programów testujących system np. LTP. 3. Wykonywanie działań niekonwencjonalnych. 2.1 Faza 1 Pierwsza faza jest prosta - próbujemy uruchomić system: na początku w minimalnej konfiguracji z parametrem init=/bin/bash i w trybie bez sieci (przekazujemy 1 lub 2 do parametrów jądra - zależy od dystrybucji (sprawdź w dokumentacji dystrybucji lub w pliku /etc/inittab, który poziom init uruchamia system bez obsługi sieci) (przydaje się grub jako bootloader)) dopiero po sprawdzeniu działania konfiguracji minimalnych uruchamiamy normalnie system Następnie ściągamy jakiś plik z sieci, odbieramy pocztę, nagrywamy płytę z danymi/audio (przydaje się CD,DVD-RW) itd. 2.2 Faza 2 (AutoTest) W następnej fazie używamy wyspecjalizowanych programów służących do sprawdzania poprawności działania różnych podsystemów jądra oraz przeprowadzamy testy regresyjne i wydajnościowe. Te ostatnie są bardzo wartościowe dla deweloperów (i dla nas) - jeżeli przesiadka z wersji 2.6.x-rc1 na wersję 2.6.x-rc2 zaowocowała 10% spadkiem wydajności naszego systemu plików, to warto wyśledzić, która łatka to spowodowała. Do przeprowadzania zautomatyzowanych testów polecam użycie platformy AutoTest test.kernel.org/autotest/. Składają się na nią różnego rodzaju testy i narzędzia służące do profilowania systemu obudowane w proste w użyciu API. Na początku powinniśmy przejść do zalecanego w dokumentacji katalogu /usr/local i jako użytkownik uprzywilejowany 15
22 16 ROZDZIAŁ 2. TESTOWANIE wykonać polecenie svn checkout svn://test.kernel.org/autotest/trunk autotest. Podczas pracy z AutoTestem będziemy wykorzystywać konto użytkownika uprzywilejowanego, wbrew wszystkim zaleceniom, które mówią, żeby nie pracować na takim koncie. Powód jest bardzo prosty, duża część testów wymaga uprawnień administratora, a AutoTest z założenia ma być platformą nieinteraktywną. Dzięki temu możemy zostawić go na kilka godzin bez opieki i nie martwić się, czy wyskoczy prośba o podanie hasła administratora. (Jest to też kolejny dobry argument za używaniem odseparowanych systemów testowych - gdy coś pójdzie nie tak, to zniszczymy tylko system przeznaczony do testów, a nie do pracy :) Najprostszym sposobem uruchomienia testu jest wykonanie polecenia bin/autotest tests/nazwa_testu/control po przejściu do katalogu client. AutoTest wczytuje plik control i wykonuje zawarte w nim instrukcje. Najprostszą postacią pliku control jest: job.run_test( ltp ) Nie podaje on żadnych parametrów, które mają być przekazane do testu, zawiera tylko jego nazwę. Bardziej skomplikowane pliki control mają postać: job.run_test( pktgen, eth0, 50000, 0, tag= clone_skb_off ) job.run_test( pktgen, eth0, 50000, 1, tag= clone_skb_on ) Przekazują one parametry do programów testowych. Możemy zmodyfikować te parametry po zapoznaniu się z dokumentacją testu, oraz plikiem tests/nazwa_testu/nazwa_testu.py. Gdy AT dowie się już jaki test ma uruchomić i jakie przekazać do niego parametry, uruchamia plik tests/nazwa_testu/nazwa_testu.py. Najczęściej jest on trochę dłuższy, niż przedstawiony poniżej, ale ten dobrze obrazuje, co w takim pliku powinno się znaleźć. import test, os_dep from autotest_utils import * class isic(test.test): version = 1 # # + def setup(self, tarball = isic-0.06.tar.bz2 ): tarball = unmap_url(self.bindir, tarball, self.tmpdir) extract_tarball_to_dir(tarball, self.srcdir) os.chdir(self.srcdir) os_dep.library( libnet.so ) system(./configure ) system( make ) def execute(self, args = -s rand -d p ): system(self.srcdir + /isic + args) Pierwszą funkcją zawartą w skrypcie jest funkcja setup(), która ma za zadanie przygotować test do działania, czyli wykonuje za nas konfigurację i kompilacje testu. Jak sama nazwa wskazuje, funkcja execute() uruchamia test z zadanymi parametrami. Rezultaty wykonania testu można obejrzeć w katalogu results/default/nazwa_testu/. Plik status zawiera informację o tym, czy test zakończył się pomyślnie, lub czy coś poszło nie tak. Jeżeli chcemy uruchomić kilka testów jeden po drugim, to najlepiej jest przygotować plik z instrukcjami dla autotestu. Powinien on zawierać te same informacje, które można znaleźć w plikach control. Na przykład pierwsze pięć linijek pliku samples/all_tests wygląda tak: job.run_test( aiostress ) job.run_test( bonnie )
GRUB (GRand Unified Bootloader) - jest bootloaderem instalowanym standardowo w Ubuntu, potrafiącym obsłużyć kilka systemów jednocześnie (Multiboot).
GRUB (GRand Unified Bootloader) - jest bootloaderem instalowanym standardowo w Ubuntu, potrafiącym obsłużyć kilka systemów jednocześnie (Multiboot). GRUB ładuje system operacyjny do pamięci przekazuje
Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS
Qmail radość listonosza Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS 1 STRESZCZENIE Artykuł jest przedstawieniem podstawowej konfiguracji jednego z najpopularniejszych agentów MTA (Mail Transfer Agent)
K. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko
Jądro Linuksa dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Jądro Linuksa Program wykładu: Właściwości jądra Linuksa. Pliki źródłowe jądra. Konfiguracja jądra. Kompilacja i kompilacja skrośna
Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie:
Repozytorium służy do przechowywania plików powstających przy pracy nad projektami we w miarę usystematyzowany sposób. Sam mechanizm repozytorium jest zbliżony do działania systemu plików, czyli składa
Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego
Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego Cel ćwiczenia: Celem zajęć jest zdobycie doświadczenia i umiejętności instalacji systemu operacyjnego z rodziny Unix bez wykorzystania
UNIFON podręcznik użytkownika
UNIFON podręcznik użytkownika Spis treści: Instrukcja obsługi programu Unifon...2 Instalacja aplikacji Unifon...3 Korzystanie z aplikacji Unifon...6 Test zakończony sukcesem...9 Test zakończony niepowodzeniem...14
Kompilacja jądra systemu Linux
Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska Laboratorium Administrowania Systemami Komputerowymi Kompilacja jądra systemu Linux ćwiczenie numer: 2 2 Spis
Kopia zapasowa i odzyskiwanie Podręcznik użytkownika
Kopia zapasowa i odzyskiwanie Podręcznik użytkownika Copyright 2008 Hewlett-Packard Development Company, L.P. Windows i Windows Vista są znakami towarowymi lub zastrzeżonymi znakami towarowymi firmy Microsoft
Linux Kernel. Michał Kulling. matrix@arahnet.org. www.arahnet.org
Linux Kernel Michał Kulling matrix@arahnet.org www.arahnet.org Cele prezentacji Przedstawienie co to jest jądro systemu Co to jest jądro Linux Przedstawienie ogólnych informacji o jądrze systemu Linux
Acronis Backup & Recovery 10 Server for Linux. Instrukcja szybkiego rozpoczęcia pracy
Acronis Backup & Recovery 10 Server for Linux Instrukcja szybkiego rozpoczęcia pracy W tym dokumencie opisano sposób instalowania programu Acronis Backup & Recovery 10 Server for Linux oraz rozpoczynania
Instrukcja krok po kroku instalacji Windows Vista w nowym komputerze
Instrukcja krok po kroku instalacji Windows Vista w nowym komputerze Dostajemy wiele sygnałów od użytkowników portalu VISTA.PL w sprawie instalacji Windows Vista krok po kroku. W tym FAQ zajmę się przypadkiem
IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)
IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics wersji 20 przy użyciu licencja sieciowa. Ten dokument
Git rozproszony system kontroli wersji
Git rozproszony system kontroli wersji Piotr Macuk Wstęp System kontroli wersji (ang. version control system, VCS) służy do śledzenia zmian projektu w czasie. Umożliwia współpracę wielu osób oraz ułatwia
Połączenia. Instalowanie drukarki lokalnie (Windows) Co to jest drukowanie lokalne?
Strona 1 z 6 Połączenia Instalowanie drukarki lokalnie (Windows) Uwaga: Jeśli dysk CD Oprogramowanie i dokumentacja nie obejmuje obsługi danego systemu operacyjnego, należy skorzystać z Kreatora dodawania
SecureDoc Standalone V6.5
SecureDoc Standalone V6.5 Instrukcja instalacji WinMagic Inc. SecureDoc Standalone Instrukcja Instalacji Spis treści Zanim przystąpisz do instalacji... 3 Tworzenie kopii zapasowej... 3 Wymagania systemowe...
System kontroli dostępu ACCO NET Instrukcja instalacji
System kontroli dostępu ACCO NET Instrukcja instalacji acco_net_i_pl 12/14 SATEL sp. z o.o. ul. Budowlanych 66 80-298 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166
oprogramowania F-Secure
1 Procedura wygenerowania paczki instalacyjnej oprogramowania F-Secure Wznowienie oprogramowania F-Secure zaczyna działać automatycznie. Firma F-Secure nie udostępnia paczki instalacyjnej EXE lub MSI do
Użytkowanie PortableGit w systemie Windows. 1. Najważniejsze informacje
Użytkowanie PortableGit w systemie Windows. 1. Najważniejsze informacje Git w wersji przenośnej umożliwia korzystanie z repozytoriów na każdym systemie z rodziny Windows, który nie posiada zainstalowanego
Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po
Materiały wprowadzające. dr inż. Arkadiusz Chrobot
Materiały wprowadzające dr inż. Arkadiusz Chrobot 25 lutego 2019 Spis treści Wprowadzenie 1 1. ssh 1 2. scp 2 3. Linux Cross Reference 2 Wprowadzenie W tych materiałach wstępnych zawarte są krótkie opisy
System operacyjny Linux
Paweł Rajba pawel.rajba@continet.pl http://kursy24.eu/ Zawartość modułu 2 Instalacja opensuse Przygotowanie do instalacji Konfiguracja instalacji Zakończenie instalacji Instalacja oprogramowania Program
ABA-X3 PXES v. 1.5.0 Podręczna instrukcja administratora. FUNKCJE SIECIOWE Licencja FDL (bez prawa wprowadzania zmian)
Grupa Ustawienia Sieciowe umożliwia skonfigurowanie podstawowych parametrów terminala: Interfejs ETH0 Umożliwia wybór ustawień podstawowego interfejsu sieciowego. W przypadku wyboru DHCP adres oraz inne
Trochę o plikach wsadowych (Windows)
Trochę o plikach wsadowych (Windows) Zmienne środowiskowe Zmienną środowiskową można ustawić na stałe w systemie (Panel sterowania->system- >Zaawansowane ustawienia systemu->zmienne środowiskowe) lub też
Archiwum DG 2016 PL-SOFT
2 1 to kompleksowe narzędzie ochrony Twoich danych genealogicznych utworzonych w programie Drzewo genealogiczne. Aplikacja nie wymaga instalacji na komputerze i jest uruchamiana bezpośrednio z dysku USB.
Instalacja serwera baz danych PostgreSQL ze źródeł i pierwsze uruchomienie
Instalacja serwera baz danych PostgreSQL ze źródeł i pierwsze uruchomienie Kroki wstępne 1. Uruchamiamy wcześniej utworzoną maszynę wirtualną 2. Po uruchomieniu systemu ukaże się ekran logowania: 3. Logujemy
Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu
Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Etapy uruchamiania systemu 010 2 Systemy operacyjne i sieci komputerowe. Część 010. I. Etapy uruchamiania systemu Windows
Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie
Strona 1 z 5 Połączenia Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie Przed instalacją oprogramowania drukarki do systemu Windows Drukarka podłączona lokalnie to drukarka
Instrukcja instalacji usługi Sygnity Service
Instrukcja instalacji usługi Sygnity EmailService Usługa Sygnity EmailService jest przeznaczona do wysyłania wiadomości pocztą elektroniczną do klientów zarejestrowanych w Systemach Dziedzinowych Sygnity
System kontroli wersji, system zarządzania kodem źródłowym
System kontroli wersji, system zarządzania kodem źródłowym (ang. version/revision control system) VCS albo RCS Source control or (source) code management (SCM) Teoria Co to jest? Po co nam taki system
Instrukcja instalacji oprogramowania dla środowiska Linux
Instrukcja instalacji oprogramowania dla środowiska Linux Kurs Python od podstaw Przygotuj się jeszcze przed zajęciami! Specyfikacja komputera Python od podstaw minimum 8 GB RAM, rekomendowany procesor
Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux
Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux Kontakt: e-mail: kontakt@mforex.pl infolinia: 22 697 4774 www.mforex.pl 1 1 O platformie Platforma mforex Trader to część systemu
DESlock+ szybki start
DESlock+ szybki start Wersja centralnie zarządzana Wersja bez centralnej administracji standalone WAŻNE! Pamiętaj, że jeśli chcesz korzystać z centralnego zarządzania koniecznie zacznij od instalacji serwera
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM
Diagnostyka pamięci RAM
Diagnostyka pamięci RAM 1 (Pobrane z slow7.pl) Uszkodzenie pamięci RAM jest jednym z najczęściej występujących problemów związanych z niestabilnym działaniem komputera. Efektem uszkodzenia kości RAM są
Jako, że jesteśmy Linuksowcami będziemy używać OCR dla Linuksa. Właśnie zainstalowałeś silnik OCR ze słownikiem (by nie robił błędów)
Witajcie! Wyobraźmy sobie, że mamy przepisać książkę, która liczy sobie 600 lat, ma 1000 stron do LibreOffice Writer. KATORGA! Jednak żyjemy w XXI wieku, w którym komputery pomagają nam na każdym kroku.
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
SystimPlus. Dokumentacja (FAQ) dla wersji: v1.14.05.12
SystimPlus Dokumentacja (FAQ) dla wersji: v1.14.05.12 Spis treści 1.Co to jest SystimPlus?... 1 2.Instalacja i wymagania... 1 3.Jakie drukarki fiskalne obsługuje SystimPlus?... 3 4.Jak połączyć się z drukarką
KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED
KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:
Pomoc: konfiguracja PPPoE
Pomoc: konfiguracja PPPoE Sieć AGGnet wykorzystuje protokół PPPoE w celu uwierzytelnienia użytkownika, zanim przyznany zostanie dostęp do zasobów Internetu. Każdy abonent naszej sieci otrzymuje indywidualny
Tworzenie wirtualnej maszyny
SteamOS to dość świeże przedsięwzięcie firmy Valve, które ma na celu spopularyzowanie grania w gry na Linuksie. Wspomniany system operacyjny jest pochodną jednej z dystrybucji Linuksa - Debiana. Platforma
Materiały wprowadzające. dr inż. Arkadiusz Chrobot
Materiały wprowadzające dr inż. Arkadiusz Chrobot 26 lutego 2017 Spis treści Wprowadzenie 1 1. ssh 1 2. scp 1 3. Linux Cross Reference 2 Wprowadzenie W tych materiałach wstępnych zawarte są krótkie opisy
Instalacja programu Warsztat 3 w sieci
Instalacja programu Warsztat 3 w sieci (proszę uważnie przeczytać do końca) Spis treści 1 Przed instalacją...2 2 Przeprowadzanie po raz pierwszy instalacji sieciowej...3 2.1 Dane umieszczone na jednej
instrukcja INSTALACJI www.piersa.pl APi_proxy
instrukcja INSTALACJI 1 1. Instalacja Proces instalacji jest prosty wgrywamy pliki na serwer nadajemy prawa chmod 777 lub 755 dla katalogu w którym znajduje się aplikacja przeważnie będzie to katalog public_html
Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.
Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania. Q. Jak uruchomić instalator? A. Trzeba nadać instalatorowi atrybut 'wykonywalny'. Można to zrobić wydając polecenie `chmod
Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2
1. Instalacja serwera WWW Aby zainstalować serwer WWW w systemie Linux, należy wykorzystać menedżer pakietów apt-get. Polecenia które należy wpisać w terminalu użytkownika root 1 : apt-get install build-essential
Instrukcja obsługi Modułu Payu dla Moodle 2.x
Instrukcja obsługi Modułu Payu dla Moodle 2.x Wersja z 10 lutego 2015r. Spis treści 1. Wymagania............................................ 1 2. Instalacja.............................................
System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.
System FOKUS Instalacja bazy danych MySQL Autor : Piotr Zielonka tel. 601 99-73-79 pomoc@zielonka.info.pl Piotrków Tryb., sierpień 2018r. W wersji 2018.7.0 systemu FoKus wprowadzono funkcje umożliwiające
Szybki start instalacji SUSE Linux Enterprise Server 11 SP1
Szybki start instalacji SUSE Linux Enterprise Server 11 SP1 Szybki start instalacji SUSE Linux Enterprise Server 11 SP1 SKRÓCONA INSTRUKCJA OBSŁUGI NOVELL Aby zainstalować nową wersję produktu SUSE Linux
1. System kontroli wersji. 1.1. Instalacja programu kontroli wersji CVS
1 1. System kontroli wersji Już przy tak małym projekcie niezbędnym okazało się wdrożenie systemu kontroli wersji, co umożliwiło grupową pracę uczestników projektu. CVS jest narzędziem pomagającym w organizacji
Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie
Strona 1 z 6 Połączenia Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie Uwaga: Przy instalowaniu drukarki podłączonej lokalnie, jeśli dysk CD-ROM Oprogramowanie i dokumentacja
Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 25 ARCHITEKTURA SYSTEMU LINUX. Opracował Sławomir Zieliński
Zespół Szkół Technicznych w Suwałkach Pracownia Systemów Komputerowych Ćwiczenie Nr 25 ARCHITEKTURA SYSTEMU LINUX Opracował Sławomir Zieliński Suwałki 2012 Cel ćwiczenia Zapoznanie z budową i funkcjonowaniem
Wstęp. Skąd pobrać program do obsługi FTP? Logowanie
Wstęp FTP - (ang. File Transfer Protocol - protokół transmisji danych) jest to protokół typu klient-serwer, który umożliwia przesyłanie plików na serwer, oraz z serwera poprzez program klienta FTP. Dzięki
KATEGORIA OBSZAR WIEDZY NR ZADANIA. 2.1.2. Podstawowe informacje i czynności
Moduł 2 - Użytkowanie komputerów - od kandydata wymaga się zaprezentowania wiedzy i umiejętności w zakresie wykorzystania podstawowych funkcji komputera klasy PC i jego systemu operacyjnego. Kandydat powinien
Windows Server Active Directory
Windows Server 2012 - Active Directory Active Directory (AD) To usługa katalogowa a inaczej mówiąc hierarchiczna baza danych, która przynajmniej częściowo musi być ściśle związana z obiektową bazą danych.
Instrukcja konfigurowania sieci WiFi w Akademii Leona Koźmińskiego dla telefonów komórkowych z systemem Windows Mobile
Instrukcja konfigurowania sieci WiFi w Akademii Leona Koźmińskiego dla telefonów komórkowych z systemem Windows Mobile Niniejsza instrukcja została przygotowana na telefonie z systemem operacyjnym Windows
Szybki start instalacji SUSE Linux Enterprise Server 11
Szybki start instalacji SUSE Linux Enterprise Server 11 SKRÓCONA INSTRUKCJA OBSŁUGI NOVELL Aby zainstalować nową wersję SUSE Linux Enterprise 11, trzeba użyć następującej procedury. Ten dokument zawiera
S P I S T R E Ś C I. Instrukcja obsługi
S P I S T R E Ś C I Instrukcja obsługi 1. Podstawowe informacje o programie.................................................................................... 2 2. Instalacja programu.....................................................................................................
OPTIMA PC v2.2.1. Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 2011 ELFON. Instrukcja obsługi. Rev 1
OPTIMA PC v2.2.1 Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 Instrukcja obsługi Rev 1 2011 ELFON Wprowadzenie OPTIMA PC jest programem, który w wygodny sposób umożliwia konfigurację
EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA
Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu Układ graficzny CKE 2016 Nazwa kwalifikacji: Montaż i eksploatacja komputerów osobistych oraz urządzeń peryferyjnych Oznaczenie
Narzędzie konfiguracji rozruchu
Narzędzie konfiguracji rozruchu 1. By skorzystać z narzędzia konfiguracji rozruchu na początek konieczne jest utworzenie płyty ratunkowej bądź wykorzystanie narzędzia IT Edition i uruchomienie maszyny
Szybki start instalacji SUSE Linux Enterprise Desktop 11
Szybki start instalacji SUSE Linux Enterprise Desktop 11 SKRÓCONA INSTRUKCJA OBSŁUGI NOVELL Aby zainstalować nową wersję SUSE Linux Enterprise Desktop 11, trzeba użyć następującej procedury. Ten dokument
Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja
Strona 1 z 6 Połączenia Obsługiwane systemy operacyjne Korzystając z dysku CD z oprogramowaniem, można zainstalować oprogramowanie drukarki w następujących systemach operacyjnych: Windows 8.1 Windows Server
NS-2. Krzysztof Rusek. 26 kwietnia 2010
NS-2 Krzysztof Rusek 26 kwietnia 2010 1 Opis ćwiczenia Symulator ns-2 jest potężnym narzędziem, szeroko stosowanym w telekomunikacji. Ćwiczenie ma na cele przedstawić podstawy symulatora oraz symulacji
Optymalizacja programów Open Source. Profilery wysokiego poziomu część 2. Krzysztof Lichota
Optymalizacja programów Open Source Profilery wysokiego poziomu część 2 Krzysztof Lichota lichota@mimuw.edu.pl gprof gprof Pomiar działa na zasadzie instrumentacji kompilowanego kodu (wejścia i wyjścia
T: Instalacja systemu Windows 2008 Serwer w maszynie wirtualnej VirtualBox.
T: Instalacja systemu Windows 2008 Serwer w maszynie wirtualnej VirtualBox. Wstępna konfiguracja oprogramowania VirtualBox: Program VirtualBox zainstalowany jest w katalogu c:\programy\virtualbox. Po uruchomieniu
Konsola Linux. autor: Mariusz Barnaś
Konsola Linux autor: Mariusz Barnaś Wstęp Pierwsze uruchomienie Operacje na plikach Poruszanie się po katalogach Tworzenie plików i katalogów Wypisanie zawartości katalogu Dowiązania między plikami Łączenie
Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8
Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem
Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix
Wydział Zarządzania i Modelowania Komputerowego Specjalność: Informatyka Stosowana Rok III Semestr V 1. Logowanie w systemie Unix. Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu
Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa
Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Instalacja roli kontrolera domeny, Aby zainstalować rolę kontrolera domeny, należy uruchomić Zarządzenie tym serwerem, po czym wybrać przycisk
Pierwszy projekt. Na początku warto wspomnieć, że program WebSite X5 dostępy jest w 3 wariantach: Start, Evolution oraz Professional
Projektowanie stron może być proste? Sprawdzamy. {reklama-artykul} Tworzenie stron internetowych to w teorii zagadnienie skomplikowane, często wymagające zaawansowanej wiedzy z dziedziny programowania.
PROGRAM DO ARCHIWIZACJI NOŚNIKÓW KOPII ELEKTRONICZNEJ
POSNET POLSKA S.A. ul. Municypalna 33 02-281 WARSZAWA tel. +48 22 86 86 888 fax. +48 22 86 86 889 www.posnet.com PROGRAM DO ARCHIWIZACJI NOŚNIKÓW KOPII ELEKTRONICZNEJ INSTRUKCJA UŻYTKOWNIKA WERSJA 2.4
Instalacja PowerSDR v1.9.0-sr40
Instalacja PowerSDR v1.9.0-sr40 sq1psb@gmail.com sq1psb@o2.pl 19-03-2017 Informacje tu zawarte wynikają z moich doświadczeń z programami PowerSDR i nie należy ich traktować, jako jedyne,. Jest to jeden
INSTRUKCJA INSTALACJI
INSTRUKCJA INSTALACJI TcpMDT ver. 7 Aplitop, 2014 C/ Sumatra, 9 E-29190 MÁLAGA (SPAIN) web: www.aplitop.com e-mail: support@aplitop.com Spis treści Instalacja MDT ver. 7... 3 Wymagania systemowe... 3 Menu
Przykładowa konfiguracja konta pocztowego w programie Outlook Express z wykorzystaniem MKS 2k7 (MS Windows 2000 Proessional)
Przykładowa konfiguracja konta pocztowego w programie Outlook Express z wykorzystaniem MKS 2k7 (MS Windows 2000 Proessional) KROK NR 1: Uruchamiamy program Outlook Express. Jesteśmy proszeni o nazwę tożsamości.
Instalacja aplikacji dostępowej KSOmniPharm dla KS-ZSA
Instalacja aplikacji dostępowej KSOmniPharm dla KS-ZSA 1 / 22 Table of contents Aplikacja dostępowa KS-OmniPharm... 3 1. Instalacja aplikacji dostępowej... 4 1.1 Problemy z aplikacją dostępową... 11 2.
Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0
Instrukcja instalacji środowiska testowego na TestingCup 2017 wersja 1.0 Spis treści: 1. Wstęp Błąd! Nie zdefiniowano zakładki. 2. Konfiguracja sprzętowa 2 3. Instalacja bazy danych MySQL 5.7 2 4. Import
Tak wygląda taki kabel
1. Połączenie komputera z routerem/switchem Domyślnie wszystkie porty sieciowe są wyłączone. Aby się połączyć z urządzeniem należy wybrać kabel konsolowy i podłączyć do wejścia oznaczonego console na switchu
Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6
Zawartość Wstęp... 1 Instalacja... 2 Konfiguracja... 2 Uruchomienie i praca z raportem... 6 Wstęp Rozwiązanie przygotowane z myślą o użytkownikach którzy potrzebują narzędzie do podziału, rozkładu, rozbiórki
Konfiguracja vsftpd ( Very Secure FTP Server )
Konfiguracja vsftpd ( Very Secure FTP Server ) Jest to prawdopodobnie najbezpieczniejszy i najszybszy UNIX owy serwer FTP. Jego zaletami są m.in. prostota konfiguracji, bezpieczeństwo i szybkość (transfer
Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący
Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Systemy Operacyjne i Sieci Komputerowe Klasa: pierwsza Dział Dopuszczający Dostateczny Dobry
Dodatki. Dodatek A Octave. Język maszyn
Dodatki Dodatek A Octave Przykłady programów zostały opracowane w środowisku programistycznym Octave 3.6.2 z interfejsem graficznym GNU Octave 1.5.4. Octave jest darmowym środowiskiem programistycznym
Git, Bitbucket, IntelliJ IDEA
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 3 Git, Bitbucket, IntelliJ IDEA Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy
SERWER AKTUALIZACJI UpServ
Wersja 1.12 upserv_pl 11/16 SERWER AKTUALIZACJI UpServ SATEL sp. z o.o. ul. Budowlanych 66 80-298 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166 075 www.satel.pl SATEL
Pracownia Komputerowa wykład II
Pracownia Komputerowa wykład II dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada 1 Systemy operacyjne! Windows np. Windows 8.! Systemy unixowe:! Linux i Mac OS X 2 Logowanie na konta studenckie!
Skanowanie podsieci oraz wykrywanie terminali ABA-X3
Skanowanie podsieci oraz wykrywanie terminali ABA-X3 Terminale ABA-X3 od dostarczane od połowy listopada 2010 r. są wyposażane w oprogramowanie umożliwiające skanowanie podsieci w poszukiwaniu aktywnych
Instalacja (GM) AMXBans #1.5.1/ #1.6.1 na serwerze gry/stronie WWW. Wymagania
Instalacja (GM) AMXBans #1.5.1/ #1.6.1 na serwerze gry/stronie WWW Wymagania Aby poprawnie zainstalować (GM) AMXBans # 1.5.1/ # 1.6.1, potrzebujemy; * Najnowsze wydanie MetaModa * Najnowsza wersja AMXMod
PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl
PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl Do połączenia z serwerem A&B w celu załadowania lub pobrania materiałów można wykorzystać dowolny program typu "klient FTP". Jeżeli nie
IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux
IBM SPSS Statistics - ssentials for R: Instrukcje instalacji dla Linux Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics - ssentials for R w systemach operacyjnych Linux. Przegląd
WPROWADZENIE. Warto pamiętać o opcji autouzupełniania, której używamy naciskając klawisz [Tab]
WPROWADZENIE Po uruchomieniu terminala użytkownik uzyskuje tzw. znak zachęty (ang. shell prompt), np. $ lub #. Po zobaczeniu znaku zachęty można już zacząć wpisywać polecenia dla systemu. Historia wykonanych
INSTALACJA I KONFIGURACJA SYSTEMU WINDOWS
Zespół Szkół Technicznych w Suwałkach Pracownia Systemów Komputerowych Ćwiczenie Nr 14 INSTALACJA I KONFIGURACJA SYSTEMU WINDOWS Opracował Sławomir Zieliński Suwałki 2013 Cel ćwiczenia Nabycie umiejętności
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy
Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
(BSS) Bezpieczeństwo w sieciach WiFi szyfrowanie WEP.
Do wykonania ćwiczenia będą potrzebne dwa komputery wyposażone w bezprzewodowe karty sieciową oraz jeden Access Point. 1. Do interfejsu sieciowego komputera, z uruchomionym systemem Windows XP podłącz
Konfiguracja zapory Firewall w systemie Debian.
Konfiguracja zapory Firewall w systemie Debian. www.einformatyka.com.pl W zasadzie istnieje bardzo niewiele wirusów przeznaczonych na systemy z rodziny Unix lecz nie oznacza to że jesteśmy całkowicie bezpieczni.
SERWER AKTUALIZACJI UpServ
upserv_pl 02/14 SERWER AKTUALIZACJI UpServ SATEL sp. z o.o. ul. Schuberta 79 80-172 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166 075 info@satel.pl www.satel.pl SATEL
Nazwa kwalifikacji: Montaż i eksploatacja systemów komputerowych, urządzeń peryferyjnych i sieci Oznaczenie kwalifikacji: EE.08 Numer zadania: 01
Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu Nazwa kwalifikacji: Montaż i eksploatacja systemów komputerowych, urządzeń peryferyjnych i sieci Oznaczenie kwalifikacji: EE.08
Sprawozdanie z zadania 2. Artur Angiel, śr. 12:15
Sprawozdanie z zadania 2 Artur Angiel, śr. 12:15 hasło root'a: pldadmin Sprawozdanie z zadania 2 (instalacja i konfiguracja PLD) hasło userów: plduser 1. Wymagania wstępne 1.1. Tworzenie partycji i zakładanie
Synchronizator plików (SSC) - dokumentacja
SZARP http://www.szarp.org Synchronizator plików (SSC) - dokumentacja Wersja pliku: $Id: ssc.sgml 4420 2007-09-18 11:19:02Z schylek$ > 1. Witamy w programie SSC Synchronizator plików (SZARP Sync Client,
EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE
Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu Nazwa kwalifikacji: Montaż i eksploatacja systemów komputerowych, urządzeń peryferyjnych i sieci Oznaczenie kwalifikacji: EE.08
Automatyczna instalacja oprogramowania.
1 (Pobrane z slow7.pl) Samo zainstalowanie systemu nie nastręcza wielu problemów i z reguły cały proces przebiega szybko i sprawnie. Dłużej czasu zajmuje Nam odszukanie aktualnych sterowników do posiadanych