How to install subversion 1.6.x on MacHow to install subversion 1.6.x on Mac

Posted at 2014. 7. 13. 01:14 | Posted in OS/Mac

check subversion versions (on OS X 10.9.3)

$ brew versions subversion

1.8.9    git checkout 9b75c92 /usr/local/Library/Formula/subversion.rb
1.8.8    git checkout c6cf8ac /usr/local/Library/Formula/subversion.rb
1.8.5    git checkout fa4311c /usr/local/Library/Formula/subversion.rb
1.8.4    git checkout ce669eb /usr/local/Library/Formula/subversion.rb
1.8.3    git checkout 9b438ce /usr/local/Library/Formula/subversion.rb
1.8.0    git checkout f56b641 /usr/local/Library/Formula/subversion.rb
1.8.1    git checkout 55577bb /usr/local/Library/Formula/subversion.rb
1.7.10   git checkout 0060dc3 /usr/local/Library/Formula/subversion.rb
1.7.9    git checkout b0e6223 /usr/local/Library/Formula/subversion.rb
1.7.8    git checkout f7a42d2 /usr/local/Library/Formula/subversion.rb
1.7.7    git checkout a6dcc41 /usr/local/Library/Formula/subversion.rb
1.7.6    git checkout 6b8d25f /usr/local/Library/Formula/subversion.rb
1.7.5    git checkout 5d5cd70 /usr/local/Library/Formula/subversion.rb
1.7.4    git checkout dc4245c /usr/local/Library/Formula/subversion.rb
1.7.3    git checkout eb97154 /usr/local/Library/Formula/subversion.rb
1.7.2    git checkout d89bf83 /usr/local/Library/Formula/subversion.rb
1.6.17   git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
1.6.16   git checkout 83ed494 /usr/local/Library/Formula/subversion.rb


get 1.6.16 version formula

$ git checkout 83ed494 /usr/local/Library/Formula/subversion.rb


install subversion

$ brew install subversion


If an error occurs like this... 만약 빌드 도중 이런 에러를 만나면..

checking whether Apache version is compatible with APR version... no
configure: error: Apache version incompatible with APR version

add --without-apx configure argument. configure 옵션에 --without-apxs 를 추가해준다.

/usr/local/Library/Formula/subversion.rb 파일을 열어 configure args에 --without-apxs 옵션을 추가.

https://github.com/Homebrew/homebrew-versions/issues/373
https://github.com/Homebrew/homebrew-versions/commit/1d203e29e6219967164337a00672fc071e355cec 참조


check subversion version

$ svn --version


If version is different, switch version

$ brew switch subversion 1.6.16


and re-check svn version on new terminal

$ svn --version
svn, version 1.6.16 (r1073529)
   compiled Jul 13 2014, 00:18:37

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.apache.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).


Completed.





//

[Mac] MacPorts coreutils 설치 후 VirtualBox가 설치 안되는 문제[Mac] MacPorts coreutils 설치 후 VirtualBox가 설치 안되는 문제

Posted at 2013. 11. 11. 01:07 | Posted in OS/Mac

좀 더 편한 터미널 환경을 만들기 위해 MacPorts로 coreutils 설치 후 ln을 다음과 같이 변경시켰다.

(coreutils는 /opt/local/bin 에 설치되며 명령어에 'g' prefix가 붙는다.)


그후 ,VirtualBox 새버전을 내려 받아 설치했다.

 

그런데, 설치가 되지 않고 이런 에러만 내뱉는다. 지웠다 재설치도 해보고, 리부팅도 해보고 그래도 안된다.

(스크린샷을 안떠놔서 웹에서 영문버전 스크린샷을..)
웹 서핑을 해도 별다른 해결책이 안보인다.

 

혹시나 시스템 로그를 뒤져보면 뭔가 답이 나올것 같아 몇개의 파일을 살펴보던 중

/var/log/install.log 에서 VirtualBox 관련 메시지를 찾았다.

Nov 10 14:51:23 deepblues-MacBook-Air.local installd[342]: ./postflight: ln: invalid option -- 'h'

Nov 10 14:51:23 deepblues-MacBook-Air.local installd[342]: ./postflight: Try 'ln --help' for more information.

아.. 이게 뭔가.. >.<

coreutils 설치 후 ln을 /opt/local/bin/ln으로 바꿔놓은게 원인이었다. ㅜㅜ

 

coreutils 설치 명령은 다음과 같다.

 $ sudo port install coreutils +with_default_names

여기서 +with_default_names 옵션은 mac의 명령들을 대체하도록 하는 옵션인데, 검색해보니 수많은 문제를 일으켜 옵션이 안먹도록 제거되었다고 한다.

여러 프로그램들이 mac용 명령어의 옵션을 사용하므로, 옵션이 다른 coreutils들을 호출했다가는 에러가 나기 때문일 것으로 추측된다.

 

 

(해결)

따라서, 다음과 같이 설정을 바꾸고, 원래 mac 명령어들을 원복시켜줬다.

/bin/ln, /bin/ls는 원복해서 VirtualBox install에는 문제없게 하고, 터미널 환경은 개선하기 위해 

PATH에 /opt/local/bin이 젤 앞에 오도록 하고, 자주 사용하는 ln과 ls만 rename했다.

 

그리고, VirtualBox 재설치..

짜잔~ 성공!

//

[Mac] Mac 설치 후 할일[Mac] Mac 설치 후 할일

Posted at 2013. 11. 11. 00:58 | Posted in OS/Mac

맥북프로에서 맥북에어로 갈아타면서, 다음엔 시행착오 없이 잘 셋팅할 수 있게 한번 정리해본다.


다음 순서로 설치하니 우왕좌왕 않고 잘 되었다.

text wrangler - 한영키 변환시 필요

키보드 설정 - 한영키(shift+space), Home/End, Control, Command키 변경 등

마우스 설정 - 마우스 스크롤 반전
alfred2 - 처음 셋업시 프로그램 찾을 때 이게 있어야 편함

iterm2 - 마찬가지

data partition

home directory 위치 변경

dropbox - bash설정 등을 여기에 백업해놓음

xcode - brew를 사용하기 위해 설치 해야 함. 각종 xcode의 tool들도 설치해준다.

brew (bash, coreutils, gnutils, subversion)

.bashrc - dropbox에 백업해둔 파일을 복사하면 OK

chrome - 좀 더 쾌적한 구글링을 위해 크롬을 먼저 설치해도 좋다.

evernote

source tree

eclipse/intellij

istat

PhotoScape X

... 


 

(1) 키보드 / 마우스 설정


<한영 변환 shift+space키로 변경>

http://macnews.tistory.com/297

http://macnews.tistory.com/178

딜레이 없이 빠르게 OS X에서 한글-영어 입력기 전환하기.pdf


<USB 키보드 사용시 home/end 키 등 다시 설정해주기>

DefaultKeyBinding.dict

~/Library/KeyBindings/DefaultKeyBinding.Dict 에 위치시켜준다.

상세는 파일 내용 참조.
Karabiner-Elements 필요 없음!


<USB 키보드 Control, Option, Command 키 변경>

시스템 환경설정 > 키보드 > 키보드 > 보조키... > 키보드 선택 후 원하는 키로 변경


<휠 마우스 스크롤 방향 변경>

맥에서 일반 usb 마우스 휠 스크롤을 해보면 뭔가 좀 이상함을 느끼는데, 트랙패드 방향으로 맞춰져 있어서 Windows PC와 반대 방향으로 움직인다.
ScrollReverser를 설치하고 '수직 반전', '마우스 반전'만 켜준다. 트랙패드는 원래대로 두는 것이 자연스럽다.
https://pilotmoon.com/scrollreverser/



(2) Xcode 설치

    - 개발환경을 만들기 위해서는 기본으로 설치해야 한다.

    - 아래의 MacPorts를 설치하기 위해서도 필요하다.

    - Xcode가 설치되면, Preference > Downloads 탭에서 "Command Line Tools"를 설치한다.

 

 

(3) MapPorts 설치 --> 아예 설치하지 말고 homebrew를 사용하자.

    - 좀 더 나은 작업환경을 위해서 2% 부족한 터미널 명령들을 업그레이드 하기 위해서 필수이다.

    - MacPorts는 기타 무료 / 오픈 소스 소프트웨어 의 도입을 단순화하기위한 자유 / 오픈 소스 소프트웨어 프로젝트이다. (위키피디아)

    - http://www.macports.org/install.php 에서 자신의 Mac OS버전에 맞는 링크를 눌러 다운로드 받아 설치한다.

  

 

(4) 좀 더 나은 터미널 환경 (macport는 사용말자. homebrew (4)-1 참고)

   - 맥의 기본 명령어들, 대표적으로 'ls'는 기능이 미약하고, 좀 후지다. brew를 이용하여 개선해보자.

   - Xcode의 'Command Line Tools'가 설치되어 있지 않다면 설치해야 한다. make가 필요하기 때문.

   - homebrew 설치 (이제 모든 설치물들은 /usr/local 아래에 설치된다.)

     http://brew.sh/

   - bash, coreutils, binutils, gnu-utils, subversion 등을 설치

     https://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/


 

(5) 디스크 파티션 분할하기

(※ 기기 변경을 몇 번 거치면서 느낀건.. 안하는게 낫더라. (1) Xcode 업데이트나 Mac OS 업데이트 시 master 파티션 공간 부족으로 이리저리 앱을 옮기거나 정리한 적이 잦았다 (2) 데이터만 남기고 mac을 재설치하거나 하는 경우는 없었다. 해서.. 굳이 이걸 할필요는 없는 듯..)


    - 이 작업은 제일 먼저해도 되고, 좀 더 수월한 작업환경을 갖춰놓고 해도 좋다.

    - 250GB 디스크를 70GB primary, 180GB data 파티션으로 분할했다. 혹시나 OS재설치를 대비해 home 디렉토리와 모든 데이터는 data 파티션으로 가도록 설정할 것이다. (DataHD가 data 파티션이다. 백업해뒀던 파일을 몽땅 복사했더니 용량이 얼마 안남았네 ;;;)


 

 

(6) home 디렉토리 변경 (파티션 분할 한 경우)

 방법은 대강 3가지 정도가 있다.

 (방법1) /Users 디렉토리를 data 파티션의 적절한 디렉토리로 마운트 하는 방법. /etc/fstab 등을 건드려야하고 할게 많다.

 (방법2) 사용자 설정 > 고급 설정 에서  사용자 home 디렉토리를 data 파티션의 디렉토리로 지정하는 방법.

 (방법3) /Users 디렉토리의 사용자 계정을 data 파티션의 디렉토리로 symbolic link를 걸어주는 방법.

 다음은 (방법3)에 대한 절차이다. (방법1,2는 구글링으로 찾으면 많은 문서가 있다.)

    - 분리한 data 파티션으로 홈 디렉토리를 옮겨준다.

    - 계정 이름을 "deepblue"라고 했을 경우, 다음과 같이 symbolic link를 설정한다.

    - 기존 home은 deepblue.ori로 변경하고, /Volumes/DataHD/home/deepblue 를 home으로 link를 걸어준다.

    - 당연한 얘기지만, /Volumes/DataHD/home/deepblue 는 미리 생성되어 있어야 한다. 홈 디렉토리의 모든 내용을 복사해주자. 숨긴 파일까지 포함해서 옮기는건 당연~

    - $ cd /Users

    - $ sudo mv deepblue deepblue.ori

    - $ sudo ln -s /Volumes/DataHD/home/deepblue deepblue

    - symbolic link를 걸어준 후 컴퓨터를 재시작한다. (로그아웃했다가 다시 로그인해도 된다.)

    - 설정들을 확인해보고 크게 문제 없으면, deepblue.ori는 삭제한다.

    - ※ 맥북프로에서 맥북에어로 갈아타면서 기존 사용하던 홈을 그대로 link시켰더니, 대부분의 설정이 그대로 적용되었다. 하지만, 일부 설정은 다시 맞춰줘야 했다. 별 설정없이 기존 환경 그대로 사용할 수 있어서 편하네. ㅎㅎ

 

 

(7) 기타 프로그램들

    - istat menus

    - Dropbox

    - Evernote

    - Chrome

    - PhotoScape X: 이미지 뷰어.

    - VirtualBox

    - VisualVm

    - Wunderlist

    - ...



//

How to install gnuplot in Mac OS X lionHow to install gnuplot in Mac OS X lion

Posted at 2013. 8. 9. 21:38 | Posted in OS/Mac

http://bhou.wordpress.com/2011/09/13/how-to-install-gnuplot-in-mac-os-x-lion/


readline 라이브러리를 먼저 설치하고 gnuplot을 설치하면 된다.


readline-6.2

$ ./configure --prefix=/usr/local

$ make

$ sudo make install


gnuplot-4.6.3

$ ./configure --prefix=/usr/local --with-readline=/usr/local

$ make

$ sudo make install



//

윈도우7 파일권한 설정하기윈도우7 파일권한 설정하기

Posted at 2012. 12. 9. 13:50 | Posted in OS/MS Windows

다른데서 사용하던 하드디스크를 꽂아서 사용할 때 파일 소유권이 없다거나, 권한이 없다거나 할 때

다음 도구를 사용해서 일괄 권한 편집이 가능하다.

"탐색기 메뉴 > 속성 > 보안 > 편집" 으로 들어가서 해줘도 되나, 번거롭다.


takeown: 소유권 가져오기(설정하기)


> takeown /F "파일 또는 폴더" /R /D Y

    /F: 파일

    /R: Recursive

    /D: Prompt (Y/N)

    /A: 현재 사용자가 아닌 관리자에 소유권을 준다.


icacls: 접근권한 설정하기(ACL설정)


> icacls "파일 또는 폴더" /grant deepblue:F /T

> icacls "파일 또는 폴더" /grant deepblue:(R,W) /T    특정 사용자에게 허용

> icacls "파일 또는 폴더" /grant Administrator:F /T   관리자에게 허용

> icacls "파일 또는 폴더" /grant Everyone:F /T        모든사용자에게 허용

    /T: Recursive

//

sar 간단 정리sar 간단 정리

Posted at 2012. 11. 12. 01:21 | Posted in OS/Unix/Linux

sar 에서 날짜가 깨져서 나올때, (mpstat, vmstat 등 다른 도구들도 마찬가지)

LC_TIME=C 로 설정하면 됨. (LC_TIME= 하면 원래대로 돌아감. LC_ALL 또는 LANG 의 값을 사용하게 됨.)

LANG 또는 LC_ALL=C로 해도 무방. 자세한건 locale 설정 방법 검색 ㄱㄱ


sar [-u] 가 기본

sar -s <hh:mm:ss> -e <hh:mm:ss>  로 시작/끝 시간 지정할 수 있다.

sar <interval> <count> 로 정해진 주기로 자동 호출되게 할 수 있다.

sar -f /var/log/sa/sa16  해당날짜(16일)의 통계를 본다.


sar -A  모든 정보 출력

sar -c  새롭게 만들어져 활동하고 있는 프로세스

sar -n DEV | EDEV | SOCK  네트워크 통계 (DEV: network device 통계, EDEV: network device 에러 통계, SOCK: socket 통계)

sar -q  실행 대기 중인 프로세스를 점검. 시스템의 load average를 나타낸다.


각 옵션별 상세 설명은 여기 참조: http://www.cubrid.com/zbxe/71317


//

[linux] log files & how to see[linux] log files & how to see

Posted at 2012. 9. 16. 13:53 | Posted in OS/Unix/Linux

/var/log/wtmp : 사용자 login & logout & reboot 로그

$ last


/var/log/btmp : 로그인 실패 로그

$ lastb

짱깨들이 로그인하려고 돌린 흔적으로 용량이 300MB가 넘었다..
-rw------- 1 root utmp 309M Jun 11 11:55 btmp

test     ssh:notty    119.10.114.184   Mon Apr 16 19:37 - 19:37  (00:00)
test     ssh:notty    119.10.114.184   Mon Apr 16 19:37 - 19:37  (00:00)
oracle   ssh:notty    119.10.114.184   Mon Apr 16 19:37 - 19:37  (00:00)
oracle   ssh:notty    119.10.114.184   Mon Apr 16 19:37 - 19:37  (00:00)
root     ssh:notty    119.10.114.184   Mon Apr 16 19:37 - 19:37  (00:00)
root     ssh:notty    119.10.114.184   Mon Apr 16 19:37 - 19:37  (00:00)
root     ssh:notty    119.10.114.184   Mon Apr 16 19:36 - 19:36  (00:00)
root     ssh:notty    119.10.114.184   Mon Apr 16 19:36 - 19:36  (00:00)
unabv    ssh:notty    119.10.114.184   Mon Apr 16 19:36 - 19:36  (00:00)
unabv    ssh:notty    119.10.114.184   Mon Apr 16 19:36 - 19:36  (00:00)
rramirez ssh:notty    119.10.114.184   Mon Apr 16 19:36 - 19:36  (00:00)   

$ whois 119.10.114.184
[Querying whois.arin.net]
[Redirected to whois.apnic.net]
[Querying whois.apnic.net]
[whois.apnic.net]
% [whois.apnic.net node-3]
% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html

inetnum:        119.10.0.0 - 119.10.127.255
netname:        XinnetIDC
country:        CN
descr:          XinNet Technology Corp.
descr:          1st Floor, 2nd Building Section A,
descr:          BDA BeiGongDa Soft-ware Area, Beijing China.  <-- 중국애들 맞네..


파일 비우기(clear btmp)

cat /dev/null > /var/log/btmp


/var/log/messages : 시스템 에러 및 하드웨어 에러 로그

$ vi messages


/var/log/secure : 사용자 인증관련 로그

$ vi secure


/var/log/lastlog : 사용자 최종 로그인 정보

$ lastlog


현재 접속자 정보 보기

$ w

$ who

//

[linux] sshd 보안 설정[linux] sshd 보안 설정

Posted at 2012. 9. 16. 13:48 | Posted in OS/Unix/Linux

출처: http://mrain7.egloos.com/2391163


/etc/ssh/sshd_config


Root 로그인 차단

공격자 또는 내부 사용자가 root로 접근 가능할 경우 암호 무작위 입력으로 권한을 획득할 수 있습니다. 따라서, root 로그인을 차단, 일반 계정을 통하여 접근토록 하여야 합니다.Root 로그인 허용이 yes로 되어 있으면 no로 수정합니다.

#PermitRootLogin no

- 주석처리를 지우면 된다.


Forwarding 막기

만약, TCP 포트와 X11에 대한 포워드 기능을 사용하지 않는다면 비활성화 하시기 바랍니다.

AllowTcpForwarding no

X11Forwarding no


호스트 기반 인증 차단

Rhosts 사용이나 hosts.equiv를 통한 인증을 차단합니다. Rhost는 보안상 취약함으로 비활성화 합니다.

IgnoreRhosts yes

HostbasedAuthentication no

RhostsRSAAuthentication no




Port 변경하기

Port <변경할포트번호>


ssh port를 변경한 경우 클라이언트 측에서는 다음과 같은 설정을 해두고 사용하면 편하다.

http://blog.naver.com/deepblue28?Redirect=Log&logNo=140157240471&from=postView


해당 IP만 접속 허가 또는 거부

/etc/host.allow 와 host.deny




* 그 외 상세 설정은 evernote에 정리돼 있다. (어디에 적었뒀는지 까먹어대서..)

* ssh brute force attack을 막기 위해 fail2ban 을 사용해보자.

//

[ubuntu] open files limit 변경하기[ubuntu] open files limit 변경하기

Posted at 2012. 9. 16. 13:40 | Posted in OS/Unix/Linux

redhat(centOS 등)계열은 ulimit -n 으로 쉽게 설정 가능하나,

우분투는 잘 안되네..

다음과 같이 해서 해결.


system-wide limit on the number of open files for all processes

$ cat /proc/sys/fs/file-max

148608

 

계정별 open file limit

$ ulimit -n

1024

 


다음 2개 파일을 수정 (box안의 내용을 추가)


/etc/pam.d/common-session ==> 안해도 됨 (/etc/pam.d/login 에 설정돼 있네..)

session    required   pam_limits.so


/etc/security/limits.conf

*   ?   nofile     6000

 


<reboot>

$ ulimit -n

6000

//

[Ubuntu] downgrade subversion 1.7 to 1.6[Ubuntu] downgrade subversion 1.7 to 1.6

Posted at 2012. 9. 16. 13:37 | Posted in OS/Unix/Linux

이클립스 subclipse를 깔았다가, javaHL 버전이 안맞느니 어쩌고 해서

인터넷을 뒤져 1.7.x로 업그레이드 했더니, 기존 repository와 호환이 안되는 문제 발생.

다시 1.6으로 다운그레이드 했다..


(1) 1.7 버전 제거

저장소 정보는 subversion 1.7.x로 맞춰진 상황..

시냅틱 패키지 관리자로 들어가서 subversion, libsn-java, libsvn1 을 삭제.


(2) 1.6 다운로드

패키지 다운로드: http://ppa.launchpad.net/anders-kaseorg/subversion-1.6/ubuntu/pool/main/s/subversion/


다음 3개를 다운로드 받고 순서대로 설치하면 된다.

libsvn1_1.6.5dfsg-1ubuntu1~hardy1~andersk1_amd64.deb

libsvn-java_1.6.5dfsg-1ubuntu1~hardy1~andersk1_amd64.deb

subversion_1.6.5dfsg-1ubuntu1~hardy1~andersk1_amd64.deb

 

(3) 설치

그냥 설치하면, libneon27, libdb4.6 의존성 어쩌고 하면서 안될텐데, 이 라이브러리들도 의존성 문제로 안된다.

강제로 설치해준다.


$ sudo apt-get -f install libneon27 libdb4.6


그리고, 위에서 다운 받은 3개를 순서대로 설치해준다.


$ sudo dpkg -i libsvn1_1.6.5dfsg-1ubuntu1~hardy1~andersk1_amd64.deb

$ sudo dpkg -i libsvn-java_1.6.5dfsg-1ubuntu1~hardy1~andersk1_amd64.deb

$ sudo dpkg -i subversion_1.6.5dfsg-1ubuntu1~hardy1~andersk1_amd64.deb

$ svn --version --quiet[버전 확인]

//