Bagaimana saya bisa menghindari konfirmasi ketika menginstal port FreeBSD?

26

Ketika saya menginstal port, saya sering disajikan dengan layar menu untuk memilih opsi konfigurasi. Jika saya akan menginstal paket yang sangat besar dengan banyak dependensi, itu akan sangat merepotkan. Apakah ada flag make untuk menerima jawaban default untuk semua prompt seperti itu?

JCCyC
sumber

Jawaban:

20

Mungkin BATCH, yang dijelaskan dalam port (7) , adalah yang Anda cari:

# cd /usr/ports/sysutils/screen
# export BATCH=yes
# make rmconfig
# make install clean
(no configuration menu is displayed)

make rmconfigmenghapus OPTIONSkonfigurasi untuk port ini, dan Anda dapat menggunakannya untuk menghapus OPTIONSyang sebelumnya disimpan ketika Anda mengkonfigurasi dan menginstal screen(1)pertama kali. OPTIONSdisimpan ke direktori yang ditentukan melalui PORT_DB_DIR(default ke /var/db/ports).

Jika Anda menggunakan bash, BATCHdapat diatur secara otomatis setiap kali Anda masuk:

# echo 'export BATCH=yes' >> ~/.bash_profile
Yasir Arsanukaev
sumber
12
Saya lebih suka make config-recursive && make install clean, karena memberi Anda semua dialog konfigurasi di muka sementara instalasi yang sebenarnya kemungkinan akan bekerja tanpa pengawasan.
user569825
Selain itu, untuk mempersingkat beban kerja yang diperlukan untuk konfigurasi, sering kali merupakan ide yang masuk akal untuk secara eksklusif melihat opsi yang aktif secara default dan hanya mempertimbangkan menonaktifkan salah satu dari itu.
user569825
7
Jalankan juga make config-recursivebeberapa kali hingga Anda berhenti mendapatkan opsi baru (yaitu setidaknya dua kali). Setiap kali Anda mengubah opsi, itu mungkin membawa ketergantungan lain yang memiliki lebih banyak opsi.
Alex Hirzel
exporthanya akan bekerja pada shyang bukan shell default FreeBSD
ajeh
21

Saya pikir perlu disebutkan bahwa Anda mungkin tidak selalu ingin melakukan ini. Saya sepertinya ingat, misalnya, perlu mengkonfigurasi emacs untuk menambahkan dukungan xft. Jika Anda ingin mem-bypass prompt untuk satu build,

make install clean BATCH=yes

akan bekerja juga.

hydo
sumber
entah bagaimana bekerja lebih baik daripada meletakkan "BATCH = yes" di depan make. Terima kasih.
hari
Patut dicatat bahwa make install clean BATCH=memiliki efek yang sama, seperti menurut manual ports(7), itu hanya harus didefinisikan. Itu dapat diatur ke apa pun atau tidak sama sekali
Harold Fischer
15

Ini tidak secara otomatis menerima default seperti yang Anda minta, tapi saya suka metode "make config-recursive" yang menjalankan Anda melalui opsi apa pun untuk port yang Anda inginkan serta opsi untuk semua dependensi. Anda tidak perlu mengubah apa pun jika Anda tidak mau, tetapi Anda harus melalui semua layar pemilihan sekaligus daripada setiap kali proses pembangunan tiba pada mereka.

Setelah itu selesai, "make install clean" Anda akan menjadi cukup tanpa pengawasan.

Admin FreeeBSD
sumber
3
Seperti yang saya katakan di posting @ Yasir - pastikan untuk menjalankan ini beberapa kali. Jika Anda mengubah opsi yang membawa dependensi lain, jika dependensi itu memiliki opsi untuk dikonfigurasikan, Anda tidak akan menyentuhnya sampai menjalankan selanjutnya make config-recursive.
Alex Hirzel
Secara pribadi berpikir ini harus menjadi jawaban yang diterima.
revprez