지정한 패키지가 group 종속성의 대상인 경우 해당 패키지 설치를 방지하려면 pkg avoid 명령을 사용합니다. 이미지와 호환되는 패키지는 무시 목록에 있더라도 언제나 명시적으로 설치할 수 있습니다. 무시 목록에 있는 패키지를 설치하면 해당 패키지가 무시 목록에서 제거됩니다. pkg avoid 명령을 사용하면 그룹 패키지를 설치할 때 해당 그룹 패키지의 일부인 지정된 패키지 설치를 방지할 수 있습니다.
인수를 지정하지 않으면 pkg avoid 명령은 무시된 각 패키지를 해당 패키지에 대해 그룹 종속성을 갖는 패키지와 함께 표시합니다.
지정된 패키지로 pkg avoid 명령은 지정한 패턴과 일치하는 패키지 이름을 무시 목록에 놓습니다. 현재 설치되어 있지 않은 패키지만 무시할 수 있습니다. 패키지가 그룹 종속성의 대상일 경우 패키지를 제거하면 무시 목록에 놓입니다.
필요한 경우 require 종속성을 충족하기 위해 무시 목록에 있는 패키지가 설치되고, 그러면 무시 목록에서 패키지가 제거됩니다. 해당 require 종속성이 제거되면 패키지가 제거되고 무시 목록에 다시 놓입니다.
지정한 패키지를 무시 목록에서 명시적으로 제거하려면 pkg unavoid 명령을 사용합니다.
설치된 패키지의 그룹 종속성과 일치하는 무시 목록의 패키지는 unavoid 하위 명령을 사용하여 무시 목록에서 제거할 수 없습니다. 그룹 종속성과 일치하는 패키지를 무시 목록에서 제거하려면 패키지를 설치하십시오.
예 5-5 무시 목록에서 패키지 추가 및 패키지 제거다음 명령 출력은 group/feature/amp 그룹 패키지가 설치되지 않았음을 보여줍니다. 해당 그룹 패키지에 속한 패키지 중 일부가 명시적으로 설치되었거나 다른 패키지의 require 종속성으로 설치되었습니다. 지정된 패키지가 설치되지 않았으므로 pkg contents 명령과 함께 -r 옵션을 사용합니다.
$ pkg list -a group/feature/amp NAME (PUBLISHER) VERSION IFO group/feature/amp 0.5.11-0.175.2.0.0.33.0 --- $ pkg list -a `pkg contents -o fmri -Hrt depend -a type=group group/feature/amp` NAME (PUBLISHER) VERSION IFO database/mysql-51 5.1.37-0.175.2.0.0.34.0 --- web/php-52 5.2.17-0.175.2.0.0.34.0 i-- web/php-52/extension/php-apc 3.0.19-0.175.2.0.0.34.0 i-- web/php-52/extension/php-mysql 5.2.17-0.175.2.0.0.34.0 i-- web/server/apache-22 2.2.26-0.175.2.0.0.34.0 i-- web/server/apache-22/module/apache-dtrace 0.3.1-0.175.2.0.0.34.0 --- web/server/apache-22/module/apache-fcgid 2.3.9-0.175.2.0.0.34.0 --- web/server/apache-22/module/apache-php5 5.2.17-0.175.1.0.0.18 --r
다음 명령은 이 그룹 패키지에 속하되 설치되지 않은 패키지 중 하나를 무시 목록에 놓습니다. 그룹 패키지는 설치되지 않았기 때문에 무시 목록에 나타나지 않습니다.
$ pkg avoid apache-fcgid $ pkg avoid web/server/apache-22/module/apache-fcgid
다음 명령은 그룹 패키지가 설치될 때 무시된 패키지가 설치되지 않음을 보여줍니다. 지정된 패키지가 설치되었으므로 pkg contents 명령과 함께 -r 옵션이 사용되지 않습니다.
$ pkg install group/feature/amp $ pkg list -a `pkg contents -o fmri -Ht depend -a type=group group/feature/amp` NAME (PUBLISHER) VERSION IFO database/mysql-51 5.1.37-0.175.2.0.0.34.0 i-- web/php-52 5.2.17-0.175.2.0.0.34.0 i-- web/php-52/extension/php-apc 3.0.19-0.175.2.0.0.34.0 i-- web/php-52/extension/php-mysql 5.2.17-0.175.2.0.0.34.0 i-- web/server/apache-22 2.2.26-0.175.2.0.0.34.0 i-- web/server/apache-22/module/apache-dtrace 0.3.1-0.175.2.0.0.34.0 i-- web/server/apache-22/module/apache-fcgid 2.3.9-0.175.2.0.0.34.0 --- web/server/apache-22/module/apache-php5 5.2.17-0.175.1.0.0.18 i-r
그룹 패키지가 설치된 후 그룹 패키지는 무시 목록에 표시됩니다.
$ pkg avoid web/server/apache-22/module/apache-fcgid (group dependency of 'group/feature/amp')
pkg unavoid 명령은 패키지가 설치된 그룹 패키지의 일부인 경우 무시 목록에서 해당 패키지를 제거하지 않습니다. 무시 목록에서 이러한 패키지를 제거하려면 패키지를 설치합니다.
$ pkg unavoid apache-fcgid pkg unavoid: The following packages are a target of group dependencies; use install to unavoid these: web/server/apache-22/module/apache-fcgid $ pkg install apache-fcgid $ pkg avoid $
패키지가 이미 설치된 경우 해당 패키지를 무시 목록에 넣을 수 없습니다. 패키지를 제거하면 패키지가 무시 목록에 놓입니다.
$ pkg avoid apache-fcgid pkg avoid: The following packages are already installed in this image; use uninstall to avoid these: web/server/apache-22/module/apache-fcgid $ pkg uninstall apache-fcgid $ pkg avoid web/server/apache-22/module/apache-fcgid (group dependency of 'group/feature/amp')
그룹 패키지의 일부인 패키지를 제거하면 자동으로 패키지가 무시 목록에 놓입니다.
$ pkg uninstall database/mysql-51 $ pkg avoid database/mysql-51 (group dependency of 'group/feature/amp') web/server/apache-22/module/apache-fcgid (group dependency of 'group/feature/amp')
그룹 패키지를 제거하면 무시된 패키지가 무시 목록에 그대로 유지되지만 이 패키지와 그룹 패키지의 연관이 무시 목록에 더 이상 표시되지 않습니다.
$ pkg uninstall group/feature/amp $ pkg avoid database/mysql-51 web/server/apache-22/module/apache-fcgid $ pkg unavoid database/mysql-51 apache-fcgid $ pkg avoid $