FreeBSDポートをインストールするときにプロンプ​​トを回避するにはどうすればよいですか?


26

ポートをインストールすると、多くの場合、構成オプションを選択するためのメニュー画面が表示されます。多くの依存関係を持つ本当に大きなパッケージをインストールしようとすると、非常に不便になります。そのようなすべてのプロンプトに対してデフォルトの回答を受け入れるためのmakeフラグはありますか?

回答:


20

おそらくBATCHports(7)で説明されているように、あなたが探しているものです:

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

make rmconfig削除しOPTIONS、このポートのための設定ファイル、そしてあなたは、削除するために使用することができOPTIONSますが設定され、インストール時に、以前に保存されたscreen(1)最初の時間を。(デフォルトは)でOPTIONS指定されたディレクトリに保存されます。PORT_DB_DIR/var/db/ports

bashを使用する場合、BATCHログインするたびに自動的に設定できます。

# echo 'export BATCH=yes' >> ~/.bash_profile

12
私が好むmake config-recursive && make install clean、実際のインストールはおそらく無人動作する一方で、それは先行あなたのすべての設定・ダイアログを与えるとして、。
user569825

また、構成に必要なワークロードを短縮するために、デフォルトアクティブになっているオプションのみを調べて、それらのいずれかを非アクティブ化することを検討するのが合理的な考えです
user569825

7
またmake config-recursive、新しいオプションの取得を停止するまで複数回(少なくとも2回)実行してください。オプションを変更するたびに、さらに多くのオプションがある別の依存関係が生じる場合があります。
アレックスヒルゼル

exportshFreeBSDのデフォルトのシェルではないものでのみ動作します
ajeh

21

あなたはいつもこれをしたいとは限らないかもしれないことを言及する価値があると思います。たとえば、xftサポートを追加するにはemacsを設定する必要があることを覚えているようです。単一のビルドのプロンプトをバイパスする場合は、

make install clean BATCH=yes

同様に動作します。


makeの前に "BATCH = yes"を置くよりも、どういうわけかうまく機能します。ありがとう。
ハリ

make install clean BATCH=のマニュアルによると、同じ効果があることに注意してくださいports(7)。それは何にでもまたは何にも設定できません
ハロルドフィッシャー

15

これはあなたが尋ねているようなデフォルトを自動的に受け入れませんが、私はあなたが望むポートのオプションとすべての依存関係のオプションを実行する「make config-recursive」メソッドが好きです。必要がない場合は何も変更する必要はありませんが、構築プロセスが到着するたびにではなく、すべての選択画面を一度に表示します。

それが完了したら、「make install clean」はほとんど無人で実行されます。


3
@Yasirの投稿で述べたように、これを複数回実行してください。別の依存関係をもたらすオプションを変更する場合、その依存関係に設定するオプションがある場合は、次の実行までそれを変更しませんmake config-recursive
アレックスヒルゼル

個人的にこれは受け入れられた答えであるべきだと思います。
revprez 16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.