기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
계층별 운영 체제 패키지 설치
중요
이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 만료되었으며 신규 및 기존 고객 모두에 대해 비활성화되었습니다. 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션하는 것이 좋습니다. 마이그레이션에 대한 질문이 있는 경우 AWS re:Post
Chef 12부터는 서로 다른 운영 체제에서 실행되는 계층에 패키지를 설치하려면 사용자 지정 레시피를 사용해야 합니다. 이 방법은 가장 유연하게 패키지를 설치하고 제어할 수 있는 방법입니다.
가령 RedHat, Ubuntu 및 Linux 운영 체제 Amazon 버전에서 실행되는 계층에 Apache를 설치하려 한다고 가정해 보십시오. RedHat 및 Amazon Linux용 Apache 패키지는 httpd
라고 하지만 Ubuntu에서는 apache2
라고 합니다.
패키지 이름의 차이를 해결하기 위해 다음 예제 레시피와 비슷한 구문을 사용할 수 있습니다. 이 레시피는 각 운영 체제에 적절한 Apache 패키지를 설치합니다. 이 예제는 Chef 설명서
package "Install Apache" do
case node[:platform]
when "redhat", "amazon"
package_name "httpd"
when "ubuntu"
package_name "apache2"
end
end
package
리소스를 사용하여 패키지를 관리하는 방법에 대한 자세한 내용은 Chef 설명서의 패키지
또는 Chef 레시피 DSL(Domain-Specific Language)의 value_for_platform
도우미 메서드를 사용하면 더 간단하게 같은 결과를 얻을 수 있습니다.
package "Install Apache" do
package_name value_for_platform(
["redhat", "amazon"] => { "default" => "httpd" },
["ubuntu"] => { "default" => "apache2" }
)
end
value_for_platform
도우미 메서드 사용에 대한 내용은 레시피 DSL에 대하여