Vimdiff 사용법

linux에서 (거의) 기본적으로 제공하는 vim 을 이용하면 diff 툴을 사용할 수 있다.
vimdiff 로 실행가능하고 vim 에서 -d 옵션을 사용해서 사용할 수도 있다.

간단한 사용법은 다음을 참고하자.
http://amjith.blogspot.com/2007/07/visual-diff-tools-in-linux.html

정리하면,
do – 다른 윈도우의 변경 사항을 현재 윈도우로 가져오기
dp – 현재 윈도우의 변경 사항을 다른 윈도우로 넣기
]c – 다음 변경 사항으로 이동
[c – 이전 변경 사항으로 이동
Ctrl W + Ctrl W – 다른 윈도우로 이동

다른 윈도우로 이동할 때는 Ctrl + W <방향키> 를 이용할 수도 있다.

Subversion-Installation

Subversion은 지금까지 정말 열심히 쓰고 있는 버전 관리 툴이다. 필요에 의해 쓰게 되었고, 필요에 의해 익히게 된 유용한 툴이다. Subversion없는 프로젝트, 코딩은 이제 생각할 수도 없다. 그 초기에 설치하면서 썼던 설치기..
——————————————————————————————————–
목차
    1 소개
    2 설치
        2.1 우분투 리눅스 설치
        2.2 네트워크 설정
        2.3 Subversion 설치
        2.4 서비스 설정
            2.4.1 xinetd 설치
        2.5 저장소(Repository) 설치
        2.6 Apache2와 연동
    3 사용

1 소개

이 글은 내가 우분투 Breezy 를 설치 후 Subversion 을 설치해서 사용하기까지의 삽질을 정리하기 위한 페이지이다. 개인적인 목적으로(KLDP 에는 미안하지만 😉 ) 정리한 글임을 일러둔다.

클라이언트는 Microsoft Windows 에서 TortoiseSVN 을 이용한다.

2 설치

2.1 우분투 리눅스 설치

    * 우분투 한국 사용자 모임 을 참조한다.
    * 처음 사용자 ID 는 svnadmin 으로 설치하였다.

2.2 네트워크 설정

    * 내부 네트워크에 192.168.0.166 으로 설정하였다.

2.3 Subversion 설치

    * 시냅틱 패키지 관리자에서 Subversion 관련 패키지(Subversion, Subversion-tools, Subversion-helper-scripts(설치안해도 무방할 것 같으나 일단 추가))를 설치한다.

2.4 서비스 설정

2.4.1 xinetd 설치

   1. 시냅틱 패키지 관리자에서 xinetd 패키지를 설치한다.
   2. /etc/xinetd.d/ 밑에 svn 파일을 만들어 내용을 채운다.
         1. sudo vi /etc/xinetd.d/svn

            # Default : On
            # Subversion server

            service svn
            {
                sockettype  = stream
                protocol    = tcp
                user        = svnadmin
                wait        = no
                disable     = no
                server      = /usr/bin/svnserve
                server_args = -i
                port        = 3690
            }

2.5 저장소(Repository) 설치

   1. /home/repository 디렉토리 만듦.
   2. cd /home/repository
   3. svnadmin create ProtoHan
   4. /home/repository/ProtoHan/conf/passwd 를 참고하여 ProtoHan 프로젝트를 진행할 사람들의 계정과 비밀번호를 /home/svnadmin/SvnPasswd/JDL-740aDev 로 만든다.
   5. /home/repository/ProtoHan/conf/svnserve.conf 을 편집한다.
         1. vi /home/repository/ProtoHan/conf/svnserve.conf

            [general]
            anon-access = none
            auth-access = write
            password-db = /home/svnadmin/SvnPasswd/JDL-740aDev

   6. Subversion 에서 추천하는 trunk/, branches/, tags/ 디렉토리를 만든다.
         1. svn mkdir svn://localhost/home/repository/ProtoHan/trunk
         2. 편집기로 Log 작성
         3. 리비전 증가
         4. svn mkdir svn://localhost/home/repository/ProtoHan/branches
         5. 편집기로 Log 작성
         6. 리비전 증가
         7. svn mkdir svn://localhost/home/repository/ProtoHan/tags
         8. 편집기로 Log 작성
         9. 리비전 증가

2.6 Apache2와 연동

   1. 시냅틱 패키지 관리자에서 Apache2 설치
   2. Apache2 를 통해 ProtoHan 에 접근할 계정 설정
         1. mkdir /home/svnadmin/ApachePasswd
         2. cd /home/svnadmin/ApachePasswd
         3. htpasswd -c JDL-740aDev <계정명>
         4. <Password> 입력
   3. /etc/apache2/mods-available/dav_svn.conf 편집
         1. sudo vi /etc/apache2/mods-available/dav_svn.conf

            <Location /ProtoHan>
              DAV svn
              SVNPath /home/repository/ProtoHan
              AuthType Basic
              AuthName “JDL-740a(ProtoHan) Repository”
              AuthUserFile /home/svnadmin/ApachePasswd/JDL-740aDev
              #<LimitExcept GET PROPFIND OPTIONS REPORT>
                Require valid-user
              #</LimitExcept>
            </Location>

   4. sudo /etc/init.d/apache2 restart

3 사용

   1. TortoiseSVN 다운로드(http://tortoisesvn.tigris.org/download.html) 후 설치
   2. Repository 는 svn://192.168.0.166/home/repository/ProtoHan/trunk 혹은 http://192.168.0.166/ProtoHan/trunk 로 접근한다.

How to use Mantis for UTF-8

mantis는 웹 인터페이스의 버그 트래킹 툴이다. 회사 다닐 때 회사에 적용해보고 싶어서 좀 써봤는데, 실패했다-_- 암튼.. 이 글은 Mantis를 UTF-8로 사용하기 위한 팁이다. 근데 좀 오래되었네….;;;;

——————————————————————————————————–
목차
    1 차례
    2 Mantis 한글 설정(UTF-8)
        2.1 설치 환경
        2.2 설정 순서
        2.3 그래도 안보인다면!

2 Mantis 한글 설정(UTF-8)

2.1 설치 환경

    * 우분투 5.10 Breezy 의 mantis 패키지(따라서 모든 경로는 우분투 기준!)

2.2 설정 순서

   1. mantis 의 설정 파일을 수정하기 위해 연다.

      sudo vi /etc/mantis/config.php

   2. $g_default_language 와 $g_fallback_language 를 ‘korean_utf8’ 로 수정한 후 저장한다.

              $g_default_language     = ‘korean_utf8’;
              $g_fallback_language    = ‘korean_utf8’;

   3. /usr/share/mantis/gui/config_defaults_inc.php 를 연다.

      sudo vi /usr/share/mantis/gui/config_defaults_inc.php

   4. $g_language_choices_arr 에 ‘korean’ 밑에 ‘korean_utf8’ 을 추가한다.

              …

              # list the choices that the users are allowed to choose
              $g_language_choices_arr = array(
                      ‘auto’,

                      …

                      ‘korean’,
                      ‘korean_utf8’,
                      ‘turkish’,
                      ‘ukrainian’

                      …
              );

              …

   5. $g_language_auto_map 에 “‘ko’ => ‘korean'” 를 “‘ko’ => ‘korean_utf8′” 로 수정한 후 저장한다.

              …

              $g_language_auto_map = array(
                      ‘en-us, en-gb, en-au, en’ => ‘english’,
                      ‘zh-cn, zh-sg, zh’ => ‘chinese_simplified’,
                      ‘zh-hk, zh-tw’ => ‘chinese_traditional’,
                      ‘cs’ => ‘czech’,
                      ‘da’ => ‘danish’,
                      ‘nl-be, nl’ => ‘dutch’,
                      ‘et’ => ‘estonian’,
                      ‘fi’ => ‘finnish’,
                      ‘fr-be, fr-ca, fr-ch, fr’ => ‘french’,
                      ‘de-de, de-at, de-ch, de’ => ‘german’,
                      ‘hu’ => ‘hungarian’,
                      ‘it-ch, it’ => ‘italian’,
                      ‘ja’ => ‘japanese_sjis’,
                      ‘ko’ => ‘korean_utf8’,
                      ‘lt’ => ‘lithuanian’,
                      ‘no’ => ‘norwegian’,
                      ‘pl’ => ‘polish’,
                      ‘pt-br’ => ‘portugese_brazil’,
                      ‘pt’ => ‘portugese_standard’,
                      ‘ro-mo, ro’ => ‘romanian’,
                      ‘ru-mo, ru’ => ‘russian’,
                      ‘sr’ => ‘serbian’,
                      ‘sk’ => ‘slovak’,
                      ‘sl’ => ‘slovene’,
                      ‘es-mx, es-co, es-ar, es-cl, es-pr, es’ => ‘spanish’,
                      ‘sv-fi, sv’ => ‘swedish’,
                      ‘tr’ => ‘turkish’
              );

              …

2.3 그래도 안보인다면!

    * /etc/php5/apache2/php.ini 파일을 열어 default_charset 가 지정되어 있는 부분을 주석처리한다. 😛

Using POP3, SMTP with SSL

예전에 회사다닐 때 메일 서버 관리할 때 썼던 글인 듯 하다.
언젠가 도움이 되지 않을까 해서 KLDP에 썼던 글을 블로그에도 옮겨둔다.
——————————————————————————————————-
Using POP3, SMTP with SSL

1. 문서의 목적

이 문서는 OpenSSL 을 이용해서 POP3S 와 SMTP 서비스를 시작한 내 경험을 정리하기 위해 만들어졌다.

2. 문서의 소개

이 문서는 OpenSSL 을 이용해 POP3S 와 SMTP 서비스를 사용하는 절차에 대해 설명한다. 레드햇 8.0 을 기준으로 하며 MTA 로는 Sendmail 을 사용한다. POP3S 서비스는 xinetd 하에서 서비스된다. CA 인증은 자체 인증 방식을 사용한다. 모든 작업은 root 로 수행한다. 이 문서는 양정석(dasomoli (at) gmail.com)이 작성하였다. 🙂

3. 본문

3.1. 인증서 만들기 & 설치

    * CSR 을 만든다.
      # openssl req -new > cert.csr

    * common name 에 도메인 이름 입력(예:jinyangind.com)

    * RSA 키를 만든다.
      # openssl rsa -in privkey.pem -out cert.key

    * CSR 에 자체 서명키로 CA 인증서를 만든다.
      # openssl x509 -in cert.csr -out cacert.crt -req -signkey cert.key -days 365

    * RSA 키와 CA 인증서를 붙여 pem 파일을 생성한다.
      # cat cert.key cacert.crt > cert.pem

    * 생성한 파일을 root 외에 읽을 수 없게 한다.
      # chmod 600 cert.pem cacert.crt cert.key(여기는 cert.pem 빼고는 내 추측)

    * SSL 의 certs 디렉토리에 옮긴다.
      # mv cert.pem /usr/share/ssl/certs

      # mv cacert.crt /usr/share/ssl/certs

      # mv cert.key /usr/share/ssl/certs

    * pop3s 의 pem 파일도 만든 것으로 사용
      # cp /usr/shar/ssl/certs/cert.pem /usr/shar/ssl/certs/ipop3d.pem

    * smtps 의 pem 파일도 만든 것으로 사용
      # cp /usr/shar/ssl/certs/cert.pem /usr/shar/ssl/certs/sendmail.pem

3.2. pop3s 서비스 시작하기.

    * #vi /etc/xinetd.d/pop3s

      service pop3s
      {
          disable         = no
          socket_type     = stream
          wait            = no
          user            = root
          server          = /usr/sbin/ipop3d
          log_on_success  += USERID
          log_on_failure  += USERID
      }
        
    * # /etc/init.d/xinetd.d restart

3.3. sendmail 설정하고 재시작하기.

    * # vi /etc/mail/sendmail.mc, 다음 내용을 추가한다.

      define(`confCACERT_PATH’,`/usr/share/ssl/certs’)dnl
      define(`confCACERT’,`/usr/share/ssl/certs/cacert.crt’)dnl
      define(`confSERVER_CERT’,`/usr/share/ssl/certs/sendmail.pem’)dnl
      define(`confSERVER_KEY’,`/usr/share/ssl/certs/cert.key’)dnl
      DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s’)dnl
      Cwjinyangind.com

    * # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
    * # /etc/init.d/sendmail restart

3.4. Client 설정.

    * cacert.crt 배포, 인증기관에 추가.

3.4.1. Outlook

    * 받는 메일 서버, 보내는 메일 서버에 SSL 체크, 보내는 메일서버 포트 : 465, 받는 메일서버 포트 : 995

3.4.2. Thunderbird

    * Outlook 과 거의 같음.

또 다른 네이트온 클론

제가 얼마전에 글올렸던 자테온과 Gaim 플러그인 외에 또다른 네이트온 플러그인이 있었네요!

여기에 가시면 보실 수 있습니다.

제작자는 맥사용자로 보입니다. SK에서 네이트온 서비스를 MS윈도우즈만 지원하기 때문에 맥 사용자들도 여러가지 불편을 겪었겠지요.

자테온과 같은 자바 기반의 애플리케이션인데 아직 자테온이 구현하지 못한 파일 수신(아직은 버그가 있는 듯 보입니다만) 기능도 구현되어 있는 듯 합니다. 멋지군요!

GRUB 삭제하고 윈도우즈XP로만 부팅시키기(복구 콘솔)

1. XP가 실행 중인 상태에서 설치 CD를 넣고 “시작”/”실행”/”D:\i386\winnt32.exe /cmdcons”
2. 복구 콘솔 설치
3. 리부팅
4. 복구 콘솔 선택
5. Administor 로 로그인
6. “fixmbr”
7. “fixboot”
8. 리부팅
9. “내 컴퓨터”에서 우클릭 후 “속성”
10. “고급” 탭의 “시작 및 복구”란의 “설정”
11. “시스템 시작” 에서 “편집” 버튼
12. “[operation systems]” 에서 복구 콘솔이 있는 라인(아마도 맨 마지막) 삭제
13. “파일”/”저장” 후 종료
14. C 드라이브의 “Cmdcons” 폴더와 “Cmldr” 파일 삭제

당연히 리눅스 파티션(EXT3와 SWAP)은 지우고 합친 후 NTFS나 FAT로 포멧해서 사용한다.

아시아눅스?

전 전자신문의 메일링을 받아 가끔 심심할때 읽곤 합니다.
뉴스 기사뿐만 아니라 각종 행사들에 관한 메일도 같이 받는데 메일로 “공개소프트웨어의 선두주자 아시아눅스 세미나에 귀하를 초대합니다!” 란 메일이 왔더군요.
아시아눅스는 이름정도만 들어보았기 때문에 어떻게 생겼나 한번 보고싶어 메일에 있는 링크를 따라가서 몇 가지 살펴보았습니다.

제가보기에는 그냥 뭐 별다를 거 없는 내용인 듯 보였지만 눈에 띄는 내용으로는

국내 환경에 최적화된 OS

외산 리눅스를 쓰면서 흔히 마주치게 되는 한글 입출력 문제들을, 한국화된 설정과 입력기를 통해 해결하였으며, 전문 번역팀을 통해 자연스럽지 못했던 한글 번역부분을 말끔히 개선하였습니다.

라고 되어있더군요. 기본으로 KDE를 쓰고 있다고 되어 있던데.. 저런 건 KDE 측에 기여할 수 없는 걸까 하는 생각이 듭니다. 물론 사업적인 부분이나 다른 리눅스 배포판과의 차별화를 위해서 취하는 정책이겠습니다만, 안타까운건 안타까운거죠.

이 것 외에도 눈에 띄는 것은 다음 그림이었습니다.


네.. 맞습니다. 보시는 바와 같이 거의 윈도우와 비슷하네요. 이 부분은 다음과 같이 설명하고 있습니다.

Asianux만의 다양한 설정 툴

여러 가지 Asianux 설정 툴은 Windows의 툴들과 같이 관리자가 쉽게 사용 할 수 있도록 구성되어있어 번거로운 여러 설정 과정을 쉽고 간편하게 처리 할 수 있도록 합니다.

결국 이 말은 “Windows 도구들을 베꼈다.” 는 말이겠죠. 뭐 이해는 갑니다. 우리나라 환경이 워낙 윈도우즈 종속적이고 저 역시 아직은 윈도우즈가 더 익숙하니까요. 그래도 한글과컴퓨터에서 예전부터 보여왔던 리눅스가 윈도우즈같은 리눅스였던 걸 보아왔었고 윈도우즈 도구들의 UI까지 베꼈다고 생각하면 아쉬운건 저뿐만인걸까요?

좋은 전략이라고 생각할 수도 있습니다. 리눅스는 써야겠고 그렇다고 리눅스 쓰기는 불편한 사용자들에게는요. 틈새시장 공략이라고 봐야할까요? 하지만 그럴바에야 사용자들은 윈도우즈를 쓰겠죠. 저야 서버시장 상황은 잘 모릅니다만, 윈도우즈 서버도 개발툴과 .NET 을 앞세워서 창을 세우고 있고 데스크탑쪽은 말할 것도 없죠. 그렇지만 데스크탑 분야를 겨냥했다면 틀렸습니다. Compiz나 베릴같은 3D 효과들을 앞세운 수세나 우분투, 페도라가 사용자에게는 더 멋져보일 겁니다.(저 역시..) 결국 좋은 전략은 아니라고 생각되네요.

그럼 대체 어쩌란 말이냐! 라고 물으신다면.. 좀 더 생각해봐야겠군요. 국산 리눅스는 국내 사용자들에게 더 나은 지역화 환경을 제공하는 것이 가장 큰 장점이겠습니다만. 다른 배포판들도 리눅스를 쓰려고 마음먹은 사용자들은 자료도 많은 덕에 한글 입력 설정 같은 것들은 금방 할 수 있거든요. 각종 도구들의 메뉴나 도움말 등의 지역화 문제도 그놈을 쓴다면 그놈 한국(가보셨나요? 멋져졌더군요!)이나 다른 곳에서 열심히 활동하시는 분들 덕에 자주 쓰이는 도구들은 대개 한국어로 나오거든요. KDE는.. 아! 그래서 기여안하는 것이겠군요. 이 것 참.. 그래서 KDE 를 쓰는건가..(그렇다고 KDE 지역화를 위해 노력하시는 분들의 노력을 폄하하는 것은 아닙니다. 다만 아직은 부족한 듯해요. 그리고 KDE 를 쓰는 주된 이유는 아마도 윈도우즈 같기 때문이겠죠.) 뭐 어쨌든 KDE도 현재 지역화를 위해 활발히 활동하시는 분들이 있으니 곧(?) KDE 쪽의 지역화 문제도 해결이 될겁니다. 그렇게 되면 내세울 수 있는 하나의 장점이 또 사라져버리겠군요.

더 나은 기술지원의 장점을 활용하는 건 어떨까요? 외산 리눅스의 경우 기술 지원을 위해서는 아무래도 국산 리눅스 업체보다 민첩하지 못하겠죠. 대부분의 배포판이 배포판을 팔아 수익을 남기는 것이 아닌 서비스를 팔아 수익을 남긴다는 것을 생각하면 꽤 일리가 있어보입니다. 그렇지만 이 것도 리눅스 수요처가 많아야 성립하겠죠.

이런.. 생각하다보니 왜 자꾸 국산리눅스는 길이 없는 것처럼 보일까요. 저 역시 외산리눅스에 물든 사용자일 뿐일까요? 현 상황에선 별다른 길이 안보이네요.