FreeBSD 포트를 설치할 때 프롬프트를 피하려면 어떻게해야합니까?


26

포트를 설치할 때 구성 옵션을 선택할 수있는 메뉴 화면이 종종 나타납니다. 많은 의존성을 가진 정말로 큰 패키지를 설치한다면, 그것은 매우 불편할 것입니다. 그러한 모든 프롬프트에 대한 기본 응답을 수락하는 make 플래그가 있습니까?

답변:


20

아마도 포트 (7)에BATCH 설명되어있는 것은 당신이 찾고있는 것입니다.

# 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새 옵션을받을 때까지 (예 : 두 번 이상) 여러 번 실행하십시오 . 옵션을 변경할 때마다 옵션이 더 많은 다른 종속성이 발생할 수 있습니다.
Alex Hirzel

exportshFreeBSD 기본 쉘이 아닌 것만 작동합니다
ajeh

21

나는 당신이 항상 이것을하고 싶지는 않을 것이라고 언급 할 가치가 있다고 생각합니다. 예를 들어 xft 지원을 추가하기 위해 emacs를 구성해야한다는 것을 기억합니다. 단일 빌드에 대한 프롬프트를 무시하려면

make install clean BATCH=yes

잘 작동합니다.


"BATCH = yes"를 make 앞에 두는 것보다 더 나은 방법이 있습니다. 감사.
hari

make install clean BATCH=에 대한 매뉴얼에 따라 동일한 효과가 있다는 점에 유의 ports(7)해야합니다. 그것은 아무것도 또는 전혀 설정 될 수 없습니다
Harold Fischer

15

이것은 당신이 요구하는 것처럼 자동으로 기본값을 받아들이지 않지만, 원하는 포트에 대한 옵션과 모든 종속성에 대한 옵션을 통해 실행하는 "make config-recursive"방법을 좋아합니다. 원하지 않는 경우 아무 것도 변경할 필요가 없지만, 건물 프로세스가 도착할 때마다가 아니라 모든 선택 화면을 한 번에 진행합니다.

완료되면 "make install clean"이 거의 무인 상태가됩니다.


3
@Yasir의 게시물에서 말했듯 이이 작업을 여러 번 실행하십시오. 다른 종속성을 가져 오는 옵션을 변경 한 경우 해당 종속성에 구성 옵션이 있으면 다음 실행 때까지 해당 옵션을 건드리지 않습니다 make config-recursive.
Alex Hirzel

개인적으로 이것이 이것이 받아 들여 져야한다고 생각합니다.
revprez
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.