>> Read No. 1286 article  
아파치 숫자 설정 다시 하기

등록 2001-05-14 11:13:00     조회 5
이름 지현명    

		-------------------------------
1차 작성자.....
제목 : 아파치 숫자 설정 다시 하기 v0.1
작성자 : 지현명
작성일자 : 2001년 5월 12일
연락처 : gwise at linux.co.kr 홈페이지 : http://www.wiselinuxer.org -------------------------------
크랙 강국 건설 :
http://astalavista.box.sk http://www.warez.com  난 우리나라 사람들이 써 놓은 책을 보고, 한국말이 어
디까지 어려울수 있나 를
시험하는줄 알았습니다. 물론 번역자의 생각에 따라서 달라질수 있지만
아파치 숫자(?) 설정은 개념을 확실히 이해를 하고 설정을 해야 하는데
제가 찾아본 책들은 전부다 상투적인 언어로 설명을 했습니다.
과연 그들이 그 개념을 확실히 이해를 하고 썼는지 다시 한번 묻고 싶습니
다.
표현이 자칫 유치해 지더라도 상세한 설명을 해야 하는데 그들은 이 부분을
무시 한 듯 합니다.
오늘 이글을 읽으시고 아파치 숫자 게임에서 승리를 못하신다면 제게 연락
을 주세요.
성인용으로 개념설명을 준비하겠습니다.
 아파치 서버(남자)
클라이언트(여자)
아파치서버데몬(여러명에게 바람피울수 있는 능력)
요청(여자의 이상야릇한 눈빛...)
...........
 참고한 책 :
아파치 100활용한 호스팅 사업
PHP Web-DB programming guide
Beginning PHP4
리눅스 6.2 그대로 따라하기
리눅스 알짜 레드햇 5.2 Bible
 잘못된 부분이 있으면 2차 작성자라고 덧붙여서 적어 주시면 감사.
copyright나 copyleft 이런거는 잘 모릅니다.
여기 저기 흩어져 있는 유용한 정보를 모아서 정리하고 가끔은 본인의
의견도 적습니다. 이런걸 다 모아서 위험한(?) 세팅도 가끔 해 봅니다.
다만 저의 개인적인 생각(세팅,튜닝)으로 인해 피해(?)를 입으셨다해도 저
를
욕하지 마세요.emoticon
밥상은 차려주지만 어떻게 먹느냐는 YOU 몫입니다.
 ====================
아파치 그 깊은 뜻을 어디까지 일까?
 아파치의 설정을 위해서 먼저 두가지 개념을 이해하고 있어야 합니다.
GET,POST
아파치와 이것이 무슨 상관이겠냐고 의아해 하시는 계실지 모르겠지만
이 개념을 모르고서 아파치 세팅 매뉴얼을 읽어가면 잘 이해가 안 가실 겁니
다.
만약, 잘 알고 계시다거나 분량이 많아 부담이 되신다면 과감히 skip 해 주
세요.
제가 봐도 분량이 조금은 부담되네요. 그러나 잃어보신다면 개념을 확실히
잡을수 있다고
말씀드리고 싶습니다.
 ※참고 도서 : Beginning PHP4
GET
GET은 브라우저에게 사용자가 입력한 폼 정보를 URL에 덧붙여 보내라고 알려
주는 겁니다. 브라우저는 물음
표(?)로 URL과 폼 정보를 구분해 줍니다. 폼 정보는 필드이름/값을 각각 짝
을 지어 보냅니다. 예를 들어 보면
이해가 쉬울 겁니다. 필드이름/값은 변수를 만드는 것과 비슷합니다. 먼저
필드이름을 써주고 다음에 값을 써
줍니다.
?animal=고양이
여기서 animal은 필드 이름이고 고양이는 값을 나타냅니다. URL에 다음처럼
덧붙일 수도 있습니다.
http://ie.dyu.ac.kr/test.php?animal=양이 폼에 데이터를 입력하고 보내기 버튼을 누르면 브라우
저가 알아서 URL에 정 보를 덧붙여주는 겁니다. 필드이
름과 값을 하나만 써줄 수 있는건 아닙니다. 여러개를 써줄때는 &기호를 쓰
면 됩니다. 두 개의 필드이름과 값
을 써주면 이렇게 됩니다.
?furryanimal=고양이?spikyanimal=고슴도치
URL에 덧붙여 볼까?
http://ie.dyu.ac.kr/test.php?furryanimal=양이?spikyanimal=고슴도치 이렇게 URL에 덧붙이는 문자열을 
쿼리 문자열(query string)이라고 합니다. 필드이름과 값이 변수와 비슷하고
다 했는데. 사실 웹 서버에 전달되면 PHP가 필드이름을 곧바로 변수로 바꿔
줍니다. 다시 말해 , 폼에 데이터
를 입력하고 보내기 버튼을 눌러 다른 문서를 부르면 입력한 필드의 이름이
PHP 스크립트에서 곧바로 변수가
된다는 겁니다.
예를 들어, 앞의 예에서 본 "animal=고양이"는 test.php란 스크립트에서
$animal이란 변수로 사용할 수 있고,
$animal변수에 "고양이"란 문자열 값이 담겨 잇다는 뜻입니다.
쿼리 문자열에 공백이 들어가야 할 경우가 있습니다. <textarea>태그 안에
긴 문자열을 쓸 때가 그렇지요.
"Linux 무지 재미있어요"란 문장에 공백이 여러개 들어 있습니다.
이럴 경우 공백은 자동으로 더하기 기호(+)로 바뀝니다.
http://ie.dyu.ac.kr/form.php?textarea=linux+무지+재미있어요 공백을 그대로 남겨두면 "textarea=linux"에
서 정보가 끊기지요. "무지 재미 있어요"란 문자열은 제대로 전달될
수가 없습니다. 다시 말해, 쿼리 문자열은 공백없이 줄줄이 이어져야 한다
는 겁니다.
 그럼 textarea에서 진짜 더하기(+)기호를 쓰고 싶으면 어떻게 하지?라고 궁
금해 하시겠지요? 쿼리 문자열에서
특별한 의미가 있는 기호는 코드로 바꿔줘야 합니다. 이 과정을 URL인코딩
(URL encoding)이라고 합니다.
 URL인코딩
URL에 그대로 들어가서는 안되는 문자들이 있습니다. 당연히 쿼리 문자열에
도 그대로 들어가면 됩니다. 그래
서 URL인코딩이 필요합니다.
 걱정하진 마세요. 단순한 사용자건 프로그램 개발자건 여러분이 직접 인코딩
을 하는 건 아니니까요. 괄호든
더하 기호든 URL에  쓸 수 없는 문자는 웹 브라우저가 알아서 코드값으로 바
꿔 줍니다. 코드값은 변하지 않
습니다. 가장 많이 사용되는 문자와 코드값을 정리해 보면 다음과 같습니다.
 tab %09
space %20
! %21
" %22
# %25
% %25
& %26
( %28
) %29
+ %2B
, %2C
. %2E
/ %2F
: %3A
; %3B
< %3C
> %3E
= %3D
? %3F
@ %40
 %5C
위에 나온 문자들은 인코딩하지 않으면 엉뚱한 결과가 생길 수 있습니다. 예
를 들어 + 문자는 앞에서도 설명
했듯이 공백을 뜻하고 ? 문자는 쿼리 문자열의 시작을 알려주니까요
그럼 앞에 나온 예제에서 +문자를 공백 코드값으로 바꿔 URL인코딩을 하면
다음처럼 되겠지요.
http://ie.dyu.ac.kr/form.php?textarea=linux%20무지%20재미있어요  POST
GET을 사용할 때의 단점중 하나는 URL에 덧붙여 써야 하기 때문에 누구나 전
달되는 정보를 볼 수 있다는 겁
니다. URL에 정보가 나타니자 않게 하려면 POST를 쓸 수 밖에 없는데요. GET
에 정보가 나타나지 않게 하려
면 POST를 쓸 수밖에 없는데요. GET과 비슷하지만 POST는 폼 정보를 URL이
아닌 HTTP 요청 본문에 삽입
해 보낸다는 점이 다름니다. URL에 나타나지 않으니 아무나 볼 수 없지요.
또 URL에 덧붙일 수 있는 정보의
양은 제한 되어 있기 때문에 POST를 사용하면 훨씬 많은 정보를 전달 할 수
있습니다.
 GET이냐 POST냐, 그것이 문제로다.
GET과 POST는 둘다 찬반 양론이 엇갈리는 방법입니다. 누구는 보안 문제와
정보의 양에 제한이 있기 때문에
절대 GET을 써서는 안된다고 하고, 또 누구는 GET은 정보를 받아올 때만 쓰
고 웹서버에 있는 데이터를 수정
할 때는 언제나 POST를 써야 한다고 말합니다. GET과 POST에 대해 엄격하게
정해진 규칙은 없습니다. 그냥
조언 정도로 생각하시면 됩니다.
POST의 단점 중 하나는 북마크(bookmark, 즐겨찾기)가 잘 되지 않는다는 점
입니다. get을 쓰면 이미 URL에
모든 정보가 들어가 잇기 때문에 북마크가 가능합니다. GET을 사용하면 폼
정보를 다시 살려내기가 쉽습니
다. 그래서 알타비스타와 같은 많은 검색 엔진들이 GET을 사용합니다. 또,
POST가 GET보다 안전하다고는
하지만 여전히 불안한 건 사실입니다. http요청 본문에 붙여 넣어 바로 볼
수 없어도 암호화가 된 건 아니기
때문에 마음만 먹으면 해킹이 가능합니다. 이정도로 보안이 걱정 된다면 보
안서버(Secure Server)를 사용할
수 박에 없습니다.
 ======================
이제 부터가 본론....
 ♥♥♥♥♥ 설정 파일의 튜닝 ♥♥♥♥♥
 Timeout 300 (받기/보내기 타임 아웃 시간)
(The number of seconds before receives and sends time out)
한번의 GET 요청에 대한 타임아웃 시간을 정해주는 부분으로 초 단위.
즉, 클라이언트가 요청한 정보를 받을 때 까지 소요되는 대기시간의 최대 값
이다.
그야 말로 타임 아웃이다.  연결 됐냐 안됐냐가 중요한게 아니라 클라이언트
가 서버에게
request를 던졌을 때 서버가 클라이언트의 request를 씹냐 안씹냐의 차
이....
(서버가 문제시 될 수도 있고, 네트웍이 문제가 될 수도 있고...___emoticon__)
네트워크 속도가 나쁠수록  수치값을 높게 한다는 얘기는 네트웍상태가 안좋
으니까
서버와 클라이언트간의 질의와 응답의 시간차가 네트웍상태가 좋은 라인보
다 클 것입니다.
이 것에 대비해 질의/응답 시간을 예상하여 늘려 줘여한다는 얘기겠죠...
★sends time out:
내가 한메일에 접속을해서 내 계정과 비밀번호를 타이핑 한 다음 확인 버튼
을 누르고 나서
서버가 응답을 하지 않으면 (timeout 300) 서버 오류로 처리하겠죠.
★receives time out:
일단 서버에 접속을 해서 내 메일을 읽으려고 클릭을 했는데 서버가 클라이
언트의 화면에
메일 내용을 못 뿌려 줬을때..........서버 오류.....
 
KeepAlive On
지속성의 적용여부라고 생각합니다. 한번의 접속에서 여러 개의 요청을 처리
할 것인가의 여부...
이것을 off로 하면 상당한 성능저하를 보인다. 참고로 M$에서 윈도우와 NT
와 리눅스의 자체 성능을 비교하
고, 리눅스 웹서버의 성능을 테스트 하면서 이 값을 off로 했다고 한다. 넌
센스가 아닐 수 없다. 이 값은 디폴
트로 On으로 설정어 있으며 대부분의 웹서버에서 그렇게 사용하고 있다.
 MaxKeepAliveRequests 100
위의 ON전제조건 상태에서 지속성 접속기간동안 처리할 수 있는 최대 요청
갯수.
한번의 접속에 대해 접속을 끊지 않고 몇 번까지 요청을 받을 것인지 설정한
다. 한 번의 접속에서 100번의
요청을 받은 후에 접속을 끊고 다시 처음부터 접속 과정을 거치게 된다. 물
론 이런 내부 과정을 클라이언트는
모르게 된다. 문서에 의하면 대규모 사이트라면 이 값을 가능 크게 잡는 것
이 좋다고 한다. 0으로 하면 클라
이언트가 스스로 접속을 끈히 전까지 계속 연결되어 있겠된다.
 KeepAliveTimeout 5
같은 접속 상태에서 <<<같은 클라이언트>>>의 요청이 타임아웃되는 시간.
클라이언트가 5초 내에 다음 요청을 하지 않으면 접속을 끊는다. 사용자가
웹페이지를 읽는 시간을 고려하면
값을 증가시켜도 좋다. 5초간 시간차를 두고 100번을 할 수 있겠죠..
 ------------
위에 있는 Timeout과 KeepAliveTimeout과는 어떤 차이가 있을까?
★Timeout은 아파치서버 데몬과 클라이언트의 직접적인 접속시간.
★KeepAliveTimeout은 아파치서버 데몬과 클라이언트가 접속되고 나서
(Timeout이안된걸 전제로)
서버데몬이 클라이언트 request를 처리하고나서 또다른 request를 요청할 것
인가를 체크하는 시간.
 Request????(한국말로 요청...쉽게 말해서 내가 서버페이지 이동을 누른다거
나 submit버튼을 누른다든가..
여하튼 클라이언트가 서버데몬을 일하게끔 하는거로 쉽게 생각하면 됩니다.)
  StartServers 10
초기에 띄울 아파치 서버 데몬.
 ↓Server-pool크기조정. 몇 개의 프로세스가 필요한지 여러분에게 추측하도
록 하기 보다는 현재의 부하 상태
에 자동으로 적응하도록 되어 있습니다.
아파치 서버는 현재의 부하 상태와 순간적으로 급격히 상승하는 경우 값(예
를 들어, 넷스케이프 브라우저에서
동시에 여러개의 요청이 들어올수 있다.)을 처리할 수 있는 충분한 객수의
서버 프로세스를 유지하려고 노력
한다.
아파치 서버는 주기적으로 몇 개의 서버가 요청 대기 상태인지 점검한다.
만약 MinSpareServers 보다 적다면 여유 서버 프로세스를 생성한다.
만약 MaxSpareServers 보다 많으면 불필요한 여유 프로세스를 제거한다.
 MinSpareServers 10
아파치는 자식 프로세스를 분기(fork)해서 http요청을 처리한다. 동시에 많
은 요청이 들어오면 그 때마다 자식
프로세스를 분기해야 하는 데 한 번의 분기에 많은 시스템 자원이 필요하며
지연 시간이 생긴다. 요청이 없어
도 미리 자식을 만들어 놓으면 이런 지연 없이 서비스 할 수 있다. 물론 너
무 많은 여유 프로세스를 만드는
것도 시스템 자원의 낭비를 가져온다. 히트 수가 많은 사이트라면 이 값을
늘려 상당한 성능 증가를 얻을 수
있다. 앞에서와 마찬가지로 M$에서는 이 값을 1로 두고 윈도우 NT와 성능 비
교를 했다. MaxSpareServers 와
비교해 적당한 값을 쓰면된다.
 MaxSpareServers 20
최대로 생성할 수 있는 여유 자식 프로세스 수로, 자원을 낭비하므로 너무
큰 값을 사용하면 안된다.
  ↓서버프로세스의 최대값, 즉 동시에 접속할 수 있는 클라이언트 개수를 제
한하는 값입니다.
만약 이 값에 도달한다면 클라이언트의 요청은 봉쇄될 것입니다.
따라서, 이 값이 너무 낮아서는 안됩니다. 이 값은 아파치 서버가 너무많은
자원을 소비하여 전체 시스템을
먹통이 되도록 하는 것을 방지하기 위해 사용될 뿐입니다.
MaxClients 150
한 서버가 감당할 수 있는 최대 동시 접속 수. 이 값을 크게 해야 할 필요
가 생기고 그 만큼 동시 접속이 많
다면 하드웨어 업그레이드도 생각해야 할 것이다.
 ↓각 자식 프로세스가 죽기 전까지 처리할 수 있는 요청 개수
한 프로세스가 너무 오랫동안 사용되면 메모리 누출이나 자원 누출(아파치
때문에 또는 잘못된 라이브러리 때
문에)이 발생할 수 있으므로 자식 프로세스는 자동으로 죽는다.
MaxRequestsPerChild 100
아파치가 실행된 후 자식 프로세스를 생성하면 자식 프로세스는 여기에 적
힌 수 만큼의 접속을 처리하고 죽는
다. 이렇게 하면 자식 프로세스가 점유한 자원이 깨끗하게 청소되므로 아파
치가 오래 실행되어 있어도 문제없
다. 이 값을 0으로 하면 한 번 실행된 자식 프로세스는 결코 죽지 않으니 속
도 증가가 있지만 잘못된 코드가
실행되면서 메모리 누수가 생겼을 때 대책이 없어지니 가능하면 적절한 값
을 사용하도록 하자.
 HostnameLokups off
아파치가 접속을 받아 들였을 때 어디에서 접속이 들어왔는지 확인하기 위
해 호스트명에 대해 IP주소를 확인
하고 다시 IP주소에 대해 호스트 명을 확인하는 작업을 네임서버에 의뢰한
다. 이때상당한 시간이 필요하므로
이 값을 Off로 설정해야 한다. On 으로 하면 눈에 띄는 성능감소를 볼수 있
다.
-------------
 가상 상황
Timeout 300
MaxKeepAliveRequests 100
KeepAliveTimeout 5
StartServers 10
MinSpareServers 10
MaxSpareServers 20
MaxClients 150
MaxRequestsPerChild 100
---------
현재 서버에는 10개의 아파치 서버 데몬이 떠 있습니다.
여러명의 클라이언트가 서버 데몬에 접속했습니다.  한서버 데몬에 클라이언
트의 request 시간을 달리 하면
한 클라이언트의 KeepAliveTimeout 5 가 지나면 그 서버 데몬은 그 클라이언
트와의 접속을 끊어 버린다.
KeepAliveTimeout 5은 한 클라이언트에 대한 것이다.
예를들어 내가 어느서버에 접속해서  다른 파일로된 홈페이지를 읽는다면
5초를 위반하지않고  100개의 요청(각각 다른 페이지 클릭)을 할수 있는 것
이다. 물론 이것을 위반해도 겉으
로는 아무런 반응이 나타나는 것이 아니다.
한 클라이언트의 5초를 위반해서 접속이 끊기고 새로운 접속이 시도 된다면
방금 접속을 끊은 아파치 서버
데몬은 (MaxRequestsPerChild 100) 100개의 또다른 일을 할수 있다. 즉 한
번 했으니까 99,98 이런식으로..
그리고 0번이되면 죽고 다시 살아 난다.
아파치를 실행했을 때 하나만 root고 나머지는 nobody로 실행이 됩니다.
즉, fork 가 된거지요..
이 nobody가 바로 MaxRequestsPerChild 100 즉 root로부터 태어난 자식 프로
세스입니다.
ps aux 해보시면 하나만 root소유의 httpd이고 나머지는 전부  nobody일 것
입니다.
 Maxclients 150  아파치 서버 데몬이 풀로 뜬다 해도 150까지는 안뜬다는 얘
기입니다.
즉 150명의 클라이언트가
MaxKeepAliveRequests 100
KeepAliveTimeout 5
이조건의 위반하지 않고 계속 접속한 상태에서 다른 클라이언트가 접속을 시
도하면
접속이 안된다는 얘기입니다.( 설명이 너무 어렵나요..??)
제 생각에는 알럽스쿨이나 세이클럽 같은 이런 대형 서버에서는 문제가 되지
만
기타 일반 서버에서는 150도  큰값이라고 생각합니다.
 자 생각해 봅니다.
지금 150명의 유저가 접속을 동시에 했습니다.
MaxKeepAliveRequests 100
KeepAliveTimeout 5
MaxRequestsPerChild 100 (1개의 fork된 서버데몬이 100개까지 서비스 가능)
이 조건이 무지 중요합니다.
 현재상황 150 클라이언트가 동시 접속했음
각 클라이언트들은 한 request에 5초를 위반하지 않는다. 5초를 차이두고
100개의 요청을 처리하고
100개가 넘었으면 죽는 것이 아니라 자식 프로세스는 100개를 처리 할 수 있
다.
즉
MaxKeepAliveRequests 100
KeepAliveTimeout 5
이런 진행 과정을 100번 더 할 수 있다는 얘기가 되겠죠..
5초동안 100번의 request 다시 100번... 단 조건의 위반하지 않는다는 전제
조건하에서..
각150명의 유저들이 조건의 위반하지 않고 계속 접속해 있으면 다른 클라이
언트의 접속은 불가능 하게 되겠
죠......
 실제로
start 1
min 1
max 1
MaxKeepAliveRequests 100
KeepAliveTimeout 5
로 세팅해 놓고 넷스케이프를 엄청나게 많이 띄어나도(하나의 서버에서) 데
몬은 그리 많이 생성되지 않습니
다. 왜냐면 5초니까.....빨리 죽고 다른 요청에 응답을 해서 그렇겠죠....
궁금하시다면 1초로 해 놓고 네스케이프 여러게 띄어 놓은다음
쉘 스크립트를 하나 만들어서
#!/bin/bash
while [ 1 ]
do
ps aux |grep /home/apache |wc -l
done
테스트해보세요....잼있을거 같지않나요....상상할 수 없는 극한의 세팅을
어디서 또 해보겠습니다.
  음...`~ 쓰고 나니  한글에서 6장이나 되네요.
오늘은 오라클 공부하는 날인데 슬럼프라서 파고들기 공부전략을 세워 아파
치 숫자(?)게임에 도전해 봤습니
다.
혹시 서울에 C언어 잘 가르치는 학원 있으면 연락 주세요.
아직 C언어가 초보라서 C언어 실력이 된다면 C만으로 임베디드 프로그래밍
을 하고 싶거든요..
물론 어렵겠지만....
이만 물러갑니다. 담에는 syslog에 관한거...이거 아주 잼있거든요. 크랙커
나 해커 침입했을 때
이 설정을 어케 하느냐에 따라서 잡느냐 못잡느냐......로그화일을 아카이
브 백업하고
핸드폰 메시지 연락오는 메일로 메일 보내고 등등.. 생각만 해도잼있네요...
물론 smtp 포트를 숨기것도 중요하겟죠.. 왜 그 있잖아요.
http://www.dprkorea.com 여기 홈페이지 스캔 뜨면 이상한 문자가 쫘락락락...뜨면서 아예 스캔 뜨
는 걸 지치게 해놨더라구요
분명 쉘이나 펄 스크립트로 한거 같은데...
아직 제가 접근한거는 .....근데 제 생각이 맞을 수도 있습니다.
/etc/services 파일에다가
..
..
ftp		21/tcp
요렇게 되있지요.. 이걸
a-z0-&(@&(*&$(#&*$&...	  21/tcp
요기 위에 21번 앞에다가 수도 없이 많이 이상스러운 문자들을 빈 칸없이 적
어 주는 겁니다.
서비스 되는거중에 제일 작은 숫자에서...
그러면 스캔뜨면 쫘락락........물론 아는 사람들은 몇초(?)면 끝날걸 알지
만....
이런 분들을 위해 2G짜리 services 파일을 만드는겁니다.emoticon 너무 엽기적인
가...
스캔 뜨는 넘이 왠만한 인내력을 가지고 있지 않다면 1분도 안되서 스캔뜨
는 것을 포기 할 겁니다.
아니면 더엽기적인 서버관리자가 된다면 포트번호 썩어 놓기도 잼있겠죠...
 또다른 제 생각은 /etc/inittab 에 보면 ctrl+alt+del 누르면 다운되잖아요
저같은 경우는
저걸 눌렀을 때 무한 루프 도는 쉘스크립트를 연결 시켜 놓았답니다. 브레이
크 걸어도 못빠져나오죠..
이거에 힌트를 얻어서 스캔 뜨면 바로 무한 루프가 응답을 하도록
syslog화일과 inittab 의 연간관계를 고려하여 고민중에 있습니다.
혹시 아시는분 있으면 연락주세요.....
같이 공부 합니다.....
이름
암호


>> 관련글
1286 아파치 숫자 설정 다시 하기  지현명  2001.05.14  ....
  답장 RE: 틀린부분...^^  서현민  2001.05.17  ....
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.84 초 ] 작업시간: [ 0.01 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791059773
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.