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;