애들과 도서관에 갔다가 전에 리눅스 개발을 해보던 기억이 나서 이 책을 빌려봤다.
전에 했던 기억들이 새록새록 나게 해주는 책이다.
그때는 어떻게 하는지 몰랐던 내용도 많았다.
다시 리눅스 개발하게 되면 또 빌려봐야겠다.

책소개

문제해결의 실마리를 제공하는 리눅스 개발 경험담. 『열씨미와 게을러의 리눅스 개발 노하우 탐험기』는 '열씨미'와 '게을러'라는 가상인물의 대화를 통해 리눅스로 개발하면서 겪는 개발현장의 사례를 14개의 짧은 이야기를 통해 실감나게 그려낸다. 각 이야기는 리눅스 신참인 '열씨미'와 리눅스 해커인 '게을러'의 해결방안을 동시에 수록하고 있어서 다 나은 해결방안을 모색할 수 있는 계기를 마련해 주고 있다.


저자 소개

저자 : 박재호

포항공과대학교 컴퓨터공학과 학부와 포항공과대학교 대학원 컴퓨터공학과를 졸업했다. 블로그 '컴퓨터 vs 책'(http://jhrogue.blogspot.com)을 운영하고 있다. 지은 책으로『IT EXPERT, 임베디드 리눅스』(한빛미디어, 2002) 등이 있고, 옮긴 책으로『The Art of Project Management : 마음을 움직이는 프로젝트 관리』(한빛미디어, 2006)『, 리눅스 디바이스 드라이버, 개정5판』(한빛미디어, 2005), 『리눅스 문제 분석과 해결』(에이콘, 2006), 『 조엘 온 소프트웨어 : 유쾌한 오프라인 블로그』(에이콘, 2005) 등이 있다.


목차

1장. 단순한 파일 비교를 넘어서
2장. 원시 코드 색인은 나에게 맡겨라
3장. 공유 라이브러리와 심볼 이름을 찾아라
4장. 분위기 파악 못하는 훼방꾼 configure(1)
5장. 분위기 파악 못하는 훼방꾼 configure(2)
6장. 자동화된 빌드 시스템 구축(1)
7장. 자동화된 빌드 시스템 구축(2)
8장. 숨겨진 1인치의 의존성을 찾아라
9장. 메모리 디버깅을 위한 친구
10장. 프로그램을 동적으로 추적하는 도구
11장. 스택 탐색을 통한 디버깅
12장. 스택 탐색을 통한 백트레이스 구현
13장. 공포의 커널 패닉과 웁스
14장. raw 디바이스 다루기


책속으로

열 씨미 씨는 디렉토리가 10개이며, 원시 코드 파일(*.[ch]) 개수가 500개가 넘는 큰 프로그램을 수정 중이다. 혼자서 만들어도 뭐가 바뀌었는지 기억이 가물가물할 텐데 팀원이 여러 명이다 보니, 어디서 뭐가 바뀌었는지 매번 길을 잃고 헤매고 있다. 하도 답답한 나머지 우리의 꾀돌이 게을러 씨에게 맥주 한잔을 걸고 방법을 물어 보았다.

열씨미: 버전이 올라감에 따라 어떤 파일이 변경되었는지 알아내려고 할 때마다 머리가 아파 죽을 지경일세.make와 같이 특정 파일이 변경된 시각을 기준으로 바뀐 파일만 출력하는 방법이 없을까?
게을러: 변경된 시각으로 비교하고 싶다면 직접 셸스크립트를 만들어도 되지만, find(1)를 한번 써보면 어떨까? 어떤 파일을 기준으로 변경시각을 비교하고 싶은 거야?
열씨미: myproject 디렉토리에 있는 yesterday.c인데, 이 파일은 내가 어제 오전에 변경한 파일일세. 이 파일보다 나중에 만들어진 파일(즉, 오늘 변경된 파일)을 볼 수 있으면 정말 좋겠어.
게을러: 다음과 같이 명령을 한번 내려 보자구.

$ find
/home/jrogue/project/very_very_large_project
-newer./myproject/yesterday.c

열씨미: 우와 정말 멋지
...펼처보기 --- 본문 중에서


출판사 리뷰 문제해결의 실마리를 제공하는 리눅스 개발 경험담

책 에 싣기에는 내용이 가볍고, 월간지 기사 형식으로 내기에는 분량이 많으며, 블로그에 올리기에는 무거운 주제가 틀림없이 존재한다. 리눅스로 개발하면서 겪은 경험담도 바로 이런 주제에 해당하는데 책으로 정리하면 부드럽게 시작한 글이 딱딱한 글로 끝나버리고, 월간지에 매달 조금씩 연재하면 독자에게 전달되는 기간이 너무 오래 걸리기에 '경험담'이라는 좋은 특성이 사라져버린다. 그렇다고 블로그에 올리자니 글이 너무 길어져서 지루하다. 이런 상황을 어떻게 극복해야 할까?
생각 끝에 낸 아이디어는 독자들이 편안하게 읽을 수 있도록 짤막하게 끊어서 내용을 전개하되, 유기적으로 '블로그처럼' 구성하자는 것이었다. 이 책은 전형적인 리눅스 해커 '게을러'와 리눅스 신참인 '열씨미'가 리눅스로 개발하면서 겪는 애로사항을 대화형식으로 풀어낸다. 이런 대화형식은 어느 정도 개발 실력이 있지만2% 부족함을 느껴 다른 사람이 겪은 경험담에 목이 마른 개발자에게 문제를 푸는 실마리를 제공한다. 두 주인공이 주고받는 대화를 엿듣다 보면 '아하!' 하고 문제의 원인과 해결책을 깨닫는 순간이 찾아올 것이다.

이제 다른 사람이 저지른 실수를 반복하지 말자.
같은 실수를 겪은 저자의 경험담과 노하우가 이 책에 있다.

-. 개발 현장 속에서 얻은 소중한 지식을 블로그의 글처럼 재미있게 구성했다.
-. 리눅로 개발하면서 겪는 다양한 문제들과 그 해결책을 14개의 이야기로 엮었다.
-. '열씨미', '게을러'라는 가상인물의 대화를 통해 실제로 개발현장에서 일어나는 현장감을 담아냈다.
-. 두 주인공의 대화는 어느 정도 개발 실력이 있지만 2%의 부족함을 느껴 다른 사람이 겪은 경험담에 목이 마른 개발자에게 문제
...펼처보기


출처 : 아포스티유 서비스 업체
http://ustaxkim.net/


아포스티유란?
1961년 (1961년 10월 6일) 많은 국가들은 협약국가의 공문서 상호인증을 용이하게 하기 위해, 외국 공관의 영사확인 등 복잡한 인증절차를 없애고 대신 공문서 발행 국가가 이를 법률상으로 공인 (Legalization)된 것으로 확인해 주는 “아포스티유” 협약을 채택했습니다.

일명 Hague Convention으로 알려져 있는 “아포스티유” 협약은 현재 캐나다 및 중국 등을 제외한 전 세계 92개국이 가입해 있습니다.

대한민국 정부도 최근에 협약 사무국인 네덜란드 외교부에 “아포스티유” 협약 가입서를 기탁함으로 Hague Convention 국가 중 하나가 되었습니다.
 
아포스티유 협약에 따른 효과
아포스티유 협약 가입에 따라서 문서가 제출될 국가 대사관이나 영사관의 영사의 인증이 폐지되고 “아포스티유”를 통한 법률적 공인 (Legalization)을 받으면 되기 때문에 시간과 비용이 절감됩니다. 
 
아포스티유 발급 가능한 문서 
  - 신원 조회서
  - 납세 사실 증명서, 의료 진단서, 의학품 허가 확인서
  - 결혼 증명서 이혼 판결문
  - 출생 증명서, 사망 증명서
  - 위임장 ? General, Special, Finance, Real Estate etc.
  - Notarized copies of Passport, Affidavits, and other documents
  - Papers for ADOPTION purposes
  - 성적 증명서 (School, College, University, or any other issuing agency)
  - 재학 증명서 (Enrollment)
  - 졸업 증명서 (Graduation Certificate or statement)
  - 졸업장, Degree Certificates
  - Corporate documents, such as
     * Articles of Incorporation
     * Merger Agreements
     * Authorization letter for Bank, Finance, Office, and related company matters
     * Certificates of Amendment
     * Certificate of good standing
     * Power of Attorney
 

이상의 목록들은 가장 보편적인 아포스티유 신청서류들이고, 이 외에 수많은 서류들을 “아포스티유”로 인증 받을 수 있습니다.
 
 


 

정찬주 기반기획팀 연구원

 

 

 

지난 강좌에서는 공개키 기반구조가 사이버 세상에서 신뢰관계를 형성해 주는 역할을 한다는 것을 알아보았다. 공개키 기반구조에서 개인에게 발급되는 사이버 신분증인 공개키 인증서도 신뢰기관이 전자 서명한 데이터이다. 이번 강좌에서는 신뢰 관계를 형성하는데 있어 기반 기술로 활용되고 있는 전자서명 기술의 원리, 전자서명 생성 검증 절차, 그리고 이용 분야에 대하여 알아보자.

 

TV 드라마를 보면 부모와 어린 자식이 헤어지는 경우 거울이나 동전을 2개로 쪼개어 부모와 어린 자식이 하나씩 나눠 가진 , 세월이 흐른 쪼개진 거울이나 동전을 붙여 서로를 확인하는 것을 있다. 여기서 쪼개진 2개의 거울(동전) 상대방의 신원을 확인하기 어려운 사이버 공간에서 서로를 알아볼 있는 쌍의 정보(공개키와 비밀키) 사용하여 신원을 증명하는 전자서명의 원리와 비슷하다. 쪼개진 2개의 거울(동전) 전자서명을 생성하고 검증하는데 사용되는 2개의 정보인 비밀키 (전자서명 생성키) 공개키 (전자서명 검증키) 비유할 있다.

 

[그림 1] 동전을 통한 전자서명 원리를 이해하도록 돕는다. 공개키와 비밀키는 수학적으로 합치하는 하나의 쌍이라는 것을 지난 공개키 암호방식에 대한 설명을 통해 알아봤다.

 

 



 

송신자가 전자문서를 수신자에게 인터넷을 통해 전달하는 과정을 예로 들어 전자서명 생성 검증 절차에 대하여 알아보자. [그림2] 전자문서에 대하여 전자서명을 생성하는 절차를 나타낸 것이다.


 

 

송신자는 자신이 작성한 전자문서에 대한 전자서명을 생성하기 위하여 송신자의 공개키 인증서의 공개키와 수학적으로 일치하는 비밀키를 갖고 있어야 한다. [그림 2]에서 보는 것과 같이 자물쇠를 비밀키라고 한다면, 자물쇠에 맞는 열쇠를 공개키라고 하자. 송신자는 전자문서를 해쉬 함수에 넣어 압축된 유일한 값을 만든다. 해쉬 함수는 임의의 길이의 메시지를 고정된 길이(, 160 비트) 출력하는 함수이다.

해쉬 함수의 특성으로는 일방향성, 충돌회피성 등이 있다. 일방향성은 해쉬 값으로부터 해쉬되기 전의 원본데이터로 복구할 없다는 특성이다. 충돌회피성은 동일한 해쉬 값을 갖는 서로 다른 원본데이터를 찾을 없다는 특성이다. 이러한 특성 때문에 [그림 2]에서 해쉬 함수로부터 압축되어 나온 해쉬 값을 사람마다 다른 유일한 정보인 지문으로 표현하였다. 해쉬 값과 송신자의 비밀키를 전자서명 알고리즘에 입력하여 전자서명 값을 얻는 과정이 전자서명 생성 절차이다. 이렇게 생성된 전자서명 값과, 전자서명 하고자 했던 원본 전자문서, 그리고 전자서명을 생성하는데 사용한 비밀키에 수학적으로 일치하는 공개키 인증서를 수신자에게 인터넷을 통해 전달한다.

 

[그림 3] 전달받은 전자문서의 전자서명을 공개키 인증서를 이용하여 검증하는 절차이다.

 

 

수신자는 전달받은 정보(전자문서, 전자서명 , 송신자의 공개키 인증서) 전자문서를 해쉬 함수에 넣어 수신자가 압축한 해쉬 값을 계산한다. 그리고 전달받은 정보 전자서명 값과 송신자의 공개키 인증서를 전자서명 알고리즘에 입력하여 송신자가 보내온 원본 해쉬 값을 계산한다. 마지막으로 공개키 인증서의 소유자인 송신자가 전자서명을 수행했는지 확인하기 위하여 수신자가 계산한 해쉬 값과 원본 해쉬 값을 비교한다. 개의 값이 동일할 수신자는 공개키 인증서의 소유자가 해당 전자문서에 대한 전자서명을 생성한 것으로 믿는다. 만약 개의 값이 다르다면, 수신자는 위·변조된 전자문서로 인식하여 전자서명을 믿지 않게 된다.

 

지난 강좌에서 공개키 인증서도 신뢰된 인증기관의 비밀키를 사용하여 전자서명 되어 있다고 하였다. 어떤 절차에 따라 공개키 인증서가 전자서명 되는지 알아보자.

 

강좌를 읽고 있는 독자의 컴퓨터 운영체제가 Windows 계열이라면, C:\Program Files\NPKI 라는 폴더를 열어보기 바란다. NPKI 하위 폴더에는 KISA, SignGate, SignKorea, yessign 등의 폴더가 있을 것이다. 만약 이런 폴더가 없다면 전자서명을 이용하는 전자거래 사이트에 접속하지 않은 것이다. KISA라는 폴더는 국내 전자서명인증관리체계 최상위 인증기관인 한국정보보호 진흥원의 공개키 인증서가 들어 있는 폴더이다. SignGate, SignKorea, yessign 등의 폴더는 국내 공인인증기관의 폴더이고, 해당 공인인증기관으로부터 공개키 인증서를 발급받았다면, 하위에 User라는 폴더가 있다. User 폴더를 열어보면 CN=홍길동(Hong Kildong)xxxx, ou=XXX, ou=xxxx, o=yessign, c=kr라는 폴더가 있다. 폴더를 열어보면, 해당 공인인증기관으로부터 발급 받은 독자의 공개키 인증서(signCert.der) 암호화된 비밀키(signPri.key) 파일이 있다. 공개키 인증서를 발급 받지 않은 독자들의 이해를 돕기 위하여 최상위인증기관의 인증서를 가지고 설명하도록 한다. 최상위인증기관의 공개키 인증서는 C:\Program Files\NPKI\KISA\KISA.der 파일형태로 저장되어 있다.



[그림 4] 최상위인증기관 공개키 인증서의

 

[그림 4] 왼쪽은 KISA.der 파일을 더블 클릭하면 나타나고, 오른쪽은 왼쪽 그림의 메뉴 자세히라는 탭을 선택하면 나타나게 된다. 왼쪽의 그림을 보면, 발급 대상이 공개키 인증서의 소유자에 해당하고, 발급자는 공개키 인증서를 발급한 기관을 알려준다. 위의 예와 같이 발급 대상과 발급자가 같은 공개키 인증서를 자체 서명된(Self-Signed) 공개키 인증서라고 한다. 일반적으로 최상위인증기관 인증서는 인증서를 발급해주는 상위 기관이 없어 자체 서명된 공개키 인증서를 사용한다. 유효기간은 공개키 인증서를 사용할 있는 기간을 의미한다. 실제로 공개키 인증서가 어떻게 전자서명 되어 저장되는 지를 알아보자. [그림 4] 오른쪽 그림에서 필드 해당하는 버전, 일련번호, 서명 알고리즘, 발급자, 유효기간, 주체 등에 해당하는 각각의 값들이 해쉬 함수에 입력되고, [그림 2]에서처럼 해쉬된 값과 공개키에 대응하는 비밀키를 전자서명 알고리즘에 입력하여 전자서명 값이 나온다. 전자서명 값을 공개키 인증서의 전자서명 필드에 저장하여 완전한 하나의 공개키 인증서가 나오게 된다.

 

공개키 인증서에 대한 전자서명 검증은 [그림 4] 오른쪽에 있는 모든 필드의 값을 해쉬 함수에 입력하여 얻은 해쉬 값과 공개키 인증서의 전자서명 값과 공개키를 전자서명 알고리즘에 입력하여 계산한 해쉬 값이 동일한지를 비교하여 동일하다면 올바른 공개키 인증서로 받아들이고, 값이 틀리다면 위조 또는 변조된 공개키 인증서로 받아들이게 된다. 이와 같은 전자서명 생성 검증 과정은 사용자가 공개키 인증서를 이용하여 은행, 증권 등의 사이트에 로그인, 이체 주문할 때마다 일어난다.

 

전자서명은 인터넷을 이용한 은행업무, 증권업무, 쇼핑, 민원서비스 일상생활의 대부분의 업무에 이용할 있다. 전자서명을 이용한 은행업무의 경우 은행을 직접 방문하지 않고도 인터넷을 통하여 계좌이체, 송금 대출 등과 같은 은행 업무를 안전하게 처리할 있다. [그림 5] 전자서명을 이용한 은행 업무를 나타낸 것이다.


 

 

 

인터넷을 통해 이용자는 은행 사이트에 접속하게 된다. 접속한 이용자는 로그인 과정을 전자서명 과정을 통하여 수행한다. 일반적인 사이트에서 이용자는 아이디와 패스워드를 이용하여 접속하지만, 공개키 인증서를 이용하여 접속하는 사용자는 은행 사이트로부터 전달받은 난수 (random value) [그림 2]에서와 같은 방식으로 전자서명을 수행하여 전자서명 값을 은행사이트로 전달한다. 은행은 전달받은 전자서명 값과 사용자의 공개키 인증서를 전자서명 알고리즘에 입력하여 얻은 해쉬 값과 은행사이트가 사용자에게 전달한 난수 값을 해쉬 값과 비교하여 동일하다면 정당한 사용자로 받아들여 해당 이용자의 계좌정보를 보여주게 된다. 위와 같은 사용자 확인 과정을 거친 이용자가 계좌이체를 전자서명을 통하여 수행하는 경우에는 원본문서(출금계좌번호, 출금계좌비밀번호, 입금계좌번호, 입금은행명, 이체금액 ) 대하여 전자서명을 [그림 2] 같이 수행하고, 원본문서, 전자서명 값과 공개키 인증서를 은행사이트로 전달한다. 정보를 받은 은행 사이트는 [그림 3]에서와 같이 전자서명 검증을 수행하고, 공개키 인증서에 대한 검증도 수행하여 올바른 값이라면 은행은 입금계좌로 이체금액을 이체 해준다.

증권사 객장을 방문하거나 전화 이용 없이도 투자자의 신원확인과 거래 사실이 증명할 있는 증권업무에도 전자서명이 이용된다. [그림 6] 전자서명을 이용한 증권업무를 나타낸 것이다. 로그인 주문 신청의 상세 과정은 은행업무의 설명과 비슷하다. 또한, 주민등록등본, 호적등본 발급 각종 행정민원서비스를 위해 해당기관(구청, 동사무소 ) 방문하지 않고도 쉽게 처리할 있는 민원업무에도 전자서명이 이용된다. [그림 7] 전자서명을 이용한 민원업무를 나타낸 것이다. 

 


 
 
 

 

이외에도 인터넷 쇼핑, 온라인 게임, 인터넷 보험, 전자계약, 온라인 세무신고 납부 다양한 분야에서 전자서명이 사용되고 있다.

 

전자서명이 앞으로 실생활에서 쓰임새가 더욱 확대될 것이고, 나아가 안전한 인터넷 세상을 만드는데 중요한 역할을 것이다. 지난 번의 강좌가 독자들이 암호, PKI 전자서명에 대한 기본적인 개념을 이해하는 기회가 되었기를 바란다.

 

 

 

 

[출처: 정보보호뉴스 2005 4월호]

각 볼륨에 해당하는 디바이스 오브젝트를 찾기 위해 먼저 볼륨에 할당된 상징적인 이름을 찾아야 한다.

WinObj
http://technet.microsoft.com/en-us/sysinternals/bb896657.aspx


DDNS라는 방식을 사용하면 되는데 하나로(sk) 인터넷을 사용하는 경우는 80번 포트가 막혀 있어서 다른 포트를 사용해야 합니다.
잊어버리기 전에 정리를 해놓는게 좋을 듯...

1. 도메인을 등록한다.

www.domainclub.kr 에서 등록을 합니다.
(사실 다른 곳에 했다가 이곳으로 바꿨습니다. 이유는 전에 등록했던 곳에선 네임서버 변경하는데 제한이 있는데 이곳은 제한이 없습니다.  제가 가지고 있는 도메인은 true24.org)
도메인 이전에 관한 사항은 도메인 등록 기관에 문의 하세요.
네임서버 변경이 쉬우면 그냥 사용하시구요.

2. www.dnsever.com 에 가입한다.

DDNS를 해주는 사이트입니다. dyndns.org가 많이 쓰이는데 좀 느리고, 유료인것 같아서 dnsever로 하게 됐습니다. dnsever에 가입하면 5개의 네임서버를 제공해 줍니다.

3. 네임서버를 변경합니다.

domainclub에 네임서버 변경으로 가서 dnsever에서 받은 5개의 서버를 입력합니다.
상단 메뉴 -> 정보변경 -> 네임서버 변경
자신이 보유한 도메인 선택하시고 '네임서버 변경하기' 버튼 클릭
네임서버명, IP 모두 입력해 주세요

4. dnsever에서 셋팅하기

도메인 추가에서 도메인을 추가합니다.
웹포워딩을 셋팅합니다.


DDNS를 등록합니다.


 


웹포워딩과 DDNS 모두 www.true24.org를 등록할 수가 없어서 DDNS에는 main.true24.org를 등록합니다. DDNS의 IP주소는 하나로(SK)에서 동적으로 할당한 IP입니다. 최초 셋팅이라고 생각하세요. 나중에 서버가 자동으로 업데이트해 줍니다. 이 값은 공유기에서 가져오면 됩니다.
저는 IPTIME을 사용하는데 관리자로 들어가서 시스템정보 -> 인터넷연결상태에 가면 알 수 있습니다.




5. 잠시 정리하기.

여기까지 됐으면 웹브라우저에서 www.true24.org를 치면 집에 있는 공유기까지는 오는 겁니다. 대신 공유기에 올때는 main.trur24.org:8000으로 오지요. 이렇게 한 이유는 하나로(SK)는 80포트를 막아놨어요. 도메인 등록이나 이전 과정이 몇일이 소요되는데 일단 nslookup이나 ping으로 main.true24.org 해서 되면 도메인설정과 DDNS까지 잘 되었다고 볼 수 있지요.

> nslookup main.true24.org
Address : xxx.xxx.xxx.xxx
가 나오면 된겁니다.

> ping main.true24.org
해서 되면 성공


6. 공유기 셋팅

저는 IPTIME을 사용합니다. 기본적인 기능들이라 어느정도 기능이 있는 공유기라면 모두 가능하리라 생각합니다. 없으면 가격도 요즘 괜찮으니 포트포워딩 되는 것으로 하나 구매하세요.

공유기 내부네트워크 셋팅은 DHCP로 해도 좋은데 서버는 고정으로 주면 좋습니다. 192.168.1.2로 한다고 가정합니다.
공유기 관리자로 들어가서 NAT설정 -> 포트포워딩 설정에 가서 설정을 합니다.

내부IP주소에 모두 192.168.1.2 서버 주소를 써주면 됩니다.
80포트에 Apache2, 22포트에 sshd, 21포트에 ftp, 8080포트에 tomcat, 840포트에 tomcat blazeds가 셋팅되어 있습니다.

7. 유동IP 업데이트 해주기


이 부분은 서버에서 정기적으로 유동 IP를 dnsever쪽에 알려주어 update를 해주는 겁니다.
저는 리눅스를 사용하고 있어서, wget을 사용하는데 윈도우즈용도 있지요.
자세한 설명은 dnsever에 있으니 그것을 참고하시면 됩니다.
dnsever에 가셔서 좌측 중간쯤에 "다이나믹 DNS 사용법" 을 보세요.
이때 공유기로 들어올때 main.true24.org로 오니까 www.true24.org가 아니라 main.true24.org를 업데이트 해주셔야 합니다.

리눅스에서 자동으로 다이나믹DNS 업데이트를 실행하는 방법
  1. 다이나믹DNS업데이트 실행 스크립트를 만듭니다.
    [root]# vi /usr/local/bin/ddns.sh
    #!/bin/sh
    /usr/bin/wget -O - --http-user=아이디 --http-passwd=인증코드 'http://dyna.dnsever.com/update.php?업데이트_인자값'
    위와 같이 하여
    /usr/local/bin/ddns.sh 라는 파일을 편집하여 저장한 다음
    [root]# chmod +x /usr/local/bin/ddns.sh
    로 하여, 스크립트에 실행권한을 부여합니다.
  1. /etc/crontab 파일 편집하여,일정한 시간마다(예:매 5분) 다이나믹DNS 업데이트 스크립트 작동하도록 합니다.
    [root]# vi /etc/crontab
    */5 * * * * root /usr/local/bin/ddns.sh > /dev/null 2>&1
  1. /etc/rc.d/rc.local 파일에 다이나믹DNS 업데이트 스크립트 실행 라인을 추가하여, 시스템 시작시에 스크립트 실행되도록 합니다.
    (리눅스배포판의 종류에 따라 시작스크립트 방식이 다릅니다. Ubuntu 리눅스의 경우 /etc/rc.local 을 사용합니다. Debian 리눅스의 경우 rc.local 파일을 사용하지 않습니다. 자세한 사항은 Debian 리눅스FAQ를 참조하십시오.)
    [root]# vi /etc/rc.d/rc.local
    /usr/local/bin/ddns.sh

 

 


하기 전엔 복잡하더니 적고보니 간단하네요.
80포트가 막혀서 다른 포트로 들어가는건데 혹시 다른 좋은 방법 아시는 분은 알려주세요.

[출처 : http://bundo.tistory.com/13]

첫번째 방법인 SWAP 메모리 사용의 적당한 조절을 통한 퍼포먼스는 아래 링크를 참고 바란다.
http://ubuntu.or.kr/wiki.php/VMSwap

두번째 방법으로 가상 콘솔을 줄여 자원 절약을 하고자 한다.
보통 서버에서도 사용되는 방법인데..
리눅스는 기본적으로 6개의 텍스트 가상 콘솔을 가지고 있다.
모르는 이는 CTRL+ALT+F1 을 눌러 보라!
CTRL+ALT+F1 부터 CTRL+ALT+F6 까지가 텍스트 가상 콘솔이며..
CTRL+ALT+F7이 엑스원도의 터미널이 된다.

보통 필자는 가상콘솔로 나갈때는 엑스가 문제를 일으켜서 로긴이 이상하거나 할때 프로세서를 죽이고자 나간다.
(텍스트 가상콘솔을 오래전 부터 tty 라 칭하는데 이는 teletypewirter의 약자로, 예전에 전신 타자기에서 유래 되었다.)

레드헷계열은 위에서 언급한 가상 텍스트 콘솔을  /etc/inittab 파일에서 tty를 주석처리하여
쉽게 가상 콘솔수를 줄일 수 있다.
사용자 삽입 이미지


그러나 우분투는 /etc/inittab 파일이 없고 /etc/event.d 디렉토리에서 조절하고 있다
따라서  다음과 같은 방법으로 하면 된다.

루트 권한으로 노틸러스 실행
$ sudo nautilus

위치  /etc/event.d

여기서 tty 파일중 tty3부터 tty6까지를 아래 그림처럼 tty3.bak 식으로 이름을 바꿔 준 후
재부팅하면 가상콘솔이 1 과 2 그리고 엑스윈도가 사용할 7번만 가능해진다.
사용자 삽입 이미지

확인은 터미널서는 $top 또는 $htop (tty?)
그놈에선 시스템 감시의 프로세스 (getty) 로 확인 할수 있다.


[출처 : http://kr.blog.yahoo.com/o17zo7/18]

컴퓨터가 좀 느륀것 같아서 데몬 죽이는 방법을
모르겠네요?

부팅시에 필요없는 데몬들은 죽여야 할 것 같은데..
김준성, 2005-04-29 14:57:42
------------------------------------------------------------------------
원시적이지만 효과적인 방법이 있지요..
/etc/init.d 에 부팅시 실행되는 스크립트들이 모여있는데
실행퍼미션을 없애주면 됩니다..
chmod -x 스크립트명 하면 되죠..
예를 들어 exim4 를 안띄우겠다면
chmod -x exim4 하면 다음 부팅부터 안뜹니다..
물론 잘모르는 스크립트는 건드리지 않는게 좋습니다..
LuzLuna, 2005-04-29 17:41:42
------------------------------------------------------------
우분투의 default init level은 2 이기때문에
/etc/rc2.d 아래에 S로 시작하는 파일들이 부팅때 실행되는 데몬들 입니다. 적당히 S를 K로 시작하도록 리네임 해주면 됩니다.
이게 더 옳은 방법일듯......
azalea, 2005-04-30 10:27:38
-------------------------------------------------------
데몬 관리 명려어로 update-rc.d란게 있습니다.
구체적인 사용법은 man page를 참고하시고, 아래는 데몬을 제거하는 방법입니다.

# update-rc.d -f [데몬] remove

[출처 : http://lostsin.tistory.com/63 ]


지금까지의 환경은
WAS: tomcat
framework: spring + ibatis
데이터: json 형식

으로 구축해서 사용하고 있었습니다.
새로운 프로젝트도 시작하고 하니
blazeDS에 대해서 한 번 해봐야 겠다 하던 참에
바로 들어갔습니다.


일단 설명이 잘 되어있는 것들을 이것저것 링크를 모았습니다.

지돌스타님 소개글:
http://blog.jidolstar.com/342

어도비 소개글:
http://www.adobe.com/devnet/livecycle/articles/blazeds_spring.html

모카빵님의 이클립스 blazeDS 프로젝트 구축하기:
http://blog.naver.com/zoom7810/50032372125

머드 초보님의 spring+ibatis+blazeDS 구축:
http://mudchobo.tomeii.com/tt/tag/blazeds?page=2#entry_236

그리고 작업에 들어갔습니다.



1. blazeDS 다운로드
http://opensource.adobe.com/wiki/display/blazeds/Release+Builds에서
turnkey를 다운로드 받습니다.
tomcat이 포함된 blazeDS이고, sample, database 등도 포함되어 있어서 간단히 실행할 수 있습니다.

2. tomcat 실행
다운로드 후 압축을 풀고 나면
blazeds_turnkey_3-0-0-544\tomcat\bin 밑의
startup.bat 이나 startup.sh 을 실행하여 tomcat을 구동시킵니다.

3. url 접속
http://localhost:8400/ 접속하면 3개 링크가 보일텐데
http://localhost:8400/samples 을 클릭합니다.

그 다음
30 Minute Test Drive 를 수행하여 기본을 익히도록 합니다. [필수추천]
RemoteObject만 사용할테니 그것만 보셔도 좋습니다.

4. spring + ibatis + springfactory 구축 및 적용
모카빵님의 이클립스에서 blazeDS 프로젝트 생성하기: http://blog.naver.com/zoom7810/50032372125
이것을 토대로 이클립스에서 쉽게 구축할 수 있습니다.

머드초보님의 구축 설명: http://mudchobo.tomeii.com/tt/tag/blazeds?page=2#entry_236
머드초보님의 좋은 글이 있으니 스프링 초보라도 그렇게 어렵지 않게 할 수 있을 겁니다.

두 글을 참고로 구축을 완료하면
작업이 끝납니다.


[발생할 수 있는 문제들]
1. AIR에서 사용하기
flex로 개발하면 채널 문제는 없겠지만
AIR 등으로 개발하면
mxml 이나 as 등에서 채널을 지정해서 RemoteObject를 사용해야 합니다.

http://mudchobo.tomeii.com/tt/215
역시 머드초보님께서 잘 정리하셨으므로 참고합니다 ^^;


스프링, ibatis 환경에 익숙하신 분들이라면
2~3시간 정도면 blazeDS를 재밌게 사용하고 계시는 자신을 발견하셨을 겁니다.

모두모두 blazeDS의 세계로 발을 살짝 담그어 보시길 바랍니다. ^^

# apt-get install ssh         / 보안 텔넷 ex) # ssh 192.168.0.2
# apt-get install vsftpd      / 범용 FTP서버

# ps -ef|grep vsftpd
# ps -ef|grep sshd
로 데몬이 구동되는지 확인한다.

vi /etc/vsftpd.conf  // 접근제어
--> anonymous_enable=NO
--> #local_enable = YES  // 주석제거
--> #write_enable = YES  // 주석제거

재시작
/etc/init.d/vsftpd restart


우분투 설치시 tomcat6 을 설치하면 localhost:8080 으로 들어가도록 웹서버가 동작한다.

하지만 php를 사용하려고 apache2를 설치한다.

0. 기존의 rpm을 검색하여 삭제한 후 apm설치를 시작한다.
rpm -e --nodeps `rpm -qa | grep -i mysql`
rpm -e --nodeps `rpm -qa | grep -i php`
rpm -e --nodeps `rpm -qa | grep -i apache`
rpm -e --nodeps `rpm -qa | grep -i httpd`

(이때 rpm이 설치되어있지 않다는 메세지가 나오면
# apt-get install rpm 으로 설치
프로세스를 확인
#> ps –ef |grep httpd
작동중인 Httpd 데몬이 목록에 나타나면 종료시킨다.
#> /etc/init.d/httpd stop
)

1. mysql 설치
apt-get install mysql-common
apt-get install mysql-server
apt-get install mysql-client

2. apache2 설치
apt-get install apache2
apt-get install apache2-common

2. php5 설치
apt-get install php5
apt-get install php5-common
apt-get install php5-gd
apt-get install php5-mysql
apt-get install libapache2-mod-php5

4. 업데이트
apt-get upgrade
apt-get update

5. 설치 테스트

/var/www/phpinfo.php를 만든다.

파일은 다음과 같이 쓴다.
<? phpinfo(); ?>
localhost/phpinfo.php로 들어가서 시스템 정보가 나오면 성공이다.


[각종 파일 위치 및 기본 정보]
Apache 설정파일 : /etc/apache2/apache2.conf

[웹문서루트] /var/www

[Apache 로그파일] : /var/log/apache2
[Apache 데몬 계정과 그룹] : www-data www-data
[PHP 설정파일] : /etc/php5/apache2/php.ini
[MySQL data 파일 위치] : /var/lib/mysql
[MySQL mysqld.sock 위치] : /var/run/mysqld/mysqld.sock

+ Recent posts