Ansible은 장점이 많은 도구인 것 같다.

첫번째로 Master에만 설치하면 된다는 점에서 좋고, 두번째로는 SSH 기반으로 일을 한다는 것이 좋다!



 

 

지난 포스팅을 통해서 Master 역할을 할 아이에게 Ansible을 설치했다는 전제 하에 설명을 진행하겠다.

    - [ Ansible Source Install (Ubuntu 14.04) ] : http://www.whatwant.com/865

 

 

 

 

그 다음 해야할 첫번째 일은... Master에서 Slave로 SSH로 접근할 수 있는 길을 만드는 것이다.

    - [ SSH Public Key - SSH 공개키 ] : http://www.whatwant.com/395

 

Master에서 ssh 키를 생성하고나서 Slave들에게 public-key를 넣어주면 된다.

 

 

 

 

 

이제 해야할 일은 Ansible에게 Slave가 누군지를 알려줘야 한다.

hosts 파일을 만들자. 꼭 이름을 "hosts"라고 해야하는 것은 아니다.

 

$ nano ./hosts

 

Slave IP 정보를 적어주면 된다. 꼭 "[Staging]"이라고 이름을 지어야 하는 것은 아니다.

 

[staging]
192.168.100.105

 

 

 

주인의 명령을 듣는 노예(Slave)들에게는 내가 주인인 것을 알려주는 열쇠가 필요하다. SSH Public-Key

    - http://www.whatwant.com/395


주인의 키를 노예에게 넣어놓자!


 

 

Slave와 잘 통하는지 알아보자.

 

$ ansible all -m ping -i ./hosts -u u14
192.168.100.105 | SUCCESS => {
    "changed": false,
    "failed": false,
    "ping": "pong"
}

 

"-i" 옵션 뒤에는 앞에서 만든 hosts 파일을 지정해주면 되고.

"-u" 옵션 뒤에는 Slave에 접근할 계정을 지정해주면 된다.

 

 

 

 

그럼 간단한 명령어를 원격으로 날려보자.

 

$ ansible -i ./hosts staging -u u14 -m command -a "ls -ahl"
192.168.100.105 | SUCCESS | rc=0 >>
합계 140K
drwxr-xr-x 18 u14  u14  4.0K  7월  2 03:38 .
drwxr-xr-x  3 root root 4.0K  8월  9  2015 ..
-rw-------  1 u14  u14  7.4K  7월  2 03:37 .ICEauthority
-rw-------  1 u14  u14    53  7월  2 03:37 .Xauthority
drwx------  3 u14  u14  4.0K  6월 25 19:07 .ansible
-rw-------  1 u14  u14  2.0K  6월 26 00:35 .bash_history
-rw-r--r--  1 u14  u14   220  8월  9  2015 .bash_logout
-rw-r--r--  1 u14  u14  3.6K  8월  9  2015 .bashrc
drwx------ 14 u14  u14  4.0K  6월 25 14:58 .cache
drwx------  3 u14  u14  4.0K  8월  9  2015 .compiz
drwx------ 14 u14  u14  4.0K  8월  9  2015 .config
drwx------  3 u14  u14  4.0K 12월 12  2016 .dbus
drwx------  3 u14  u14  4.0K  7월  2 03:37 .gconf
drwx------  3 u14  u14  4.0K  8월  9  2015 .local
-rw-r--r--  1 u14  u14   675  8월  9  2015 .profile
drwxrwxr-x  2 u14  u14  4.0K  6월 25 18:59 .ssh
-rw-r-----  1 u14  u14     5  7월  2 03:37 .vboxclient-clipboard.pid
-rw-r-----  1 u14  u14     5  7월  2 03:37 .vboxclient-display.pid
-rw-r-----  1 u14  u14     5  7월  2 03:37 .vboxclient-draganddrop.pid
-rw-r-----  1 u14  u14     5  7월  2 03:37 .vboxclient-seamless.pid
-rw-rw-r--  1 u14  u14   131  8월  9  2015 .xinputrc
-rw-------  1 u14  u14    54  7월  2 03:37 .xsession-errors
-rw-------  1 u14  u14   833  7월  2 03:11 .xsession-errors.old
-rw-r--r--  1 u14  u14  8.8K  8월  9  2015 examples.desktop
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 공개
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 다운로드
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 문서
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 바탕화면
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 비디오
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 사진
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 음악
drwxr-xr-x  2 u14  u14  4.0K  8월  9  2015 템플릿

 

 

"$ sudo apt-get -y upgrade" 명령어 등을 이용하면...^^

 

 

 

 

Ansible을 이용해서 Slave에 접근하는 것에 대해서 살짝 맛만 봤다.

제대로 이용하기 위해서는 playbook 등을 이용해야하지만, 지금은 맛만 살짝~




다음에 기회가 되면 계속 이어가보겠다~



 

반응형

2019.07.07


간만에 해보려고 했더니, 에러가 발생한다.

공식 가이드에도 14.04 버전에 대한 가이드 내용이 사라졌다.

아래 내용은 그냥 참고만 하시길...


============================================================================================


공식 홈페이지에 너무나 잘 나와있다.

- https://docs.docker.com/engine/installation/linux/ubuntu/



공식 홈페이지 내용 참고해서 직접 해보면서 진행했던 내용의 기록이다.

하나씩 따라가보자.


※ 이 블로그를 계속 봐오신 분들은 아시겠지만... 아래 내용은 직접 실행해보면서 작성한 것입니다.

※ VirtualBox를 이용하여 해당 OS를 설치하고 update까지만 마친 상태에서 진행하였습니다.




1. Ubuntu version

    - Docker에 대한 환상을 갖고 있었다. OS에 의존하지 않고 자유로운.... 하지만 꽝!

    - Ubuntu 14.04, 16.04, 16.10 만 지원하고 있다.

    - 특히, 64bit 만 지원한다! 32bit 안된다!



2. 필요 패키지 설치 (Ubuntu 14.04)

    - Ubuntu 14.04 버전에서만 하면 된다고 한다.


sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual



3. Binary 확인

    - 웹으로 다운로드 받을 버전을 확인하자.




4. Download 받기


$ wget https://download.docker.com/linux/ubuntu/dists/trusty/pool/stable/amd64/docker-ce_17.03.1~ce-0~ubuntu-trusty_amd64.deb



5. Docker 설치하기


sudo dpkg --install ./docker-ce_17.03.1~ce-0~ubuntu-trusty_amd64.deb



6. Hello World


$ sudo docker run hello-world

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

78445dd45222: Pull complete 

Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7

Status: Downloaded newer image for hello-world:latest


Hello from Docker!

This message shows that your installation appears to be working correctly.


To generate this message, Docker took the following steps:

 1. The Docker client contacted the Docker daemon.

 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.

 3. The Docker daemon created a new container from that image which runs the

    executable that produces the output you are currently reading.

 4. The Docker daemon streamed that output to the Docker client, which sent it

    to your terminal.


To try something more ambitious, you can run an Ubuntu container with:

 $ docker run -it ubuntu bash


Share images, automate workflows, and more with a free Docker ID:

 https://cloud.docker.com/


For more examples and ideas, visit:

 https://docs.docker.com/engine/userguide/



끝~

반응형

 


공식 홈페이지에 너무나 잘 나와있다.

- https://docs.docker.com/engine/installation/linux/ubuntu/



공식 홈페이지 내용 참고해서 직접 해보면서 진행했던 내용의 기록이다.

하나씩 따라가보자.


※ 이 블로그를 계속 봐오신 분들은 아시겠지만... 아래 내용은 직접 실행해보면서 작성한 것입니다.

※ VirtualBox를 이용하여 해당 OS를 설치하고 update까지만 마친 상태에서 진행하였습니다.




1. Ubuntu version

    - Docker에 대한 환상을 갖고 있었다. OS에 의존하지 않고 자유로운.... 하지만 꽝!

    - Ubuntu 14.04, 16.04, 16.10 만 지원하고 있다.

    - 특히, 64bit 만 지원한다! 32bit 안된다!



2. 필요 패키지 설치 (Ubuntu 14.04)

    - Ubuntu 14.04 버전에서만 하면 된다고 한다.


sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual



3. GPG Key 등록 준비


sudo apt-get install apt-transport-https ca-certificates curl software-properties-common



4. GPG Key 등록하기


curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88



5. apt 소스 리스트 추가하기


sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

$ sudo apt-get update



6. Docker 설치하기


sudo apt-get install docker-ce



7. Hello World


$ sudo docker run hello-world

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

78445dd45222: Pull complete 

Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7

Status: Downloaded newer image for hello-world:latest


Hello from Docker!

This message shows that your installation appears to be working correctly.


To generate this message, Docker took the following steps:

 1. The Docker client contacted the Docker daemon.

 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.

 3. The Docker daemon created a new container from that image which runs the

    executable that produces the output you are currently reading.

 4. The Docker daemon streamed that output to the Docker client, which sent it

    to your terminal.


To try something more ambitious, you can run an Ubuntu container with:

 $ docker run -it ubuntu bash


Share images, automate workflows, and more with a free Docker ID:

 https://cloud.docker.com/


For more examples and ideas, visit:

 https://docs.docker.com/engine/userguide/



끝~

반응형

 

우선 한 가지 전제를 하고 포스팅을 하겠다.

필자는 LDAP에 대한 기본 지식이 없다. 그냥 막 쓰고 싶은 마음만 갖고 있을 뿐이다.

 

 

1. phpLDAPadmin 화면

 

   - 설치 후 처음으로 보인 화면이다.

 

 

 

 

2. dc ? cn ?

 

   - 무언가 약자가 많이 등장한다. 무슨 의미일까?

   - 우선 아래에 나열한 정도로 만족하자.

 

entry 

  attribute

dc

Domain Component

  도메인에 대한 요소

cn

Common Name

  이름

sn

Sir Name

  성 (Family Name)

ou

Organization Unit

  그룹 (조직)

dn

Distinguished Name

  특정한 사용자를 구분할 수 있는 고유의 이름

 

 

 

3. "Create new entry here" and warning !

 

   - 새로운 무언가를 생성해보기 위해서 "Create new entry here"를 선택하니 경고 화면이 나왔다.

 

 

   - "template"과 관련된 무언가가 잘 맞지 않는 것으로 보인다. 정리해보자.

 

$ sudo su

$ cd /etc/phpldapadmin/templates/creation

$ mkdir bak
$ mv ./sambaSamAccount.xml ./bak/
$ mv ./courierMailAlias.xml ./bak/

$ mv ./mozillaOrgPerson.xml ./bak/

$ service slapd restart

 

   - 문제가 되는 것들을 전부 치워놓고 서비스 재시작 한 후 다시 접근하면...

 

 

   - 이제서야 뭔가 제대로 된 것처럼 보인다.

   - (x) 표시가 된 것을을 보면... 방금 한 행위들이 어떤 의미인지 살짝 엿보인다.

 

 

하나씩 알아나가 보자.

 

반응형

'Development Tools > OpenLDAP' 카테고리의 다른 글

phpLDAPadmin - Group 만들기  (0) 2014.12.30
OpenLDAP (Ubuntu 14.04, Package)  (0) 2014.12.08

회사에서 Gerrit~GitHub 연계를 위해서 방법을 찾던 中

부서원들이 GitHub Plugin이라는 것이 있다는 것을 알아냈는데... 좀 문제가 있었다.


바이너리가 아니라 빌드를 해서 사용해야한다는 문제인데...

더욱 더 큰 문제는... 빌드가 쉽지는 않다는 사태가...


기본 가이드 링크는 아래와 같다.

   - https://gerrit.googlesource.com/plugins/github/+/refs/heads/stable-2.12/README.md


언제나 그렇지만... 시키는대로 따라할 수가 없어서 문제이지...



[ Action ]


참고할 정보가 있는 기준(?) 레퍼런스...


https://gerrit-review.googlesource.com/Documentation/dev-buck.html

링크가 깨졌다.


그렇지만, 포기하지 않는다!!!

https://review.openstack.org/Documentation/dev-buck.html

여기에서 확인할 수 있었다.



① Git

   - 소스들을 받아오기 위해서는 기본적으로 Git이 필요하다.


$ sudo apt-get install git


② JDK

   - Gerrit은 기본적으로 Java 기반이기에... 가이드에는 JDK7이 필요하다고 되어있다.

   - 무시하고 JDK8로 환경을 맞춰서 했다가 다 망했다..

   - 무조건 JDK7 환경으로 진행을 해라!!!


③ Ant

   - Buck 이라는 빌드 도구를 빌드하기 위해서는 Ant가 필요하다.

   - 응!? Unix is not Unix ?


$ sudo apt-get install ant


④ Gerrit download

   - Gerrit 빌드할 준비를 위해 미리 소스코드를 내려 받는다.

   - 이번 빌드는 2.10 버전을 기준으로 할 것이다.

     (실제로 2.10 버전을 보면 2.10.7 까지 있는데, 우선은 가이드에 있는 2.10.2 버전으로 해보겠다)


$ cd /srv/workspace

$ git clone --recursive https://gerrit.googlesource.com/gerrit

$ cd gerrit

$ git reset --hard v2.10.2



⑤ Buck

   - 이번에 처음 들어본 빌드 도구이다. Buck ?!

   - Facebook 에서 만들었고, 오픈소스로 공개한 것인가 보다.

      . https://buckbuild.com/

      . https://github.com/facebook/buck


$ cd /srv/workspace

$ git clone https://github.com/facebook/buck

$ cd buck

$ git checkout $(cat ../gerrit/.buckversion)

$ ant

$ export PATH=$PATH:/srv/workspace/buck/bin/



⑥ Gerrit Build

   - 이제 Buck으로 Gerrit을 빌드해보자. 안해도 된다. 그냥 해보기.


$ cd /srv/workspace/gerrit

$ buck build gerrit



⑦ maven

   - 뒤에 것들을 진행하기 위해서 이것도 필요하다.


$ sudo apt-get install maven



⑧ GitHub API

   - 이것도 필요하단다...


$ cd /srv/workspace

$ git clone https://github.com/lucamilanesio/github-api.git

$ cd github-api/

$ mvn install -DskipTests=true



⑨ singleusergroup plugin

   - 또 필요한거 빌드 하자.


$ cd /srv/workspace/gerrit

$ cd ./plugins/singleusergroup

$ git reset --hard v2.10.2

$ cd /srv/workspace/gerrit

$ buck build plugins/singleusergroup/



⑩ github plugin

   - 이제 본게임으로 들어가자

   - 최신 버전으로는 빌드가 안되어 알아낸 방법..... 2.10 버전으로 하면 된다.


$ cd /srv/workspace

$ git clone https://gerrit.googlesource.com/plugins/github

$ cd github

$ git checkout -b stabe-2.10 origin/stable-2.10

$ mvn install


...


[INFO] ------------------------------------------------------------------------

[INFO] Reactor Summary:

[INFO] 

[INFO] Gerrit Code Review - GitHub integration ........... SUCCESS [2.338s]

[INFO] Gerrit Code Review - GitHub OAuth login ........... SUCCESS [22.009s]

[INFO] Gerrit Code Review - GitHub plugin ................ SUCCESS [18.869s]

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 44.113s

[INFO] Finished at: Mon Mar 27 00:09:03 KST 2017

[INFO] Final Memory: 31M/91M

[INFO] ------------------------------------------------------------------------


빌드까지는 성공~

이후 설치 및 셋팅은 다음 기회에~^^


github-oauth-2.10.3.jar

original-github-oauth-2.10.3.jar

github-plugin-2.10.3.jar

original-github-plugin-2.10.3.jar

github-api-1.69.jar

github-api-1.69-SNAPSHOT.jar

singlegroup.tar.gz

singlegroup.tar.gz

singlegroup.tar.gz

github-oauth-2.13.jar

original-github-oauth-2.13.jar

github-plugin-2.13.jar

original-github-plugin-2.13.jar

singleusergroup.tar.gz

github-api-1.69-SNAPSHOT.jar

singlegroup.tar.gz


반응형

반응형

'Sally's Home School' 카테고리의 다른 글

선사시대 (구석기/신석기) 시대  (0) 2018.01.21


Git에 대해서 공부하다보면, 조금 답답한 것 중 하나가 용어 정리를 해주지를 않는다는 점이다.
그런 것 중 하나가 바로 [ Fast-Forward ]라는 용어다.


이 블로그에 포스팅하고 있는 내용들 모두 마찬가지이지만,
특히 이번 블로그는 절대적으로 개인적인 의견과 함께 개인적으로 정리한 내용이다.
즉, 완전 거짓말일 수 있다는 말이다. 꼭 참고하길 바란다!!! (책임지지 않아요~)



1. 합치자고~

     - Git에서 이루어지는 merge 방법은 다음의 세가지 타입이 있다.
          ▷ 3-way merge
          ▷ fast-forward merge
          ▷ cherry-pick

     - 명령어로 따지면 다음 3가지 방법이 있다.
          ▷ merge
          ▷ rebase
          ▷ cherry-pick



2. 명령어와 방식의 구분

     - 각 명령어와 merge 방식의 관계는 다음과 같다.

  merge rebase cherry-pick
3-way merge O X X
fast-forward merge O O X
cherry-pick X X O

 


     - 즉, merge 명령을 통해서는 상황에 따라 "3-way merge"가 이루어질 수도 있고,
       "fast-forward merge"가 이루어질 수도 있다.

     - rebase 명령의 경우에는 기본적으로 "fast-forward merge"가 이루어진다.
     - cherry-pick 명령은 "cherry-pick"을 위한 명령이다.




3. fast-forward merge

     - fast-forward의 본래 뜻은...!? 앞으로 감다!!! 즉, FF 버튼이나 FFWD 버튼이 바로 이것이다.
     - fast-forward merge가 이루어지는 경우는 두 가지이다.

          ▷ merge 상황에서 merge를 하는 branch에서 별도의 commit이 없는 경우
          ▷ rebase를 수행하는 경우

 


4. 3-way merge

     - 일반적인 merge 상황에서 git은 기본적으로 3-way merge를 수행한다. 
     - 양쪽 브랜치에 commit이 있는 상황에서 merge를 하면 merge commit과 함께 합쳐지는 것이다.

 

5. cherry-pick merge

     - 특정 commit만을 반영하고 싶은 경우이다. 
     - 양쪽 브랜치에 commit이 있는 상황에서 merge를 하면 merge commit과 함께 합쳐지는 것이다.

 

정말 옛날에 작성해놓고 keep 하고 있는 포스팅인데...

자세한 설명은 다음 기회에 하기로 하고... 그냥 발행한다 ^^

(잠자고 있는 포스트 발행하기 프로젝트 중이라서... ㅋㅋ)

 

반응형

 

승냥이에게 자신은 부원배들의 비리를 캐고 있다고 말하는 장면

 

 

 

다시 한 번 말하지만,

기황후의 시대적 배경은 고려말 몽골의 고려침입 이후 원나라의 간섭기이다.

 

원나라의 간섭을 (실제로는 간섭이 아닌 지배... 아니다) 받는 시기이니 만큼

원나라에 빌붙어서 권력을 추구한 세력들이 당연히 있었는데...

이들을 부원세력 또는 부원배라고 불렀다고 한다.

 

 

몽골이 고려를 침략하면서 직접 지배하기 위해 쌍성총관부(雙城摠管府)를 설치하였고

이 과정에서 몽골을 도와준 고려인들에게 직책을 부여하기도 하였다.

이런 이들이 바로 부원세력인데...

조선을 세운 태조 이성계의 집안이 바로 이 쌍성총관부의 관리였다고 한다.

이성계도 이 때 할아버지나 아버지를 도왔으므로 이성계도 부원세력이라고 불러도 무방할 것 같다.

 

 

 

기황후라는 드라마의 주된 갈등이 바로 이 부원세력들과의 사이에서 발생하는 것이다.

 

 

나라를 팔아먹은 놈들이다.

 

 

반응형

+ Recent posts