It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Ponieważ sklep GOG.com nie oferuje wsparcia technicznego dla wielu dystrybucji GNU/Linux, postanowiłem się opisać sposób instalacji Ubuntu w kontenerze. Ten poradnik poprowadzi czytelnika krok po kroku. Sprawa wydaje się prosta, i to, co udało mi się osiągnąć takie jest, ale dwóch rzeczy nie osiągnąłem: dźwięku i wystartowania X-ów w kontenerze (tzn. zrobiłem to, ale nie dało się wtedy przełączać wirtualnych terminali). Piszę z pamięci, więc proszę mnie prostować lub pisać w razie, gdybyście znaleźli lepsze rozwiązanie.

To nam będzie potrzebne:
1. Obraz iso Ubuntu
2. Program unsquash
3. Menadżer archiwów zdolny otwierać pliki ISO (graficzny menadżer o takiej możliwości jest domyślnie instalowany w wielu dystrybucjach)
4. Bash (powinien być w prawie każdej dystrybucji)
5. Systemd i systemd-nspawn (dosyć popularne rzeczy)
6. Jakiś graficzny emulator terminala

Poszczególne kroki:
1. Wypakować archiwum iso z Ubuntu
2. Wchodzimy do katalogu casper
3. Wykonujemy w terminalu: unsquash ./filesystem.squashfs
4. Kopiujemy nowo powstały katalog w miejsce, gdzie ma znajdować się nasz system, np. ~/systemy (jeżeli wybrany katalog nie istnieje, to najpierw trzeba go utworzyć)
5. Przechodzimy w emulatorze terminala do katalogu nadrzędnego w stosunku do katalogu z naszym systemem
6. Wykonujemy sudo systemd-nspawn -D ./nasz_katalog_z_systemem (trzeba podać swoje hasło lub hasło administratora - wszystko zależy od konfiguracji systemu)
7. wykonujemy useradd nasza_nazwa_użytkownika
8. Tworzymy katalog użytkownika pod /home/nasza_nazwa_użytkownika
9. Wykonujemy cp -r /etc/skel/.[^.]* /etc/skel/* -t /home/nasza_nazwa_użytkownika
10. Wykonujemy chown nasza_nazwa_użytkownika:nasza_nazwa_użytkownika -R /home/nasza_nazwa_użytkownika
11. Wykonujemy passwd nasza_nazwa_użytkownika
12. Podajemy dwukrotnie dwa takie same ciągi znaków - będą one stanowiły nowe hasło naszego użytkownika - pamiętać, by potwierdzić każdy ciąg enterem
13. Możemy zainstalować sterowniki do grafiki, itd.
14. Wykonujemy shutdown -h now

W celu korzystania z maszyny:
1. Wykonujemy xhost -
2. Przechodzimy do katalogu nadrzędnego względem katalogu zawierającego nasz system
3. Wykonujemy sudo systemd-nspawn --bind-ro=/tmp/.X11-unix:/tmp/.X11-unix --bind=/run/user/1000/pulse:/run/pulse --bind=/dev/shm:/dev/shm --bind=/dev/dri:/dev/dri --bind=/var/lib/dbus:/var/lib/dbus -bD ./kagalog_z_naszym_systemem
4. Logujemy się na naszego użytkownika, podając wcześniej założone hasło
5. Wykonujemy DISPLAY=:0 gnome-terminal
6. W nowo otwartym oknie przechodzimy do katalogu z grą
7. Wykonujemy ./start.sh

Nie wymyśliłem tego sam - korzystałem z poradników dostępnych w sieci.
Post edited February 23, 2019 by lachu5
avatar
lachu5: sposób instalacji Ubuntu w kontenerze
Mam bardzo głupie pytanie, proszę się nie śmiać - co oznacza w tym przypadku słowo "kontener"? :D
avatar
lachu5: sposób instalacji Ubuntu w kontenerze
avatar
Lexor: Mam bardzo głupie pytanie, proszę się nie śmiać - co oznacza w tym przypadku słowo "kontener"? :D
Niekiedy rzucam hasłami, które rozumiem na czuja, bez podparcia w wikipedii czy innym źródle. Proszę się też nie śmiać. Kontener to wyizolowane środowisko do uruchamiania programów. System operacyjny powoduje, że widzi tylko pewien zakres możliwości systemu i istniejących w obrębie jego rzeczy (plików, procesów, interfejsów sieciowych, plików urządzeń, itd.), a wszystkie te wyodrębnione elementy są często widziane w kontenerze inaczej niż w systemie hoście. Np. proces o numerze (w Linuksie procesy mają unikalne na dany moment numery) normalnie ma numer 1000, a w kontenerze 2. Podobnie kontener ma ograniczoną widoczność plików (może widzieć pliki w innych miejscach lub pod inną nazwą) - najczęściej ma dostęp tylko do pewnego katalogu i katalogów podrzędnych.

Można rzecz, że kontener jest czymś jakby lekką maszyną wirtualną. Kontenery muszą dzielić ze sobą jądro.
Ja ostatnio zainstalowałem Deepina i powiem szczerze bardzo fajny system.Jakby działał tam GOG.GALAXY to bym olała windowsa.Jestem początkujacym użytkownikiem linuksa i do instalowania gier ze swojej gogowej biblioteki jeszcze nie doszłem:)Licze ze nie ebdzie to zbyt trudne:)
Gry instalujesz, jak na Windowsie. Musisz tylko pamiętać, by je instalować w trybie graficznym i by przed instalacją kliknąć na ikonce prawym przyciskiem myszy -> właściwości i tam wyszukać „zezwól na wykonywanie jako program” (lub coś podobnego). Potem zwyczajnie kliknąć odpowiednią liczbę razy lewym klawiszem myszki na ikonce instalatora. Chyba, że korzystasz z GNOME3, bo tam twórcy mieli uniemożliwić uruchamiania programów przez menadżer plików lub z pulpitu.
Wiem, że stare, ale zmierzam powolnymi krokami na linuxa, a to ciekawy temat.


Jeśli dobrze rozumiem, to poradnik sprowadza się do zainstalowania ubuntu2 w linux1 (np. ubuntu lub innej dystrybucji, ale tylko linuxa) w taki sposób, żeby ubuntu2 nie wiedziało o istnieniu linux1 i co się w nim dzieje, czyli odpowiednik sandboxa, tylko lepszy.

Nie bardzo rozumiem jaki to ma cel, zalety, wady.

Możesz nadać prawa administracyjne programowi w ubuntu2, żeby działał zgodnie z intencjami twórców (co nie zawsze pokrywa się z naszymi), ale na linux1 to nie będzie miało wpływu, więc tam program nie nabroi?

Czy ubuntu2 w kontenerze może mieć dostęp do sieci?

Jak z wydajnością? Sandboxy, virtualki itd. zazwyczaj nie pozwalają na komfortowe korzystanie z zasobożernych aplikacji.

Jedną komendą możesz usunąć ubuntu2? Jeśli tak, to jaką i czy trzeba cokolwiek dodatkowo "sprzątać"?