Akademia Górniczo-Hutnicza im. St. Staszica Unix/Linux 3 procesy, archiwa i inne Tomasz Bartuś 2012
Ustawienia poczty W związku z tym, że serwery AGH (galaxy, student i inne), obsługują pocztę z wykorzystaniem protokołu IMAP, aby z niej korzystać (także w trybie terminalowym), należy odpowiednio skonfigurować program pocztowy. Bardzo dobrym programem pocztowym, zaimplementowanym niemal do każdego systemu Linux jest Pine. Uwaga zanim zaczniesz konfigurację, upewnij się, że nie masz żadnych maili w INBOX. Gdy wykonasz poniższą instrukcję, folder INBOX będzie wskazywał na nowy serwer - "stary" INBOX nie będzie dostępny. Jeżeli ustawiamy pocztę na nowo założonym i nie używanym dotąd koncie, powyższa uwaga jest nieistotna. Z głównego menu programu Pine wejdź do Setup, a z niego do Config. Znajdź opcję inbox-path - jest jedną z pierwszych. Wpisz w niej: {poczta.agh.edu.pl/user=login@student.agh.edu.pl/ssl/novalidatecert}inbox Oczywiście login@student.agh.edu.pl zastąp swoim e-mailem. Wyjdź z konfiguracji, wróć do menu Setup, wybierz Collection List, Wciśnij A (Add Cltn). Wpisz: Nickname : IMAP Folders Server : poczta.agh.edu.pl/user=login@student.agh.edu.pl/ssl/novalidatecert Path : View : Oczywiście tutaj też login zastąp swoim login em. Wyjdź do menu wyżej, zapisując konfigurację. Na ekranie powinieneś mieć listę kolekcji folderów, a w niej Mail oraz IMAP Folders. Przy pomocy klawisza $ (Shuffle) możesz wybrać kolejność, w jakiej będą się one pokazywać. Pierwsza kolekcja jest kolekcją domyślną - okaże się to istotne przy zapisywaniu maili do folderów. To właściwie koniec. Przy każdym uruchomieniu Pine zapyta Cię o hasło do serwera pocztowego, a komfort korzystania z folderów IMAP jest bardzo podobny do pracy z lokalnymi folderami. Oczywiście można też mieć je równolegle. WWW w trybie tekstowym Do przeglądania stron WWW w trybie tekstowym służy przeglądarka lynx. Procesy, archiwa, inne ps Wyświetlanie informacji o uruchomionych procesach ps (1) ps -u user (2) ps aux (3) ps aux grep user (4) 1
(1) zwraca listę procesów uruchomionych z danego terminala, (2) zwraca listę procesów uruchomionych przez danego użytkownika, (3) zwraca listę wszystkich procesów uruchomionych w systemie, (4) zwraca szczegółowo opisaną listę procesów użytkownika user Fig. 1. Wynik działania polecenia ps aux Najważniejsze wyświetlane informacje: PID numer procesu (unikalny w systemie), USER użytkownik, który uruchomił dany proces, TTY terminal, z którego został uruchomiony proces, COMMAND polecenie, jakim został uruchomiony proces, STAT stan procesu. 2
Fig. 2. Wyniki działania poleceń: ps -u user oraz ps aux grep user Procesy obciążają procesor i zajmują pamięć. Aby zobaczyć tabelę przedstawiająca stopień wykorzystywania zasobów serwera przez uruchomione procesy, należy uruchomić polecenie top top (1) top grep user (2) (1) zwraca wysortowaną listę wszystkich uruchomionych procesów na serwerze wg. największego obciążenia procesora, (2) zwraca listę procesów użytkownika wysortowaną wg. obciążenia procesora, kill polecenie przesyła sygnał do wybranego procesu - domyślnie przerywa proces kill PID (1) kill %n (2) kill -9 PID (3) ctrl+z (4) (1) przerywa proces o numerze PID (podanym liczbowo) forma łagodna, (2) przerywa proces o numerze n (zgodnie z listą zwracaną przez jobs) 3
(3) wymusza bezwarunkowe zakończenie procesu (zabicie procesu), (4) usypia aktywny proces (tworzy z niego uśpione zadanie), jobs zwraca listę zadań uruchomionych/czekających w tle jobs fg przywraca do działania w trybie interaktywnym wybrane zadanie - domyślnie ostatnie uśpione fg (1) fg %n (2) (1) przywraca ostatnie uśpione zadanie, (2) przywraca zadanie o numerze n - zgodnie z listą zwracaną przez jobs bg przywraca do działania w tle wybrane zadanie - domyślnie ostatnie uśpione bg (1) bg %n (2) Uwaga! (1) przywraca ostatnie uśpione zadanie, (2) przywraca zadanie o numerze n - zgodnie z listą zwracaną przez jobs Domyślnie polecenia wydawane z konsoli s ą interaktywne, tzn. konsola jest blokowana aż do zakończenia polecenia. Dopisując & na końcu polecenia powodujemy, że polecenie wykonuje się "w tle", nie blokując konsoli). ps & ZADANIE 1. Wyświetl listy: wszystkich uruchomionych przez siebie procesów, wszystkich procesów uruchomionych w systemie, 2. Zarządzanie procesami: uruchom polecenie man passwd, zawieś je poprzez ctrl+z, 4
wyświetl listę zadań (procesów pierwszoplanowych, pracujących w tle i zawieszonych), przywróć polecenie do trybu interaktywnego poleceniem fg, uśpij ponownie, uruchom program pine w tle (korzystając z &), wyświetl listę zadań, zakończ działanie polecenia pine używając numeru zadania, wyświetl listę procesów, wyświetl tabelkę z wszystkimi procesami serwera aby sprawdzić, które z procesów w tej chwili najbardziej obciążają system, przenieś powyższe polecenie do tła, sprawdź które z Twoich procesów najbardziej obciążają system, używając numeru procesów PID, zakończ działanie wszystkich zadań drugoplanowych i działających w tle, Przydatne polecenia: who - lista użytkowników aktualnie zalogowanych na serwerze who [opcje] ping - sprawdza dostępność zdalnego serwera, ctrl+c kończy testowanie dostępności) ping [opcje] adres serwera traceroute - sprawdza dostępność zdalnego serwera, wypisując także serwery pośrednie traceroute [opcje] adres serwera finger - sprawdza informacje o użytkowniku, np. czas ostatniego logowania finger user finger user@serwer wget - pobieranie z sieci plików/stron wget opcje adres Ciekawe zastosowania wget: 5
wget -c http://ścieżka/do/pliku pobiera plik z sieci, jeśli przerwiemy pobieranie a następnie wykonamy to samo polecenie, plik zostanie dociągnięty z miejsca, w którym skończyliśmy, wget t 45 http://ścieżka/do/pliku jeżeli serwer przekroczy domyślną liczbę przerwań połączenia (20), trzeba zwiększyć limit przerwań (45), wget --limit-rate=10k http://ścieżka/do/pliku ściągamy plik z maksymalną szybkością 10 kb/s, wget -r -l 1 http://ścieżka/do/strony ściągamy całą stronę WWW, razem z obrazkami, wget t 50 o log http://ścieżka/do/pliku & - uruchomione w tle polecenie będzie tworzyć plik loga z postępami sciągania pliku, wget -r -t1 http://www.gnu.ai.mit.edu/ -o log tworzy lustrzany obraz witryny WWW GNU (z tą samą strukturą katalogów), stosując tylko jedną próbę pobierania dla każdego dokumentu i zapisuje dziennik pracy w pliku log, wget ftp://hniksic:mojehaslo@jagor.srce.hr/.emacs do zakodowania swojej nazwy użytkownika i hasła do HTTP lub FTP używamy odpowiedniej składni URL-a, ZADANIE 1. wyświetl aktualną ścieżkę i zawartość katalogu, 2. wykonaj polecenie echo $HOSTNAME 3. wykonaj polecenie who, 4. sprawdź poleceniem finger siebie i wybraną inną osobę, 5. Sprawdź polecenia ping i traceroute dla kilku wybranych serwerów (np. www.google.pl, www.allegro.pl) 6. Z poziomu terminala, korzystając z polecenia wget pobierz z serwera galaxy zawartość dokumentów: http://galaxy.agh.edu.pl/bartus/downloads/internet/cw_unix_1.pdf http://galaxy.agh.edu.pl/bartus/downloads/internet/cw_unix_2.pdf http://galaxy.agh.edu.pl/bartus/downloads/internet/cw_unix_3.pdf 7. pliki przenieś do katalogu ~/dokumenty_pdf ARCHIWA: tar, gzip, zip: tar+gzip: tar - łączy wybrane pliki/katalogi w jedno archiwum o rozszerzeniu *.tar (bez kompresji) lub *.tgz (z kompresją gzip), tar cvf archiwum.tar pliki/katalogi (1) 6
tar tf archiwum.tar (2) tar xf archiwum.tar (3) (1) tworzy archiwum, opcja v dla wypisywania dodawanych plików, (2) wypisuje zawartość archiwum, (3) odtwarza pliki z archiwum, gzip/gunzip - kompresuje/dekompresuje pojedyncze pliki, tworzy archiwum *.gz gzip pliki (1) gunzip archiwum.gz (2) (1) kompresuje osobno każdy z podanych plików, dodaje do nazwy '.gz'), (2) dekompresuje osobno każdy z podanych plików, usuwa z nazwy '.gz'), tar+gzip tar czvf archiwum.tgz pliki/katalogi (1) tar xzf archiwum.tgz (2) (1) tworzy archiwum tar skompresowane gzip em, (2) odtwarza pliki z archiwum tar skompresowanego gzip em, zip/unzip zip archiwum.zip pliki (1) zip -r archiwum.zip pliki/katalogi (2) unzip archiwum.zip (3) unzip archiwum.zip d./katalog (4) ZADANIE (1) dodaje pliki do archiwum.zip, (2) dodaje do archiwum.zip pliki i katalogi rekurencyjnie, (3) odtwarza pliki z archiwum.zip (4) odtwarza pliki z archiwum archiwum.zip do katalogu katalog 7
1. Utwórz archiwum tar o nazwie: lekcje_pdf.tar zawierające trzy pliki pdf, 2. Utwórz archiwum tgz o nazwie: lekcje_pdf.tgz zawierające trzy pliki pdf, 3. Utwórz archiwum zip o nazwie: lekcje_pdf.zip zawierające trzy pliki pdf, 4. Skasuj pliki źródłowe: cw_unix_1.pdf, cw_unix_2.pdf, cw_unix_3.pdf 5. Dla każdego z nich: sprawdź archiwum poleceniem file, wydrukuj zawartość, odtwórz zawartości archiwów w osobnych katalogach: archiwum_tar, archiwum_tgz, archiwum_zip (UWAGA: może to wymagać przekopiowania archiwum do odpowiedniego katalogu), Literatura: Dyrek A., 1992. Od PC do workstation czyli Jak zostać użytkownikiem systemu Unix. Wyd. Doktor Q Press, Kraków, s. 485. Moczurad W., 1993. W sieci. Unix sieci lokalne i rozległe. Wyd. Fortis, Kraków, s. 212. Prata S., Martin D., 1994. Biblia systemu UNIX V. Polecenia i programy użytkowe. Wyd. LT&P, Warszawa, s. 458. Silvester P., P., 1990. System operacyjny Unix. Wydawnictwa Naukowo-Techniczne, Warszawa, s. 320. http://galaxy.uci.agh.edu.pl/~jurczyk/wms/unix4.html http://www.linux.net.pl/~wkotwica/doc/wget/wget_8.html http://man.przez.net/wget.1.html 8