Skocz do zawartości
Zaloguj się, aby obserwować  
RafoX

problem z dialogem przy instalacji panelu vesta

Polecane posty

Hej,

Pierwszy raz się z takim czymś spotykam na debianie 7 -x86_64 (domyślam się że to wersja minimal)

przy upgrade jest błąd o braku dialogu:


debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline

no więc go instaluję

apt-get install dialog

Niby wszystko Ok i przechodzę do instalacji panelu vesta

I tu zaczyna się problem

Podczas rozpakowywania i tworzenia nagle przerywa instalację :

 

Screen-Sh_wewneap.png

serwer jest po tym jak by zawieszony nie idzie praktycznie nic zrobić

Zauważyłem że problem jest też na ubuntu 14.04 gdzie też brakuje dialogu.

Serwer vps w webh

Niestety nie mam innych obrazów iso aby sprawdzić jak to jest z innymi.

Macie jakieś sugestie? nigdy się z tym nie spotkałem.

Ps bez instalacji dialogu i od razu przejściu do instalacji vesty identyczny błąd wywala już przy rozpakowywaniu msql czyli znacznie wcześniej.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Spoofy

Wklej tutaj kawałek tego skrypciocha; od linijki 400 do 450 najlepiej, to coś się zobaczy ;-)

 

BTW. Zastanawiam się czemu oparli instalator tego kijowego panelu na dialog'u a nie na whiptail'u, skoro jest on domyślnie w każdej debianowo-podobnej i nie tylko, dystrybucji....

Eh...

Edytowano przez Spoofy (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Spoofy

Hmmm....
Powiedz mi, jakie "opcje" wybierasz instalując za pomocą tego skryptu? (Chodzi o tą "magię" sed'a : Linie: 388-403 - może tutaj jakiś problem?)

# Exclude heavy packages
if [ "$srv_type" = 'micro' ]; then
software=$(echo "$software" | sed -e 's/libapache2-mod-fcgid//')
software=$(echo "$software" | sed -e 's/clamav-daemon//')
software=$(echo "$software" | sed -e 's/spamassassin//')
fi

if [ "$srv_type" = 'small' ]; then
software=$(echo "$software" | sed -e 's/clamav-daemon//')
software=$(echo "$software" | sed -e 's/spamassassin//')
fi

# Exclude fail2ban
if [ "$disable_fail2ban" = 'yes' ]; then
software=$(echo "$software" | sed -e 's/fail2ban//')
fi

Aczkolwiek patrząc na szybko

Linie : 413-418

# Install Vesta packages
apt-get -y install $software
if [ $? -ne 0 ]; then
echo 'Error: apt-get install failed'
exit 1
fi

gdzie $software określane jest :

software="nginx apache2 apache2-utils apache2.2-common bsdutils e2fsprogs
apache2-suexec-custom libapache2-mod-ruid2 libapache2-mod-rpaf
libapache2-mod-fcgid bind9 idn mysql-server mysql-common
mysql-client php5-common php5-cgi php5-mysql php5-curl
libapache2-mod-php5 vsftpd mc exim4 exim4-daemon-heavy clamav-daemon
flex dovecot-imapd dovecot-pop3d phpMyAdmin awstats webalizer
jwhois rssh git spamassassin roundcube roundcube-mysql
roundcube-plugins sudo bc ftp lsof ntpdate rrdtool quota e2fslibs
fail2ban dnsutils vesta vesta-nginx vesta-php"

Ja pisząc coś takiego wsadziłbym : apt-get install "$software" < z ""

Problem polega prawdopodobnie na tym że apt-get install według bash'a wypluwa exit code inny od "0" - czyli z błędem ;]
Może przy jakiejś paczce wypluwa zależne i potrzebuje potwierdzenia? Wtedy pisałbym to albo:

 yes | apt-get install "$software"

albo po prostu:

apt-get -y install "$software"

Inną możliwością jest to że debconf wypluwa jakiś error przy konfiguracji paczki lub o coś pyta - wtedy też "$?" też będzie inne od "0"

Możesz spróbować usunąć całość :

if [ $? -ne 0 ]; then
echo 'Error: apt-get install failed'
exit 1
fi

lub zakomentować "#exit 1", upewniając się że wszystkie paczki z $software się zainstalowały i skonfigurowały odpowiednio.

P.S. A tak na marginesie - nie używałbym czegoś gdzie skrypt jest napisany w tak kijowy sposób :D

Jeszcze ten dialog zamiast whiptail'a... ło boziu...

P.S. 2 : Jakbym miał chwilkę do jutrzejszej porannej kawy to napisałbym jakiś lepsiejszy skrypcioch instalacyjny dla tej vesty, gdzie exit code byłby zliczany i sumował wynik - i ew. na tej podstawie podejmował akcję - taką jak "exit 1" lub "echo "Oops! Little error! You need to solve it by yourself!".
Problem polega na tym że trzeba mieć naprawdę doświadczenie w pisaniu skryptów do tego typu "paneli" zależnych od paczek. Zawsze w którejś coś będzie nie tak lub zawsze ktoś będzie mieć dodane inne repo i coś z innego repo wysypie "instalację".

Edytowano przez Spoofy (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Poradziłem sobie:

 

Pomogło :

apt-get install whiptail

następnie:

nano /etc/mysql/my.cnf

dodałem : innodb_use_native_aio = 0

 

Następnie dpkg --configure -a

 

Poinstalowało większość i na koniec odpaliłem instalator vesty. Ruszył wtedy bez problemu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Spoofy

Ergo - debconf miał jakieś "halo" przy instalacji $software przy użyciu apt-get'a - prawdopodobnie chodziło o konfigurację modułu php do mysql'a ( i całej tej paczki ). Hmm... może dlatego w komercyjnych panelach zamiast instalować php'a z repo to ściągają i kompilują ze źródełek, hm? ;-)

Tylko nie wiem po co Ci ten whiptail tutaj ale kiedyś na pewno się przyda ;-)

Edytowano przez Spoofy (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ergo - debconf miał jakieś "halo" przy instalacji $software przy użyciu apt-get'a - prawdopodobnie chodziło o konfigurację mysql'a.

Tylko nie wiem po co Ci ten whiptail tutaj ale kiedyś na pewno się przyda ;-)

 

To jest na tyle dziwne że bez niego pakiety vesty nie chciały się rozpakować ...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Spoofy

To nie jest dziwne. Pakiet debiana nie był skonfigurowany i zainstalowany - ergo - zależność "jakiegoś" pakietu vesty nie została spełniona.

 

Pewno coś tam wymagało whiptail'a - czyżby mysql? Debconf podczas instalacji prosi o podanie hasła root'a etc. - na bank to jest już w whiptail'u ;-)

Anyway, problem solved ;-)

Edytowano przez Spoofy (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×