.. _porteus: Porteus ################### `Porteus `__ jest odmianą Linuksa typu *live* zoptymalizowaną do uruchamiania z nośników wymiennych, np. kluczy USB. Oparty jest na najstarszej dystrybucji Linuksa – `Slackware `_. System błyskawicznie startuje i pozwala na zachowanie wprowadzanych zmian, tj. konfiguracji, oprogramowania czy dokumentów użytkownika w pliku zapisu. Przygotowaliśmy 64-bitowe spolszczone wersje ze środowiskiem graficznym `XFCE `_ lub `Cinnamon `_, które bardzo dobrze nadają się m. in. do nauki programowania i realizacji materiałów `Python101 `_. .. figure:: img/porteus322X.jpg Porteus 3.2.2 XFCE 64-bit .. figure:: img/porteus322C.jpg Porteus 3.2.2 Cinnamon 64-bit .. contents:: Spis treści :backlinks: none Klucz USB ========= Przygotowanie pendrajwa z systemem jest bardzo proste: 1. Pobieramy obraz *iso* systemu: `porteus322XFCE.iso `_ [środowisko XFCE, 17.06.2017] lub `porteus322Cinnamon.iso `_ [środowisko Cinnamon, 13.02.2017]. 2. Przygotowujemy pustego pendrajwa o pojemności min. 2GB. Im szybszy, tym lepszy! **W systemie Windows**: 3. Do nagrania Porteusa na pendrajwa polecamy program `Rufus `_. Pobierz, uruchom, wskaż plik *iso* i nagraj. .. figure:: img/rufus_porteus01.jpg **W systemie Linux**: 3. Montujemy pobrany obraz z uprawnieniami administratora (roota) w katalogu :file:`/mnt/loop`: .. code-block:: bash ~$ sudo mkdir /mnt/loop ~S sudo mount -o loop /path/to/Porteus-XFCE-v3.2.2-x86_64.iso /mnt/loop 4. Wkładamy klucz USB, który powinien zostać wykryty jako partycja :file:`/dev/sdb1` lub :file:`/dev/sdc1` i zamontowany w katalogu :file:`/media/nazwa_użytkownika/etykieta_klucza`. Sprawdzimy to poleceniem ``mount|grep "sdb"`` lub otwierając menedżer plików. 5. Kopiujemy zawartość zamontowanego obrazu na pendrajwa za pomocą polecenia (lub menedżera plików): .. code-block:: bash ~$ cp -r /mnt/loop/* /media/nazwa_użytkownika/etykieta_klucza 6. Wchodzimy do katalogu :file:`boot` na pendrajwie(!) i wydajemy polecenie z uprawnieniami roota: .. code-block:: bash /media/nazwa_użytkownika/etykieta_klucza$ sudo bash Porteus-installer-for-Linux.com – upewniamy się, że wyświetlona została partycja klucza USB (np. :file:`/dev/sdb1`), wpisujemy *ok* i potwierdzamy. .. figure:: img/porteus_usb_install_linux.jpg Pierwsze uruchomienie ===================== Po włożeniu pendrajwa do gniazda USB i włączeniu komputera należy nacisnąć klawisz wywołujący *Boot menu*. Zazwyczaj jest to któryś z klawiszy funkcyjnych, np.: :kbd:`F12`. Czasem trzeba wywołać BIOS i dopiero wtedy wybrać wpis typu *USB Device* oznaczający naszego pendrajwa. Podczas pierwszego uruchomienia zobaczymy komunikat "couldn't find /porteus.dat" informujący, że system nie może znaleźć pliku zapisu. Tak ma być, naciskamy :kbd:`Enter`. Po uruchomieniu **tworzymy plik zapisu**, w którym przechowywane będą wszystkie zmiany. 1. Wybieramy *Start/System/Porteus Setings Centre*, podajemy hasło roota (tj. "toor"), klikamy ikonę dyskietki (1), następnie ikonę *Porteus Save Changes* (2), a w następnym oknie wybieramy przycisk *Create*. .. figure:: img/psc02.png 2. **W polu "Savefile name" wpisujemy nazwę pliku**: ``porteus.dat``. W polu **Location** klikamy ikonę folderu i wskazujemy napęd USB, zazwyczaj "sdb1" lub "sdc1". (Po wybraniu nazwy napędu powinniśmy widzieć na nim katalog :file:`porteus`). Rozmiar zostawiamy domyślny lub podajemy większy, np. 768 lub 1024 MB. Klikamy "OK" i czekamy na utworzenie pliku. .. figure:: img/savefile_02a.png 3. Na koniec **ponownie uruchomiamy system**! .. attention:: Domyślna nazwa pliku zapisu, :file:`porteus.dat`, wpisana jest w pliku :file:`boot/syslinux/porteus.cfg`. Jeżeli zapis nie działa albo utworzyliśmy plik o innej nazwie i chcielibyśmy go użyć, należy otworzyć wspomniany plik, np. klikając przycisk *Edit porteus.cfg* (3) w oknie "Porteus Settings Centre" i wpisać właściwą ścieżkę do pliku zapisu: ``changes=/nazwa_pliku_zapisu.dat``. Uwaga: ``/`` oznacza główny katalog pendrajwa! .. figure:: img/porteus_cfg0.png Moduły ======= Porteus ma budowę modularną, składa się ze skompresowanych paczek w formacie *xzm*, zawierających system plików `SquashFS `_. Na kluczu USB (płycie CD) znajduje się katalog :file:`porteus` zawierający wszystkie moduły w podkatalogach: * :file:`base` – moduły systemu bazowego, * :file:`modules` – tu umieszczamy moduły ładowane automatycznie podczas startu, * :file:`optional` – oprogramowanie dodatkowe, ładowane na żądanie. .. attention:: Moduły są aktualizowane, aby usunąć ewentualne błędy lub dodać funkcjonalności: * `Lista zmian `_ »»» * `Pobierz moduły `_ »»» Obraz iso, katalog :file:`potrteus/modules`, zawiera : 1. :file:`01-devel` – podstawowe narzędzia deweloperskie (kompilatory); 2. :file:`02-pl-locales` – spolszczenie ze słownikami; 3. :file:`02-tcltk` – biblioteki Tcl/Tk wymagane przez Pythona; 4. :file:`04-python2` – Python 2.7.13 (XFCE) lub 2.7.11 (Cinnamon) + PyQt5; 5. :file:`05-python3` – Python 3.6.1 (XFCE) lub 3.5.2 (Cinnamon) + PyQt5; 6. :file:`06-qt5` – biblioteka Qt 5.7 (XFCE) lub 5.6 (Cinnamon); 7. :file:`09-fonts-msubuinf` – dodatkowe czcionki; 8. :file:`10-palemoon` – przeglądarka Palemoon 27.3.1; 9. :file:`15-flashplayer-plugin` – wtyczka Flash Player 25.0.0.148; 10. :file:`50-git` – system kontroli wersji `Git `_ 2.9; 11. :file:`55-keepassx` – menedżer haseł KeePassX 2.0.3; 12. :file:`90-tools` – narzędzia ``lxrandr`` (zarządzanie ekranami), ``xmag``, ``tree``; 13. :file:`91-geany` – Geany 1.29, programistyczne IDE; 14. :file:`95-sublime_text_3` – zaawansowany edytor programistyczny Sublime-Text 3 (3126); 15. :file:`99-home-guest` – prekonfiguracja środowiska XFCE lub Cinnamon. W katalogu :file:`porteus/optional` znajdziesz: * :file:`biblioteki-py2.xzm` – biblioteki potrzebne do realizacji scenariuszy `Python101 `_: Django, Django registration, Flask, Peewee, Sqlalchemy, flask-sqlalchemy, /home/guest/robot, /home/guest/mcpi-sim. .. note:: Pakiety Pythona 2 i 3 zawierają: *IPython (+QtConsole), Matplotlib, PyGame, Turtle, PyQt*. Przyrostki ``-x`` i ``-c`` odróżniają wersje dla XFCE i Cinnamona. Dodatkowe moduły ---------------- `Moduły opcjonalne `_ po pobraniu można wgrać do katalogu :file:`potrteus/optional`: * :file:`libreoffice-5.2.3.3` – spolszczony pakiet biurowy LibreOffice; * :file:`sqlitestudio3.1.1` – menedżer baz danych SQLite; * :file:`etherpad-lite-1.5.7` – notatnik uruchamiany w przeglądarce umożliwiający współpracę nad dokumentami, polecenia: ``sudo /etc/rc.d/rc.etherpad-lite start``, ``sudo /etc/rc.d/rc.etherpad-lite stop``; * :file:`vsftpd-3.0.3` – serwer FTP, polecenia: ``sudo rc.ftp start``, ``sudo rc.ftp stop``; * :file:`php-5.6.23-hiawatha-10.5` – serwer WWW Hiawatha + PHP, polecenia: ``sudo lamp.sh start``, ``sudo lamp.sh stop``; * :file:`gimp-2.8.18` – zaawansowany edytor graficzny; * :file:`ghostscript-9.19` – narzędzia do przetwarzania języka PostScript i fomatu PDF; * :file:`sylpheed-3.5.1` – klient pocztowy z filtrem spamu; * :file:`xnview-0.8.4` – wielofunkcyjny menedżer plików graficznych; * :file:`faenza-icon-1.3` – zestaw ikon Faenza; * :file:`firefox-52.0b1` – przeglądarka WWW Firefox; * :file:`qt-creator-4.2.0` – lekkie środowisko programistyczne dla biblioteki Qt5. * :file:`kivy-1.9.1` – międzyplatformowy framework do projektowania aplikacji wykorzystujących naturalny interfejs użytkownika, w tym aplikacji mobilnych; * :file:`pycharm-2016.3-prof` – profesjonalne zaawansowane środowisko IDE dla Pythona w wersji Professional Trial; * :file:`django-1.10.5` – wirtualne środowisko .pve z frameworkiem Django i biblioteką django-registration; * :file:`mcpi` – biblioteki do konstruowania świata w `Minecraft Pi Edition `_; * :file:`robobt-game` – wirtualne środowisko env z bibliotekami do `Robot Game `_; * :file:`biblioteki-py2` – zob. wyżej. Zarządzanie modułami -------------------- Moduły z katalogu :file:`optional` mogą być (de)aktywowane na żądanie. Służy do tego *Menedżer modułów*. W menu podręcznym modułów (po kliknięciu ich prawym klawiszem) znajdziesz również polecenia "Activate" i "Deactivate". .. figure:: img/menedzer_modulow.png Wskazówki ========= 1. Domyślne konta i hasła: **root** (administratora) => *toor*, **guest** => *guest*. Konto **guest** skonfigurowano do wykonywania poleceń z prawami roota za pomocą komendy ``sudo``. Jeżeli po podaniu hasła roota jakaś operacja nie chce się wykonać, podaj hasło *guest*. 2. Jeżeli chcesz, aby jakiś moduł był wczytywany podczas startu systemu, umieść go w katalogu :file:`porteus/modules`. Z kolei moduł usunięty z tego katalogu nie będzie domyślnie dostępny. 3. Ilość dostępnego miejsca w pliku zapisu sprawdzimy za pomocą poleceń: .. code-block:: bash ~$ du -sh /mnt/live/memory/changes (poda ilość zajętego miejsca) ~$ df -h /mnt/live/memory/changes (poda ilość wolnego miejsca) 4. Informacje o komputerze: *Start/System/Porteus system info*, np. o miejscu instalacji: *Porteus/Boot_info*. .. figure:: img/psi.png 5. Możesz korzystać z wielu plików zapisu umieszczonych na pendrajwie. Nazwę aktualnego wpisujesz w pliku :file:`boot/syslinux/porteus.cfg`: .. figure:: img/porteus_cfg1.png 6. Plik zapisu możesz powiększyć: * start systemu w trybie "Always Fresh mode"; * następnie *Start/System/Porteus save file manager* i "I want to resize a save file": .. figure:: img/resf.png .. attention:: Tworzony jest nowy plik zapisu w podanej lokalizacji zawierający dotychczasowe zmiany. Nowym plikiem trzeba nadpisać dotychczasowy! 7. Plik zapisu można przenosić między różnymi pendrajwami. Można go archiwizować i przeglądać w dowolnym systemie opartym na Linuksie. W tym celu montujemy plik z uprawnieniami roota np. do katalogu :file:`/mnt`: .. code-block:: bash ~$ sudo mount -o loop ścieżka_do_pliku/porteussave.dat /mnt 8. Jeżeli masz problem z ustawieniem jasności ekranu laptopa, spróbuj polecenia z opcjonalnym argumentem: .. code-block:: bash ~$ setbright.sh 190 9. Skróty klawiszowe (``Super`` oznacza klawisz Windows): * :kbd:`Super+T` lub :kbd:`CTRL+AL+T` – terminal, np. Terminator; * :kbd:`Super+F` – menedżer plików; * :kbd:`Super+E` – edytor Geany; * :kbd:`Super+S` – edytor Sublime Text; * :kbd:`Super+Y` – IDE PyCharm Professional (moduł opcjonalny); * :kbd:`Super+W` – przeglądarka, np. Palemoon; * :kbd:`Super+R` – Lxrandr (zarządzanie ekranami); * :kbd:`Super+K` – Keepassx (menedżer haseł). Problemy ======== 1. Jeżeli Rufus w MS Windows nie zadziała, rozpakowujemy zawartość obrazu na pendrajwa, np. za pomocą menedżera archiwów `7zip `_. Wchodzimy do katalogu :file:`boot` na pendrajwie(!) i uruchamiamy plik ``Porteus-installer-for-Windows``, upewniamy się, że wyświetlona została litera wskazująca na pendrajwa i potwierdzamy. .. figure:: img/porteus_usb_install_windows.jpg 2. Nie każdy komputer da się uruchomić z pendrajwa. Możliwe przyczyny: * BIOS komputera nie obsługuje bootowania z urządzeń USB – to dotyczy starych maszyn (>10 lat?); * BIOS nie obsługuje konkretnego pendrajwa – to zdarza się z pendrajwami *noname*; * BIOS wymaga zapisania pendrajwa na liście dysków – trzeba wejśc do BIOSU i ustawić pendrajwa jako pierwsze urządzenie startowe na liście dysków twardych; * BIOS UEFI – na początku spróbujmy trybu *generic*, później dopiero *UEFI*. 3. Jeżeli polecenie "Otwórz Terminal tutaj" otwiera ciągle ten sam katalog, kliknij prawym klawiszem okno Terminatora, wybierz "Preferencje" i odznacz opcję "SerwerDbus".