빌드하기 위해 필요한 패키지들을 미리 설치합시다.

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc xmlto


asciidoc 은 직접 받아서 설치를 해야 한다.

$ cd /srv/install/asciidoc
wget http://pkgs.repoforge.org/asciidoc/asciidoc-8.6.8-1.el6.rfx.noarch.rpm
$  rpm -Uvh 
asciidoc-8.6.8-1.el6.rfx.noarch.rpm

git 소스파일을 내려 받아야겠죠?!

$ cd /srv/install/git
$ wget  http://git-core.googlecode.com/files/git-1.8.4.1.tar.gz
$ tar zxvf git-1.8.4.1.tar.gz
$ cd ./
git-1.8.4.1  


 Ubuntu에서 했던 것과 차이가 없죠 !?

$ make configure
$ ./configure --prefix=/usr/local
$ make all doc
$ sudo make install install-doc install-html

버전 확인 !

$ git --version


GIT 자동완성을 지원하기 위해서는...

우리 모두 Git으로 행복한 형상관리를...
반응형

Windows 환경에서 Subversion 서버 환경을 구축하는 방법 중 하나로 BitNami 패키지를 활용하는 방법을 살펴보았었다.

   - Subversion 설치 (Windows, BitNami) : http://whatwant.tistory.com/609


상당히 편리하기는 하지만,
솔직히 필자의 취향과는 너무도 다른 방식이기에 공식 배포판을 가지고 환경을 구축하는 방법을 살펴보고자 한다.


리눅스(Ubuntu) 환경에서는 필자가 좋아하는 방식인 SourceCode로 설치하는 방법을 살펴보았었다.

   - Subversion 설치 (Ubuntu, SourceCode) : http://whatwant.tistory.com/566


Windows에서도 SourceCode를 빌드할 수 있겠지만,
솔직히 최근 하루에 30분 짬내기도 힘든 상황에서 좋아하지도 않는 Windows 환경에 시간 투자하기는.... ^^



공식적으로 Windows 환경을 위한 Binary는 다음과 같이 제공이 되고 있다.

   - http://subversion.apache.org/packages.html#windows




1. Download

서버를 구성하기 위해서 최근에 유행(?)하는 것은 VisualSVN이다.

   - http://www.visualsvn.com/


Windows 환경에서 대부분 그렇듯이 Client와 Server 두 가지로 구분되어서 제공되고 있다.

   - http://www.visualsvn.com/downloads/

위 경로로 접속하면 다운로드는 3가지로 구분이 되어서 배포되고 있다.



   - http://www.visualsvn.com/server/download/

System Requirements 등을 확인하면서 다운로드를 받기 위해 위 경로로 접속해보자.


대부분의 Windows 운영체제를 지원해주고 있고 상당히 낮은 CPU와 RAM, HDD 를 요구하고 있다.
즉, 어지간한 환경이라면 다 가능하다라는 아름다운 조건이다~!!!

잡소리가 길었다. [ download now ]를 눌러서 다운로드 받고 실행하자.



2. Install

사실 대부분의 상황에서도 그렇지만, 특히나 서버 프로그램은 경로를 포함해서 되도록이면 Default 설정을 따르는 것이 좋다.
선택의 상황들에 대해서 잘 읽어보고 되도록이면 기본 설정으로 가자.


위 설정을 바꿔야 하는 상황이라면 이미 expert일테니.... ^^


VisualSVN은 상용 Enterprise Edition도 제공을 하고 있다.
좋은 소프트웨어라 판단된다면, 또는 회사 업무용으로 사용한다면 구매해서 사용하는 것을 권장한다.
특히, 인증이나 로그 관련한 부분만으로도 충분히 가치가 있다고 생각한다.


공부를 위해 또는 테스트 용도로 사용한다면, "Standard Edition"으로 선택해서 설치를 계속 진행하자.


설치 경로는 별다른 사유가 없다면 그대로 설정을 하고,
저장소 경로는 각자의 상황에 따라 적절히 변경을 하면 될 것 같다.

그리고, 서버로 사용할 포트를 설정하는데 기본값은 보안을 위해 [ https ]를 사용하는 것을 권장하고 있다.


테스트 용도로 사용하거나 방화벽 등의 이슈가 있는 상황에서는 그냥 일반 http 포트인 80번 포트를 사용하자.


설치 과정이 진행이 되면 위와 같이 마무리가 된다.


서버 프로그램다운(?) Management 화면이 나온다.



repository 생성하고, 계정 관리하고 하는 부분에 대해서는 따로 포스팅하도록 하겠다.

반응형

'SCM > Subversion' 카테고리의 다른 글

Subversion 설치 (Windows, BitNami)  (0) 2013.09.09
Subversion 프로토콜 - 1. SVN (Ubuntu)  (0) 2013.09.09
Subversion 설치 (Ubuntu, SourceCode)  (0) 2013.09.05

개인적으로 별로 좋아하지 않는 Windows 환경, 그리고 별도로 구성된 패키지 방식...
그러나, 어느 해외연구소 담당자가 리눅스 서버와 소스 빌드 설치 등에 익숙하지 않은 관계로...


1. BitNami Stack Download

   - BitNami에서 제공하는 "Version Control"은 몇 가지 없다.
   - 일단, 여기에서 Subversion을 선택하고 다운로드 받자.



2. Install

   - 다운로드 받은 파일을 실행함으로써 설치를 진행하자.


   - 그런데, 이 때 하나 주의해야할 점은 기존에 다른 Server를 운영하는 상황에서는 포트 충돌로 조금 곤란할 수가 있다.
   - 되도록이면 하나의 서버에는 하나의 서버 어플리케이션만 운영하기 바란다.


   - 설치를 하고나면 위와 같은 화면이 뜨고. 왼쪽 위 Subversion Icon을 클릭하면 된다.




그런데, 이렇게 설치를 해보니... 사용법(?) 알아내기도 난감하고, 굳이 이렇게 설치를 해서 뭐가 좋은지 모르겠다.

이렇게 패키지로 설치를 하는 경우 주어진 방법대로 사용하지 않고,
막 쓰게 되면 꼬이게 되어 나중에 상당히 곤란하게 되는 경우가 많았기 때문이다.

반응형

Subversion을 설치했다는 것은 형상관리를 하고자 한다는 말이고,
형상관리를 하겠다라는 것은 일반적으로 여러명과 공동 작업을 하겠다라는 말일 것이다.

여러 명이 접속하는 서버를 구성하기 위해서 가장 중요한 것은 어떤 프로토콜을 사용할 것인가 하는 점이다.

그러면, Subversion에서는 어떤 프로토콜을 사용할 수 있을까?

   - FileSystem
   - HTTP
   - SSH
   - SVN
   - SVN+SSH


1. Protocol - SVN

   - Subversion은 [ svnserve ]를 통해서 고유의 프로토콜을 사용할 수 있게 해준다.
   - 기본으로 사용하는 포트는 [ 3690 ] 이다.

   - 당연한 말이지만, Apache를 통해서 제공하는 HTTP 프로토콜 보다는 훨씬 빠르다.
   - SSH 프로토콜보다 빠른지는 한 번 테스트해봐야 알 수 있을 것 같다.

   - SVN 프로토콜을 사용하기 위해서는 [ svnserve ] 데몬을 실행해야하고, 그 방법은 정말 쉽다.

$ sudo svnserve -d -r /srv/repository/

   - 이것으로 끝이다. Subversion Server가 실행된 것이다.

$ cd /srv/workspace

$ svn checkout svn://127.0.0.1/svnrepo svnrepo

체크아웃된 리비전 0.

$ ls -al
합계 12
drwxr-xr-x 3 chani chani 4096  9월  7 00:20 .
drwxr-xr-x 5 root  root  4096  9월  6 23:55 ..
drwxrwxr-x 3 chani chani 4096  9월  7 00:20 svnrepo

   - SVN  프로토콜을 통해 repository를 받아올 수 있게 되었다.
   - 그런데, 방금 우리는 계정 정보 없이 그냥 막 받아왔다. 우리가 원하는 것은 계정을 통한 권한제어인데...

$ cd /srv/repository/

$ cd svnrepo/

$ ls -al
합계 32
drwxrwxr-x 6   chani chani 4096  9월  5 22:56  ./
drwxr-xr-x 3    chani chani 4096  9월  5 22:56  ../
-rw-rw-r-- 1    chani chani  246  9월  5 22:56  README.txt
drwxrwxr-x 2   chani chani 4096  9월  5 22:56  conf/
drwxrwsr-x 6   chani chani 4096  9월  5 22:56  db/
-r--r--r-- 1      chani chani     2  9월  5 22:56  format
drwxrwxr-x 2   chani chani 4096  9월  5 22:56  hooks/
drwxrwxr-x 2   chani chani 4096  9월  5 22:56  locks/

   - 서버에 생성한 repository를 살펴보자. 위치하고 있는 디렉토리를 주의깊게 살펴봐야 한다.

$ cd conf/

$ ls -al
합계 24
drwxrwxr-x 2  chani chani 4096  9월  5 22:56 .
drwxrwxr-x 6  chani chani 4096  9월  5 22:56 ..
-rw-rw-r-- 1   chani chani 1080  9월  5 22:56   authz
-rw-rw-r-- 1   chani chani  885  9월  5 22:56    hooks-env.tmpl
-rw-rw-r-- 1   chani chani  309  9월  5 22:56    passwd
-rw-rw-r-- 1   chani chani 4002  9월  5 22:56   svnserve.conf

   - 특히 우리가 관심을 가져야 할 곳은 conf/ 디렉토리이다.
   - 우선, 우리는 계정을 사용하겠다라는 설정부터 하자.

$ nano ./svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = passwd

   - anonymous 접근은 막고, 인증받은 계정으로 읽기/쓰기를 하겠으며, 계정 정보는 passwd 파일로 하겠다라는 설정이다.

$ nano ./passwd

[users]
whatwant = 1234

   - 기본적으로 passwd 파일에서 설정은 [ 사용자계정 = 비밀번호 ] 형식이고, 암호화하지 않는다.

$ svn --username whatwant checkout svn://127.0.0.1/svnrepo svnrepo

인증 영역(realm): <svn://127.0.0.1:3690> b4595488-89ba-479b-b681-c8e86660c71c
'whatwant'의 암호: ****

'(null)'의 GNOME 키 링 암호: ****

체크아웃된 리비전 0.

   - ID / Passwd 방식으로 접근이 이루어지는 것을 볼 수 있다.

   - 중간에 보면 [ '(null)'의 GNOME 키 링 암호: **** ] 부분이 걸리적거리는데...

$ nano ~/.subversion/config

[auth]
password-stores =
store-passwords = yes

$ nano ~/.subversion/servers

[groups]
store-plaintext-passwords = no

   - 이제 기본적인 상황은 모두 점검을 했다.
   - 이제 필요한 것은 부팅할 때 자동으로 구동이 되도록 셋팅만 해주면 된다.

   - https://help.ubuntu.com/community/Subversion
   - 필자가 테스트하고 있는 환경이 우분투이기에 우분투 환경에서 사용할 수 있는 방법을 찾아보았다.

   - initd script for svnserve
   - http://odyniec.net/articles/ubuntu-subversion-server/svnserve

$ cd /etc/init.d/
$ sudo wget http://odyniec.net/articles/ubuntu-subversion-server/svnserve
$ sudo chmod +x ./svnserve
$ sudo nano ./svnserve

DAEMON=/usr/local/bin/$NAME
DAEMON_ARGS="-d -r /srv/repository"

$ sudo /etc/init.d/svnserve start

   - 이제 svnserve를 예쁘게 사용하자.


반응형

'SCM > Subversion' 카테고리의 다른 글

Subversion 설치 (Windows, Binary : VisualSVN)  (0) 2013.09.14
Subversion 설치 (Windows, BitNami)  (0) 2013.09.09
Subversion 설치 (Ubuntu, SourceCode)  (0) 2013.09.05


솔직히 Ubuntu 환경에서 Subversion을 설치하는 방법은 너무 쉽다.

$ sudo apt-get install subversion


딱 한 줄의 명령어면 해결이 된다.

하지만, 개인적인 취향으로...
그리고 서버로 운영을 할 것이라면 공부 좀 하면서 SourceCode로 설치하는 것이 좋다고 생각한다.


그러면 해보자 !!!

우선 필요한 것은 빌드에 필요한 밑밥깔기~ 

$ sudo apt-get build-dep subversion

패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다      
상태 정보를 읽는 중입니다... 완료
다음 새 패키지를 설치할 것입니다:
  apache2-threaded-dev apache2-utils apache2.2-bin apache2.2-common autoconf automoc
  autotools-dev build-essential ca-certificates-java comerr-dev debhelper default-jdk
  default-jre default-jre-headless dh-apparmor diffstat docbook-xml docbook-xsl doxygen
  dpkg-dev g++ g++-4.6 gettext html2text intltool-debian java-common junit kdelibs-bin
  kdelibs5-dev kdoctools krb5-multidev libapr1 libapr1-dev libaprutil1
  libaprutil1-dbd-sqlite3 libaprutil1-dev libaprutil1-ldap libatk-wrapper-java
  libatk-wrapper-java-jni libattica0.3 libclucene0ldbl libdb4.8 libdb4.8-dev
  libdbus-1-dev libdlrestrictions1 libdpkg-perl libexpat1-dev libgcrypt11-dev
  libgettextpo0 libgif4 libglib2.0-dev libgnome-keyring-dev libgnutls-dev
  libgnutls-openssl27 libgnutlsxx27 libgpg-error-dev libgssrpc4 libkadm5clnt-mit8
  libkadm5srv-mit8 libkcmutils4 libkdb5-6 libkde3support4 libkdeclarative5 libkdecore5
  libkdesu5 libkdeui5 libkdewebkit5 libkdnssd4 libkemoticons4 libkfile4 libkhtml5
  libkidletime4 libkimproxy4 libkio5 libkjsapi4 libkjsembed4 libkmediaplayer4
  libknewstuff2-4 libknewstuff3-4 libknotifyconfig4 libkntlm4 libkparts4
  libkprintutils4 libkpty4 libkrb5-dev libkrosscore4 libkrossui4 libktexteditor4
  libkunitconversion4 libkutils4 libldap2-dev libmysqlclient-dev libmysqlclient18
  libneon27-gnutls-dev libnepomuk4 libnepomukquery4a libnepomukutils4 libnss3-1d
  libp11-kit-dev libpcre3-dev libpcrecpp0 libperl-dev libphonon-dev libphonon4
  libplasma3 libpq-dev libpq5 libqca2 libqt4-designer libqt4-dev libqt4-help
  libqt4-qt3support libqt4-scripttools libqt4-test libqtwebkit4 libreadline5 libruby1.8
  libsasl2-dev libserf-dev libserf1 libsolid4 libsoprano-dev libsoprano4 libsqlite3-dev
  libssl-dev libstdc++6-4.6-dev libstreamanalyzer0 libstreams0 libtasn1-3-dev
  libthreadweaver4 libtimedate-perl libtool libunistring0 libvirtodbc0 libxml2-dev
  libxml2-utils libxss1 m4 mysql-common odbcinst odbcinst1debian2 openjdk-6-jdk
  openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib phonon-backend-null po-debconf
  python-all python-all-dbg python-all-dev python-dbg python-dev python2.7-dbg
  python2.7-dev qt4-linguist-tools qt4-qmake quilt ruby1.8 ruby1.8-dev sgml-data
  soprano-daemon swig swig2.0 tzdata-java uuid-dev virtuoso-opensource-6.1-common
  zlib1g-dev
0개 업그레이드, 167개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
154 M바이트 아카이브를 받아야 합니다.
이 작업 후 486 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까 [Y/n]?


뭔가 정말 많이도 설치한다.
무려 167개...!? (물론 각자 상황에 따라 틀릴 것이다)


소스코드를 다운로드 받아서 진행을 해보자.


2013.09.04 현재 가장 최신 버전은 1.8.3 이다.

$ tar zxvf subversion-1.8.3.tar.gz

$ cd subversion-1.8.3/


압축 풀고... 이제 본격적으로 진행하면 된다.

$ ./get-deps.sh
Local directory 'zlib' already exists; the downloaded copy won't be used
Local directory 'serf' already exists; the downloaded copy won't be used
Local directory 'sqlite-amalgamation' already exists; the downloaded copy won't be used
Local directory 'apr' already exists; the downloaded copy won't be used
Local directory 'apr-util' already exists; the downloaded copy won't be used

If you require mod_dav_svn, the recommended version of httpd is:
   http://archive.apache.org/dist/httpd/httpd-2.4.6.tar.bz2

If you require apr-iconv, its recommended version is:
   http://archive.apache.org/dist/apr/apr-iconv-1.2.1.tar.bz2


Subversion과 같이 빌드가 될 다양한 dependency 관계에 있는 모듈들을 미리 점검하는 과정이다.

위의 메시지처럼 같이 빌드할 수 있는 모듈 중 현재 없는 것을 알려주는 경우,
필요하면 설치를 해주고 필요없다면 그냥 무시해도 Subversion 빌드는 진행할 수 있다.

$ cd apr/
$ ./buildconf
$ cd ..


$ cd apr-util/
$ ./buildconf
$ cd ..


$ cd apr-util/xml/expat/
$ ./buildconf.sh
$ cd ../../..


$ ./autogen.sh

$ ./configure

$ make

$ make check

$ sudo make install


설치는 이렇게만 하면 끝이다 !!!

반응형

형상관리 도구를 사용해야 하는 환경에서 종종 문의가 들어오는 내용 중 하나가 바로 IDE 지원 여부이다.
특히 개발자가 가장 많이 사용하는 IDE 라고 하면, MS Visual Studio와 Eclipse를 꼽을 수 있다.

Eclipse 환경에서는 EGit plugin을 사용하면 되고...
   - 참고 : http://whatwant.tistory.com/412

MS Visual Studio 환경에서는 최근 Microsoft 에서 공식 지원을 해주고 있다.
사실 필자는 Visual Studio를 거의 사용하지 않기에 이렇게 지원을 하고 있는지 전혀 모르고 있었다.


Visual Studio Tools for Git

   [ Requirements ]
      ▷ Visual Studio 2012
      ▷ Visual Studio 2012 Update 3

   [ Link ]
      ▷ http://visualstudiogallery.msdn.microsoft.com/abafc7d6-dcaa-40f4-8a5e-d6724bdb980c

   [ Screenshot ]



그런데, 이것 말고도 또 있긴 하다.

Git Source Control Provider
   - http://visualstudiogallery.msdn.microsoft.com/63a7e40d-4d71-4fbb-a23b-d262124b8f4c


사실 이런 도우미들을 사용할 필요 없이 그냥 윈도우즈 환경에서 Git을 설치해서 사용해도 큰 불편함이 없을거라 생각한다.
   - http://git-scm.com/downloads



나중에 기회가 되면 Visual Studio를 설치해서 테스트해보도록 하겠다~ (난 gcc가 좋은데... ㅠㅠ)
반응형

Git 계정 관리에 대해서 알아보면서 이미 한 번 SSH Public Key에 대해서 살펴보았었다.
   - http://whatwant.tistory.com/395


이번에는 예전에 살펴보지 못한 부분들에 대해서 알아보고자 한다.


1. Server : ssh daemon 설정

   - 만약 Git Server에서 Public Key로 접속하는 것을 막아버리고 싶으면 어떻게 해야 힐까?
   - [ /etc/ssh/sshd_config ] 파일을 살펴보면 된다.

PubkeyAuthentication yes

   - 그 외에도 다양한 설정들을 살펴볼 수 있고, 손 볼 수 있다.


2. Client : RSA vs DSA

   - SSH Public Key 파일을 생성할 때 보통 RSA 타입을 사용했다.
   - [ ssh-keygen ] 명령어를 보면 DSA 타입에 대해서도 나온다.
   - RSA는 무엇이고 DSA는 무엇일까?

   ※ 아래 내용은 위키피디아(http://ko.wikipedia.org/)의 내용을 많이 참고하고 있습니다.

   ① RSA
      - 1977년 로널드 라이베스트, 아디 샤미르, 레오널드 애들먼의 연구에 의해 체계화 된 공개키 암호시스템이다.
      - (Ron Rivest), (Adi Shamir), (Leonard Adleman) 3명 연구원의 이름 앞글자로 RSA 이름이 지어졌다.
      - 1983년에 발명자들이 소속되어 있던 MIT에 의해 미국에 특허로 등록되었고, 2000년 9월 21일에 그 특허가 만료되었다.
      - RSA 암호체계의 안정성은 큰 숫자를 소인수분해하는 것이 어렵다는 것에 기반을 두고 있다.

   ② DSA (Digital Signature Algorithm)
      - RSA와 마찬가지로 비대칭형 암호화 방식이다.
      - ElGamal 알고리즘을 이용하여 NIST(미국립표준기술연구소)에서 개발한 전자 서명방식이다.
      - 나중에 DSS(Digital Signature Standard)로 이름이 변경된다.
      - 보통 웹인증서에서 사용하는 방식이다.

   - 암호화 속도는 비슷하지만, 키 생성은 DSA가 빠르고 검증속도는 RSA가 빠르다.
   - RSA는 원문을 개인키로 암호화 해야 서명이 가능하지만, DSA는 그렇지 않다.
   - DSA는 전자서명 여부에 따라 예/아니오로 간단하게 사용한다.

   - 개인적으로 궁금한 것은 DSA가 RSA 보다 더 좋은 것인지 확인하고 싶었다.
   - 결론적으로는 뭐 그냥 그렇다. 그냥 RSA를 사용하게 하는 것이 무난하다는 판단이다.


3. SSH Public Key 활용하기

   - A 라는 사용자가 [ssh-keygen -t rsa ] 명령으로 [ id_rsa / id_rsa.pub ] 파일을 생성했다고 해보자.
   - 다른 PC에서 SSH Public Key를 이용해서 ssh 접속을 하고자 한다면 어떻게 할까?!

   - Key 파일을 생성한 PC 에서 인증을 위해 사용할 Public Key를 등록해야 한다.
   - [ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ]
   - cp가 아니고 뒤에 첨부하는 식으로 처리한 이유는, 여러개의 Public Key를 등록하는 경우도 있기 때문이다.

   - 참고로 각 파일에 필요한 권한은 다음과 같다.

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub 
chmod 644 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts


4. 두 대의 PC에서 개발

   - 개발 PC 한 대에서 Key 파일을 하나 생성한 후 Git Server에 등록을 했다고 해보자.
   - 만약 노트북을 한 대 받아서 그곳에서도 개발을 해야한다면 어떻게 해야할까?

   - 가장 손 쉬운 방법은 노트북에서도 Key 파일을 하나 생성해서 추가로 Git Server에 등록을 하는 것이다.
   - 그런데, 추가 등록하지 않고 기존에 생성한 Key 파일을 재활용할 수 있는 방법은 없을까?

   ① Copy

      - [ ssh-keygen -t rsa ] 명령으로 Key 파일을 생성하면,
        [ ~/.ssh/ ] 디렉토리 밑에 id_rsa, id_rsa.pub 파일이 생성된다.
      - 유저에게 필요한 파일은 [ id_rsa ]이고, 서버에 등록을 할 것은 [ id_rsa.pub ] 파일이다.

      - 그런데 이 유저가 다른 PC에서 서버에 접근을 하려고 하는 순간 고민이 생긴다.
      - 전에 사용하던 PC에서는 편하게 Public Key로 인증을 했는데, 이 PC에서는 인증이 안되는 것이다.

      - 사실 정말 간단히 모든 것이 해결된다.
      - 기존 PC에서 생성한 [ id_rsa ] 파일을 [ ~/.ssh/ ] 디렉토리 밑으로 복사해 놓으면 끝이다.

      - 그런데, 이 새로운 PC에 이미 생성해서 사용하고 있는 [ id_rsa ] 파일이 있으면 어떻게 해야할까?

   ② Multi Key

      - Public Key 파일을 관리하기 위해서 별도 설정을 할 수 있다.
      - [ ~/.ssh/config ] 파일에 원하는 내용을 넣으면 되는 것이다.

$ cd ~/.ssh/

$ ls -al
합계 20
drwx------ 2 user2 user2 4096  8월  6 21:22 .
drwxr-xr-x  3 user2 user2 4096  8월  5 01:51 ..
-rw------- 1 user2 user2 1675  8월  5 01:09 id_rsa
-rw-r--r--  1 user2 user2   398  8월  5 01:09 id_rsa.pub
-rw-r--r--  1 user2 user2   222  8월  6 21:22 known_hosts

$ scp chani@127.0.0.1:/home/chani/.ssh/id_rsa ./chani
chani@127.0.0.1's password:
id_rsa                                                        100% 1679     1.6KB/s   00:00   

$ ls -al
합계 24
drwx------ 2 user2 user2 4096  8월  6 21:23 .
drwxr-xr-x  3 user2 user2 4096  8월  5 01:51 ..
-rw------- 1 user2 user2 1679  8월  6 21:23 chani
-rw------- 1 user2 user2 1675  8월  5 01:09 id_rsa
-rw-r--r--  1 user2 user2   398  8월  5 01:09 id_rsa.pub
-rw-r--r--  1 user2 user2   222  8월  6 21:22 known_hosts

   - 'user2'라는 계정에서 'chani'라는 계정으로 Public Key를 이용해서 SSH 접속을 하고 싶은 상황이라고 해보자.
   - 그런데, 'user2'라는 계정에서 이미 Public Key를 생성했기 때문에 id_rsa 파일이 존재하고 있다.
   - 'chani' 계정의 id_rsa 파일을 그대로 복사해올 수가 없어서 'chani'라는 이름으로 바꾸어서 복사를 한 상황이다.


   - 이 상황에서 chani 계정으로 SSH 접속을 시도하면 Public Key를 인식하지 못하고 패스워드를 물어본다.

   - 지금 필요한 것은 [ chani@127.0.0.1 ] 접속을 할 때에 id_rsa 파일이 아니라
     chani 라는 이름으로 복사한 Key 파일을 사용하도록 알려주는 것이다.

   - [ ~/.ssh/config ] 파일을 수정해보자. (없으면 생성하면 된다)

Host 127.0.0.1
        Identityfile ~/.ssh/chani

   - 위와 같이 작성한 후 [ ssh chani@127.0.0.1 ] 실행하면 접속이 될 것이다.

   - 조금 더 체계적으로 config 파일을 작성하면 다음과 같이 할 수도 있다.

Host localhost
        User chani
        Port 22
        Hostname 127.0.0.1
        Identityfile ~/.ssh/chani

   - 조금 불편한 점은 위와 같이 설정한다고 해서 localhost와 127.0.0.1 둘 모두 사용할 수 있는 것은 아니다.

   - 여기에서 중요한 점은 특정 서버에 접속할 때에 사용할 특정 Key 파일을 지정할 수 있다는 것이다.



이번에는 여기까지~



반응형

'SCM > Git-GitHub' 카테고리의 다른 글

Git (RedHat Enterprise Server 6.3, SourceCode, v1.8.4.1)  (0) 2013.10.22
MS VisualStudio 에서 GIT 지원  (0) 2013.08.31
3D Version Tree  (0) 2013.04.30
[005] Install GIt (in Ubuntu)  (5) 2013.04.25
Empty commit - 내용없는 commit 만들기  (0) 2013.03.31

블로그의 포스트들을 살펴보다가 예전에 스크립만 해놓은 것 중 하나를 발견하게 되었다.
버전 관리 도구의 브랜치를 3D로 보여주는 도구에 대한 포스팅이 바로 그것인데...


   □ Mono Success Story: Plastic
      - http://tirania.org/blog/archive/2006/Sep-05-2.html



3D 예찬론자는 아니지만, 아... 정말 아름답다 !!!

해당 포스팅을 보면 알겠지만, 2006년도 당시에 저 도구는 시중에서 구할 수 있는 것이 아니었다.
그래서 그냥 저런 View를 제공하기 위해서 개발을 하는 곳이 있구나....라는 생각만 할 뿐이었다.

그러다가 또 하나의 아티클을 발견하게 되었다.

   □ LDRA and Codice Software launch Agile development framework
      - http://johndayautomotivelectronics.com/ldra-and-codice-software-launch-agile-development-framework/


어?! 예전에 비해서 상당히 더 세련되어진 모습으로 등장을 했다 !!!
그냥 시험삼아서 개발을 했던 것이 아니라 계속 이어지고 있었던 것이다.


그래서 계속 알아본 결과.... 예쁜 인터페이스로 유명한 plasticscm (http://www.plasticscm.com/) 에서
제공해주고 있는 기능 중 하나라는 것을 확인할 수 있었다.

게임패드를 이용한 3D Version Tree 인터페이스를 한 번 구경해보도록 하자.




"Plastic SCM"이라는 도구가 국내에서는 그다지 지명도가 없지만,
아는 분들은 다 알고 있는 조금은 매니악한 분산형 버전 관리 도구이다.

현재 버전도 4.1 까지 나와있는 나름 오랜 시간동안 예쁨 받고 있는 좋은 버전 관리 도구 이다.

조금 안타까운 점은 돈 많은 회사가 아니라서 그런지 아니면 라인이 좋지 않아서인지
홈페이지에 접속이 시원시원하게 되지를 않는다 !

지금 집에서 접속을 하는데.... 아예 접속이 되지를 않는다.....
너무 예전에 테스트해봐서 기억이 나질 않아, 홈페이지에서 도구 소개글을 찾아보려고 했는데...


뭐 여하튼 이런 것도 있다는 것을 소개 한 번 해봤다~!!

많은 개발자가 다양한 형태로 머지를 하며 개발을 해서 version tree가 복잡할 때
이런 3D로 보여주게 되면 시각적으로 상당히 편리할 수도 있을 것 같다.
반응형

+ Recent posts