2009년 1월 9일 금요일

Beyond Compare 3 ( LINUX) 가 있다.

윈도우에서 코드 비교 머지 등으로 Beyond Compare 2를 썻다.

리눅스에서 개발 하다 보니 BC2를 잊고 있었다.

VBox에서 XP에 BC2를 설치 하려다 보니..

BC3에서 리눅스 지원...

그러나 .. 아직 64bit 버젼이....

조금만 기다리면 나오겟지...

2009년 1월 8일 목요일

VirtualBox 에서 가상 디스크 복제 하기

Ubuntu에서 Vbox으로 XP를 쓴다.
근데 가끔 두넘에 XP가 있었으면 했다.

home 밑에 .VirtualBox/VID에서 복사 하면 될듯 하지만

먼가 잇을거 같아 검색 해보니

$VBoxManage clonevdi windowsxp.vdi windowsxp2.vdi

이런식으로 복제를 해야지 된다고 한다.

VirtualBox Command Line Management Interface Version 2.1.0
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...


이런 메세지와 함께 겁나 오래 걸린다.

램 2GB머신에서 ubuntu 랑 XP(512M) 2개 쯤은 돌릴수 있겟지...

2009년 1월 7일 수요일

gdb 에서 어셈블리 코드로 보기

(gdb) disassemble function name

이렇게 하면 어셈블리 코드 로 나온다.

mutex_lock() 함수 속에 MEMORY BARRIER이 있는가를 HP 장비에서 찾아 보려고..

libpthread.so 파일에서 찾아 보기위해서는

objdump -D libpthread.so > o

이렇게 어셈블로 떠서 볼수도 있다.

2009년 1월 1일 목요일

ubuntu에서 svn 세팅

원문:http://tong.nate.com/skekt/47549198



sudo apt-get install subversion

sudo addgroup svn
sudo adduser exist_user svn

sudo mkdir /var/svn
cd /var/svn

저장소: 파일시스템 이용
sudo svnadmin create --fs-type fsfs test

저장소: Berkeley DB 이용
sudo svnadmin create --fs-type bdb test

권한
sudo chgrp -R svn test
sudo chmod -R g+w test

접속하기
sudo apt-get install apache2
sudo apt-get install libapache2-svn
sudo vi /etc/apache2/mods-available/dav_svn.conf
[제일 아래에 추가]
<location>
DAV svn
SVNPath /var/svn/test
</location>

sudo a2enmod dav_svn
sudo adduser www-data svn
sudo /etc/init.d/apache2 restart

접속
http://서버아이피/svn/test


사용자 인증
cd /etc/apache2
sudo htpasswd -c dav_passwd sampleuser
New password:
Re-type new password:

dav_passwd 란 파일이 생겼을 것이고 내용을 보면 sampleuser가 추가된 것을 알 수 있을 것이다.
-c 옵션은 새로 생성하라는 뜻이고, 추가를 할 경우에는 -m 옵션을 사용하면 된다.
htpasswd 명령으로 생성되는 패스워드 파일은 "사용자이름:암호화된패스워드" 형식으로 저장되므로, 쉘계정을 사용하는 사람들을 모두 추가하고 싶은 경우에는
/etc/shadow 파일을 가져다가 직접 작성해줘도 무방하다.


아파치 설정
sudo vi /etc/apache2/mods-available/dav_svn.conf
<location>
DAV svn
SVNPath /var/svn/test
AuthType Basic
AuthName "sample repository"
AuthUserFile /etc/apache2/dav_passwd
Require valid-user
</location>
아파치를 재시작하고(sudo /etc/init.d/apache2 restart)
http://(Subversion과 Apache를 설치한 IP주소 또는 도메인)/svn/sample 으로 접속해보면 사용자이름과 패스워드를 물어볼 것이다. 특정 위치에 대해서 권한을 다르게 줄 수도 있다.

등록된 사용자만이 읽고 쓸 수 있게 하려면,
<location>
Require valid-user
</location>

아무나 읽을 수 있고 등록된 사용자만이 쓸 수 있게 하려면,
<location>
<limitexcept>
Require valid-user
</limitexcept>
</location>


등록된 사용자만이 읽을 수 있고, 특정한 사용자(sampleuser)만 쓸 수 있게 하려면,
<location>
<limit>
Require valid-user
</limit>
<limitexcept>
Require user sampleuser
</limitexcept>
</location>

이런 식으로 mods-available/dav_svn.conf 파일을 수정해주면 되겠다.

svn을 이용하는 방법은 여러가지가 있으므로 다음에 포스팅하기로 하겠다.

# https://help.ubuntu.com/8.04/serverguide/C/subversion.html

원문http://amoo.g3.cc/blog/18

2008년 12월 18일 목요일

ld: Unsatisfied symbol "sem_unlink" 에러를 만났을때..

sem_unlink라는 심볼이 거시기 하다는 링크 에러 메세지..

nm -A /usr/lib/* 2>/dev/null | grep sem_open

이렇게 하면 sem_unlink가 있는 라이브러리를 쭉.... 보여 준다...

/usr/lib/libc.0:__ksem_open| 1229272|extern|entry |
/usr/lib/libc.0:__ksem_open| 1229312|extern|code |$CODE$
/usr/lib/libc.0:_sem_open| 1258936|extern|entry |
/usr/lib/libc.0:_sem_open| 1258984|extern|code |$CODE$
/usr/lib/libc.0:sem_open| 1258960|extern|entry |
/usr/lib/libc.0:sem_open| 1258984|extern|code |$CODE$
/usr/lib/libc.1:__ksem_open| 1229272|extern|entry |
/usr/lib/libc.1:__ksem_open| 1229312|extern|code |$CODE$
/usr/lib/libc.1:_sem_open| 1258936|extern|entry |
/usr/lib/libc.1:_sem_open| 1258984|extern|code |$CODE$
/usr/lib/libc.1:sem_open| 1258960|extern|entry |
/usr/lib/libc.1:sem_open| 1258984|extern|code |$CODE$
/usr/lib/libc_r.sl:__ksem_open| 1229272|extern|entry |
/usr/lib/libc_r.sl:__ksem_open| 1229312|extern|code |$CODE$
/usr/lib/libc_r.sl:_sem_open| 1258936|extern|entry |
/usr/lib/libc_r.sl:_sem_open| 1258984|extern|code |$CODE$
/usr/lib/libc_r.sl:sem_open| 1258960|extern|entry |
/usr/lib/libc_r.sl:sem_open| 1258984|extern|code |$CODE$
/usr/lib/librt.2:__ksem_open| 14288|extern|code |$CODE$
/usr/lib/librt.2:sem_open| 10432|extern|entry |
/usr/lib/librt.2:sem_open| 10504|extern|code |$CODE$
/usr/lib/librt.sl:__ksem_open| 14288|extern|code |$CODE$
/usr/lib/librt.sl:sem_open| 10432|extern|entry |
/usr/lib/librt.sl:sem_open| 10504|extern|code |$CODE$


그럼 링크에서 -lrt를 추가 해줘야 링크가 되겠다...

2008년 11월 25일 화요일

소스인사이트 Tab 문자 대시 스페이스로..


소스인사이트에서 Tab키를 탭문자 대신 스페이스 문자 4로 하려면.


macro를 만들어서 " "을 넣게 작성하고 이걸 key에 Tab으로 매칭 하려는 ??


음 물론 가능하고 이렇게 해봣다.


참 멍청한 짓이죠...
해답은 옆에서처럼 Tab width를 4 로 설정 하고 Expand tab을 키는 거죠.
그리고 Auto Indent는 취향에 맡게 simple에 체크 둘다 해주는거...

2008년 11월 15일 토요일

ubuntu + vbox xp에서 공유 방법 (삼바)

vbox 공유 폴더 세팅으로 만들었더니

xp에서 공유폴더에 write를 할때 블루 스크린을 만났다...

그래서 삼바를 이용하는 것을 찾아다 ... 아래에 기록한다...


삼바 설치

sudo apt-get install samba

먼저 터미널에서

sudo vi /etc/samba/smb.conf를 실행하고,

그 안의 내용을 다 지우고 아래의 내용을 복사해 넣는다.

[global]

workgroup=WORKGROUP

encrypt password=yes

read only=no

hosts allow=10.0. <--- 이거 설정 하면 안될수 있다.

unix charset=utf-8

dos charset=utf-8

browsable=yes

[MyDoc]

comment=My Documents

path=/home/로그인아이디/Desktop /MyDoc



경로 설정은 바꿀 수 있다. 위의 설정대로 하려면, 바탕화면에 MyDoc 디렉토리를 생성해야 한다. smb.conf를 저장하고 닫은 후에 터미널에서 아래의 명령을 실행한다.


를 실행하여 삼바를 설치한다. 삼바가 설치되는 동시에 서버가 실행된다.



삼바 접근 권한 설정을 위해

sudo smbpasswd -a 로그인아이디

를 실행하고 비밀번호를 설정한다.



이제 가상 머신의 윈도우즈를 열고,

내 컴퓨터를 더블 클릭하고,

> 네트워크 환경 추가를 더블 크릭,

>다음 > 다음

>인터넷 또는 네트워크 주소에

\\10.0.2.2\MyDoc

를 입력

위에서 설정한 아이디와 비밀번호로 접속하면

리눅스의 지정한 디렉토리와 윈도우즈가 서로 연결된다.

윈도우즈에서 아무 폴더나 열고서 도구 메뉴의 네트워크 드라이브 연결을 선택하고서 드라이브를 정하고 앞서 연결한 삼바네트워크를 정해주면, 삼바로 연결된 리눅스의 디렉토리가 윈도우즈에서는 드라이브로 설정된다.