BOOTPTAB(5)

명칭
bootptab - 인터넷 bootstrap 프로토콜 서버의 데이타베이스

해설
bootptab 파일은, bootpd(8) 즉 인터넷 bootstrap 프로토콜 서버의 설정 데이타베이스 파일입니다. 이 포맷은 termcap(5) 의 것을 닮아 있어 2 캐릭터의 대문자 소문자를 구별하는 태그 심볼이 호스트 파라미터를 표현합니다. 이러한 파라미터 선언은 코론 (:)에 의해 나눌 수 있어 다음과 같은 형식이 됩니다.

    hostname:tg=value.  .  .  :tg=value.  .  .  :tg=value.  .  .  .

여기서 hostname (은)는 실제의 bootp 클라이언트의 이름 (혹은 「더미 엔트리」)이며, tg (은)는 2 캐릭터의 태그 심볼입니다. 더미 엔트리는 부정한 호스트명 (". " (을)를 최초의 캐릭터로 하는 이름)을 가져, tc=.dummy-entry 기구를 개입시켜 다른 엔트리에 기본값을 제공합니다. 대부분의 태그의 뒤에는, 상기와 같이 등호와 값을 계속할 필요가 있습니다. value (i.e. :tg: 의 형식입니다). 현재, 인식되는 태그를 나타냅니다:

bf  부트 파일
bs  512 8중창 블록에서의 부트 파일의 크기
cs  쿠키 서버의 주소 리스트
df  메리트 덤프 파일
dn  도메인명
ds  도메인 네임서버의 주소 리스트
ef  확장 파일
gw  게이트웨이의 주소 리스트
ha  호스트의 하드웨어 주소
hd  부트 파일의 홈 디렉토리
hn  쿠라인트의 호스트명을 클라이언트에 보낸다
ht  호스트의 하드웨어 타입 (Assigned Numbers RFC 를 참조)
im  임프레스 서버의 주소 리스트
ip  호스트의 IP 주소
lg  로그 서버의 주소 리스트
lp  LPR 서버의 주소 리스트
ns  IEN-116 네임서버의 주소 리스트
nt  NTP (시각) 서버 (RFC 1129)
ra  대답 주소의 덧쓰기
rl  리소스 로케이션 프로토콜 서버의 주소 리스트
rp  루트로서 mount 하는 루트 패스
sa  클라이언트가 사용해야 할 TFTP 서버의 주소
sm  호스트의 subnet mask
sw  스왑 서버의 주소
tc  테이블 계속 (같은 「템플릿」호스트 엔트리를 가리킵니다)
td  「안전한」 TFTP 서버가 사용하는 루트 디렉토리
to  초에 표현한 UTC 로부터의 오프셋(offset)
ts  타임 서버의 주소 리스트
vm  vender 매직 쿠키 실렉터
yd  YP (NIS)의 도메인명
ys  YP (NIS)의 서버 주소

포괄적인 Tn 태그도 있습니다. 여기서 n (은)는 RFC1084 의 vender 필드 태그 번호입니다. 이것에 의해, 우선 bootpd (을)를 변경하지 않아도, RFC1084 에 대한 장래의 확장의 이점을 곧바로 이용할 수가 있습니다. 포괄적인 데이터는, 16 진수의 스트림 혹은 쿼트 되었다 ASCII 캐릭터 라인으로서 표현됩니다. 포괄적인 데이터의 길이는 자동적으로 판정되어 RFC1084 스타일의 bootstrap 리플라이의 적절한 필드에 삽입됩니다.

이하의 태그는 공백에서 단락지어진 IP 주소의 리스트를 취합니다: cs, ds, gw, im, lg, lp, ns, nt, ra, rl, ts ip, sa, sw, sm, ys 태그는 각각 단일의 IP 주소를 취합니다. IP 주소는 모두 표준의 인터넷 「닷」표기로 지정됩니다. 10 진수, 8 진수, 16 진수의 모두 사용 가능합니다 (8 진수는 0 으로부터 시작되어, 16 진수는 '0x'또는 '0X'로부터 시작됩니다). IP 주소는 대신에 호스트명으로 지정 가능합니다. 이 경우, bootpd (은)는 그 호스트명의 IP 주소를 얻기 위해서(때문에) gethostbyname(3) (을)를 사용합니다. 만약 ip 태그가 지정되지 않았던 경우, bootpd (은)는 엔트리명을 호스트명과 하는 것으로써 IP 주소를 판정합니다. (더미 엔트리는 부정한 호스트명과 하는 것으로써, 자동적인 IP 검색을 피합니다)

ht 태그는, 10 진수·8 진수·16 진수의 부호 없음 정수, 혹은 이하의 몇개의 심볼명을 가지고, 하드웨어 타입 코드를 지정합니다. ethernet, ether (은)는 10Mb 이더넷(ethernet)를, ethernet3, ether3 (은)는 3Mb 의 실험적 이더넷(ethernet)를, ieee802, tr, token-ring (은)는 IEEE 802 네트워크를, pronet (은)는 Proteon ProNET Token Ring 를, chaos, arcnet, ax. 25 (은)는 Chaos, ARCNET, AX. 25 Amateur Radio networks 를, 각각 표현합니다. ha 태그는, 호스트명 혹은 수치 형식에서, 하드웨어 주소를 지정합니다. 수치 형식은 16 진수로 지정한다 필요가 있습니다 ha 태그의 전에 ht 태그가 있을 필요가 있습니다 (명시적으로도 암묵적이어도 괜찮습니다. 후술의 tc 참조). 하드웨어 주소가 지정되지 않는 경우, 지정된 타입이 "ethernet" 혹은 "ieee802" 의 경우, bootpd 하 ether_hostton(3) (을)를 사용해 하드웨어 주소를 결정하려고 합니다.

호스트명·홈 디렉토리·부트 파일은 ASCII 캐릭터 라인이며, 더블 쿼트 (")로 괄일도 할 수 있습니다. 클라이언트의 리퀘스트 및 hd 심볼과 bf 심볼의 값은, bootp 리플라이 패킷의 부트 파일 필드를 서버가 어떻게 묻을까를 결정합니다.

클라이언트가 파일명을 지정했을 경우, 그것은 그대로 남겨집니다. 그렇지 않은 경우는, bf 옵션이 지정되어 있으면, 그 값이 리플라이 패킷에 카피됩니다. 만약 hd 옵션도 지정되어 있는 경우에는, 그 값이 리플라이 패킷에 카피되는 부트 파일의 전을 뒤따릅니다. 부트 파일의 존재 확인은 bs=auto 옵션이 사용되고 있을 때 마셔 행해집니다 (부트 파일 사이즈 확인을 위해입니다). 부트 파일이 존재하려고 하지 않는다와 리플라이는 보내집니다.

새로운 버젼의 tftpd(8) 그럼, chroot(2) 시스템 콜을 사용해 루트 디렉토리를 변경한다고 한다 보안 기능을 제공합니다. td 태그는, tftpd 하지만 사용하는 이 특수 루트 디렉토리를 bootpd 에 통지하기 위해서 사용합니다. (대신에 bootpd -c chdir 옵션을 사용하고 싶을지도 모릅니다. ) 실제, hd 태그는 td 태그에 의해 지정되는 루트 디렉토리로부터의 상대 지정입니다. 예를 들면, BOOTP 클라이언트 부트 파일의 현실의 절대 패스가 /tftpboot/bootfiles/bootimage (이어)여, tftpd 하지만 ~ /tftpboot (을)를 「안전한」디렉토리로 하는 경우, bootptab 그럼 다음과 같이 지정합니다.

-:td=/tftpboot:hd=/bootfiles:bf=bootimage:

부트 파일을 직접 /tftpboot 에 두는 경우에는 다음과 같이 합니다.

    :td=/tftpboot:hd=/:bf=bootimage:

sa 태그는, 당신이 클라이언트에 사용시키고 싶은 특정의 TFTP 서버의 IP 주소를 지정하기 위해서 사용합니다. 이 태그를 지정하지 않으면 bootpd 하지만 실행되고 있는 것과 같은 머신에 대해서 TFTP 를 실시하도록(듯이), bootpd (은)는 클라이언트에 지시합니다.

시각 오프셋(offset) to (은)는, 클라이언트의 UTC 로부터의 타임 존 오프셋(offset)를 초에 표현했다 부호 첨부 10 진수, 또는 서버의 타임 존 오프셋(offset)를 사용하는 것을 의미하는 키워드 auto 입니다. to 심볼을 불리언 값으로서 지정하는 것은, auto (을)를 값으로 해서 지정하는 것과 같은 효과가 있습니다.

부트 파일 사이즈 bs (은)는, 10 진수·8 진수·16 진수의 정수로 부트 파일의 사이즈를 512 8중창 블록으로 표현한 것, 또는 서버가 각 리퀘스트에 즈음하여 부트 파일 사이즈를 자동적으로 계산하는 것을 나타내는 키워드 auto 입니다. 시각 오프셋(offset)와 같이, bs 심볼을 불리언 값으로서 지정하는 것은, auto (을)를 값으로 해서 지정하는 것과 같은 효과가 있습니다.

vender 매직 쿠키 실렉터 ( vm 태그)는 이하의 키워드의 어느쪽이든을 취합니다. auto (vender 정보를 클라이언트 리퀘스트로부터 판별), rfc1048 또는 rfc1084 (항상 RFC1084 스타일의 리플라이를 강제), 또는 cmu (항상 CMU 스타일의 리플라이를 강제)입니다.

hn 태그는 엄밀하게 불리언 값의 태그입니다. 통상의 등호 및 값을 받지 않습니다. 이 태그가 존재하면(자), 호스트명을 RFC1084 클라이언트에 보내는 것을 의미합니다. bootpd (은)는, 구성 파일로 지정되는 호스트명 전체를 보내려고 합니다. 리플라이 패킷에 들어가지 않는 경우, 이름은 (존재한다면 최초의 피리어드까지의) 호스트 필드에만 줄일 수 있어 재차 시험 받습니다. 임의의 길이로 줄일 수 있었던 호스트명이 보내져 버린다고 하는 것은 없습니다 (들어가는 것이 없는 경우에는, 아무것도 보내지지 않습니다).

자주, 많은 호스트 엔트리가 특정의 태그의 공통의 값을 공유합니다 (네임서버 등). 이러한 태그를 몇번이나 쓰는 것이 아니라, 전체 사양을 1 살의 호스트 엔트리에 기술해 이것을 tc (테이블 계속) 기구를 개입시켜 공유할 수가 있습니다. 많은 경우, 이 템플릿 엔트리는 실제로는 존재하지 않는 더미 호스트이며, bootp 리퀘스트를 보낼 것은 없습니다. 이 기능은, termcap(5) 그리고 닮은 단말을 기술하기 위한 tc 기능을 닮아 있습니다. termcap 그럼 마지막 태그가 아니면 안됩니다, bootpd 그럼 tc 태그 심볼이 호스트 엔트리중의 어디에 나타나도 좋은 것에 주의해 주세요. 호스트에 대해서 명시적으로 지정한 정보는, 엔트리중의 tc 태그 심볼의 위치에 관계없이, 이것에 의해 암묵으로 지정되는 정보를 덧쓰기합니다. tc 태그의 값은 호스트명 혹은 구성 파일로 전에 기술되고 있는 IP 주소입니다.

tc 태그로 암시된 특정의 태그의 삭제가 필요하게 되는 일이 있습니다. 이것은 tag@ 구조를 사용하는 것으로써, termcap(5) 의 경우와 같게 tag 의 효과를 삭제하는 것으로써 실현될 수 있습니다. 예를 들면, IEN-116 네임서버 사양을 완전하게 무효로 하고 싶은 경우에는, 구성 파일의 엔트리의 적절한 위치에 :ns@: (을)를 둡니다. @ (을)를 사용해 삭제를 실시한 후에는, tc 기구를 사용해 그 태그를 재차 설정할 수가 있습니다.

구성 파일중의, 공행 및 "#" 으로 시작되는 행은 무시됩니다. 호스트 엔트리는 개행으로 나눌 수 있습니다. 단일의 호스트 엔트리는, 행이 backslash (\)로 끝나는 경우에 복수행에 걸칠 수가 있습니다. 행이 80 캐릭터를 넘는 일도 용서됩니다. 태그는 임의의 순서로 나타나 괜찮습니다가, 다음과 같은 예외가 있습니다. 호스트명은 엔트리의 최초의 필드일 필요가 있어, 하드웨어 타입은 하드웨어 주소의 전으로 지정할 필요가 있습니다.

/etc/bootptab 파일의 예를 나타냅니다:

    # Sample bootptab file (domain=andrew.cmu.edu)
    .default:\
    	:hd=/usr/boot:bf=null:\
    	:ds=netserver, lancaster:\
    	:ns=pcs2, pcs1:\
    	:ts=pcs2, pcs1:\
    	:sm=255. 255.255. 0:\
    	:gw=gw.cs.cmu.edu:\
    	:hn:to=-18000:
    carnegie:ht=6:ha=7FF8100000AF:tc=.default:
    baldwin:ht=1:ha=0800200159C3:tc=.default:
    wylie:ht=1:ha=00DD00CADF00:tc=.default:
    arnold:ht=1:ha=0800200102AD:tc=.default:
    bairdford:ht=1:ha=08002B02A2F9:tc=.default:
    bakerstown:ht=1:ha=08002B0287C8:tc=.default:
    # Special domain name server and option tags for next host
    butlerjct:ha=08002001560D:ds=128. 2.13. 42:\
    	:T37=0x12345927AD3BCF:\
    	:T99="Special ASCII string":\
    	:tc=.default:
    gastonville:ht=6:ha=7FFF81000A47:tc=.default:
    hahntown:ht=6:ha=7FFF81000434:tc=.default:
    hickman:ht=6:ha=7FFF810001BA:tc=.default:
    lowber:ht=1:ha=00DD00CAF000:tc=.default:
    mtoliver:ht=1:ha=00DD00FE1600:tc=.default:

관련 파일
/etc/bootptab

관련 항목
bootpd(8), tftpd(8)
DARPA Internet Request For Comments RFC951, RFC1048, RFC1084, Assigned Numbers