]> gitweb.morketsmerke.org Git - mmdev.git/commitdiff
Zakończenie redagowania rozdziału 16. Do przeredagowania.
authorxf0r3m <jakubstasinski@protonmail.com>
Fri, 3 May 2024 08:01:21 +0000 (10:01 +0200)
committerxf0r3m <jakubstasinski@protonmail.com>
Fri, 3 May 2024 08:01:21 +0000 (10:01 +0200)
articles/terminallog/Linux.Podstawy.html

index e32adcfb7582cea7916e51807cf7f956235af92e..eb71e32f2085c3a9dd8fbec56dc7f845bc2c21f6 100644 (file)
@@ -13226,6 +13226,98 @@ CONTAINER ID   IMAGE         COMMAND    CREATED       STATUS                   P
           uzyskać dostęp do sieci zewnętrznych. To rozwiązanie ma jeden
           minus, kontenery niestety nie mogą łączyć się ze sobą.
         </p>
+        <h3 id="16.2.3.lxc">16.2.3. LXC</h3>
+        <p>
+          LXC jest to jeden z najstarszych systemów konteneryzacji dostępnych
+          na dystrybucje Linuksa. Pierwsze wersje <em>Docker</em>-a operały się
+          o ten pakiet. Niekiedy termin ten jest używany do odniesienia się
+          do mechanizmów jądra pozwalających na obsługę kontenerów, jak i
+          biblioteki oraz pakietu narzędzi wykorzystywanych do ich tworzenia
+          oraz modyfikowania.
+        </p>
+        <p>
+          Pakiet LXC nie nadaje się dla osób, które nie czują się biegłe w
+          administracji kontenerami oraz nie posiadają odpowiedniej wiedzy
+          jak działają poszczególe mechanizmy systemów konteneryzacji. LXC
+          wymaga dość sporego zakresu ręcznej konfiguracji. Wymagane jest
+          utworzonie np. dla kontenerów interfejsów sieciowych czy zapewnienie
+          mapowania identyfikatorów użytkowników. Wartym wspomnienia faktem
+          odnośnie kontenerów LXC, jest fakt że zawierają one najwięcej
+          elementów z dystrybucji, np. program typu <em>init</em>.
+        </p>
+        <p>
+          Kontenery LXC są bardziej elastyczne pod kątem dostosowania do
+          różnych wymagań. Jeśli ktoś będzie mieć ochotę pobawić się LXC,
+          To zapraszam na stronę wiki projektu Debian, gdzie jest opisane
+          w jaki sposób zainstalować LXC. Obecnie jednak nie musimy się
+          tym przejmować ponieważ w wersji stablinej Debiana możliwy do
+          zainstalowania jest pakiet <strong>LXD</strong>, który podczas
+          inicjalizacji wykona większość tej konfiguracji pakietu LXC za nas
+          Trzeba tylko odpowiedzieć na kilka pytań instalatora. Pakiet LXD
+          został odłączony od projektu <em>linuxcontainers.org</em> i stał się
+          produktem firmy Canonical Inc. w repozytorium <em>backports</em>
+          wersji stabilnej znajduje się pakiet <strong>Incus</strong>, który
+          jest forkiem LXD dalej rozwijanym przez społeczność.
+        </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.
+          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
+          wirtualizacji.
+        </p>
+        <p>
+          Przed uruchomieniem takiego środowiska, należy upewnić się, że mamy
+          zainstalowanym pakiet (w Debianie): <em>python3-venv</em> jeśli tak
+          to możemy przjeść do stworzenia środwiska wirtualnego.
+        </p>
+<pre class="code-block">
+xf0r3m@vm-f99031d:~$ python3 -m venv test-env
+</pre>
+        <p>
+          Polecenie zakończy swoje działanie bez żadnego komunikatu, jeśli
+          faktycznie utworzył to środwisko wirtualne, to powiniśmy zobaczyć
+          katalog o nazwie - w moim przypadku -
+          <code class="code-inline">test-env</code>, a wewnątrz niego
+          powinniśmy znaleźc kilka katalogów systemowych:
+        </p>
+<pre class="code-block">
+xf0r3m@vm-f99031d:~/test-env$ ls
+bin  include  lib  lib64  pyvenv.cfg
+</pre>
+        <p>
+          Aby środowisko mogło zadziałać należy je aktywować za pomocą
+          poniższego polecenia:
+        </p>
+<pre class="code-block">
+xf0r3m@vm-f99031d:~$ . test-env/bin/activate
+(test-env) xf0r3m@vm-f99031d:~$
+</pre>
+        <p>
+          O fakcie, że znajdujemyu się wewnątrz środowiska może świadczyć
+          zmieniony znak zachęty. W ten sposób uzyskaliśmy czyste środowsko
+          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 to przywrócić zmienne środowiskowe oraz ustawienie powłoki
+          do stanu sprzed uruchomienia skryptu
+          <code class="code-inline">deactivate</code>. Na podobnej zasadzie
+          działa polecenie <code class="code-inline">activate</code>.
+        </p>
+<pre class="code-block">
+(test-env) xf0r3m@vm-f99031d:~$ deactivate 
+xf0r3m@vm-f99031d:~$ 
+</pre>
+        <p>
+          Oczywiście nie wszystkie języki programowania, będą miały możliwość
+          utworzenia takie środowiska wirtualnego. W przypadku Pythona jest
+          najprostsze do osiągniecia.
+        </p>
       </div>
                        <p style="margin: 15px; padding: 0; outline: 0;">
                                2024; COPYLEFT; ALL RIGHTS REVERSED;