Rozwiązanie społecznościowe

Zainstaluj AdventureLog na ZimaOS bez błędu systemu plików tylko do odczytu

AdventureLog's installer could not create its folder in the ZimaOS system layer; an IceWhale reply demonstrated running it from a writable directory under /DATA.

Instalator został uruchomiony z lokalizacji tylko do odczytu

Instalator powłoki AdventureLog uruchomił się prawidłowo, ale nie powiódł się podczas próby utworzenia ./adventurelogW systemie ZimaOS bazowy system ma charakter urządzenia appliance i jest tylko do odczytu, dlatego skrypt zakładający, że bieżący katalog umożliwia zapis, może zakończyć się niepowodzeniem, nawet gdy podłączona pamięć masowa działa prawidłowo.

Instalator AdventureLog nie może utworzyć katalogu w systemie plików ZimaOS tylko do odczytu
Pierwsza próba instalacji usiłowała utworzyć katalog roboczy w miejscu, którego system nie pozwalał modyfikować.

Inny użytkownik napotkał inne sprawdzanie zależności

Inny uczestnik zgłosił, że instalator natychmiast się zatrzymał, ponieważ nie mógł znaleźć docker-compose. To nie była ta sama awaria co pierwotna mkdir błąd, a w wątku nie ustalono uniwersalnego polecenia instalacji pakietu dla hosta ZimaOS.

Instalator AdventureLog zgłosił brak zależności docker-compose
Późniejszy uczestnik napotkał sprawdzanie zależności zamiast pierwotnego błędu katalogu tylko do odczytu.

Zaprezentowana poprawka polegała na pracy w katalogu /DATA

Członek zespołu IceWhale najpierw ostrzegł, że praca z wierszem poleceń nie jest ogólnie zalecana, chyba że stanowi część prowadzonego dochodzenia. Demonstrację przeprowadzono na maszynie testowej i wyraźnie zalecono, aby nie przeprowadzać eksperymentów w systemie produkcyjnym, chyba że operator rozumie ryzyko związane z komputerem i bezpieczeństwem danych.

W przypadku doświadczonego użytkownika zaprezentowana sekwencja wyglądała następująco:

sudo -i
cd /DATA
mkdir 10-16test2
cd 10-16test2/
curl -sSL https://get.adventurelog.app | bash

Kluczowa zmiana dotyczyła katalogu roboczego: /DATA jest przeznaczony na dane z możliwością zapisu, w przeciwieństwie do warstwy systemowej tylko do odczytu. Adres URL instalatora jest dostępny pod adresem punkt końcowy instalacji AdventureLog.

Demonstracja instalacji AdventureLog w terminalu ZimaOS z katalogu w DATA
Podczas demonstracji zespół przełączył się na konto root i uruchomił instalator z nowo utworzonego folderu w /DATA.

Pomyślna instalacja nie oznaczała, że aplikacja działa prawidłowo

Autor oryginalnego wpisu potwierdził później, że sama instalacja zakończyła się pomyślnie po zastosowaniu instrukcji dotyczących zapisywalnej ścieżki. Jednak backend AdventureLog nie uruchomił się, a jego logi wielokrotnie informowały, że PostgreSQL jest niedostępny. Zainstalowanie oddzielnej aplikacji PostgreSQL ze sklepu aplikacji ZimaOS nie połączyło jej automatycznie ze stosem AdventureLog.

Strona logowania AdventureLog, która nie działała, ponieważ usługa backendu była niedostępna
Interfejs internetowy stał się dostępny, ale nie można było dokończyć logowania do aplikacji.
Log kontenera AdventureLog pokazujący niedostępność PostgreSQL
Log backendu oddzielał problem z bazą danych od wcześniejszego problemu z systemem plików.
Widok kontenerów ZimaOS dla niekompletnego wdrożenia AdventureLog
Wdrożony stos nadal wymagał własnego połączenia z bazą danych, aby działać prawidłowo.

Wątek kończy się bez potwierdzonego rozwiązania problemu z bazą danych. Samodzielny kontener PostgreSQL nie jest automatycznie bazą danych zadeklarowaną przez inny projekt Compose; nazwy sieci, dane uwierzytelniające, wykrywanie usług, wolumeny i oczekiwana inicjalizacja bazy danych muszą się zgadzać.

FAQ

Dlaczego mkdir zakończyło się niepowodzeniem, mimo że w ZimaOS było wolne miejsce?

Instalator działał w części systemu tylko do odczytu, a nie w zapisywalnym katalogu danych. Wolne miejsce w innej lokalizacji nie sprawia, że bieżąca ścieżka systemowa staje się zapisywalna.

Czy uruchomienie instalatora w /DATA całkowicie rozwiązało problem z AdventureLog?

Rozwiązało to błąd katalogu instalacyjnego i umożliwiło zainstalowanie stosu. Późniejszy problem z dostępnością PostgreSQL pozostał nierozwiązany w tym wątku.