portal Michała Hanćkowiaka
Begin main content
Search · Index
No registered users in community Materiały
in last 10 minutes

SIKSOP - Temat A - Unix/Linux z perspektywy użytkownika

część 1 polecenia dotyczące plików/katalogów
część 2 polecenia dotyczące procesów

Wskazówki do obu powyższych części:
0. proszę ignorować nagłówki w powyższych linkach
1. do sprawozdania należy wstawiać "zadania" (nie "ćwiczenia" !);
odpowiedzi na pytania, wydruki z konsoli, skrypty, itp
2. za każde wykonane zadanie dodajemy sobie 1pkt (zadania oznaczone "(!)" - 2pkt)
3. jako maszyny zdalnej używamy maszyny lts.wmi.amu.edu.pl
"ssh user@lts.wmi.amu.edu.pl" lub "ssh lts"
4. wszystkie zadania z części 1 i 2 tematu A wykonujemy jako NIE-root
5. wskazówka do zadań o "X Windows", czyli do zadań serii 18* :
lepiej jest je robić po części 2 tematu A, gdy mamy już wprawę
w operowaniu procesami (polecenia ps, jobs, kill, itp)
6. z części 1 NIE robimy zadań: 19 i następnych...
7. zadania 28 (cz. 2), 12 (cz. 1) należy wykonywać w katalogu /tmp (a nie w "home")



Dalsze zadania tematu A:

/// wskazówka do zadania 18a z części 1 (1.5pkt)
Uruchamianie "Xvnc", x-klientów i vnc-klientów robić tak:
#Xvfb -ac :1 -screen 0 700x500x24 & # tego obecnie nie używamy
Xvnc -ac -SecurityTypes None :1 -geometry 700x500 & # x-serwer + vnc-serwer
# -ac wolny dostęp dla x-kli
# '-SecurityTypes None' wolny dostęp dla vnc-kli
# display_numb=1, screen_numb=0 (domniemany)
# '-listen inet' udostępnia x-ser przez siec, na porcie 6001 (=6000+display_numb)
xterm -display :1 & # to jest x-klient
xterm -display :1 -geometry 150x30+30+30 &
xclock -display :1 &
vncviewer localhost:1 & # to jest vnc-klient
# niekiedy zamiast "1" trzeba podac nr portu= 5901
# nr portu 5901 =5900+display_numb

Uwaga do komputerów na Morasku, 03.2018:
z włączaniem "środowiska desktopowego" na X-ser :1 jest pewien problem;
można to zrobić przez "compiz --display :1 &"
jednak nie działa to całkiem poprawnie...

uzupełnienie powyższej uwagi, 02.2019:
marco --display :1 & # czysty wm (window manager)
mate-session --display :1 & # pełny desktop (wm + obsługa innych rzeczy, ikonek itp)

/// wskazówka do zadania 18a z części 1, c.d., 03.2020 (1.5pkt)
jak wykonać eksperyment z Xvnc z komputera domowego? (spoza sieci WMI)
1. pamiętajmy że jeśli uruchamiamy na maszynie lts "Xvnc :D" (D=display number)
to Xvnc staje się serwerem sieciowym oczekującym na porcie 5900+D
każdy student musi użyć innego nr D !! jakie nr D na są zajęte na lts? patrz: ls /tmp/.X11-unix/
2. serwery na lts dopuszczają TYLKO klientów z sieci WMI, dlatego trzeba stworzyć tunel ssh
np. dla D=11, użyj opcji -L5911:localhost:5911 (lub odpowiednika w putty.exe)
potem uruchamiamy tkvnc.kit i wybieramy opcję Connect (podajemy localhost i 5911)
3. UWAGA: ze względów bezpieczeństwa nie uruchamiać pełnego środ. desktopowego,
ani niczego co pozwala uruchamiać dowolne komendy...
najlepiej uruchomić na lts: "wish mancala_vnc.tcl -display :11 &" lub "xclock -display :11 &"
bezpieczne wydaje się uruchamianie samego programu "marco" (BEZ mate-session !!!)

/// wskazówka do zadania 32 z części 2 (2pkt)
brakuje nam plików zródłowych .ti z opisami różnych typów terminali,
ale może "dekompilować" skompilowane pliki!!:
infocmp vt100 > vt100.ti; # jakiego typu terminalem jest xterm? sprawdź "echo $TERM"
potem można zmodyfikowac plik .ti i go skompilować do innego (niż std) katalogu,
wcześniej ustawiając zm. środ. TERMINFO;
działanie zmodyfikowanego kodu "clear" (czyszczącego terminal) wypróbować przy pomocy:
tput clear
wypróbuj także inne kody sterujące:
tput cup 10 10; echo -n "A ku ku"; tput cup 11 10; echo -n "tra la la"
("tput cup x y" ustawia kursor na podanych wsp terminala)
patrz: historia term. tekstowych (tty) -1-, -2-
nie lekceważmy tego tematu mimo że tty są "przestarzałe"
gdyż podłączając się do zdalnej masz. przez ssh nadal używamy tty!!!

zadanie 18b "eksperymenty z Xwin i VNC c.d." (1.5pkt)
1. Proszę zbadać co się dzieje jeśli wł/wył window maneger x-serwera;
opisać jaki to ma wpływ na okna x-kli oraz cały desktop.
2. Dodatkowo proszę wypróbować klienta vnc tkvnc.kit napisanego w j. Tcl,
(z folderu z materiałami pomoc.)
wywołanie: tclkit tkvnc.kit, tclkit-a trzeba ściągnąć z materiałów o j. Tcl.
3. Proszę uruchomić na x-ser skrypt mancala_vnc.tcl,
i sprawdzić czy da sie grać poprzez vnc viewer...

zadanie 18c "zabezpieczenia Xwin i VNC" (3pkt)
Na podstawie manuala zbadać jak można ograniczać dostęp do x-ser i vnc-ser
(patrz opcje Xvnc -auth i -rfbauth oraz polecenia xauth, xhost i vncpasswd).
Należy wypróbować te możliwości.

zadanie A.10 "pakiety linux-owe" (3pkt)
Oprogramowanie linuxowe jest dostarczane w tzw. pakietach ("paczkach");
są to pliki .rpm, .deb, .pet i inne ...
proszę zdobyć informacje o jednym z tych formatów,
opowiedzieć jak się instaluje pakiety w tym formacie,
oraz pokazać jak można rozpakować pliki z pakietu bez ich instalowania,
wymaga to wiedzy czym tak naprawdę jest plik danego formatu;
do sprawozdania dołączyć odp. wydruki przeprowadzonego eksperymentu

zadanie A.11 "prawa do pliku vs fun. sys." (1.5pkt)
Zbadaj doświadczalnie kiedy się sprawdza prawa do pliku:
podczas otwierania pliku fun. sys. open(), czy też dopiero
gdy się wykonuje operację na wcześniej otwartym pliku (np. write()).
Wykorzystaj przykład a11.c z folderu (kompilacja i uruchomienie: gcc a11.c -o a11; ./a11).
Do sprawozdania wstaw wydruki i wnioski.
Opis fun. sys. dotyczących plików: slajd 11.

zadanie A.11a "prawa do pliku vs fun. sys." (1.5pkt)
Co jeśli w momencie wywołania open() program ./a11 ma prawo "w" do pliku "qqq2.txt",
a PRZED wywołaniem write() to prawo zostanie mu odebrane ?
(czy w takiej sytuacji write() nie zadziała ?)
Wskazówka: zwiększ czas sleep(?) aby było wystarczająco dużo czasu
na zmianę praw do pliku (po open(), przed write()).

zadanie A.12 "kopie zapasowe" (2pkt)
Zademonstruj tworzenie kopii przyrostowych,
przy pomocy poleceń find i tar, wykorzystując przykłady:
find . -newermt '2018-03-19 14:20' -type f > lista_plikow_001.txt
tar cvf archiwum001.tar --files-from lista_plikow_001.txt

Wskazówka: należy utworzyć kilka plików, potem je modyfikować,
wybierać do kopii częściowych pliki zmodyfikowane po odpowiedniej dacie.
Proszę utworzyć 1 kopię pełną i 4 kopie częściowe.
W sprawozdaniu umieścić komendy, wydruk "ls -l *.tar", a także pokazać
jaka jest zawartość kopii częściowych (plików .tar) ...
Opis kopii zapasowych: slajdy 2-6.

zadanie A.12a "kopie zapasowe" (2pkt)
Zademonstruj tworzenie kopii różnicowych,
podobnie jak w zadaniu A.12.

zadanie A.13 "tmux, następca screen" (1.5pkt) nowość 08.04.2021
opisy programu tmux (patrz też strona SOS, tam gdzie literatura...)
wypróbuj następujące funkcje programu tmux:
1. tworzenie dodatkowych okien w sesji (C-b c) i przełączanie między nimi (C-b n/p)
2. tworzenie paneli w oknie (C-b % lub ") oraz przełączanie (C-b strzałki)
3. tworzenie kilku klientow do danej sesji (tmux attach)
4. wyswietl dostępne podkomendy tmux
5. odłączanie sie i podłączanie do sesji
6. objaśnij pojęcia: klient, sesja, okno, panel
wstaw do sprawozdania komendy, wydruki z okna (tak można pokazać 2 panele), odp na pytanie



uwaga: portal używa ciasteczek tylko do obsługi tzw. sesji...