'''Slack Howto''' Version: 1.0 작성자: 이돈현(환골탈태) [http://blog.easysw.net http://blog.easysw.net] [[TableOfContents]] == Slack 개요 == === Slack 이란 === * 게으른 관리자를 위해 디자인 된 시스템 * 2006년 호주 유닉스 유저 그룹 (AUUG) 컨퍼런스에서 Google은 Slack을 수정하여 서버 클러스터를 관리한다고 공개적으로 발표 === Slack 구조 === attachment:slack-02.jpg === Slack 특징 === * CUI 소프트웨어 배포 시스템 * 중앙집중화 된 설정 저장소 활용 * 선택 된 시스템에 설정 전개 가능 * Sub Role 기능 제공 * slack master로 부터 설정 동기화 방법 * slack role.sub-role * cron을 사용하여 주기적으로 실행 * Rsync over SSH : SSH 인증키를 사전에 배포 * SSH 계정에 따라 rsyncd.conf 위치 차이 * root : /etc/rsyncd.conf * 일반계정 : ~/rsyncd.conf * files는 sub role에 따라 적용되지만, scripts는 인수로 넘겨준 role 이름별로 동작함 === Slack subrole 기능 === * 부모 롤 뒤에 .을 추가하여 생성 * .../roles/myrole/files * .../roles/myrole/files.foo * .../roles/myrole/files.foo.bar * 파일 추가는 가능하지만 삭제는 안됨 * 동일한 이름의 부모 파일을 완전히 대체함 * 오직 하나의 부모 롤만 상속 함 (다중상속 X) * 존재하지 않는 sub role은 부모롤을 상속 함 === Slack 용도 === * 다수의 설정 파일을 하나로 취합 * 패키지 설치 및 업그레이드 * 각종 설정 배포 * 데몬 구동 및 정지 * 기타 원하는 추가 작업 실행 == Slack Install & Configuration == === Slack Master install === {{{ wget http://slack.googlecode.com/files/slack-0.15.2.tar.gz tar xfzp slack-0.15.2.tar.gz cd slack-0.15.2 make make install ls /etc/slack.conf }}} === Slack Master rsyncd.conf === {{{ cat > /etc/rsyncd.conf <