리눅스2011. 4. 20. 23:15

이 디렉토리는 기본적으로 인스톨 되는 것을 제외한 모든 소프트웨어 및 애드온 패키지를 위해서 준비된 디렉토리이다.  여기에 설치될 어떤 패키지 간에, /opt/'package' 혹은 /opt/'provider' 디렉토리에 따로 정적 파일들을 두어야 한다.(package는 소프트웨어 패키지 이름이고, provider는 제공자의 LANANA(Linux Assigned Names and Numbers Authority)에 등록된 이름이다)


보통의 배포버젼들은 /opt/bin, /opt/doc, /opt/include, /opt/info, /opt/lib, /opt/man을 안 만들지만, 로컬 시스템 관리자를 위해서 준비되어 있으며, 패키지들은 'front-end' 형식의 파일들로 이 디렉토리들에 놓여질 파일들을 제공한다.(만약 이러한 디렉토리들이 없다해도 작동하는데는 문제가 없어야 한다.)


유저에 의해 사용될 프로그램들은 /opt/package/bin에 위치한다.  만약 여기 있는 패키지가 UNIX manual pages를 가지고 있다면, /opt/package/man 에서 찾을 수 있다.  이 곳의 구조는 /usr/share/man 안의 서브구조와 같은 형태를 지녀야 한다.  variable한 패키지 파일들은 /var/opt에 설치 되어야 한다.


호스트 특정 설정 파일들은 /etc/opt에 설치된다.

어떤 사항에서도(파일 시스템의 특정 위치에 위치해야만 작동하는 특수 경우를 제외한 예) /var/lock /dev의 디바이스 락 파일 ) 다른 패키지 파일들은 /opt, /var/opt, 그리고 /etc/opt 외에 존재해서는 안된다.  배포판들은 /opt에 소프트웨어를 설치할 수도 있으나, 로컬 시스템 관리자에 의해 설치된 소프트웨어들을 지우거나 변형시키면 안된다.


/opt를 add-on 소프트웨어 형태로 사용하는 방법은 UNIX 커뮤니티에 이미 널리 알려진 방법이다.  The System V Interface 와 Intel Binary Compatibility Standard에 기반을 둔 The System V 애플리케이션 바이너리 인터페이스는 위에 서술된 형태와 매우 유사한 /opt를 제공한다.


일반적으로 말해서, 패키지를 지원할 모든 데이터들은 /opt/'package'에 위치해야 하며 이는 /etc/opt/'package'와 /var/opt/'package' 및 /opt에 예약 된 디렉터리에 카피되어질 파일들도 포함한다.  설치된 배포판과 설치된 소프트웨어간의 충돌을 피하기 위해 /opt를 이용한 배포판에 대한 약간의 제약 사항은  필요할 수 밖에 없다.  특히 이는 몇몇 바이너리 소프트웨어에서 볼 수 있는 고정된 path 이름에 큰 영향을 받는다.

/opt/'provider' 밑의 디렉터리의 구조는 소프트웨어 패키지에 달려 있으며, 패키지들은 /opt/'provider'/'package'에 설치되고 /opt/package 또한 유사한 구조를 따르는 걸 권장한다.  이 외에 방법 중 유효한 것은 /opt/'provider'/lib 혹은 /opt/'provider'/bin 에 설치 된 파일들을 가진 패키지 지원이 있겠다.


Posted by code cat