]> gitweb.morketsmerke.org Git - mmdev.git/commitdiff
Zakończono redagowania 16 rozdziału.
authorxf0r3m <jakubstasinski@protonmail.com>
Fri, 3 May 2024 09:15:14 +0000 (11:15 +0200)
committerxf0r3m <jakubstasinski@protonmail.com>
Fri, 3 May 2024 09:15:14 +0000 (11:15 +0200)
articles/terminallog/Linux.Podstawy.html

index eb71e32f2085c3a9dd8fbec56dc7f845bc2c21f6..9cfb1d88f49ca9eaa86a1a7404961c7766bdb689 100644 (file)
@@ -12850,7 +12850,7 @@ $ patch -p1 &lt; plik_poprawki;
 </pre>
         <h1 id="16.virtualisation">16. Wirtualizacja</h1>
         <p>
-          Same pojęcie tego, że coś jest <em>wirtualne</em> odności się do
+          Same pojęcie tego, że coś jest <em>wirtualne</em> odnosi się do
           translacji warstwy bazowej do postaci uproszczonego interfejsu, z
           którego może korzystać wielu odbiorców. Z pojęciem wirtualizacji
           zapoznaliśmy się pośrednio przy poznawaniu zagadnienia
@@ -12862,8 +12862,8 @@ $ patch -p1 &lt; plik_poprawki;
         </p>
         <h2 id="16.1.virtualmachines">16.1. Maszyny wirtualne</h2>
         <p>
-          Maszyny wirtualne obejmują całość sprzętu komputerowego, za pomocą
-          oprogramowania, wydzielane są zasoby fizycznego hosta oraz
+          Maszyny wirtualne obejmują całość sprzętu komputerowego za pomocą
+          oprogramowania. Wydzielane są zasoby fizycznego hosta oraz
           tworzone nowe urządzenia aby powstała zupełnie nowa maszyna. Z
           terminu <em>maszyna wirtualna</em>, korzysta się od wielu lat,
           dlatego też w celach rozróżnienia (przecież spotkaliśmy się z
@@ -12874,9 +12874,9 @@ $ patch -p1 &lt; plik_poprawki;
         </p>
         <p>
           Żeby tego było mało, to możemy wróżnić jeszcze maszyny oparte
-          całkowicie na oprogramowania, czyli <strong>emulatory</strong>. Przy
+          całkowicie na oprogramowaniu, czyli <strong>emulatory</strong>. Przy
           użyciu tego rozwiązania możemy uruchamiać np. programy nieprzeznaczone
-          domyślnie na wykorzystywaną przez nas architetkurę. Dla przykładu
+          domyślnie na wykorzystywaną przez nas architekturę. Dla przykładu
           mamy obecnie dostępne emulatory konsol do gier czy smartfonów.
         </p>
         <h3 id="16.1.1.hypervisors">16.1.1 Hipernadzorcy</h3>
@@ -12926,7 +12926,7 @@ $ patch -p1 &lt; plik_poprawki;
         <p>
           Innym ważnym zagadnieniem związanym z maszynami wirtualnymi jest
           dostęp do procesora. Jak pamiętamy w systemie operacyjnym mamy dwa
-          trybu dystępu do procesora. Tryb <em>jądra</em> - pozwalający na
+          trybu dostępu do procesora. Tryb <em>jądra</em> - pozwalający na
           wykonanie dowolnych czynności oraz tryb <em>użytkownika</em> -
           najprościej rzecz ujmując - ograniczony. Jeśli mamy uruchmiać na
           maszynach systemy operacyjne, to hipernadzorcy powinni być
@@ -12962,10 +12962,10 @@ $ patch -p1 &lt; plik_poprawki;
         <h2 id="16.2.containers">16.2. Kontenery</h2>
         <p>
           Kontenery w przeciwieństwie do maszyn wirtualnych nie są tak
-          odizolowane systemu hosta. Często swoą wykorzystywane jako prostsza
+          odizolowane od systemu hosta. Często są wykorzystywane jako prostsza
           alternatywa. Kontenery korzystają z rozwiązań dostępnych już
           w systemie, aby zapewnić swój rodzaj wirtualizacji. Najczęściej
-          korzystają zmożliwości zmiany katalogu głównego (<em>chroot</em>)
+          korzystają z możliwości zmiany katalogu głównego (<em>chroot</em>)
           oraz określenia limitów jądra (<em>rlimit</em>).
           <strong>Kontener</strong> można określić jako ograniczone środowisko
           uruchomieniowe przeznaczone dla zbioru procesów. Oznacza to, że mogą
@@ -12974,15 +12974,16 @@ $ patch -p1 &lt; plik_poprawki;
           <strong>wirtualizacji na poziomie systemu operacyjnego</strong>. 
         </p>
         <p>
-          Warto dodać, że nie ważna jest liczba kontenerów dalej host będzie
-          dysponowować tylko własnym bazowym jądrem. Natomiast procesy
-          użytkownika mogą pochodzić z innych dystrybucji niż bazowa.
+          Kontenery uruchomione w systemie hosta, będą wspołdzielić ze sobą
+          jądro jego bazowego systemu, bez znaczenia jaka dystrybucja jest
+          uruchomiona w kontenerze. Procesy przestrzeni użytkownika mogą
+          pochodzić z wielu różnych dystrybucji w przypadku kontenerów.
         </p>
         <p>
           Kontenery są ograniczne za pomocą kilku opcji jądra, przez co one:
         </p>
         <ul>
-          <li>Mają własne groupy <em>cgroup</em></li>
+          <li>Mają własne grupy <em>cgroup</em></li>
           <li>Mają własne urządzenia i systemy plików</li>
           <li>Nie mogą uzyskać dostępu do jakichkolwiek innych procesów w
             w systemie ani prowadzić z nimi interakcji.</li>
@@ -12993,31 +12994,38 @@ $ patch -p1 &lt; plik_poprawki;
           poustawiać te wszystkie aspekty ręcznie. Dlatego też korzysta się
           z uproszczonych systemów konteneryzacji takich jak
           <strong>Docker</strong>. Nie mniej jednak za pomocą takie systemu
-          <em>LXC</em> mamy możliwość własnoręcznego skonfigurowania tych
-          zagadanień. W tym rozdziale nacisk położono na Docker, ale system
-          LXC również po krótce omowiono.
+          LXC mamy możliwość własnoręcznego skonfigurowania tych
+          zagadanień. W tym rozdziale nacisk położono na <em>Docker</em>, ale 
+          system LXC również po krótce omowiono.
         </p>
         <h3 id="16.2.1.dockerandpodman">16.2.1. Docker i Podman</h3>
         <p>
-          Docker jest jednym z podstawowych narzędzi kontenerowych, jest on 
+          <em>Docker</em> jest jednym z podstawowych narzędzi kontenerowych, 
+          jest on 
           bardzo łatwy do instalacji z strony projektu. Wymaga do korzystania
           z kontenerów procesu serwera oraz przywilejów superużytkownika aby
           uzyskać dostęp do opcji jądra.
         </p>
         <p>
-          Alternatywą dla dockera jest <strong>Podman</strong>. Nie wymaga on
-          do swojego działania procesu serwera. Podman może zostać uruchomiony
+          Alternatywą dla <em>Dockera</em> jest <strong>Podman</strong>. Nie
+          wymaga on
+          do swojego działania procesu serwera. <em>Podman</em> może zostać
+          uruchomiony
           z uprawnieniami zwykłego użytkownika (ang. <em>rootless</em>),
           wówczas stosowane są inne mechanizmy do uzyskania izolacji. Jeśli
-          uruchomimy Podman z uprawnieniami administratora to użyje on
-          rozwiązań stosowanych przez Docker. Podman jest kompatybilny pod
-          względem wiersza polecenia z Dockerem. Oczywiście występują różnice
-          w implementacji, szczególnie gdy Podman działa z uprawnieniami
+          uruchomimy <em>Podman</em> z uprawnieniami administratora to użyje on
+          rozwiązań stosowanych przez <em>Docker</em>. <em>Podman</em> jest
+          kompatybilny pod
+          względem wiersza polecenia z <em>Dockerem</em>. Oczywiście występują
+          różnice
+          w implementacji, szczególnie gdy <em>Podman</em> działa z 
+          uprawnieniami
           zwykłego użytkownika. Jeśli gdzieś zajdzie taka potrzeba rożnice
-          między tymi systemami zostaną wyraźnie zaznaczone.
+          między tymi systemami zostaną one wyraźnie zaznaczone.
         </p>
         <p>
-          W tym materiale skupie się na <em>Docker</em>-ze. Podmana z resztą już omawiałem
+          W tym materiale skupie się na <em>Docker</em>-ze. <em>Podman</em>-a z
+          resztą już omawiałem
           w tym rozdziale materiału o RHCSA: <a href="https://morketsmerke.github.io/articles/terminallog/RedHat_-_RHCSA.html#23.containers">https://morketsmerke.github.io/articles/terminallog/RedHat_-_RHCSA.html#23.containers</a>
         </p>
         <h3 id="16.2.2.dockerusage">16.2.2. Użycie Dockera</h3>
@@ -13047,7 +13055,7 @@ CMD ["/bin/bash"]
           Po zapisaniu zmian w pliku <em>Docker</em>-a, wydajemy poniższe 
           polecenie.
           Opcja <code class="code-inline">-t lp_test</code> wskazuje na
-          identyfikator obrazu. Później łatwiej będzie go lokalizować,
+          identyfikator obrazu. Później łatwiej będzie go zlokalizować,
           ewentualnie wykorzystać do utworzenia nowego kontenera.
         </p>
 <pre class="code-block">
@@ -13080,7 +13088,8 @@ Successfully built 9abc76076917
 Successfully tagged lp_test:latest
 </pre>
       <p>
-        Zwróćmy uwagę na informacje zwracane przez Docker podczas przetwarzania
+        Zwróćmy uwagę na informacje zwracane przez <em>Docker</em> podczas
+        przetwarzania
         pliku <em>Dockerfile</em>. Na początku pobierany jest oficjalny
         obraz kontenera dystrybucji Alpine Linux
         (id: <code class="code-inline">05455a08881e</code>) na jego podstawie
@@ -13134,7 +13143,8 @@ d4e8739ee569   lp_test       "/bin/bash"   2 seconds ago        Exited (0) 2 sec
           Jak możemy wywnioskować po pierwszym wpisie, to coś się działo.
           Jednak nie wiele z tego użyliśmy. Jeśli chcelibyśmy uruchomić
           kontener w drugim trybie <strong>interaktywnym</strong> to wówczas
-          musimy do podpolecenia <code class="code-inline">run</code> opcje
+          musimy do podpolecenia <code class="code-inline">run</code> dodać 
+          opcje
           <em>-it</em>, czyli <em>-i</em> - praca interaktywna oraz <em>-t</em>
            - podłączenien terminala.
         </p>
@@ -13164,7 +13174,7 @@ root        2369  0.0  0.1   2612  2360 pts/0    Ss+  14:42   0:00 /bin/bash
           Za tego typu zachowanie odpowiedzialna jest jedna z opcji jądra
           wykorzystywana na potrzeby kontenerów - <strong>przestrzenie nazw</strong>
           Dzięki tej funkcji proces może utworzy zupełnie nowy zestaw
-          identyfikatorów dla siebie oraz swoich procesów potomnych zaczynająć
+          identyfikatorów dla siebie oraz swoich procesów potomnych zaczynając
           do PID-u 1. Procesy te będą wówczas miały dostęp tylko do tego
           identyfikatora.
         </p>
@@ -13204,8 +13214,8 @@ CONTAINER ID   IMAGE         COMMAND    CREATED       STATUS                   P
             swoje działania przed zapisaniem zmian w górnym katalogu.</li>
         </ul>
         <p>
-          W przypadku Podmana bez uprawnień, wykorzystywany nakładkowy system
-          plików w wersji FUSE.
+          W przypadku <em>Podmana</em> bez uprawnień, wykorzystywany nakładkowy
+          system plików w wersji FUSE.
         </p>
         <h4>Obsługa sieci</h4>
         <p>
@@ -13221,8 +13231,9 @@ CONTAINER ID   IMAGE         COMMAND    CREATED       STATUS                   P
           sieci zewnętrznych (w tym sieci lokalnej) hosta, w tym do Internetu.
         </p>
         <p>
-          Podman bez uprawnień wykorzystuje natomiast interfejsy TAP oraz
-          mechanizmy przekazujące w postacji daemon <em>slirp4netns</em>, aby
+          <em>Podman</em> bez uprawnień wykorzystuje natomiast interfejsy TAP
+          oraz
+          mechanizmy przekazujące w postaci daemona <em>slirp4netns</em>, aby
           uzyskać dostęp do sieci zewnętrznych. To rozwiązanie ma jeden
           minus, kontenery niestety nie mogą łączyć się ze sobą.
         </p>
@@ -13261,13 +13272,13 @@ CONTAINER ID   IMAGE         COMMAND    CREATED       STATUS                   P
         </p>
         <h2 id="16.3.venv">16.3. Wirtualizacja oparta na środowisku uruchomieniowym</h2>
         <p>
-          Inny rodzaj wirtualizacji może bazowac na typie środowiska aplikacji.
+          Inny rodzaj wirtualizacji może bazować na typie środowiska aplikacji.
           W tym przypadku nie wykorzystuje się innych mechanik niż izolacja i
           to tylko określonej aplikacji. Celem takie działania jest zapewnie
           spójności między środowiskiem języka programowania wykorzystywanym
           przez ważne kompenenty systemu operacjnego, a zapewnieniem możliwości
           uruchomienia żądanej przez nas aplikacji. Głównie ma to zastosowanie
-          przy Pythonie, i to jego wykorzystamy do przedstawie tego rodziaju
+          przy Pythonie, i to jego wykorzystamy do przedstawienia tego rodzaju
           wirtualizacji.
         </p>
         <p>
@@ -13303,7 +13314,8 @@ xf0r3m@vm-f99031d:~$ . test-env/bin/activate
           uruchomieniowe dla aplikacji w Pythonie. Możemy je smiało również
           wykorzystać do programowania, czy testowania modułów z repozytorium
           narzędzia <em>pip</em>. W celu opuszczenia do dyspozycji mamy
-          polecenie będą funkcją powłoki - <code class="code-inline">deactivate</code>
+          polecenie będące funkcją powłoki - 
+          <code class="code-inline">deactivate</code>
           Polecenie to przywrócić zmienne środowiskowe oraz ustawienie powłoki
           do stanu sprzed uruchomienia skryptu
           <code class="code-inline">deactivate</code>. Na podobnej zasadzie