Saya perlu menulis skrip yang akan membangun server saya dari instalasi server Ubuntu yang baru. Di antara hal-hal seperti Apache dan PHP perlu menginstal MySQL. Satu-satunya masalah di sini adalah ketika saya menginstal MySQL dengan apt-get, di beberapa titik instalasi akan memunculkan dialog yang memungkinkan saya untuk mengetik kata sandi root saya. Yaitu, interaksi manusia diperlukan.
Bagaimana saya bisa melewati layar ini selama instalasi dan menghindari interaksi manusia saat masih menggunakan apt-get untuk menginstal MySQL?
Jawaban:
Anda perlu melakukan preseed pada basis data debconf. debconf perlu diinstal terlebih dahulu sebelum Anda mencoba ini.
Versi mysql dan ubuntu dapat mengubah baris:
Sebagai contoh, Anda membuat ini membutuhkan:
sumber
mysql -u root -p
Walaupun FAI dan sistem serupa membantu dalam lingkungan perusahaan, (dan dia harus tahu tentang mereka), sayangnya mereka bukan obat mujarab.
Sebagai contoh, bagaimana jika dia bekerja pada mesin jarak jauh, mungkin host, server sewaan, server colocated tanpa jaringan tepercaya atau berdedikasi, atau lingkungan cloud seperti EC2? Netboot PXE tidak akan berfungsi di sana. Namun, Wayang dan Koki tampaknya merupakan alat yang lebih umum yang dapat membantunya.
Anda bisa mendapatkan nilai yang benar dari DB debconf pada sistem yang sudah diatur. Teknik ini memungkinkan Anda menempelkan semuanya dalam satu skrip shell. Misalnya, dari /var/cache/debconf/passwords.dat (perhatikan kemampuan untuk bekerja dengan 5.0 pada Debian dan 5.1 dan Ubuntu, entri tambahan tidak melukai apa pun):
Metode lain, mungkin lebih mudah: (kumpulkan jawaban dari debconf-get-selection atau debconf-show dari paket debconf-utils):
Setelah Anda menjalankan debconf-set-choices, periksa jawaban Anda: cat /var/cache/debconf/passwords.dat
Dan, saat pengujian, pastikan untuk menghapus dan membersihkan semua basis data (terutama basis data mysql, tempat ini disimpan) dan memperbaiki DB konfigurasi Anda jika mereka rusak:
Beberapa tips dengan ini: 1) Anda HARUS memiliki bendera yang terlihat dan kata sandi _again. 2) Anda HARUS tidak menaruh tanda kutip di sekitar kata sandi. Ini akan masuk ke kueri MySQL tanpa tanda kutip, jadi Anda harus mengutip sendiri jika diperlukan. Itu juga berarti tidak ada spasi (saya pikir) 3) Jika Anda memiliki masalah, lakukan pra-persiapan dengan tangan kemudian jalankan sendiri instalasi MySQL (di terminal normal / tty) dan lihat apa yang dikatakan debconf kepada Anda. Ini akan memberi tahu Anda peringatan dan kesalahan di sana.
sumber
Jika Anda memiliki beberapa server yang perlu Anda bangun kembali, saya sangat menyarankan Anda melihat sesuatu seperti Wayang daripada menulis skrip shell. Wayang memiliki bahasa deskriptif, jadi Anda menentukan bagaimana Anda ingin sistem terlihat, bukan bagaimana mendapatkannya di sana. Jenis paket memiliki opsi responsefile yang memungkinkan Anda untuk menentukan jawaban debconf dalam jawaban Steven.
sumber
Bolehkah saya juga menyarankan Anda untuk mengotomatiskan proses pementasan server dari setrika mentah?
FAI saat ini memiliki profil untuk menginstal sebagian besar sistem berbasis Debian utama, termasuk Ubuntu, dari jaringan. Ini tentu saja hanya perpanjangan dari jawaban boneka, yang merupakan perpanjangan dari jawaban debconf.
Kombinasi pementasan dari FAI, kemudian menyesuaikan dengan boneka ke peran server (di mana boneka akan menggunakan alat yang tepat untuk sistem Anda, seperti debconf untuk Debian (-sukai) agak otomatis), agak populer hari ini dan seharusnya tidak terlalu sulit untuk menemukan contoh yang cocok dengan apa yang ingin Anda lakukan lebih dekat.
Manfaat tambahan utama dari memiliki server staging / konfigurasi adalah bahwa ini juga merupakan tempat yang logis untuk menjaga konfigurasi versi terkontrol, misalnya dengan git (yang memiliki manfaat menamai status repositori dengan checksum, sehingga Anda aman terhadap korupsi sebagai selama Anda mencatat checksum yang tepat ke bawah), untuk proses yang benar-benar bersih dan dapat direproduksi.
sumber
Lihat juga:
/programming/1202347/simple-bash-script-to-install-mysql-need-some-help
sumber