AMD.CONF(5)

명칭
amd.conf - amd 배치 파일

서식
amd.conf

해설
amd.conf 파일은 amd 의 배치 파일이며, am-utils 일식에 포함됩니다.

amd.conf (은)는, 자동 mount 프로그램 amd(8) 용무의 실행시 배치 정보를 포함하고 있습니다.

파일 포맷
이 파일은 섹션과 파라미터로부터 완성됩니다. 섹션은 꺽쇄묶음으로 둘러싼 섹션명으로 시작되어, 다음의 섹션이 개시할까 파일의 끝에 이를 때까지 계속됩니다. 섹션에는 ‘name = value’ 그렇다고 하는 형식의 파라미터가 포함됩니다.

이 파일은 행 지향입니다. 즉, 개행까지의 각 행은, 1 개의 코멘트, 섹션명 혹은 파라미터를 나타냅니다. 계속행을 기술하는 방법은 없습니다.

섹션명, 파라미터명 및 그 값은, 대문자 소문자를 구별합니다.

파라미터중의 최초의 등호만 중요한 의미를 가집니다. 최초의 등호의 전후에 있는 공백은 제거됩니다. 섹션 및 파라미터명안의 선두, 말미 혹은 도중에 있는 공백은 의미를 가지지 않습니다. 파라미터치의 선두나 말미에 있는 공백은 제거됩니다. 파라미터치 내부에 공백을 둘 수 없습니다. 다만, ‘name = "some value"’ (와)과 같이, 파라미터치 전체를 이중 인용부호로 묶었을 경우를 제외합니다.

우물 정자의 무늬 기호 (#)로 시작되는 행은 무시됩니다. 공백 캐릭터만 포함한 행도 같이 무시됩니다.

파라미터 기술에 대해 등호에 계속되는 값은 캐릭터 라인내지 불리언 값입니다. 캐릭터 라인의 경우, 공백을 포함하지 않으면 인용부호는 불필요합니다. 불리언 값의 경우는 yes 혹은 no 라고 기술합니다. 모든 값에 대해 대문자 소문자가 구별됩니다. 캐쉬 타임 아웃과 같은 일부의 항목은 수치를 취합니다.

섹션

  [global] 섹션)
이 섹션의 파라미터는, amd 전체에 적용되는지, 또는, 이것에 계속되는 모든 통상 MAP에 적용됩니다. 1 개의 배치 파일에는 글로벌 섹션을 다만 하나만 정의해야 합니다.

이 섹션은 배치 파일중의 최초로 기술해 두는 것을 강하게 추천 합니다. 만약 그렇게 하지 않으면, 글로벌 섹션보다 먼저 기술되었다 통상 MAP 섹션에서는, 후에 정의되는 글로벌인 값을 이용할 수 없습니다.

  통상 [/map] 섹션)
통상의 (글로벌이 아니다) 섹션의 파라미터는, 단일의 MAP 엔트리에 적용됩니다. 예를 들면, MAP 섹션 [/homes] 하지만 정의되고 있으면(자), 거기에 계속되는 모든 파라미터는, amd 가 관리하고 있는 마운트 포인트 /homes 에 적용됩니다.

파라미터

  모든 섹션에 공통의 파라미터)
이하의 파라미터는, 글로벌 섹션과 특정의 MAP 섹션의 머지않아냄새나도 지정할 수 있습니다. 특정의 MAP 섹션으로 지정된 엔트리는, 기본값 혹은 글로벌 섹션으로 정의된 값을 덧쓰기합니다. 그러한 공통의 파라미터가 글로벌 섹션중에서만 지정되어 있는 경우는, 거기에 계속되는 모든 통상 MAP 섹션에 그 지정이 적용됩니다.

browsable_dirs
    (캐릭터 라인, 디폴트 = no) "yes" (으)로 하면(자), amd 의 톱 레벨의 마운트 포인트가 readdir(3) 호출로 브라우즈 가능하게 됩니다. 즉, 예를 들면 ls(1) (을)를 실행하는 것으로 그 디렉토리에서 어떤 키가 mount 가능한가 알 수가 있게 됩니다. 반드시 모든 엔트리가 readdir(3) 에 대해서 보이게 되는 것은 아닙니다. "/default" 엔트리나 와일드 카드 엔트리, 한층 더 "/" (을)를 포함한 엔트리는 보이게 되지 않습니다. 만약 이 옵션에 대해서 "full" (을)를 지정하면, "/default" 이외는 모두 보이게 됩니다. 주의: 만약 "ls -l" (이)나 "ls -F" (와)과 같은 stat(2) (을)를 실시하려고 하는 명령을 달리게 하면(자), amd (은)는 그 MAP중의 모든 엔트리를 mount 하려고 합니다. 이것은 자주(잘) mount storm (으)로 불립니다.

map_options
    (캐릭터 라인, 디폴트 = 옵션 없음) 이 옵션은, 예를 들면 ‘cache:=all’ (와)과 같이, amd(8) 의 명령행으로 MAP 옵션을 지정하는 것과 같은 기능을 합니다.

map_type
    (캐릭터 라인, 디폴트 = 전MAP 타입을 검색) 이 옵션이 지정되면(자), amd 는 지정된 타입에 대한 MAP만 초기화합니다. amd 의 디폴트의 MAP 검색은 시간이 걸리고, 사용하지 않아도 NIS 를 초기화해 버린다고 했다 바라지 않는 부작용을 가지는 일이 있습니다만, 그러한 사태를 피하는데 이 옵션이 유효합니다. 지정 가능한 값은 이하의 것입니다.

    file
        통상 파일
    hesiod
        MIT 의 hesiod 네임 서비스
    ldap
        경량 디렉토리 액세스 프로토콜
    ndbm
        (새롭다) dbm 형식의 해시 파일
    nis 네트워크 정보제공 서비스 (버젼 2)
    nisplus
        네트워크 정보제공 서비스 플러스 (버젼 3)
    passwd
        로컬의 패스워드 파일
    union
        유니온 MAP

mount_type
    (캐릭터 라인, 디폴트 = nfs) amd 의 모든 mount 타입으로, 디폴트에서는 NFS 입니다. 즉, 실행하고 있는 로컬 호스트에 대해서, amd(8) (은)는 MAP의 마운트 포인트에 있어서의 NFS 서버가 됩니다. 만약 "autofs" (을)를 지정하면(자), amd 는 그 마운트 포인트에 있어서의 autofs 서버가 됩니다.

search_path
    (캐릭터 라인, 디폴트 = 서치 패스 없음) 파일 MAP에 대한 서치 패스를 (코론으로 단락지은 형식에서) 지정합니다. 서치 패스를 이용하는 것으로, 각 사이트는 로컬인 MAP의 커스터마이즈나 덧쓰기가 가능하게 되어, 필요에 따라서 몇개의 장소에 MAP를 분산 배치시킬 수가 있습니다.

  글로벌 섹션에게만 적용되는 파라미터)

arch
    (캐릭터 라인, 디폴트 = 컴파일시의 값) amd 의 변수 arch 의 값을 덧쓰기할 수 있습니다.

auto_dir
    (캐릭터 라인, 디폴트 = /a) amd 의 -a 옵션과 같습니다. 실제의 마운트 포인트용으로 amd 가 서브 디렉토리를 작성한다 프라이빗 디렉토리를 설정합니다.

cache_duration
    (수치, 디폴트 = 300) amd 의 -c 옵션과 같습니다. 검색된 MAP 엔트리가 캐쉬중에 남는 초수를 설정합니다.

cluster
    (캐릭터 라인, 디폴트 = 클러스터 없음) amd 의 -C 옵션과 같습니다. 사용하는, 다른 HP-UX 클러스터를 지정합니다.

debug_options
    (캐릭터 라인, 디폴트 = 디버그 옵션 없음) amd 의 -D 옵션과 같습니다. amd 의 디버그 옵션을 지정합니다. am-utils 가 --enable-debug -option (을)를 이용해 디버그 기능부로 구축되고 있는 경우만 유효합니다. "mem" 옵션만은 --enable-debug=mem 에 의해 온으로 할 수 있습니다. 이것들 이외의 경우, 디버그 옵션은 무시됩니다. 옵션은 콤마로 단락짓습니다. 선두에 캐릭터 라인 "no" (을)를 붙이는 것으로 그 의미를 반전할 수 있습니다. 서포트되고 있는 디버그 옵션 일람을 얻으려면 amd -v (을)를 실행해 주세요. 취할 수 있는 값은 이하와 같습니다.

    all 전옵션
    amq amq(8) 에 등록한다
    daemon
        demon 모드로 이행한다
    fork
        서버를 fork 한다
    full
        프로그램 트레이스
    info
        info 서비스에 고유의 디버그 정보 (hesiod, nis 등)
    mem 메모리 얼로케이션을 트레이스 한다
    mtab
        로컬의. /mtab 파일을 이용한다
    str 캐릭터 라인 조작의 디버그
    test
        완전한 디버그 모드이지만 demon로 하지 않는다
    trace
        프로토콜의 트레이스

dismount_interval
    (수치, 디폴트 = 120) amd 의 -w 옵션과 같습니다. 캐쉬 기간을 넘은 파일 시스템의 mount를 제외하려고 할 때까지의 시간을 초단위로 지정합니다.

fully_qualified_hosts
    (캐릭터 라인, 디폴트 = no) "yes" (으)로 설정하면(자), amd(8) (은)는 완전한 호스트명 (fully-qualified host name)을 이용해 RPC 인증을 행합니다. 시스템에 따라서는 이 구조가 필요합니다. 특히 도메인에 걸치는 mount를 실시하는 경우에 필요합니다. 이 기능을 유효하게 하기 위한(해), amd(8) 의 변수 ${hostd} 하지만 이용됩니다. ${domain} (은)는 하늘에서 만나서는 안됩니다.

hesiod_base
    (캐릭터 라인, 디폴트 = automount) hesiod MAP를 위한 베이스명을 지정합니다.

karch
    (캐릭터 라인, 디폴트 = 시스템의 커널 아키텍쳐) amd 의 -k 옵션과 같습니다. 시스템의 커널 아키텍쳐를 덧쓰기 지정할 수 있습니다. 예를 들면 Sun (Sparc) 머신에 편리합니다. 이 경우, 하나의 amd(8) 바이너리를 작성해, 그것을 복수의 머신으로 달리게 합니다만, 각각 올바르다 karch 변수 (예를 들면 sun4c, sun4m, sun4u 등) (을)를 설정하고 싶다고 생각하겠지요. 주의: 만약 이 옵션을 지정하지 않으면, amd(8) 하 uname(3) (을)를 이용해 그 머신의 커널 아키텍쳐를 판별합니다.

ldap_base
    (캐릭터 라인, 디폴트 = 미설정) LDAP 를 위한 베이스명을 지정합니다.

ldap_cache_maxmem
    (수치, 디폴트 = 131072) LDAP 엔트리를 캐쉬하기 위해서 amd 가 사용하는 최대 메모리량을 지정합니다.

ldap_cache_seconds
    (수치, 디폴트 = 0) 엔트리를 캐쉬 로 유지하는 초수를 지정합니다.

ldap_hostports
    (캐릭터 라인, 디폴트 = 미설정) 국명이나 조직명이라고 하는 LDAP 고유의 값을 지정합니다.

local_domain
    (캐릭터 라인, 디폴트 = 서브 도메인 없음) amd 의 -d 옵션과 같습니다. 로컬의 도메인명을 지정합니다. 이 옵션이 주어지지 않는 경우, 완전한 호스트명으로부터 최초의 요소를 없애는 것으로 도메인명을 결정합니다.

log_file
    (캐릭터 라인, 디폴트 = /dev/stderr) amd 의 -l 옵션과 같습니다. amd(8) 의 이벤트 로그를 기록하는 파일명을 지정합니다. 캐릭터 라인 /dev/stderr (을)를 지정하면(자), amd(8) (은)는 이벤트를 표준 에러 출력 파일 기술자에게 보냅니다. 만약 캐릭터 라인 syslog (을)를 지정하면(자), amd(8) (은)는 시스템 로그 기록 기구 syslogd(8) (을)를 이용해 이벤트를 기록합니다. 디폴트로 이용되는 syslog 퍼실리티는 LOG_DAEMON 입니다. 이것을 변경하려면 , 로그 파일명에 이어, 단일의 코론으로 단락지어 퍼실리티명을 기술합니다. 예를 들면 logfile (으)로서 캐릭터 라인 "syslog:local7" (을)를 지정하면(자), amd(8) 하 LOG_LOCAL7 퍼실리티를 이용해 syslog(3) 경유로 메세지를 기록합니다 (그 퍼실리티가 해당 시스템에 존재하는 경우)

log_options
    (캐릭터 라인, 디폴트 = 로깅오프션 없음) amd 의 -x 옵션과 같습니다. amd(8) 의 로깅오프션을 지정합니다. 복수의 옵션은 콤마로 단락짓습니다. 선두에 “no” (을)를 붙이는 것으로, 그 의미를 반전시킬 수가 있습니다. 로깅오프션 “debug” (은)는, am-utils 하지만 --enable-debug 부착으로 구축되었을 경우만 이용 가능합니다. amd -v (을)를 실행하면(자) 서포트되고 있는 디버그 옵션의 일람을 얻을 수 있습니다. 지정 가능한 값은 이하와 같습니다.

    all 모든 메세지
    debug
        디버그 메세지
    error
        중대하지 않는 시스템 우류
    fatal
        중대한 에러
    info
        참고 정보
    map MAP 에러
    stats
        보다 상세한 통계 정보
    user
        중대하지 않는 유저 에러
    warn
        경고
    warning
        경고

nfs_retransmit_counter
    (수치, 디폴트 = 110) amd(8) 의 -t interval.counter 옵션의 counter 부와 같습니다. 재발송 카운터의 값을 1/10 초단위로 지정합니다.

nfs_retry_interval
    (수치, 디폴트 = 8) amd(8) 의 -t interval.counter 옵션의 interval 부와 같습니다. NFS/RPC/UDP 재시행 간격을 1/10 초단위로 지정합니다.

nis_domain
    (캐릭터 라인, 디폴트 = 로컬 NIS 도메인명) amd 의 -y 옵션과 같습니다. NIS MAP를 취득하기 위해서, 다른 NIS 도메인을 지정합니다. 디폴트는 시스템의 도메인명입니다. NIS 서포트가 이용 가능하지 않은 경우, 이 옵션은 무시됩니다.

normalize_hostnames
    (불리언 값, 디폴트 = no) amd 의 -n 옵션과 같습니다. “yes” (을)를 지정하면(자), ${rhost} 의 참조처의 이름은, 미리 호스트 데이타베이스로부터의 상대치에 정규화됩니다. 별명 (앨리어스(alias))을 "공식적인" 이름으로 변환하는 효과가 있습니다.

os  (캐릭터 라인, 디폴트 = 컴파일시의 값) amd 의 -O 옵션과 같습니다. 컴파일시에 정해진 operating system명을 덧쓰기할 수 있습니다. 이전과의 호환성을 유지하기 위해서(때문에)는 짜넣어 끝난 이름은 적격이지 않은, 그렇다고 하는 경우에 편리합니다. 예를 들면, 만약 짜넣어진 이름이 “sunos5” 의 경우, 이것을 덧쓰기해 “sos5” (으)로 하는 것으로, 후자의 OS 명을 전제로 쓰여진 이전의 MAP를 이용할 수 있습니다.

osver
    (캐릭터 라인, 디폴트 = 컴파일시의 값) amd 의 -o 옵션과 같습니다. 컴파일시에 정해진 operating system의 버젼 번호를 덧쓰기합니다. 이전과의 호환성을 유지하기 위해서(때문에)는 짜넣어 끝난 버젼은 적격이지 않은, 그렇다고 하는 경우에 편리합니다. 예를 들면, 만약 짜넣어진 버젼 번호가 “2.5. 1” 의 경우, 이것을 덧쓰기해 “5.5. 1” (으)로 하는 것으로, 후자의 버젼을 전제로 쓰여진 이전의 MAP를 이용할 수 있습니다.

pid_file
    (캐릭터 라인, 디폴트 = /dev/stdout) 실행하고 있는 demon의 프로세스 ID 를 격납하는 파일을 지정합니다. 이것을 지정하지 않는 경우, amd(8) (은)는 자신의 프로세스 ID 를 표준 출력에게만 써냅니다. 실행 후에 amd(8) (을)를 kill 할 때에 편리합니다. 주의: 실행중의 amd(8) 의 프로세스 ID 는 amq -p 에 의해도 얻을 수 있습니다. 이 파일은 print_pid 옵션이 온의 경우만 사용됩니다.

plock
    (불리언 값, 디폴트 = yes) amd 의 -S 옵션과 같습니다. “yes” (을)를 지정하면(자), 실행중의 amd(8) 의 실행 가능 페이지를 메모리상에 잠급니다. plock(3) (을)를 서포트하고 있는 시스템에서는, amd(8) 프로세스를 메모리상에 잠그는 것으로 amd(8) 의 성능을 향상시킬 수가 있습니다. 이와 같이 해, operating system가 필요에 따라서 amd(8) 프로세스를 스케줄 하거나 페이지 아웃 시키거나 스왑 시키거나 한다 가능성을 줄입니다. 이것에 의해 amd(8) 의 성능은 향상합니다만, 그 반면, amd(8) 프로세스가 사용하고 있는 메모리가 예약된다 (다른 프로세스가 그 메모리를 사용할 수 없게 된다) 그렇다고 하는 대상도 있습니다.

portmap_program
    (수치, 디폴트 = 300019) 공식의 번호와는 다른, 포트 MAP RPC 프로그램 번호를 지정합니다. 이것은 복수의 amd(8) 프로세스를 실행시키는 경우에 편리합니다. 예를 들면, 메인의 amd(8) 프로세스에 완전히 영향을 주는 일 없이, 다른 amd(8) (을)를 “test” 모드로 실행할 수 있습니다. 안전이기 때문에, 지정하는 다른 프로그램 번호는 300019 에서 300029 까지 의 범위에 없으면 안됩니다. amq (은)는, 접속하기 위한별의 프로그램 번호를 지정하는데 이용한다 -P 옵션을 가지고 있습니다. 이와 같이, amq (은)는 같은 호스트상에서 실행되고 있는 복수의 amd(8) 프로세스를 완전하게 제어하는 것이 가능합니다.

print_pid
    (불리언 값, 디폴트 = no) amd 의 -p 옵션과 같습니다. “yes” (을)를 지정하면(자), amd(8) (은)는 기동시에 그 프로세스 ID 를 표시합니다.

print_version
    (불리언 값, 디폴트 = no) amd 의 -v 옵션과 같습니다만, 버젼을 표시해도 amd(8) (은)는 실행을 계속합니다. “yes” 의 경우, amd(8) (은)는, 배치 설정이나 컴파일시의 값을 포함한다 버젼 정보 캐릭터 라인을 표시합니다.

restart_mounts
    (불리언 값, 디폴트 = no) amd 의 -r 옵션과 같습니다. “yes” (으)로 하면(자), amd(8) (은)는 mount 테이블을 주사 해, 현재 어느 파일 시스템이 mount 되어 있는지 판단합니다. 그 중에 자동 mount 해야 할 파일 시스템이 있으면, amd(8) (은)는 그것을 계승합니다.

selectors_on_default
    (불리언 값, 디폴트 = no) “yes” (으)로 하면(자), MAP의 /default 엔트리가 검색되어 그 MAP중의 다른 모든 키의 기본값을 설정하기 전에, 모든 실렉터를 처리합니다. 어느 파라미터에 근거해, 어느 완전한 MAP에 대해서 다른 옵션을 설정하고 싶은 경우에 유용합니다. 예를 들면, slip 베이스의 저속 네트워크월 해의 NFS 성능을 개선하기 위해서는, 다음과 같이 합니다.

        /defaults \
            wire==slip-net;opts:=intr, rsize=1024, wsize=1024 \
            wire! =slip-net;opts:=intr, rsize=8192, wsize=8192

show_statfs_entries
    (불리언 값, 디폴트 = no) “yes” (으)로 하면(자), 브라우즈 가능한 모든 MAP는, "df" 실행시에 엔트리수 (key 수) (을)를 아울러 표시합니다 (이 기능은, statfs(2) 호출에 대해서 비 0 치를 돌려주는 것으로 실현되고 있습니다

unmount_on_exit
    (불리언 값, 디폴트 = no) “yes” (으)로 하면(자), amd(8) (은)는 칸치 하고 있는 모든 파일 시스템을 언마운트 하려고 합니다. 통상, amd(8) (은)는 모든 (특히) NFS mount 된 파일 시스템을 그대로 남깁니다. 주의: restart_mounts 옵션 또는 -r 플래그가 지정되어 있지 않은 한, amd(8) (은)는 기동시 이전에 mount 되고 있던 파일 시스템을 칸치 하지 않습니다.
통상의 MAP 섹션에 적용되는 파라미터)

map_name
    (캐릭터 라인, 필수) 키가 배치되는 MAP의 이름입니다.

tag (캐릭터 라인, 디폴트 = 태그 없음) 배치 파일의 각 MAP 엔트리에는 태그를 붙이는 것이 할 수 있습니다. 태그가 지정되지 않는 경우, 그 MAP 섹션은 항상 amd(8) 그리고 처리됩니다. 태그가 지정되어 있는 경우, amd(8) 에 -T 옵션이 지정되어 그 명령행 옵션의 값이 MAP 섹션의 태그명으로 일치하는 경우만, amd(8) (은)는 그 MAP를 처리합니다.

사용예
이하에 나타내는 것은, 내가 언제나 사용하고 있는 실제의 amd(8) 배치입니다.

    # 글로벌 옵션 섹션
    [ global ]
    normalize_hostnames =    no
    print_pid =              no
    restart_mounts =         yes
    auto_dir =               /n
    log_file =               /var/log/amd
    log_options =            all
    #debug_options =         all
    plock =                  no
    selectors_on_default =   yes
    # config.guess 는 "sunos5" 를 선택했습니다.
    # 현재 이것을 바꾸려고는 생각하지 않습니다.
    os =                     sos5
    # "os" 를 설정 후 print_version 를 유효하게 하면(자), 버젼이 표시됩니다.
    print_version =          no
    map_type =               file
    search_path =            /etc/amdmaps:/usr/lib/amd:/usr/local/AMD/lib
    browsable_dirs =         yes
    # 마운트 포인트의 정의
    [ /u ]
    map_name =               amd.u
    [ /proj ]
    map_name =               amd.proj
    [ /src ]
    map_name =               amd.src
    [ /misc ]
    map_name =               amd.misc
    [ /import ]
    map_name =               amd.import
    [ /tftpboot/.amd ]
    tag =                    tftpboot
    map_name =               amd.tftpboot

관련 항목
amd(8), amq(8)

저자
Erez Zadok <ezk@cs.columbia.edu>, Department of Computer Science, Columbia University, New York, USA.

Jan-Simon Pendry <jsp@doc.ic.ac.uk>, Department of Computing, Imperial College, London, UK.

am-utils 외 저자 및 공헌자의 리스트가, am-utils 와 함께 배포되고 있다 AUTHORS 파일에 있습니다.

역사
amd(8) 유틸리티는 4.4BSD 그리고 처음으로 등장했습니다.