Cent OS 7에 SVN 설치 및 설정 방법


작업에 앞서 root 계정으로 진행하시는 것을 권장합니다.


(root 계정 전환 : 터미널에 su 명령어 입력 -> root 계정 비밀번호 입력)


터미널을 열고 yum install -y subversion 입력 

(root 계정이 아니라면 sudo yum install -y subversion 입력)



설치가 완료되면 svn을 사용할 디렉토리를 생성한다.


필자는 / 밑에 svn이라는 이름으로 디렉토리를 생성하였다.



디렉토리를 생성한 후 (/svn 까지만 생성한 상태) svnadmin 명령어를 이용하여 repository를 생성한다.


svnadmin create --fs-type fsfs /svn{repository 이름}



명령어를 실행하면 위와 같이 디렉토리가 생성된 것을 확인할 수 있다.



repository에 관한 설정을 하기 위해 위에서 생성된 디렉토리의 하위 디렉토리 중 conf 디렉토리로 이동한다.


conf 디렉토리로 이동하면 authz, passwd, svnserve.conf 세 파일이 있는 것을 확인할 수 있다.



SVN을 사용하려면 이 세 파일을 모두 수정해야 한다.



vim editor를 이용하여 svnserve.conf 파일을 수정한다.


맨 처음 파일을 열면 모든 줄이 다 주석 처리가 되어있는데 


[general]

anon-access = none          //익명 사용자 권한

auth-access = write           //권한있는 사용자 권한

password-db = passwd      //권한있는 사용자 정보가 있는 파일

authz-db = authz             //권한있는 사용자에 대한 저장소 권한이있는 파일

realm = svnTest repository //현재 파일의 설정이 적용되는 저장소


위와 같이 다섯개의 항목의 주석을 풀고 위와 같이 내용을 바꿔준다. 


익명 사용자의 경우 anon-access = read로 수정하여 익명사용자는 read의 권한만 줄 수도 있다.


realm에는 자신이 설정한 repository 이름을 입력하면 된다.


다음은 passwd파일을 수정한다.


터미널에 vim passwd 를 입력한다.



위의 사진은 초기 passwd의 내용이다. 


[users]항목 밑에 svn 사용자의 계정과 비밀번호를 생성한다.



=의 왼쪽이 계정, 오른쪽이 비밀번호가 된다. 계정과 비밀번호 모두 testUser로 설정하였다.


마지막은 authz파일의 수정이다.


터미널에 vim authz 를 입력한다.



위의 사진은 맨 처음 authz 파일의 내용이다. 위에서 수정한 다른 파일과 마찬가지로 모두 주석처리가 되어있다.


authz 파일은 새로운 항목을 추가하여 수정한다.



[/]

testUser = rw 


를 [aliases]항목 위에 추가하였다. 위 권한의 의미는 testUser가 repository의 모든 권한을 가진다는 의미이다.


다음으로 svn service가 동작할 때의 설정을 변경해야 한다.


/etc/sysconfig/ 디렉토리의 svnserve 파일을 수정한다.


맨 처음 파일을 열면 OPTIONS="-r /var/svn" 이라고 되어있다.


이 항목의 경로를 위에서 설정한 svn의 최상위 디렉토리로 변경한다.



수정 후 파일의 내용은 위와같다. 각자 설정하고자 하는 경로를 입력하면 된다.


svn에 접근을 하기 위해서는 방화벽을 해제하여야한다.



CentOS 7에서는 iptables보다 firewall-cmd 를 더 많이 사용하는 듯 하여 firewall-cmd 명령어로 SVN이 사용하는 3690 포트를 개방하는 방법이다.


방화벽에 포트를 등록하면 꼭 firewall-cmd --reload 명령어를 통해 방화벽을 다시 로드해야한다.


이제 SVN 서비스를 시작하는 일만 남았다.


systemctl start svnserve.service 명령어로 SVN service를 시작한다.



서비스를 실행한 후 ps -ef | grep svn 명령어를 입력하면 프로세스가 돌고 있는 것을 확인할 수 있고 해당 프로세스가 위에서 설정한 /svn 디렉토리를 이용하여 돌고 있다는 것을 확인할 수 있다.


systemctl enable svnserve.service 명령어를 입력하면 부팅과 동시에 SVN 서비스를 실행할 수 있다.



마지막으로 systemctl status svnserve.service 명령어를 입력하면 위와 같이 현재 SVN 서비스의 상태를 나타낸다.



'Linux > CentOS_7' 카테고리의 다른 글

CentOS 7 Qt5 설치  (0) 2017.02.10
CentOS 7 Qt Creator 설치하기  (0) 2017.02.10
Posted by 어벙벙대마왕
,

학교에서 교과과정 중 한백전자의 HBE-RoboCAR Embeded II 모델을 가지고 실습을 하는 수업이 있었습니다. 

 HBE-RoboCAR에 bootloader와 kernel, file system을 fusing하기 위해서는 한백에서 제공하는 dnw를 사용해야 한다고 명시되어 있고 그 이외에 다른 방법은 설명이 되어 있지 않았습니다. 하지만 dnw 유틸리티는 윈도우 XP만 지원하는 유틸리티이기 때문에 지금 사용되는 컴퓨터에서 사용하기에는 무리가 있어 u-boot bootloader를 수정하여 u-boot내에 있는 fastboot를 이용할 수 있도록 한다면 bootloader와 kernel, file system을 조금 더 쉽게 fusing할 수 있을 것이라고 생각하여 bootloader를 수정해 보았고 이 방법이 성공하여 블로그에 포스팅합니다.


기본적으로 이 방법은 linux기반으로 진행됩니다. VMware나 virtual box를 이용한 가상머신에서 linux를 설치하는 방법은 추후에 업로드 될 글을 보시거나 다른 분들의 블로그에 있는 방법을 이용하시면 됩니다.


이 방법을 사용하기 위해서는 arm-cross-compiler가 필요합니다. 이 cross-compiler를 한백전자에서 제공하는 CD의 Tools에 보시면 toolchain이라는 디렉토리가 있는데 그 안에 있는 arm-2009q3.tar.bz3 파일을 linux로 옮겨 압축을 풀어 사용하시거나 arm cross compile toolchain을 받아서 사용하셔도 됩니다. arm-cross-compiler를 package manager (yum, apt-get, dnf 등등)으로 설치하지 않고 직접 다운 받으신 경우에는 환경변수 등록을 해주셔야 합니다.


한백전자에서 제공하는 CD를 보면 그 안에 source폴더가 있습니다. source폴더 안에 bootloader 폴더에 들어가면 "u-boot-sv210-hanback_20110622.tar.bz2" 파일이 있습니다 이를 linux로 옮겨서 작업을 하시면 됩니다.


linux에서 터미널을 켜 위의 파일을 복사한 디렉토리로 이동하신 뒤 tar -xvf u-boot-sv210-hanback_20110622.tar.bz2 명령어를 입력하시면 해당 파일의 압축이 풀립니다.


압축을 푸시면 u-boot-sv210-hanback_20110622라는 디렉토리가 생성되는데 u-boot-sv210-hanback_20110622/include/configs/rb210.h 파일을 수정해야 합니다.

u-boot-sv210-hanback_20110622/include/configs/rb210.h 파일의 698번째 line을 보시면 CFG_FASTBOOT_TRANSFER_BUFFER_SIZE라는 항목이 0x8000000으로 되어있습니다. 이를 0x9000000으로 수정해주시면 됩니다. (file system fusing을 위해 크기를 늘려야 합니다.)


dnw에서 사용하는 명령어는 usbdown인데 우리는 fastboot를 사용할 계획이므로 usbdown에서 사용하는 메모리 번지와 메모리 크기를 fastboot에서도 동일하게 사용하도록 하여야 합니다.

fastboot에 관한 파일은 u-boot-sv210-hanback_20110622/cpu/s5pc1xx/fastboot.c에 있습니다.

usbdown에 관한 파일은 u-boot-sv210-hanback_20110622/common/cmd_usbdown.c에 있습니다.


이 두 파일의 bootloader, kernel, filsystem 시작 주소와 크기를 일치시켜 주시면됩니다. 물론 usbdown을 기준으로 일치시키셔야 합니다.


u-boot-sv210-hanback_20110622/cpu/s5pc1xx/fastboot.c 파일에서 수정해야할 내용은 아래와 같습니다.




위와 같이 수정하시면 fastboot를 사용하기 위한 bootloader의 설정이 끝납니다.

Fastboot의 내용을 모두 수정하셨으면 u-boot-sv210-hanback_20110622/ 위치로 이동하셔서 

make distclean 명령어를 입력하여 기존의 컴파일된 내용과 기존 설정을 삭제합니다.

make rb210_config 명령어를 입력하여 RoboCAR의 설정을 u-boot에 적용합니다.

make 명령어로 compile을 진행합니다. (make -j4 를 이용하여 multi-core compile이 가능합니다.)

compile이 완료되면 u-boot-sv210-hanback_20110622/ 디렉토리에 u-boot.bin 파일이 생성됩니다.


RoboCAR를 위에서 내려다 봤을때 LCD 오른쪽 아래에 있는 mini USB (5Pin) Type B와 컴퓨터를 연결해주세요. (블루투스 모듈도 컴퓨터에 연결하셔야 합니다.)

컴퓨터와 연결한 후 매뉴얼에 있는대로 부팅하신 뒤 q 키를 눌러 RoboCAR의 bootloader 메뉴로 진입하세요. 그런다음 fastboot를 입력하시면 아래와 같은 화면이 나옵니다. (USB를 연결하지 않으시면 아래와 같은 화면이 나오지 않습니다!)

이상태로 컴퓨터에서 (bootloader를 compile한 linux를 의미합니다.) u-boot-sv210-hanback_20110622/ 위치로 이동하셔서

fastboot flash bootloader u-boot.bin 명령어를 입력하세요

컴퓨터에서 위와 같은 메시지가 나오면 fusing이 완료 된 것입니다.


그 다음 RoboCAR를 재부팅하시면 fastboot를 이용하여 kernel과 filesystem을 fusing할 수 있습니다.



Posted by 어벙벙대마왕
,

개인적으로 Linux를 사용함에 있어 발생했던 문제점들과 이를 해결한 방안을 정리한 것입니다. (특별한 언급이 없으면 64bit Cent OS에서 발생한 문제입니다.)


/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

   -> glibc i686 버전 설치 사용하는 architecture에 관계없이 i686을 설치해야 문제가 해결됨


[Warning] QGtkStyle could not resolve GTK. Make sure you have installed the proper libraries.

  -> libgnomeui.i686 설치


SDL no such file or directory

  -> SDL2.x86_64, SDL2-devel.x86_64


sndfile.h no such file or directory

  -> libsndfile-devel.x86_64


OpenSSL 관련 no such file or directory

  -> openssl.x86_64, openssl-devel.x86_64 설치


Zlib 관련 no such file or directory

  -> zlib-devel.x86_64 설치


Alsa 관련 no such file or directory

  -> alsa-lib-devel.x86_64 설치

Posted by 어벙벙대마왕
,