Posted February 23, 2019
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.
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