Strona 1 z 1
Automatyzacja apt-get
: 11 października 2016, 00:04
autor: ano
Witam
mam do przeprowadzenia rutynowe instalacje na nowych maszynach, wcześniej wszystko wpisywałem z palca teraz chcę trochę ten proces zautomatyzować
przy wielu rzeczach sam parametr -y wystarcza, lecz kiedy trzeba podać jeszcze jakieś dane wtedy sam muszę wpisywać
czy można jakoś podać kolejne parametry wyborów?
Prosiłbym najlepiej o przykład dla powyższego polecenia
Nie interesuje mnie gotowy obraz
Dziękuję za odpowiedzi z góry
Re: Automatyzacja apt-get
: 11 października 2016, 08:13
autor: dedito
Określ o jakie dane chodzi.
Re: Automatyzacja apt-get
: 11 października 2016, 08:18
autor: LordRuthwen
W jego przypadku hasło roota do bazy

Re: Automatyzacja apt-get
: 11 października 2016, 15:55
autor: ano
Nie tylko właśnie
Specjalnie wybrałem właśnie phpmyadmin bo jest tam aż 5 opcji
<Ok> wystarczy kliknąć enter
<Tak> wystarczy kliknąć enter
hasło do bazy danych
hasło phpmyadmin
hasło phpmyadmin
hasła mogę podać w linii komend, jest to bezpieczne ponieważ jest to robione na roocie, więc nikt inny nie będzie miał dostępu do logów, logi też można usunąć, chodzi mi o pełną automatyzację procesu instalacji, by puścić jeden raz komendę i wszystko samo się robiło
Re: Automatyzacja apt-get
: 13 października 2016, 09:57
autor: Pakos
expect potrafi ładnie odpowiadać na pytania
Re: Automatyzacja apt-get
: 13 października 2016, 19:59
autor: ano
Dzięki
Ale mógłbyś zapodać przykład dla okna interaktywnego?
Gdzie są pola wyboru i przyciski?
Na przykład przy instalacji pakietu phpmyadmin?
Re: Automatyzacja apt-get
: 14 października 2016, 08:30
autor: Pakos
Hmm w apt-get interaktywne pole?
Ja tu bardziej konsolowo myślałem, np logowanie:
Kod: Zaznacz cały
expect {
(yes/no)? {
send "yes\r"
send "\r"
exp_continue
}
"*?assword:*" {
send "$pass\r"
send "\r"
expect {
"*?assword:*" {
send_user "Unable to log in to ${host}. Probably missing account"
exit 2
}
eof
}
}
timeout {
exit 3
}
}
mniej więcej w ten sposób można każde pytanie opisać aby skrypt umiał/wiedział co na nie odpowiedzieć.
Re: Automatyzacja apt-get
: 14 października 2016, 13:21
autor: ano
to robi funkcja -y czyli zawsze yes
apt get staje kiedy trzeba podać pole lub wybrać z przycisków w polu interaktywnym, zainstaluj sobie phpmyadmin to zrozumiesz o co mi chodzi
przy okazji da się expect bez skryptu odpalić? z linii komend?
bo znalazłem tylko skrypty, a jeśli tak to podałbyś mi przykład z linii komend?
Re: Automatyzacja apt-get
: 14 października 2016, 14:19
autor: Pakos
no fakt, teraz zaskoczyłem o co chodzi z interaktywnymi, kilka paczek coś w ncurses podpytuje i za to odpowiada debconf, wszelkie inne pytania w konsoli expect pociągnie.
edit:
tutaj masz w zasadzie odpowiedź jak ominąć debconfa:
http://serverfault.com/questions/407317 ... -questions
Re: Automatyzacja apt-get
: 15 października 2016, 17:56
autor: ano
ano pisze:Dzięki właśnie o to mi chodziło lecz nadal mam problem właśnie z phpmyadmin
Kod: Zaznacz cały
phpmyadmin phpmyadmin/password-confirm password
# MySQL application password for phpmyadmin:
phpmyadmin phpmyadmin/mysql/app-pass password
phpmyadmin phpmyadmin/mysql/admin-pass password
phpmyadmin phpmyadmin/app-password-confirm password
phpmyadmin phpmyadmin/setup-password password
# Host running the MySQL server for phpmyadmin:
phpmyadmin phpmyadmin/remote/newhost string
phpmyadmin phpmyadmin/remote/port string
phpmyadmin phpmyadmin/setup-username string admin
# Deconfigure database for phpmyadmin with dbconfig-common?
phpmyadmin phpmyadmin/dbconfig-remove boolean
phpmyadmin phpmyadmin/internal/skip-preseed boolean false
# Perform upgrade on database for phpmyadmin with dbconfig-common?
phpmyadmin phpmyadmin/dbconfig-upgrade boolean true
# MySQL username for phpmyadmin:
phpmyadmin phpmyadmin/db/app-user string phpmyadmin
phpmyadmin phpmyadmin/missing-db-package-error select abort
phpmyadmin phpmyadmin/remove-error select abort
# Configure database for phpmyadmin with dbconfig-common?
phpmyadmin phpmyadmin/dbconfig-install boolean true
# Do you want to purge the database for phpmyadmin?
phpmyadmin phpmyadmin/purge boolean false
# Database type to be used by phpmyadmin:
phpmyadmin phpmyadmin/database-type select mysql
phpmyadmin phpmyadmin/upgrade-error select abort
# MySQL database name for phpmyadmin:
phpmyadmin phpmyadmin/db/dbname string phpmyadmin
phpmyadmin phpmyadmin/internal/reconfiguring boolean false
# Host name of the MySQL database server for phpmyadmin:
phpmyadmin phpmyadmin/remote/host select
phpmyadmin phpmyadmin/reconfigure-webserver multiselect
# Do you want to back up the database for phpmyadmin before upgrading?
phpmyadmin phpmyadmin/upgrade-backup boolean true
# Connection method for MySQL database of phpmyadmin:
phpmyadmin phpmyadmin/mysql/method select unix socket
# Reinstall database for phpmyadmin?
phpmyadmin phpmyadmin/dbconfig-reinstall boolean false
phpmyadmin phpmyadmin/mysql/admin-user string root
phpmyadmin phpmyadmin/passwords-do-not-match error
phpmyadmin phpmyadmin/install-error select abort
Są tutaj 2 hasła do phpmyadmin 1 hasło do mysql i 2 entery, moglibyście mi pomóc w znalezieniu tych właściwych?
oraz przy okazji powiedzieć jak działa funkcja debconf-set-selections, gdzie jest to zapisywane, jak można to potem usunąć?
Dobra poradziłem sobie, okazało się ze był jakiś update i rekord do bazy danych zmienił adres, więc nic dziwnego ze nie mogłem tego znaleźć jak nie było a korzystałem z grepa z dnia poprzedniego, jeden dzień a straciłem wiele czasu na to, eeeh takie moje szczęście żeby wcelować akurat w ten moment
Więc zostaje mi pytanie
jak działa funkcja debconf-set-selections, gdzie jest to zapisywane, jak można to potem usunąć?
bo zostaje to, widać to po ponownym użyciu funkcji debconf-get-selections | grep phpmyadmin