OpenBSD Kickstarter와 같은 솔루션?

OpenBSD Kickstarter와 같은 솔루션?

다음을 수행할 수 있는 OpenBSD용 솔루션이 있습니까?

사용자 정의 설치 프로그램 CD를 넣고 Enter 키를 누르면(예: "확실합니까?" - 메시지) 설치 프로그램이 자동으로 디스크를 분할하고 OpenBSD를 설치한 다음 일부 사용자 정의를 수행합니다(예: 포트 앱에서 일부 설치).

이는 RHEL의 Kickstarter를 사용하여 수행할 수 있습니다.하지만 OpenBSD가 이것을 할 수 있습니까?나는 그것을 검색했지만 아직 좋은 답변을 찾지 못했습니다 (단지 더 나은 프로그래밍 기술이 필요합니다 ...).

답변1

현재 OpenBSD 설치는 대부분의 작업을 수행하지만 "Enter" 키를 많이 누르면 됩니다. pkg_installs 및 기타 사용자 정의를 수행하는 경우 이를 수행하는 메커니즘이 있습니다(오랫동안 사용해 왔습니다). 그러나 원하는 것이 무엇인지 모르는 경우 문서를 찾기가 어렵습니다. 설치 프로그램은 sitexx.tgz 또는 sitexx-hostname.tgz 설치 세트(설치 프로그램 소스에 있는 경우)를 추출합니다.

FAQ에는 다음과 같은 많은 세부정보가 있습니다. http://www.openbsd.org/faq/faq4.html#site

제가 여러분에게 드리고 싶은 또 다른 중요한 팁은 rc.firsttime(8) 스크립팅 메커니즘입니다. /etc/rc.firsttime에서 파일을 삭제하면 다음 부팅 시 이 명령이 실행되어 파일이 삭제됩니다. 설치 프로그램에서 이렇게 하면추가의설치 프로그램이 이 파일을 사용하기 때문입니다.

개발자들이 설치 프로그램을 위해 보다 자동화된 메커니즘을 개발하고 있다는 메시지를 메일링 리스트에서 보았습니다...

업데이트 2014-05-01 -autoinstall(8)자동 설치 기능은 5.5에 포함되어 있습니다:http://www.openbsd.org/55.html

답변2

autoinstall(8)OpenBSD 5.5부터 이것이 이 작업을 위한 도구입니다. http 서버를 사용하면 dhcp+pxe자동화된 설치 인프라를 배포하기에 충분합니다. 이 주제에는 좋은 설명이 있습니다이 bsdnow.tv하지만 이 방법에 대해 몇 가지 설명을 하겠습니다.

dhcp pxe 항목을 만듭니다. 다음 예에서는 auto_install대신 파일을 검색합니다.pxeboot

option domain-name-servers 192.168.1.1;
subnet 192.168.1.0 netmask 255.255.255.0 {
    option routers 192.168.1.1;
    filename "auto_install";
    next-server 192.168.1.1;
    range 192.168.1.8 192.168.1.254;
[..other stuff..]
} 

tftppxe를 사용하여 필요한 파일을 실행하려면 서버 호스팅을 사용하세요 . 또한 클라이언트 사이트의 BIOS에서 pxe-boot를 활성화해야 합니다.

# ls -l /tftp

total 12896
lrwxr-xr-x  1 root  wheel        7 Feb 22 21:37 auto_install -> pxeboot
-rw-r--r--  1 root  wheel  6501415 Feb 22 12:49 bsd
-rw-r--r--  1 root  wheel    80524 Feb 22 12:50 pxeboot

모든 설치 패키지를 htdocs루트 디렉터리에 호스팅하고httpd.conf그러므로:

# ls /var/www/htdocs/pub/OpenBSD/5.5/i386/

SHA256       bsd          comp55.tgz   index.txt    xetc55.tgz   xshare55.tgz
SHA256.sig   bsd.mp       etc55.tgz    man55.tgz    xfont55.tgz
base55.tgz   bsd.rd       game55.tgz   xbase55.tgz  xserv55.tgz

httpd루트 디렉터리 에 install.conf설치 프로그램이 묻는 질문에 대한 모든 답변이 포함된 파일을 만듭니다.

# cat /var/www/htdocs/install.conf

System hostname = bsdnow.tv
Password for root = ThePlaceToBe...SD
Network interfaces = em0
IPv4 address for em0 = dhcp
Setup a user = puffy
Password for user = whywasibornasafish
What timezone are you in = US/Eastern
Location of sets = http
Server = 192.168.1.1

nginx여기서도 사용할 수 있으니 참고하세요 . 여기서 중요한 것은 이름과 함께 서버 루트에 배치되어야 한다는 것입니다 install.conf. 또한 사용할 수 있는 전체 매개변수 목록이 없으므로 autoinstall검색하여 좋은 예를 찾으세요.여기. 매뉴얼 autoinstall페이지를 인용하면 다음과 같습니다.

응답 파일은 줄 기반 ASCII 텍스트 파일입니다. 각 줄의 형식은 다음과 같습니다.

question = answer

질문은 설치 프로그램 질문(물음표 제외)이거나 공백으로 구분된 단어로 구성된 명시적인 부분입니다. 대답은 질문에 대한 대답입니다. 비밀번호는 일반 텍스트이거나 encrypt(1)를 사용하여 암호화하거나 "****************"(13 "*")로 설정하여 비밀번호 로그인을 비활성화하고 대체 비밀번호만 허용할 수 있습니다. 액세스 방법(예: ssh(1) 키).

MAC_address-install.conf또는 hostname-install.conf(호스트 이름이 에 정의된 경우 ) 을 사용하여 dhcpd.conf하나의 호스트만 대상으로 하는 설치 루틴을 생성할 수도 있습니다.

머신을 시작하고 설치 작업이 완료될 때까지 기다리세요.

게다가 여기에서는 하늘이 한계입니다. 확인 해봐복잡한 예~에서협업 버그그러면 가상 머신이 동적으로 생성되고 이를 구성하기 위한 데이터베이스와 httpd 파일이 제공되며 설치가 시작됩니다. 단 하나의 명령으로 모든 작업을 수행할 수 있습니다. ;)

관련 정보