Bagaimana cara saya meminta apt-get untuk melewati semua langkah konfigurasi post-install?

11

Saat memasang beberapa paket (seperti RabbitMQ) pada mesin Debian / Ubuntu, post-installlangkah ini default untuk memulai layanan.

Walaupun ini bagus dalam kebanyakan kasus, dalam beberapa kasus (ketika Anda sudah memiliki layanan yang berjalan pada port yang diperlukan misalnya) ini gagal yang membuat apt-getgagal sepenuhnya.

Apakah ada cara untuk mengatakan apt-getuntuk melewati semua post-installlangkah itu sehingga masih dapat menginstal dengan benar?

Catatan Ini bukan tentang pertanyaan saat menginstal, bahkan dalam sesi interaktif instalasi ini gagal karena post-installlangkah kegagalan gagal tidak ditangani dengan benar

Wolph
sumber
1
Pertanyaan itu serupa tetapi berbeda. Ini tentang melewatkan semua langkah, bukan hanya langkah interaktif. Beberapa tugas secara otomatis menjalankan skrip yang tidak selalu diinginkan.
Wolph

Jawaban:

8

Bagaimana saya meminta apt-get untuk melewatkan langkah-langkah konfigurasi pasca pemasangan interaktif?

export DEBIAN_FRONTEND=noninteractive
apt-get install -y [packagename]

Sunting : ya, itu untuk melewatkan pertanyaan pasca-pemasangan (yah, mengotomatisasi) , benar - maaf.

Tidak ada cara untuk melewati skrip pasca pemasangan . Kebijakan resmi Debian adalah mengedit skrip untuk mengembalikan kesalahan non-terminal, atau memperbaiki skrip. Lihat http://www.debian-administration.org/articles/251

Sepertinya Anda mengotomatisasi ini untuk banyak server, dalam hal ini, Anda mungkin ingin membuat versi paket Anda sendiri dan menggunakan itu. Pilihan lain adalah mengirim email ke pengelola paket dan mendiskusikan apakah kegagalan untuk memulai harus merupakan kesalahan terminal untuk pasca-instalasi (misalnya, saya tidak percaya itu untuk paket lain seperti apache atau lighttpd, tapi saya bisa saja salah .)

Brett Dikeman
sumber
Itu hanya untuk melewati langkah-langkah interaktif. Itu bukan masalah di sini, ini adalah post-installlangkah - langkah non-interaktif yang gagal jika sesuatu seperti service rabbitmq-server startgagal.
Wolph
Diperbarui. Apakah itu membantu?
Brett Dikeman
ya, lebih baik tahu bahwa itu tidak mungkin daripada bertanya-tanya apakah itu :) Terima kasih atas bantuannya.
Wolph
Jika Anda menggunakan sudo, ekspor variabel lingkungan tidak akan berfungsi, tetapi Anda dapat melakukannya dengan cara ini:sudo DEBIAN_FRONTEND=noninteractive apt-get -y [packagename]
aculich
4

Apa yang mungkin ingin Anda lakukan adalah sesuatu dengan kebijakan-rc.d . Lihat halaman manual untuk invoke-rc.d. Anda dapat menetapkan kebijakan sehingga layanan tidak akan dimulai secara otomatis.

Sakit kepala
sumber
Itu cara untuk mengatasinya, tapi itu akan menjadi tindakan sementara saya kira? Atleast ... Saya pikir dengan begitu Anda akan menonaktifkan semua layanan secara global.
Wolph
2

ini seharusnya bekerja

echo exit 101 > /usr/sbin/policy-rc.d
chmod +x /usr/sbin/policy-rc.d
apt-get install <packagename>
rm -f /usr/sbin/policy-rc.d
Diego Roccia
sumber
Agak hacky dan sangat spesifik untuk kasus ini, tetapi itu sangat membantu! Terima kasih :)
Wolph