|   |     | 
| (52 intermediate revisions not shown) | 
| Line 15: | Line 15: | 
|  | Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners. |  | Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners. | 
|  |  |  |  | 
| - | === Zadanie 5: === | + | === Zadanie 5  === | 
|  | Należy zainstalować programy: |  | Należy zainstalować programy: | 
|  | * serwer ''ssh'' |  | * serwer ''ssh'' | 
| Line 48: | Line 48: | 
|  | # otwieramy aplikację VirtualBox (wybieramy '''Applications''' -> '''Accessories''' -> '''VirtualBox''' w górnym menu), |  | # otwieramy aplikację VirtualBox (wybieramy '''Applications''' -> '''Accessories''' -> '''VirtualBox''' w górnym menu), | 
|  | # włączamy kreator tworzenia nowej maszyny wirtualnej ('''Machine''' -> '''New''') |  | # włączamy kreator tworzenia nowej maszyny wirtualnej ('''Machine''' -> '''New''') | 
| - | # '''Name''': ''student'' | + | # '''Name''': ''ImieNazwisko'' | 
|  | # '''Type''': ''Linux'' |  | # '''Type''': ''Linux'' | 
|  | # '''Version''': ''Ubuntu (64 bit)'' |  | # '''Version''': ''Ubuntu (64 bit)'' | 
| - | #: <code>'''Uwaga:''' w laboratorium będziemy używać systemu [https://ubuntu-mate.org/download/ Linux Ubuntu16.04 LTS] w wersji o 64-bitowej architekturze procesora ze śrdowiskiem graficznym MATE. Na 64-bitowym hoście można postawić system typu guest o architekturze zarówno 64 jak i 32 bity. Na 32-bitowym hoście możliwe jest postawienie tylko 32-bitowego systemu typu guest.</code> | + | #: <code>'''Uwaga:''' na laboratorium będziemy używać systemu [http://cdimage.ubuntu.com/ubuntu-mate/releases/18.04/release/ Linux Ubuntu 18.04 LTS] w wersji o 64-bitowej architekturze procesora ze śrdowiskiem graficznym MATE. Na 64-bitowym hoście można postawić system typu guest o architekturze zarówno 64 jak i 32 bity. Na 32-bitowym hoście możliwe jest postawienie tylko 32-bitowego systemu typu guest.</code> | 
|  | # '''Memory size''': ''3 GB'' (trzeba pamiętać, że pula pamięci RAM jest wspólna dla obu systemów - jeśli udostępnimy za dużo systemowi goszczącemu, możemy doprowadzić do problemów z działaniem hosta) |  | # '''Memory size''': ''3 GB'' (trzeba pamiętać, że pula pamięci RAM jest wspólna dla obu systemów - jeśli udostępnimy za dużo systemowi goszczącemu, możemy doprowadzić do problemów z działaniem hosta) | 
|  | # '''Hard disk''': wybieramy ''Create a virtual hard disk now'' |  | # '''Hard disk''': wybieramy ''Create a virtual hard disk now'' | 
| Line 57: | Line 57: | 
|  | ## '''Hard disk file type''': ''VDI (VirtualBox Disk Image)'' |  | ## '''Hard disk file type''': ''VDI (VirtualBox Disk Image)'' | 
|  | ## '''Storage on physical hard disk''': ''Dynamically allocated'' (rozmiar pliku na dysku hosta będzie się zwiększał w zależności od zajętości miejsca w systemie gościa) |  | ## '''Storage on physical hard disk''': ''Dynamically allocated'' (rozmiar pliku na dysku hosta będzie się zwiększał w zależności od zajętości miejsca w systemie gościa) | 
| - | ## '''File location and size''': w pierwszym polu wpisujemy nazwę dysku dla naszej maszyny (np. ''student'', dysk zostanie utworzony w katalogu domowym), natomiast rozmiar ustawiamy trochę większy od domyślnego (np. 10 GB) | + | ## '''File location and size''': w pierwszym polu wpisujemy nazwę dysku dla naszej maszyny (''ImieNazwisko'', dysk zostanie utworzony w katalogu domowym), natomiast rozmiar ustawiamy trochę większy od domyślnego (np. 10 GB) | 
|  |  |  |  | 
|  | W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy "włożyć" do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk '''Settings''' (lub kliknąć prawy przycisk myszy i również wybrać '''Settings'''). Następnie przechodzimy do '''Storage''' i tam klikamy na ikonę płyty (podpisaną '''Empty''') znajdującą się pod polem '''Controller: IDE'''. Następnie w menu wybieramy opcję '''Choose Virtual Optical Disk File'''. W okienku wyboru pliku wybieramy plik '''ubuntu-mate-16.04.1-desktop-amd64.iso''' z folderu <code>/opt/sk/shared/iso/</code>. |  | W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy "włożyć" do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk '''Settings''' (lub kliknąć prawy przycisk myszy i również wybrać '''Settings'''). Następnie przechodzimy do '''Storage''' i tam klikamy na ikonę płyty (podpisaną '''Empty''') znajdującą się pod polem '''Controller: IDE'''. Następnie w menu wybieramy opcję '''Choose Virtual Optical Disk File'''. W okienku wyboru pliku wybieramy plik '''ubuntu-mate-16.04.1-desktop-amd64.iso''' z folderu <code>/opt/sk/shared/iso/</code>. | 
| Line 67: | Line 67: | 
|  | == Zadanie 2: instalacja systemu Linux Ubuntu == |  | == Zadanie 2: instalacja systemu Linux Ubuntu == | 
|  | # Uruchamiamy maszynę wirtualną (zaznaczamy maszynę w oknie VirtualBox'a i klikamy '''Start''' w górnym menu) |  | # Uruchamiamy maszynę wirtualną (zaznaczamy maszynę w oknie VirtualBox'a i klikamy '''Start''' w górnym menu) | 
|  | + | #: '''Uwaga:''' Jeżeli w trakcie instalacji pokaże się ekran jak poniżej, to wciskamy '''prawy Ctrl + F7''' (pojawi się konsola) i następnie '''prawy Ctrl + F1''' (powinien wrócić graficzny instalator) | 
|  | + | #: [[File:UbuntuProblem VB.png|685px]] | 
|  | # W oknie '''Welcome''' wybieramy język angielski i klimay '''Install Ubuntu MATE''' |  | # W oknie '''Welcome''' wybieramy język angielski i klimay '''Install Ubuntu MATE''' | 
|  | # W kolejnym oknie '''zaznaczamy''' ściąganie aktualizacji i '''nie zaznaczamy''' ściągania dodatkowego oprogramowania (kodeków MP3, itp.) |  | # W kolejnym oknie '''zaznaczamy''' ściąganie aktualizacji i '''nie zaznaczamy''' ściągania dodatkowego oprogramowania (kodeków MP3, itp.) | 
| - | # W kolejnym oknie z menu wyboru dotyczącym sposobu instalacji wybieramy ''Something else'' (sami przeprowadzimy partycjonowanie dysku) | + | # W kolejnym oknie z menu wyboru dotyczącym sposobu instalacji wybieramy '''Something else''' (sami przeprowadzimy partycjonowanie dysku) | 
| - | #: <code>'''Uwaga:''' polecane jest zapoznanie się z hierarchią systemu plików w systemach Linux - [link]</code> | + | #: <code>'''Uwaga:''' polecane jest zapoznanie się z hierarchią systemu plików w systemach Linux (można o tym poczytać [http://osworld.pl/systemowa-hierarchia-plikow/ tutaj] lub [http://www.qkiz.pl/blog/ubuntu/newbie/5-dlaczego-ubuntu-podstawy-i-teoria.html?showall=1 tutaj])</code> | 
|  | # W kolejnym oknie zaznaczamy dysk <code>/dev/sda</code> oraz klikamy '''New Partition Table''' i następnie w oknie '''Continue''' - pojawi się <code>free space</code>. Tworzymy dwie partycje: |  | # W kolejnym oknie zaznaczamy dysk <code>/dev/sda</code> oraz klikamy '''New Partition Table''' i następnie w oknie '''Continue''' - pojawi się <code>free space</code>. Tworzymy dwie partycje: | 
|  | ## '''Partycja głównego systemu plików''' |  | ## '''Partycja głównego systemu plików''' | 
| Line 96: | Line 98: | 
|  | # Pojawi się ekran proszący o wyjęcie płyty - sprawdzamy, czy obraz iso jest w wirtualnym napędzie ('''Settings''' -> '''Storage'''), jeśli tak - usuwamy i następnie restartujemy system |  | # Pojawi się ekran proszący o wyjęcie płyty - sprawdzamy, czy obraz iso jest w wirtualnym napędzie ('''Settings''' -> '''Storage'''), jeśli tak - usuwamy i następnie restartujemy system | 
|  | # Po restarcie pojawi się okno logowania - logujemy się na użytkownika ''student'' i w zasadzie mamy działający system |  | # Po restarcie pojawi się okno logowania - logujemy się na użytkownika ''student'' i w zasadzie mamy działający system | 
| - | # Możemy zauważyć, że okienko maszyny wirtualnej ma dość niską rozdzielczość i nie można tego rozmiaru zmienić. W tym celu istalujemy tzw. VirtualBox GuestAdditions: | + | # Możemy zauważyć, że okienko maszyny wirtualnej ma dość niską rozdzielczość i nie można tego rozmiaru zmienić. W tym celu istalujemy tzw. VirtualBox Guest Additions: | 
| - | #* w menu uruchomionej maszyny wirtualnej wybieramy '''Devices''' -> '''Insert Guest Additions CDImage''' | + | #* w terminalu ('''Applications''' -> '''System Tools''' -> '''MATE Terminal''') wpisujemy komendę: <p><pre>sudo apt-get install build-essential module-assistant</pre></p> | 
| - | #* procedura ta powoduje włożenie do wirtualnego napędu optycznego "płyty" z odpowiednim oprogramowaniem - w wyskakujących okienkach i terminalu klikamy tak, by się nam one zainstalowały | + | #* i następnie:  <p><pre>sudo m-a prepare</pre></p> | 
| - | #* po pomyślnej instalacji restartujemy system | + | #* w menu uruchomionej maszyny wirtualnej wybieramy '''Devices''' -> '''Install Guest Additions CD image''' | 
|  | + | #* procedura ta powoduje najpierw pobranie z internetu a następnie włożenie do wirtualnego napędu optycznego "płyty" z odpowiednim oprogramowaniem - napęd z płytą pojawi się na pulpcie, w wyskakujących okienkach i terminalu klikamy tak, by się nam one zainstalowały (jeśli nie wyskoczą okienka, uruchamiamy płytę poprzez skrót na pulpicie) | 
|  | + | #* po pomyślnej instalacji w terminalu wpisujemy: <p><pre>sudo apt-get install virtualbox-guest-dkms</pre></p> | 
|  | + | #* na koniec restartujemy system | 
|  |  |  |  | 
|  | == Ustawienia sieci maszyny wirtualnej == |  | == Ustawienia sieci maszyny wirtualnej == | 
| Line 116: | Line 121: | 
|  |  |  |  | 
|  | Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI: |  | Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI: | 
| - | * Proszę pobrać tekst Romeo i Julii po angielsku:
 | + | # Proszę pobrać tekst "Romeo i Julii" po angielsku: <p><pre>wget http://db.fizyka.pw.edu.pl/sk-2015/_downloads/pg1112.txt</pre></p> | 
| - |  wget http://db.fizyka.pw.edu.pl/sk-2015/_downloads/pg1112.txt
 | + | # Sprawdzić, w którym katalogu się znajdujemy (<code>pwd</code>) | 
| - | * Sprawdzić, w którym katalogu się znajdujemy (<code>pwd</code>)
 | + | # Stworzyć w katalogu <code>/tmp</code> katalogi <code>foo</code> i <code>bar</code> (do tworzenia katalogów polecenie <code>mkdir</code>, do przejścia do katalogu polecenie <code>cd</code>) | 
| - | * Stworzyć w katalogu <code>/tmp</code> katalogi <code>foo</code> i <code>bar</code> (do tworzenia katalogów polecenie <code>mkdir</code>, do przejścia do katalogu polecenie <code>cd</code>)
 | + | # Skopiować do katalogu <code>foo</code> plik z tekstem dramatu (<code>cp</code>) | 
| - | * Skopiować do katalogu <code>foo</code> plik z tekstem dramatu (<code>cp</code>)
 | + | # Przejść do katalogu <code>bar</code> i wyświetlić zawartość dramatu za pomocą ''ścieżki absolutnej'' (<code>cat</code>) | 
| - | * Przejść do katalogu <code>bar</code> i wyświetlić zawartość dramatu za pomocą ''ścieżki absolutnej'' (<code>cat</code>)
 | + | # Skopiować dramat z katalogu <code>foo</code> do <code>bar</code> za pomocą ''ścieżki względnej'' | 
| - | * Skopiować dramat z katalogu <code>foo</code> do <code>bar</code> za pomocą ''ścieżki względnej''
 | + |  | 
|  |  |  |  | 
|  | == Podstawy administracji systemem Linux - instalacja oprogramowania == |  | == Podstawy administracji systemem Linux - instalacja oprogramowania == | 
| Line 131: | Line 135: | 
|  |  |  |  | 
|  | Przykłady użycia:<br/> |  | Przykłady użycia:<br/> | 
| - |   sudo adduser ola # Wykona polecenie adduser ola z uprawnieniami administratora<br/> | + |   sudo adduser ola # wykona polecenie adduser ola z uprawnieniami administratora<br/> | 
| - |   sudo -i # Zalogouje się do konsoli administratora<br/> | + |   sudo -i # zalogouje sie do konsoli administratora<br/> | 
| - |   sudo -u ola -i # Uruchomi konosolę z zalogowanymużytkownikiem ola | + |   sudo -u ola -i # uruchomi konosole z zalogowanym uzytkownikiem ola | 
|  |  |  |  | 
|  | === Instalowanie oprogramowania === |  | === Instalowanie oprogramowania === | 
| Line 140: | Line 144: | 
|  | <code>'''Uwaga:''' Oczywiście w systemie Linux istnieje możliwość ściągnięcia i zainstalowania programu, który nie istnieje w repozytoriach. Z reguły ściągamy wtedy archiwum ze skompilowany programem, po czym uruchamiamy dołaczony do niego skrypt instalacyjny.</code> |  | <code>'''Uwaga:''' Oczywiście w systemie Linux istnieje możliwość ściągnięcia i zainstalowania programu, który nie istnieje w repozytoriach. Z reguły ściągamy wtedy archiwum ze skompilowany programem, po czym uruchamiamy dołaczony do niego skrypt instalacyjny.</code> | 
|  |  |  |  | 
| - | W Ubuntu (i innych ystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia '''dpkg''' oraz '''apt'''. | + | W Ubuntu (i innych dystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia '''dpkg''' oraz '''apt'''. | 
|  |  |  |  | 
|  | <code>'''Uwaga:''' Niektóre dystrybucje Linuxa (np. nasze Ubuntu) posiadają całkiem użyteczne graficzne nakładki na system instalacji pakietów z repozytoriów (np. program '''Synaptic'''). Taki graficzny program to już w zasadzie to samo co “sklepy” w smartfonach.</code> |  | <code>'''Uwaga:''' Niektóre dystrybucje Linuxa (np. nasze Ubuntu) posiadają całkiem użyteczne graficzne nakładki na system instalacji pakietów z repozytoriów (np. program '''Synaptic'''). Taki graficzny program to już w zasadzie to samo co “sklepy” w smartfonach.</code> | 
| Line 149: | Line 153: | 
|  | Domyślne repozytorium Ubuntu podzielone jest na 4 części: |  | Domyślne repozytorium Ubuntu podzielone jest na 4 części: | 
|  | * '''Main''' – aplikacje o otwartym kodzie źródłowym szczególnie ważne i potrzebne, wspierane przez developerów Ubuntu |  | * '''Main''' – aplikacje o otwartym kodzie źródłowym szczególnie ważne i potrzebne, wspierane przez developerów Ubuntu | 
| - | * '''Restricted''' – programy dodatkowe, niewspierane przez Ubuntu, nieoparte na wolnej licencji | + | * '''Restricted''' – programy dodatkowe, wspierane przez Ubuntu, ale nieoparte na wolnej licencji | 
| - | *  '''Universe''' – także niewspieranedo końca pakiety Open Source | + | *  '''Universe''' – niewspierane oprogramowanie Open Source | 
|  | *  '''Multiverse''' – niewspierane i niewolne oprogramowanie |  | *  '''Multiverse''' – niewspierane i niewolne oprogramowanie | 
|  |  |  |  | 
| Line 166: | Line 170: | 
|  |   sudo apt-get upgrade |  |   sudo apt-get upgrade | 
|  | lub |  | lub | 
| - |   apt-get dist-upgrade | + |   sudo apt-get dist-upgrade | 
|  | (druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami) |  | (druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami) | 
|  |  |  |  | 
| Line 178: | Line 182: | 
|  |  |  |  | 
|  | == Zadanie 4:  dodawanie nowych repozytoriów == |  | == Zadanie 4:  dodawanie nowych repozytoriów == | 
| - | Należy zmodyfikować plik <code>/etc/apt/sources.list</code> wten sposób, aby umożliwić korzystanie z oprogramowania Canonical Partners. W tym celu należy odkomentować linijkę: | + | Należy zmodyfikować plik <code>/etc/apt/sources.list</code> w ten sposób, aby umożliwić korzystanie z oprogramowania Canonical Partners. W tym celu należy odkomentować linijkę: | 
|  |  |  |  | 
|  |   deb http://archive.canonical.com/ubuntu xenial partner |  |   deb http://archive.canonical.com/ubuntu xenial partner | 
| Line 185: | Line 189: | 
|  |  |  |  | 
|  | == Zadanie 5:  instalacja pakietów == |  | == Zadanie 5:  instalacja pakietów == | 
| - | Odnaleźć nazwę pakietu który dostarcza serwer ''ssh'', w tym celu proszę przeszukać paczki które w nazwie mają ''ssh'' a następnie za pomocą grep znaleźć paczki które w nazwie mają server. | + | Odnaleźć nazwę pakietu który dostarcza serwer ''ssh'', w tym celu proszę przeszukać paczki które w nazwie mają ''ssh'' a następnie za pomocą grep znaleźć paczki które w nazwie mają server: | 
|  | + |  apt-cache search ssh | grep server | 
|  |  |  |  | 
|  | Za pomocą <code>apt-get install</code> zainstalować program '''emacs''' oraz '''serwer ssh''' (<code>openssh-server</code>). |  | Za pomocą <code>apt-get install</code> zainstalować program '''emacs''' oraz '''serwer ssh''' (<code>openssh-server</code>). | 
| - | 
 |  | 
| - | Należy pamiętać o komendzie <code>sudo apt-get update</code>!
 |  | 
|  |  |  |  | 
|  | == Podstawy administracji systemem Linux - użytkownicy == |  | == Podstawy administracji systemem Linux - użytkownicy == | 
|  | === Dodawanie i usuwanie użytkowników === |  | === Dodawanie i usuwanie użytkowników === | 
|  | Do dodawania użytkownikow służy komenda <code>adduser</code>, a do ich kasowania <code>deluser</code>. |  | Do dodawania użytkownikow służy komenda <code>adduser</code>, a do ich kasowania <code>deluser</code>. | 
| - |   | + | <!-- | 
|  | Przy dodawaniu użytkowników można: |  | Przy dodawaniu użytkowników można: | 
|  | * Ustawić domyślną powłokę dla użytkownika (na inną niż ''bash'', np. <code>/bin/sh</code>, albo <code>/bin/false</code>), |  | * Ustawić domyślną powłokę dla użytkownika (na inną niż ''bash'', np. <code>/bin/sh</code>, albo <code>/bin/false</code>), | 
|  | * Ustawić położenie katalogu domowego, |  | * Ustawić położenie katalogu domowego, | 
|  | * Wyłączyć możliwość logowania hasłem, |  | * Wyłączyć możliwość logowania hasłem, | 
| - | * Wyłączyć możliwość logowania w ogóle. | + | * Wyłączyć możliwość logowania w ogóle.--> | 
|  |  |  |  | 
| - | Wszystkie informacje o użytkowniku są w <code>/etc/passwd</code>, skrót hasła jest w pliku <code>/etc/shadow</code>. | + | Wszystkie informacje o użytkowniku znajdują się w pliku <code>/etc/passwd</code>. | 
|  |  |  |  | 
|  | === Grupy użytkowników === |  | === Grupy użytkowników === | 
| Line 208: | Line 211: | 
|  | By dodać użytkownika do grupy można wykonać: |  | By dodać użytkownika do grupy można wykonać: | 
|  |  |  |  | 
| - | <code>adduser username group</code>
 | + |  sudo adduser username group | 
|  |  |  |  | 
|  | === Zarządzanie uprawnieniami <code>sudo</code> === |  | === Zarządzanie uprawnieniami <code>sudo</code> === | 
| - | Polecenie <code>sudo</code> pozwala na trochę lepszą kontrolę, niż tylko nadanie uprawnień do wykonania dowolnej komendy. | + | Polecenie <code>sudo</code> ma większe możliwości, niż tylko nadanie uprawnień do wykonania dowolnej komendy. | 
|  |  |  |  | 
|  | Pozwala ono np. na: |  | Pozwala ono np. na: | 
| Line 217: | Line 220: | 
|  | * umożliwienie wykonania niektórych poleceń bez podania hasła. |  | * umożliwienie wykonania niektórych poleceń bez podania hasła. | 
|  |  |  |  | 
| - | Konfiguracja polecenia <code>sudo</code> jest w pliku <code>/etc/sudoers</code>, jednak plik ten nie może być po prostu edytowany za pomocą zwykłego edytora tekstu - jeśli jego składnia będzie niepoprawna, to kolejne polecenia sudo nie będą mogły się wykonać. | + | Konfiguracja polecenia <code>sudo</code> znajduje się w pliku <code>/etc/sudoers</code>, jednak plik ten nie może być tak po prostu edytowany za pomocą zwykłego edytora tekstu - jeśli jego składnia będzie niepoprawna, to kolejne polecenia sudo nie będą mogły się wykonać! | 
|  |  |  |  | 
| - | Do edycji pliku /etc/sudoers służy '''tylko i wyłącznie''' polecenie <code>visudo</code>. | + | Do edycji pliku <code>/etc/sudoers</code> służy '''tylko i wyłącznie''' polecenie <code>visudo</code>. | 
|  |  |  |  | 
| - | <code>'''Uwaga:''' Nie jest łatwo bezpiecznie skonfigurować sudo, przykładowo jeśli damy komuś dostęp do wykonywania edytora vim z uprawnieniami root to, zasadniczo,może on wykonywać dowolne operacjena systemie (ponieważ edytor vim sam z siebie pozwala na uruchomienie dowolnej komendy). Przykładowo: komenda '''sudo rm -rf /''' usunie nam cały system operacyjny i wszystkie pliki na dysku!</code> | + | <code>'''Uwaga:''' Nie jest łatwo bezpiecznie skonfigurować sudo, przykładowo jeśli damy komuś dostęp do używania edytora vim z uprawnieniami root to, zasadniczo, będzie on mógł wykonywać dowolne operacje w systemie (ponieważ edytor vim sam z siebie pozwala na uruchomienie dowolnej komendy). Przykładowo: komenda '''sudo rm -rf /''' usunie nam cały system operacyjny i wszystkie pliki na dysku!</code> | 
|  |  |  |  | 
|  | == Zadanie 6: dodawanie uprawnień <code>sudo</code> użytkownikowi == |  | == Zadanie 6: dodawanie uprawnień <code>sudo</code> użytkownikowi == | 
| Line 229: | Line 232: | 
|  |  |  |  | 
|  | == Zadanie 7: dodawanie wybranych uprawnień <code>sudo</code> == |  | == Zadanie 7: dodawanie wybranych uprawnień <code>sudo</code> == | 
| - | Dodaj użytkownika '''user''', który za pomocą polecenia <code>sudo</code> może tylko zrestartować komputer (wykonać komendę <code>/sbin/reboot</code>). | + | Dodaj w systemie nowego użytkownika '''user''', który za pomocą polecenia <code>sudo</code> może tylko zrestartować komputer (czyli wykonać komendę <code>/sbin/reboot</code>). | 
|  | + |   | 
|  | + |   | 
|  | + | == Zapasowa maszyna wirtualna == | 
|  | + | Zapasowa maszyna wirtualna jest dostępna tutaj: [http://if.pw.edu.pl/~lgraczyk/SK2022/VM/SieciKomputerowe21.vdi link]. | 
Zmienić domyślne ścieżki, z których pobierane są repozytoria oprogramowania w ten sposób, by dodać repozytorium Canonical Partners.
Wirtualizacja - jest jednym ze sposobów wydajniejszego wykorzystania sprzętu komputerowego; w naszym przypadku zajmiemy się wirtualizacją systemu operacyjnego, czyli uruchomieniem dwóch systemów operacyjnych na jednym komputerze jednocześnie. 
W przypadku laboratorium z Sieci komputerowych tworzymy maszynę wirtualną po to, by Państwo mieli pełną kontrolę nad systemem operacyjnym. Przykładowo, ewentualne przypadkowe usunięcie plików systemowych w maszynie wirtualnej uniemożliwi pracę tylko systemowi guest, host zaś będzie pracował normalnie.
Istnieje wiele programów (narzędzi wirtualizacji), które umożliwiają wirtualizację systemu operacyjnego. W naszym przypadku wykorzystamy program VirtualBox firmy Oracle. Jest on już zainstalowany na komputerach w laboratorium.
W celu stworzenia nowej maszyny wirtualnej postępujemy według poniższego schematu:
W tym momencie maszyna wirtualna jest już utworzona. Aby zainstalować system, musimy "włożyć" do wirtualnego napędu maszyny wirtualnej obraz płyty ISO z systemem operacyjnym. W tym celu należy zaznaczyć utworzoną maszynę oraz kliknąć przycisk Settings (lub kliknąć prawy przycisk myszy i również wybrać Settings). Następnie przechodzimy do Storage i tam klikamy na ikonę płyty (podpisaną Empty) znajdującą się pod polem Controller: IDE. Następnie w menu wybieramy opcję Choose Virtual Optical Disk File. W okienku wyboru pliku wybieramy plik ubuntu-mate-16.04.1-desktop-amd64.iso z folderu /opt/sk/shared/iso/.
W tym momencie mamy stworzoną maszynę wirtualną z włożoną "płytą" do wirtualnego napędu optycznego. Możemy zatem przejść do Zadania 2.
Na zajęciach z Sieci komputerowych będziemy pracować w systemie Linux z dużym wykorzystaniem terminala i powłoki bash i stopniowo poznawać bardziej zaawansowane komendy. 
Pierwszym zadaniem jest przypomnienie sobie podstawowych komend, znanych jeszcze z PTI:
W systemie Linux istnieje bardzo mocno wymuszany podział na administratora komputera oraz zwykłego użytkownika (w nowszych wersjach systemu Windows został wprowadzony analogiczny mechanizm). Do wykonywania czynności administracyjnych stworzono użytkownika o nazwie root. W nowszych systemach (np. naszym Ubuntu) konto administracyjne jest domyślnie wyłączone (nie da się zalogować na takiego użytkownika), a jego uprawnienia nabywa zwykły użytkownik tymczasowo, z użyciem komendy sudo.
Komenda sudo pozwala aktualnemu użytkownikowi (o ile spełnia dodatkowo pewne wymagania) wykonywać zadania administracyjne.
Wszystkie sytemy operacyjne Linux przychodzą z (mniej lub bardziej bogatym) zestawem oprogramowania oraz narzędziami do automatycznej instalacji programów. Instalowanie programów w systemach Linux przypomina bardziej znane ze smartfonów aplikacje typu Google Play czy Apple Store, które pozwalają na automatyczną instalację zweryfikowanych aplikacji. W systemach Linux tego typu "sklepy" z (darmowym) nazywamy najczęściej repozytoriami a programy (jak i dodatkowe biblioteki) pakietami lub paczkami. Takie podejście jest znacznie bezpieczniejsze i pewniejsze niż uruchamianie losowych plików typu setup.exe ściągniętych z podejrzanych stron.
W Ubuntu (i innych dystrybucjach pochodzących od systemu Debian) do zarządzania pakietami/paczkami służą narzędzia dpkg oraz apt.
Do tego pliku można dopisywać kolejne repozytoria będące poza kontrolą dostawcy.
Po zmianie konfiguracji repozytoriów (tj. modyfikacji pliku /etc/apt/sources.list) nalezy pobrać informacje o pakietach z repozytorium. Służy do tego komenda
(druga komenda nie tylko aktualizuje zainstalowane pakiety, ale również usuwa pakiety już niepotrzebne i usuwa niepotrzebne zależności między pakietami)
Należy pamiętać, że po każdej modyfikacji repozytoriów należy wykonać pownonie komendę apt-get update!
Pozwala ono np. na: