더북(TheBook)

하지만 퍼팻으로 제어하는 시스템에서 관리자가 해야 할 일은 다음과 같이 ‘사용자 hacker의 UID를 300으로 변경’하는 상태를 코드로 작성하는 일뿐입니다. 작성한 코드에 따라 퍼팻이 시스템을 변경합니다. 사용자가 존재하지 않으면 useradd 명령으로 사용자를 추가하고 사용자의 UID가 300이 아니라면 usermod 명령으로 UID를 변경하겠지만, 시스템 관리자는 이런 세세한 작업 내용을 알 수도 없고 알 필요도 없습니다.

user { 'hacker':
  uid => 333,
}

시스템 설정을 코드로 표현하기 때문에 다양한 환경과 여러 시스템에서 일관성 있게 적용할 수 있습니다. 퍼팻이 제공하는 명확하고 간결한 명세 언어와 모듈화된 코드는 호스트를 제어하는 관리자 실수와 노력을 줄여 줍니다. 시스템 관리자가 작성한 퍼팻 코드 명세서를 매니페스트(manifest)라고 합니다. 퍼팻은 매니페스트를 해당 시스템에 필요한 제어 정보인 카탈로그(catalog)로 변환합니다. 이 과정을 컴파일(compile)이라고 합니다. 카탈로그를 제어 대상 시스템에 적용해서 변경하고 결과를 보고합니다(그림 12-2).

▲ 그림 12-2 퍼팻으로 시스템이 변경되는 과정

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.