『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 1번

제  목:[알림] 리눅스 초보교실을 열면서...

올린이:nowlnx  (리눅스  )    97/05/27 16:25    읽음:4332 관련자료 없음

-----------------------------------------------------------------------------

안녕하십니까?  리눅스 동호회 시삽 이만용입니다.

오늘부터 리눅스 초보자 교실을 엽니다.

이 게시판의 취지는 리눅스를 처음 접하는 분들에게 리눅스 관련의 정보를 어디에

서 쉽게 구할 수 있는지 그리고 기본적으로 어떠한 지식을 갖춰야 하는지, 동호회

내에서 어떤 게시물과 자료를 참고하면 좋은지 시삽과 운영진에 의해 추천되는

게시물을 두기 위함입니다.

질문/답 게시판의 특성상 정말 초보자들은 LT 명령을 가지고도 자신이 원하는 답

을 얻을 수 없는 경우가 많으며 처음에 무엇을 해야할 지 어떤 책을 선택해야 할

지 모르는 경우가 많습니다.

이 게시판은 시삽과 리눅스 초보교실 운영자들에 의해서만 쓰기를 허용합니다.

지금 현재 게시판의 허가권은 모든 분들에게 주어져 있으나 ``게시판 신설 축하

글''부터 시작하여 일반 리눅서들의 글은 허용하지 않습니다.  이 곳에 일반 회

원께서 글을 작성하시면 사전통보없이 삭제하겠습니다.

이 게시판은 초보자들을 위한 통제(moderated) 게시판임을 분명히 합니다.  조만

간 운영진과 초보교실 담당자들에 의해 게시물을 채워나가도록 하겠습니다.

만약 여러분이 추천하는 글이 있다면 나중에 발표될 초보교실 게시판 담당자들에

게 메일로 알려주시기 바랍니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 2번

제  목:[알림] 초보 교실 담당 리눅서를 발표합니다.

올린이:nowlnx  (리눅스  )    97/05/27 16:31    읽음:3914 관련자료 없음

-----------------------------------------------------------------------------

현재 두 분의 담당자가 선정되었습니다.

stoneonl (김석기 님)

pey1     (박은영 님)

선발 원칙은 아주 간단명료합니다.  리눅스 동호회를 사랑하고 리눅스 발전에

기여하고자 자원하는 분들에게 담당자의 자격이 주어집니다.

이분들은 운영진과 함께 초보 리눅서 교실의 내용을 구성해 나갈 것입니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 3번

제  목:[소개] 안녕하세요

올린이:stoneonl(김석기  )    97/05/27 18:59    읽음:3336 관련자료 없음

-----------------------------------------------------------------------------

안녕하세요

제가 부시삽이 그러니까 이 게시판에서

담당자가 될줄은 몰랐습니다.

우선 맡게 되니 막중한 책임감이 생기네요

그래서 전에는 이야기에서 통신하다가

세연으로 들어와서 쓰게 되니

정말로 불편하네요

계속 쓰다보면 괜찮아 지겠죠

전 이 게시판을 초보에 맞게

이글을 적을 예정입니다.

그러니 웬만한 실력이 있는 분에게는

시시하다 혹은 너무 쉽다고 생각하겠지만

linux의 막 시작한 사람에게는 좋은

지침서가 될 겁니다.

우선 당장 적는 것은 시간이 촉박하다고

생각되어 다른 게시판에

있는 내용을 캡처해서 글을 올릴 예정입니다.

그리고 이번주나 다음주부터 활동하겠습니다.

시삽께서 6월 1일 부터 시작한다고 했으니

이에 따라야 겠죠

그럼 안녕히

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 5번

제  목:[인사] 게시판 담당 인사 드립니다

올린이:pey1    (박은영  )    97/05/29 06:18    읽음:3228 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

초보 게시판을 맡은 리눅스 초보 박은영 입니다.

게시판을 맡은 이상 책임감을 가지고 할수 있는대 까지 열심히 운영해

보겠습니다.

게시판 운영은 시삽님께서 처음에 공지하신대로 진행될 것입니다.

리눅스를 처음 접하시는 분들이 원하는 정보를 올리거나, 강좌를 올리고,

원하는 자료가 어디에 있는지, 등등을 위주로 해서 운영 됩니다.

이 게시판에 올리고 싶은 내용 있는 분들이나, 원하는 내용이 있으면

게시판 담당 앞으로 메일 주시기 바랍니다.

마지막으로  초보 여러분께 조금이나마 도움이 되길 바라고

아울러 리동 원로님(?)들의 도움과 조언을 부탁 드립니다.

=샤론박(pey1)=

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 6번

제  목:[강좌] 리눅스란 무엇인가 (1장)

올린이:pey1    (박은영  )    97/05/29 06:32    읽음:10316 관련자료 없음

-----------------------------------------------------------------------------

이 글은 이만용님의 '알짜 슬렉웨어 3.1'에서 옮긴 글 입니다.

리눅스를 시작하시면서 꼭 읽어봐야 하는 글이지요.

리눅스를 시작하시는 분들 "필독" 하시길 바랍니다. 아울러 '자유(free)'의

진정한 의미를 다시한번 생각하는 계기가 되길 바랍니다.

이 글은 1장과 2장 두부분으로 나누어서 올립니다.

..................1장의 순서 ....................

:      * 리눅스란 무엇인가(1장) *               :

:  1. 들어가면서(리눅스 저널 인용)              :

:  2. 리눅스는 유닉스와 비슷한 운영 체제이다.   :

:  3. 리눅스는 자유로우며 독립적이다,           :

:  4. PC를 워크스테이션으로 만들어 준다.        :

:...............................................:

************** 리눅스란 무엇인가(1장) *****************

1. 들어가면서(리눅스 저널 인용)

===============================

리눅스는 유닉스와 비슷한 운영체제이다. 리눅스는 자유롭다(free)

자유롭다라는 말이 뜻하는 바는, 여러분은 어느 누구에게도 라이센스료를

지불할 필요가 없이 사용할 수 있으며, 운영체제와 소스 코드를 함께 받을

수 있다는 것이다. 리눅스는 독립적이다. 리눅스는 Bell Labs나 그 이하

다른 업체들에 의해 쓰여진 코드를 하나도 쓰지 않고 리눅서들 자체의

힘으로 만들어 졌다는 것이다. 리눅스는 대부분의 386, 486, 그리고 펜티엄

(펜티엄 프로까지) 개인용 컴퓨터에서, 아미가(Amiga)와 아타리(Atrai)

컴퓨터에서 작동할 수 있다. 리눅스는 현제 알파(Alpha), ARM, 파워 PC,

SPARC 등을 포함하는 여러 플랫폼에 이식되고 있는 중이다.

리눅스는 POSIX 표준을 지키고 있으며, 다양한 유닉스 소프트웨어가 리눅스

상에서 작동할 수 있다.

리눅스 그 자체로는 운영체제의 핵심부(core)인 커널(kernel)을 말한다.

하지만, 대부분의 사람들이 리눅스라는 단어를 리눅스 커널과 함계 작동

하는 많은 소프트웨어들을 통틀어서 운영체제라는 넓은 의미로 사용하고

있다. 많은 회사들이나 단체, 개인들은 리눅스와 다른 소프트웨어들을 함께

묶어서 '리눅스 배포판(distribution)' 이라는 것을 만들어 왔다. 여러분은

인터넷을 통해서 리눅스를 구할 수 있다. 또한, 리눅스는 주로 CD-ROM의

형태로 리눅스 판매상으로부터 구할 수도 있다.

리눅스 커널 그 자체는 원저자인 리누스 토발즈(Linus Torvalds)에 의해

지휘되는 전세계적 협동의 산물이다. 리눅스의 저작권은 Public Domain과

다르다. 각각의 협력자들이 자신이 쓴 소스 코드에 대하여 저작권을 가지고

있다. 리눅스는 Free Software Foundations(줄여서 FSF)에서 사용하고 있는

General Public License(줄여서 GPL)라는 것으로 라이센스 되어 있는데,

다른 무엇보다도 GPL 이라 하는 것은 리눅스 소스는 항상 자유롭게 배포될

수 있어야 하면서도, 리눅스를 통해서 돈을 벌려고 하는 사람들이 소스

코드도 함께 제공하면서 배포를 제한하려고 하지만 않는다면 얼마든지

상업적으로 이용 가능하게 규정하고 있다.

..........................

........중략.............

리눅스는 유닉스에 대하여 비용이 적게 들면서 원하는 효율을 얻을 수

있는 대체물 이라고도 할 수 있다.

-리눅스 저널 4페이지로부터 인용-

위 인용문을 통해 우리는 "리눅스가 무엇인가?" 라는 질문에 가장 적은

단어로 효율적으로 답할 수 있다고 생각한다.

2. 리눅스는 유닉스와 비슷한 운영체제이다.

=========================================

리눅스는 우리나라 내에서 어떠한 상업적인 선전이 이루어지지 않았음에도

불구하고 사람들의 입과 입을 통해서 널리 전파되었고, 현재로서는 나우

누리와 하이텔과 같은 통신 업체에 개별적인 동호회를 가지고 있을 만큼

많은 사용자들을 가지고 있다. 이렇게 서로간의 추천을 통해서 리눅스가

전파되었음에도 불구하고 많은 사용자층을 갖는 이유는 리눅스 고유의

뛰어난 운영체제 성능에서 비롯되며, 또한 말로는 전할 수 없는 특유의

매력을 지니고 있기 때문이라고 생각한다.

하지만 리눅스가 생각보다 도전하기에 만만치 않은 운영체제라는 사실에는

모두 동의하고 있다. 그 이유는 기본적으로 리눅스가 다른 모든 운영체제

중에서도 유닉스를 그 모델로 하고 있다는 점을 들 수 있다. 이러한 선택은

아주 이성적인 선택으로서 가장 강력하고 최상의 효율을 낼 수 있으며,

해커들에게 최대한의 자유를 줄 수 있는 운영체제로서 기존의 운영체제

중에서 유닉스가 선택된 것이다.

그렇다고 해서 '리눅스=유닉스' 라고는 말할 수 없다. 리눅스는 현재

유닉스 그 이상의 무엇을 추구하면서 맹렬하게 발전하고 있는 젊은 운영

체제이다. 리눅스의 탄생이 그 많은 유닉스들 중에 또다른 유닉스를 하나

더 더하고자 함은 아니였다. 오히려 상용 유닉스의 한계들을 뛰어넘는 대담한

기술들이 채용되고 있으며, 가장 막강하면서도 재미있는 도구들을 가지고 있다

는 사실이 바로 리눅스의 매력이라고 할 수 있다. 그리고 커널 2.0.0에 와서는

단지 실험적인 운영체제를 넘어서서 상용 유닉스의 성능을 뛰어넘는 획기적인

발전들이 이루어 졌으며, 많은 업체에서도 리눅스를 가장 경제적인 해결책으로

보고 있고, 또한 리눅스를 통해 사업을 벌이고 있다.

지금 당장 얘기 할 수 있는 것은 어찌 되었든 기본적인 설계 구조와 철학을

같이 하는 리눅스에서 기존 유닉스에 대한 지식은 그대로 활용 가능하며,

더더욱 많은 유닉스 지식을 필요로 한다는 것이다. 현재 리눅스 그 자체에

대한 전문 서적은 한국어판으로는 없다. 그렇다해도 시중에 나와 있는 모든

유닉스 서적은 여러분이 리눅스에 도전하는데 좋은 길잡이가 되어줄 것임은

분명하다.

유닉스와 비슷하지만 유닉스를 뛰어 넘으려는 젊은 패기가 넘치는 운영체제가

바로 리눅스인 것이다.

3. 리눅스는 자유로우며 독립적이다.

=================================

'리눅스의 매력이 무엇이냐?' 라는 질문에 대하여 제일 먼저 나오는 답변은

이렇게 뛰어난 운영체제가 현재의 자본주의 사회에서 공짜라는 사실일것이다.

흔히 행해지는 불법 복제의 위험성이 전혀 없이 서로가 서로의 친구에게

자유롭게 복사해 줄 수 있으며, 인터넷을 통해서 끊임없이 리눅스 프로그래머

들이 내놓는 자유 소프트웨어들을 쉽게 구할 수 있다. 여러분이 학교 내에서

소규모 네트워크의 시스템 관리자가 되었다면 네트워크 구성을 위한 모든

프로그램들을 인터넷 접속 만으로 얻을 수 있다는 사실은 커다란 장점이라고

말하지 않을 수 없다.

이렇게 자유로운 리눅스가 오로지 리눅서들의 손에 의해서만 만들어졌으며

어떠한 상업용 코드도 들어가 있지 않다는 사실에 리눅서들은 대단히 자랑

스럽게 생각하고 있다. 이것이 리눅스의 독립적인 면모이고, 떳떳하게 자유

로울 수 있는 면모이다. 전세계의 리눅서들이 협동 정신을 가지고 오직

자신의 명예를 위해서, 그리고 동료 리눅서들에 대한 우애를 위해서 수많은

밤을 새워 가면서 스스로 만든 리눅스이기 때문에 더욱 값진 것이다.

리눅서들은 리눅스라는 운영체제를 자기 몸처럼 사랑하며, 리눅스의 발전을

위해 노력하고 있다. 그 이유는 리눅스의 주인은 바로 리눅서들 자신이라는

마음가짐 때문이라고 할 수 있다.

또한, 리눅스는 전세계의 모든 개인들에게는 물론이고, 리눅스를 통하여

이익을 얻고자 하는 모든 기업들에게도 열려 있다. 리눅스는  모든 기업이

리눅스를 이용하여 자신의 사업을 벌일 수 있도록 권장하고 있으며, 리눅스

개발에 대한 생산비 항목을 획기적으로 줄여주는 효과를 낳는다. 이미 적지

않은 기업들이 리눅스 배포판이라는 것을 만들어서 돈을 벌고 있으며, 인터넷

구축에도 활발하게 이용하고 있다. 이미 Digital 사의 경우에는 세상에서 가장

빠른 CPU 에서 리눅스가 돌아갈 수 있도록 지원함으로써 현재 알파 머신에서도

리눅스가 돌아갈 수 있게 되어 있다.

이부분에서 필자는 여러분이 리눅스는 공짜니까 리눅스 씨디에 대하여 돈을

받는다는 것은 불합리한 것이 아닌가라는 흔한 질문에 답변을 해야 할 필요성

을 느낀다. 리눅스는 정의상 Public Domain이 아니다. 리눅스는 리눅스를

만드는데 공헌한 사람들에게 모두 권리가 주워져 있다. 하지만, 독특하게도

GPL 이라고 하는것에 의해 라이센스화 되어 있다. 개인은 리눅스 소스 코드를

무상으로 자유롭게 얻을 수 있으며, 기업은 리눅스 배포에 대한 권리를 제한

하지 않는 한에서 리눅스를 자유롭게 영리 활동에 이용할 수 있다. 단지,

어느 누구도 리눅스에 대한 배타적인 권리를 가질 수 없다는것이다. 쉽게

말해서 아무리 마이크로소프트 사라 할지라도 리눅스에 대한 권리를 돈주고

살 수 없다. 리눅스 그 자체는 항상 전세계인의 것이여야 한다는 정보 공유의

원칙을 철저히 준수하고 있다는 것이다.

필자는 리눅스가 그냥 공짜라는 말에는 동의하지 않는다. 리눅스에 대하여

필자는 free 라는 영어 단어의 2가지 측면 중에서 '자유롭다'라는 측면을

강조하고 싶다. 또한, 리눅스는 여러분이 쏟아야 하는 노력의 양을 따진다면

결코 공짜로 얻어지는 성질의 것이 아니다. 모든 일을 주체적으로 해결해야

하겠다는 마음가짐이 필요하며, 그럼 마음 가짐을 가진 사람에게만 리눅스는

열려 있다. 필자는 리눅스를 통해서 무엇인가 멋진 사업을 하려는 사람들이

많이 생기길 원한다. 리눅스는 개인에게도 기업에게도 활짝 열려 있는 운영

체제이다.

리눅스가 아무리 외부의 도움 없이 리눅서들 자신의 피와 땀으로 이루어

졌다는 사실, 즉 독립적이라는 사실에 대해서 한번 얘기해 보기로 하겠다.

리눅스의 독립성이야 말로 떳떳함의 근거가 되어주고 있다. 그리고 리눅스의

무한자유의 밑바탕이 되어주고 있다. 리눅스의 자유는 힘없는 자유가 아니라

실력을 바탕으로 한 당당함의 자유이다. 많은 업체들이 마이크로소프트 사의

횡포 속에서 합병되어 사라져 가는 냉혹한 소프트웨어 업계의 현실 속에서도

리눅스는 꼿꼿하게 전진에 전진을 계속해 나가고 있다.

인터넷의 진정한 이상을 실현하고 있는 리눅스는 지금도 자유와 독립의

이상을 지켜 나가고 있다.

4. PC 를 워크스테이션으로 만들어 준다.

=====================================

그 어려운 리눅스를 어렵게 어렵게 여러분의 PC에 설치하고 나서 느끼는

뿌듯함은 여러분이 집 또는 학교, 사무실에 놓아둔 386, 486, 펜티엄이

리눅스의 설치와 함께 즉시 말로만 듣던 천만원대의 유닉스 워크스테이션

으로 변화하기 때문이 아닐까? 그동안 도스와 윈도우 3.1, 그리고 최근의

윈도우 95 속에서 자신의 잠재력을 잠재우고 있었던 PC가 갑자기 고성능의

인터넷 컴퓨터가 된다는 사실을 믿을 수 있겠는가?

리눅스의 설치와 함꼐 즉시 여러분의 컴퓨터는 인터넷 여행 준비가 다

되어 있다. 리눅스가 본격적이□ 네트워크 운영체제라는 사실은 이미 많은

사람들로부터 들어서 알고 있으리라고 본다. 말로만 듣던 작은 운영체제

리눅스의 골리앗과 같은 힘을 목격할 수 있는 것이 바로 네트워크이다.

이미 많은 리눅서들이 자신의 리눅스 PC를 인터넷 서버로 행목하게 운영

하고 있다. telnet, ftp 등의 서비스는 물론, 요즘 각광 받고 있는 웹서버도

공짜로 운영할 수 있다. 그 유명한 NSCA, 아파치 서버 등은 당연히 여러분의

상용 PC 운영체제 어떤 것에서보다 초고속으로 작동한다.

이미 윈도우 95가 설치되어 있는 컴퓨터와도 연결을 쉽게 이룰 수 있다.

이때에도 최소의 비용과 최소의 하드웨어로 도스나 윈도우 95의 서버 역할을

충실히 해내게 된다. 외국에서는 이미 많은 중소기업들 내에서 메일 서버와

같이 실전 중요 업무에 사용되고 있다.

자, 여기에다가 오리지날 MIT X 윈도우를 띄우게 된다면 여러분의 PC는

개인의 컴퓨터 역사 속에서 새로운 전환점을 마련하게 된다고 말하고 싶다,

이미많은 고가의 상용 워크스테이션이 작동하고 있는 X윈도우를 기능 하나

빠짐 없이 아니 오히려 더욱 최신의 X윈도우를 집에다 모셔 놓을 수 있게

된다. X윈도우와 함꼐 정말 안정성이라는 것이 무엇인가? 도대체 내가

가지고 있는 PC 라는 것이 어느 정도의 성능을 낼 수 있는 물건이였는가를

절실히 느껴보길 바란다. 이러한 경험 속에서 우리는 자신에게 맞는 운영

체제가 정말로 무엇인지, 그리고 기업이 운영체제 구입비로 우리에게 돈을

요구할 때 운영체제가 적어도 어느 정도 되어야 하는지를 가늠할 수 있게

된다.

------------------------1장 마침------------------------------------

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 8번

제  목:[필독] GNU 선언문(GNU Mainfesto) - 1편

올린이:pey1    (박은영  )    97/05/29 18:43    읽음:5994 관련자료 없음

-----------------------------------------------------------------------------

Copyright(c) 1989, 1991 Free Software Foundatiion, Inc.

이 문서 그대로를 그것이 어떠한 형태로든 복사하거나 배포하는데 있어서

다음과 같은 조건을 만족하기만 하면 자유롭게 사용할 수 있다. 이 문서의

저작권과 허가권에 대한 명시가 이류어져야 하며, 배포자는 배포받는 사람이

지금과 똑같은 사항을 지킨다면 그 또한 얼마든지 다시 배포할 수 있다는

것을 허용해야 한다. 수정 버젼은 만들어지지않을 것이다.

********************************

*   GNU 선언문(GNU Mainfesto)  *

********************************

이 문서 그대로를 그것이 어떠한 형태로든 복사하거나 배포하는데 있어서

다음과 같은 조건을 만족하기만 하면 자유롭게 사용할 수 있다. 이 문서의

저작권과 허가권에 대한 명시가 이류어져야 하며, 배포자는 배포받는 사람이

지금과 똑같은 사항을 지킨다면 그 또한 얼마든지 다시 배포할 수 있다는

것을 허용해야 한다. 수정 버젼은 만들어지지않을 것이다.

아래의 GNU 선언문은 GNU 프로젝트의 시작 초기에 리차드 스톨만씨가 동참과

지원을 호소하기 위해 작성한 것이다. 처음 몇년간은 발전에 발맞추어 조금씩

수정되었지만, 지금은 이미 많은 사람들이 이것을 보았으므로 더이상 수정하지

않고 그대로 놔두는 것이 좋다고 생각한다.

그 이후로 우리는 다른 문구를 썼으면 일어나지 않을 만한 몇가지 일반적인

오해의 소지가 있는 문구를 발견하게 되었다. 1993년의 주석으로 이러한 점들을

분명히 하고있다.

GNU 소프트웨어에 대한 자세한 정보는 GNU 게시판을 참고하길 바란다. 왜냐면

그 목록이 너무 길어서 여기에 포함 시킬 수 없기 때문이다.

GNU란 무엇인가? GNU는 유닉스가 아니다!! (Gnu's Not Unix!)

GNU는 "Gnu's Not Unix"를 뜻하는 것으로, 그것을 모든 사람들이 자유롭게

사용할 수 있도록 배포하기 위하여 지금 만들고 있는 완벽한 유닉스 호환

시스템의 이름이다. 이 단어의 선택은 잘못 되었다. 말하려는 의도는 GNU

시스템을 사용하기 위해 허가권에 대하여 아무도 지불할 필요가 없다는

것이였다. 하지만, 단어가 이 뜻을 명확히 전달하지 못했다. 사람들은 종종

GNU를  복사하는 항상 조금, 또는 아예 돈을 받지 않고 배포되어야한다고

해석해 버린다. 그런 의도가 아니였다. 후반부에 가면 선언문에서는 배포

서비스를 통해 수입을 올리는 기업의 가능성에 대해 언급하고 있다. 따라서,

나는 자유(freedom)라는 측면에서의 free와 가격(price)측면에서의 free를

조심스럽게 구별해야 할 것을 느꼈다. 자유소프트웨어는 배포와 수정의 자유를

가진 소프트웨어를 말한다. 물론, 어떤 사용자들은 아무 비용도 들이지 않고

복사를 얻을 수 있었을 것이고, 다른 사람들은 돈을 지불하였을 것이다.

그리고 그러한 기금이 소프트웨어 개발 지원에 사용된다면 더욱 좋을 것이다.

중요한 사실은 복사를 가지고 있는 모든 사람들은 그것을 사용함에 있어서 다른

사람과 공유해도 좋을 자유를 가지고 있다는 것이다. 몇몇의 자원 봉사자들이

나를 돕고 있다. 시간, 돈, 프로그램, 장비의 지원이 매우 필요하다.

우리는 문서 형식기로 TeX를  사용할 것이며, nroff도 여전히 사용될 것이다.

또한  X 윈도우 시스템도 사용할 것이다. 이런 후에 Common Lisp, Empire,

스프레드시트 등과 수많은 다른 프로그램을 온라인  문서를 포함하여 추가할

것이다. 우리는 결국 일반적인 유닉스 시스템의 모든 기능을 갖추게 될 것이다.

지금까지 우리는 편집명령을 작성하기 위한 리스프를 갖춘 Emacs 문서 편집기,

소스 수준의 디버거, yacc 호환 파서 생성기, 링커 등 35개  가량의 유틸리티를

만들어 왔으며, 쉘(명령어 번역기)은 거의 완벽한 수준에 이르렀다. 최적화된

포터블 C 컴파일러가 새로이 제작되었으며, 이번 해에 배포될 것이다. 이미

처음의  커널이 있기는 하지만 유닉스를 구현하기 위해서는 보다  많은 사양

들이 추가되어야 할 것이다. 커널과  컴파일러가 완성되면 프로그램 개발에

적합한 GNU 시스템을  배포할 수 있을 것이다.

GNU는 유닉스 프로그램들을  사용할 수 있게 해주지만  유닉스와 동일한 것은

아니다. 우리는 다른 운영체제에서의 경험을 살려 가능한 사용하기 편리하도록

향상을 꾀했다. 특히 긴 파일명을 쓸 수 있게 하고, 파일 버전 넘버를 달고,

견고한 파일 시스템을 구축하고, 터미널 비의존적인 디스플레이 장치를 만들

계획이며 최종적으로 몇 개의  리스프 프로그램과 일반적인 유닉스 프로그램이

한 화면을 나누어 쓸  수 있는 리스프 기반의 윈도우 시스템을 만들 것이다.

시스템  프로그래밍 언어로 C와 리스프 두 가지를 다 사용할 수  있을 것이다.

그리고 UUCP, MIT Chaosnet, 인터넷 프로토콜을 지원할 것이다.

GNU는 본래 가상메모리를 가진 68000/16000  계열의 컴퓨터를 겨냥하고

제작되었다. 그 까닭은 그 기계들에서 GNU를 가장 쉽게  작동시킬 수 있기

때문이다. 보다 작은 컴퓨터에서  작동시키기 위해서는 사용하고자 하는

사람이 특별한  노력을 기울여야 할 것이다.

심각한 혼돈을 야기할 수 있기 때문에 'GNU'가 이 프로젝트를 지칭할 때는

반드시 'G' 를 발음해 주기 바란다.

나는 누구인가?

=============

나는 리차드 스톨만이란 사람이며 Emacs 에디터의  고안자이다.

나는 컴파일러, 에디터, 디버거, 명령어 해석기, 시분할체제와 리스프머신

운영체제에 관해 광범위한 작업을 해왔고, ITS에서 터미널 비의존적인  출력

장치를 개발했다. 그런 다음 리스프 기계를 위한 견고한(crashproof) 파일

시스템 하나와 두 개의  윈도우 시스템을 구현했고, 지금은 세 번째 윈도우

시스템을 구상하고 있다. 이것은 GNU는 물론 다른 많은 시스템에 이식될

것이다.

왜 GNU를 만들어야만 했는가?

==========================

어떤 프로그램을 좋아한다면 당연히 그것을  좋아하는 사람들과 함께 나누는

것이 황금률(대우받고자 하는 데로 대하라)이라고 생각한다. 소프트웨어를

판매하는  사람들은 사용자를 각각 구분하고, 그들 위에 군림하고, 사용자

서로가  프로그램을 공유하는 것을 막고자 한다. 나는 이런 식으로 사용자

간의 결속이 깨지는 것을 거부한다. 나는 올바를 양심으로 비공개 협정이나

소프트웨어 라이선스 협약에 서명할 수 없다. 여러 해 동안 인공지는 연구소

에서 일하면서 그러한 경향과 다른 박정한 일들에 저항해 보았지만 결국에는

그들의 승리로 끝나고 말았다. 내 의지에 역행하는 그런 일들이 일어나는

연구소에 나는 더 이상 머무를 수가 없었다. 내가 계속해서 명예를 손상

시키지 않고 컴퓨터를 사용하기  위해, 상업용 소프트웨어를 더 이상 사용

하지 않고도 작업을 해나갈 수 있는 충분한 공개 소프트웨어의 본체를 만들

결심을 했다.

유닉스와 호환성을 가지는 이유

============================

유닉스가 이상적인 체제라고 생각하지는  않지만 제법 쓸 만하다고 할 수

있다. 유닉스 체제의 골자는 훌륭한 것이며, 나는 유닉스의 장점을 해치지

않고도 부족한 점을 메꿀 수 있으리라 생각했다. 그리고 유닉스와 호환을

가지면 다른 많은 사람들이 적응하기에도 편리할 것이라 생각했다.

GNU를 사용하는 방법

===================

GNU를 사용하는 데 지역적인 제한을  받는 것은 아니다. 누구나 GNU를

수정하고 배포 할 수 있지만 어떤 이도 GNU가 보다 널리 배포되는 것을 제한

할 수 없다. 즉, 변경한 내용을 독점할 수 없다는 것이다. 나는 모든 버전의

GNU가 공개된 채로 남아 있기를 보장받고 싶은 것이다.

많은 다른 프로그래머들의 동참을 바라는 이유

===========================================

나는 그 동안 GNU에 흥미를 느끼고 돕고자 하는 많은 프로그래머들을 찾을

수 있었다. 많은 프로그래머들은 시스템 소프트웨어가 상용화된 것을 불쾌하게

생각한다. 이렇게 함으로 해서 보다 더 많은 돈을 벌 수는 있겠지만, 일반적

으로 이런 상황에서는 프로그래머들이 서로를 동지로 느끼기보다는 투쟁해야

할 대상으로 느끼게 된다.

프로그래머들 사이에 우정을 나타내는 가장 기본적인 행동은 프로그램을

나누는 것이다. 이제는 전형적인 핵심으로 여기는 마케팅 협정은 프로그래머

들이 친구로서 다른 프로그래머를 대하는 것을 금하고 있다. 소프트웨어를

구입한 자는 우정과 준법 중 하나를 선택해야만 한다. 물론 자연적으로 많은

이들이 우정을 보다 중요시한다. 그러나 법의 존재가치를 인정하는 사람들은

어떤 결정을 내리든 편한 마음을 가질 수 없다. 그들은 냉소적이 되어

프로그래밍은 단지 돈을 버는 수단이라고 생각하게 된다.

그러나 독점적인  프로그램들 대신 GNU를 사용하게  되면 우리는 모든

이에게 온정을 가질 수 있으며 법도 준수하게 된다. 게다가 GNU는 영감을

주는 예와 다른 이가  우리와 나누는 일에 동참하도록 고무하는 깃발 노릇도

한다. 이는 우리가 상용 프로그램을 쓸 때는 느낄 수 없는 조화로운 느낌을

갖게 한다. 나와 대화한 프로그래머들 중 거의 반 정도는, 이것은 돈이 대신할

수 없는 중요한 행복이라는 데 공감했다.

당신이 기여할 수 있는 방법

==========================

나는 제조업자들에게는 기계와 돈을, 개인들에게는 프로그램과 노동을

지원해  줄 것을 요청한다.

컴퓨터를 기증해서 기대할 수 있는 중요한 점은 GNU가 머지않아 그 기계에서

작동할 것이란 점이다. 기증된 컴퓨터는 완전해질 것이며,  따라서 시스템을

사용할 준비를 모두 갖추게 되어 파워와 효율을 과대포장할 필요가 없을

것이다.

나는 GNU를 위해  시간제로 일하기를 갈망하는 많은  프로그래머들을 찾을

수 있었다. 대부분의 프로젝트에서 그러한 시간제로 배치된 작업을 통합하고

조정하는 일은 매우 어려웠다. 독립적으로 쓰여진 부분들은 함께  동작하지

않았다. 그러나 특정한 작업인 유닉스 시스템은 개별적인 설명이 포함된 백여

개의 유틸리티를  포함한다.

대부분의 인터페이스 사양은 유닉스에 호환되도록 맞추어진다.  만약 각각의

프로그래머가 유닉스 유틸리티 한 개를 유닉스에  호환하도록 재 구현하고

본래의 유닉스 시스템에서 충분히  작동하게 할 수 있으면, 이것들은 함께

묶어 놓아도 올바르게 작동할 것이다.

만일 누군가가 예기치 못했던 문제를 야기시킨다 해도 전체적인 구성요소

들을 통합하는 작업은 충분히 가능할 것이다.(커널을 만드는 작업은 세밀한

대화가 필요할  것이며, 소수의 호흡이 잘 맞는 집단이 적당할 것이다.)

만일 내가 금전적인 지원을  얻는다면, 약간의 인원을 전시간 또는 시간제로

고용할 수 있을 것이다. 일반적인 프로그래머  수준의 높은 봉급을 줄  수는

없겠지만, 돈이 가지는 것만큼  공동체 의식을 정립하는 일도  중요한 의미를

가진다고 생각하는 사람들을 찾아볼 것이다.

모든 컴퓨터 사용자가 이득을 얻게 되는 이유

==========================================

일단 GNU가 작성되니까, 마치 공기처럼 모든 사람들이 훌륭한 시스템 소프트

웨어를 무료로 얻을 수 있게 되었다. 이것은 단지 모든 이에게 유닉스

저작권에 대한 비용을 덜어주는 것보다 훨씬 더 많은 의미를 가진다. 이는

시스템 프로그래밍에  드는 노력이 불필요하게 중복되는 것을 피할 수 있음을

의미한다. 대신 절약된 노력은 기술 수준을 향상시키는 데 사용될 것이다.

완벽한 시스템 소스가 모든 사람들에게 제공될 것이다. 결과적으로 시스템에

변화를 주고자 한다면 언제든지 스스로 자유롭게 수정할 수 있을 것이다.

혹은 적당한 프로그래머나 업체에게 의뢰할 수도 있을 것이다. 사용자들은

더 이상  프로그램 소스를 가진 프로그래머나 회사에 의존하지 않아도 될

것이며 독자적으로 수정을 가할 수 있을 것이다.

학교는 모든 학생들이 시스템 코드를  배우고 향상시키도록 장려함으로써

보다 나은 교육환경을 조성할 수 있을  것이다. 하버드 컴퓨터 연구소에서는

어떤  프로그램이든지 그 소스가 공개 전시되지  않으면 시스템에 설치하지

못하게 하는  정책을 쓰곤 했다. 실제로 어떤  프로그램들을 설치하지 못하게

함으로써 이 정책을 고수했다. 나는 이것에서  커다란 영감을 받게 되었다.

결국에는 누가 시스템 소프트웨어를 소유하고 있으며, 누구에게  사용할 수

있는 자격을 부여할 것인지 아닌지를 고려하는 제비용은 상승하게  될 것이다.

복사 라이센스를 포함하여 프로그램 사용에 대한 지불을 준비할 때는 언제나

개인이 지불해야 할 돈이 얼마인가를 알아내야 하는  필요성을 통하여 사회에

많은 비용을 야기시킨다. 그리고  오직 경찰당국만이 모든 사람이 그것을

따르게 하도록  힘을 행사할 수 있다. 막대한 비용을 들여 공기를 생산하는

우주  정거장을 생각해 보자. 이런 경우 각각의  개인은 자신이 호흡하는

공기에 대해 리터  단위로 요금을 지불하는 것이 합당할 것이다.  그렇다고는

해도 호흡하는 공기의 양을 계측하기  위해 메터기가 달린 방독면을 밤낮으로

쓰고  있어야 한다면 그런 방식은 타당한 것이 아니다. 그리고 TV카메라는

당신이 마스크를 벗는 불법을 행하는지 어디서나 지켜보아야 할 것이며, 이것

보다는 사람수에 따라 일정한 세금을 부과하고  마스크를 벗어 던지는 것이

현명하다.

프로그램의 일부 혹은 전체를 복사하는 행위는 프로그래머에게 있어서는

숨을 쉬는 것만큼이나 자연스러운 일이며, 생산적이다. 따라서 프로그램은

마땅히 공개되어야 한다.

---------------------------2편에서 계속----------------------------

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 9번

제  목:[필독] GNU 선언문(GNU Mainfesto) - 2편

올린이:pey1    (박은영  )    97/05/29 18:44    읽음:4050 관련자료 없음

-----------------------------------------------------------------------------

몇가지 GNU의 목표에 대한 반대 의견

==================================

......................................................................

: "무료라면 아무도  그것을 쓰지 않을 것이다. 왜냐하면 무료라는 것은  :

:  어떠한 지원도 기대할 수 없다는 것을 의미하기 때문이다."           :

: "당신은 그 프로그램에 대한 지원과 도움을 제공하는 대가로 이에      :

:   관한 비용을 부과해야만 한다."                                    :

:....................................................................:

만약 사람들이 돈을 지불하고서 GNU에 대한 서비스를 받기 희망한다면,

GNU를 무료로 얻은 사람들에게 서비스를 제공하는 회사도 이익을 얻을 수 있을

것이다.

우리는 반드시 실제 프로그래밍  작업과 단순 관리 작업을 구별해야 한다.

전자는 때때로 소프트웨어 판매 회사에게 의존할 수가 없다. 만일 당신의

문제가 충분한 사람에 의해 나누어지지 않는다면 회사는 잊어버리라고 말할

것이다. 만일 당신의 사업이 지원에 대한 의존이 필요하다면, 가능한 필요한

모든 소스와 도구를 갖춰야 할 것이다. 그러면 당신은 당신의 문제를 해결해

줄 수 있는 사람을 고용할 수 있으며, 이것은 다른 어떤 사람의 자비를 받는

것은 아니다. 유닉스 상에서 소스의 가격은 대부분 고려되지 않으며, GNU는

더 쉬울 것이다. 이것은 여전히 유능한 사람이 필요 없을 수는 있으나, 배포에

따른 비난을 할 수 없다. GNU는 모든 세계의 문제를  제거하는 것은 아니며,

단지 그 중 하나이다.

한편, 컴퓨터에 대해 전혀  모르는 사용자들은 여전히 단순한 관리 서비스를

필요로 한다. 이러한 일은 사용자 스스로 능히 처리할 수 있는 종류의 일이지만

그들은 그러한 방법을 모르기 때문이다.

이런 서비스들은 단순한 수작업이나 복구 서비스를 지원하는 회사들이 제공할

수 있다. 사용자들이 제품을 사고, 그에 대한 서비스를  받는 방식을 받아

들인다면, 제품을 무료로 받고 서비스를  제공하는 회사들은 가격과 질적인

면에서 모두  완벽을 기할 수 있을 것이며, 사용자들은 어떤 특정한 업체에

얽매일 필요는 없을 것이다. 또한 그러한 서비스가 필요하지 않는 사람들은

서비스에 대한 비용을 들이지 않고도  프로그램을 쓸 수 있을 것이다.

...............................................................

:  "광고를 하지 않고는 많은 사람들에게 알릴 수 없을  것이며,  :

:  그러기 위해서는 필히 프로그램에 가격을 매겨야 한다."       :

:  "무료로 제공되는 프로그램을 광고하는 것은 무의미하다."     :

:.............................................................:

GNU 같은 프로그램을 많은 컴퓨터 사용자들에게 알릴 수 있는 방법에는

무료, 혹은 극히 적은 비용으로 사용할 수 있는 다양한 공공정보 전파 방식이

있다. 그러나 광고를 하는 것이 보다 많은 마이크로 컴퓨터 사용자에게 알릴

수 있는 방법일지도 모른다. 만일 실제로 이런 것이 사실이라면, 복사와

배포를 하는 데  돈을 받음으로써 능히 광고와 그 외의  부수적인 비용을 감당

할 수 있을 것이다. 이런 방식에서는 광고를 보고 배포본을 구입해서 이익을

얻을 수 있는 사용자가 광고비용을  부담하게 되는 것이다.

반면 많은 사람들이 GNU를  그 친구들을 통해서 구한다면, 이런 종류의

회사들은 성공 할 수 없을 것이다. 이는 GNU를 보급하는 데 광고가 필요한

것은 아님을 보여준다. 그렇다고 한다면 무료로 보급되고 있다는 사실이 무료로

알려지는 것을 바라지 않을 만한 이유가 있겠는가?

............................................................

:      "나의 회사는 경쟁사들에 대한 우위를 차지하기 위해   :

:          독점적인(고유의)운영체제가 필요하다."           :

:..........................................................:

GNU는 시스템 소프트웨어 경쟁이라는 범주에서 제외될 것이다. 당신의 회사가

우위를 차지할 수 없는 것처럼, 당신의 경쟁사들도 그 점에 있어서는 마찬

가지일 것이다. 당신과 당신의 경쟁사들 모두 이 분야에서는 별반  이득을

볼 수 없겠지만, 다른 분야에서 서로 경쟁하는 것은 가능할 것이다. 당신의

사업이 운영체제를  판매하는 것이라면 GNU가 마땅치 않게 생각될  것이다.

당신의 사업이 이런 종류가 아니라면  GNU는 시스템 소프트웨어에 관련된

막대한 비용을  절감해 줄 것이다.

나는 제작자와 사용자들이 GNU의 발전에 기여해  나감으로써 서로의 비용을

절감할 수 있기를 희망한다.

......................................................................

:  "프로그래머는 그의 창의력에 대한 보상을 받을 자격이 있지 않은가?" :

:....................................................................:

보상받을 만한 일이란 사회적 공헌을 말한다. 창의성이란 그 결과물을 사회가

대가없이 사용할 수 있을 때 사회적 공헌이 되는 것이다. 어떤 혁신적인

프로그램을 제작한 사람이 그에 대해 보상을 받아야만 한다면, 같은 맥락에서

그것을 자유롭게 사용하지 못하게 한다면 그 때는 제재를 받아야 할 것이다.

..................................................................

:   "프로그래머는 그의 창의력에 대한 보상을 요구할 수 없는가?"   :

:................................................................:

유해한 수단을 사용하지 않는다면 노동에  대한 보수와 자신의 소득이 극대화

되기를 바라는 것은 아무 문제가 없다. 그러나 지금까지 소프트웨어 산업에서

보편화된 수단은 유해한 방법이다.

프로그램을 사용하는 것에 제한을 둠으로서 돈을 벌어들이는 행위는

프로그램이 사용되는 범위와 방식을 제한하기 때문에 유해한 것이다. 이는

인간들이 프로그램으로부터 얻을 수 있는 전체적인 풍요로움을 감소시키는

것이다. 선량한 시민이라면 자신이 보다 부유해지기 위해 그런 수단을 쓰지

않는다. 그 까닭은 만일 모든 사람들이 그렇게 한다면 상호간의 유해한 행위로

인해 결과적으로 우리 모두는 보다 빈곤해질 것이기 때문이다. 이것은 칸트의

윤리학이나 황금률 같은 분명한 것이다. 나는 모든 사람들이 자기만의 정보를

축적해 나가는 것은 바람직하다고 여기지 않기 때문에, 누군가 그런 일을

한다면 나는 그것이 잘못된  일이라고 생각할 필요를 느끼게 되었다.

특히, 한 개인의 창의성을 보장받고자 하는 욕구가  일반적으로 전체의

창의성이나 혹은 그 일부분을 저하시키는 행위를 정당화시키지는 않는다.

................................................

:     "프로그래머들의 밥줄이 끊기지 않을까?"   :

:..............................................:

나는 모든 사람이 프로그래머가 될 필요는 없다고 답하고 싶다. 아마 우리들

대부분은 거리에 나가 인상을 써서 간신히 약간의 돈을 벌어 살아갈 수는 없을

것이다. 그러나 결과적으로, 우리는 거리에 나가 인상써서 돈을 번다고 비난

받을 필요도 없고,  또한 빈궁해질 필요도 없을 것이다. 우리는 그와는 다른

일을 할 수 있을 것이다.

그러나 이것은 "프로그래머는 소프트웨어를 소유하지 않으면 단  한푼도 벌

수 없다." 라고 질문하는 사람의 독단적인 가정을 받아 들였다는 점에서

오답이라 할 수 있다. 아마도 이런 생각은 극단적일 것이다.

프로그래머가 생계에 지장을 받지 않을 것에 대한 진정한 이유는, 지금과

같은 정도는 아니겠지만 여전히 프로그래밍으로 돈을 벌 방법들이 있기

때문이다.

프로그램 복사를  제한하는 것이 소프트웨어 사업의  유일한 기본 방침은

아니다.  이런 방침이 보편화된 것은 이렇게 함으로써  가장 돈을 많이 벌 수

있기  때문이다. 고객들에 의해 이런 방식이 거부되거나  금지된다고 해도,

소프트웨어 사업은 지금까지 흔하지는  않았던 새로운 조직 체계로 전환해

나갈 길을 모색할 수 있을 것이다. 여러 가지 사업을 한데 묶어 조직화하는

방법은 무궁 무진한 것이다.

아마 새로운 기반하에서의 프로그래밍은 지금처럼 수익성이 높은  일은 아닐

것이다. 하지만 이것이 변화의 쟁점은 아니다. 지금의 판매 사원들이 그들의

봉급을 버는 방식이 불합리한 것이라고 생각하지는 않는다. 프로그래머들이

그와 같은 방법으로 소득을 올린다 해도 하등 정당하지 못할 이유가 없다

(실제적으로 프로그래머들은 여전히 그들보다  월등히 많은 소득을 올리고 있다.)

....................................................................

:  "누구든 그들의 창의력이 사용되는 방법을 지배할 수 있지 않은가?" :

:..................................................................:

"인간 생각의 쓰임새를 지배하는 것"은 실제적으로는 그의 인생을 지배하는

것이다. 이는 자신의 인생을 보다 어렵게 만들곤 한다.

지적 소유권에 관해 상세하게 공부한 사람들(변호사  등)은 그 자체로서

완벽한 지적 소유물은 없다고 말한다. 정부가 인정하는 추상적인 지적 소유권

들은 특정  목적을 위한 특정 법률 조항으로부터 발생한 것이다.

예를 들어, 특허제도는 발명가가 그의 고안품의 세부  사항을 공개하는 것을

장려하고자  설립된 것이다. 그 목적은  발명한 사람을 돕기보다는 사회를

돕기 위한 것이다. 시간의 측면에서  보면, 특허가 갖는 17년간이  유효기간은

기술이 발전하는 비율과  비교해서 특허권 계약에 드는 비용과 노력은 작다고

보기 때문에, 특허권은 일반적으로 그다지 해악 하게 작용하지는 않는다.

또한 그것은 대부분의 개인들이 특허를 받은 제품을 사용하는 것을 제한하지는

않는다.

고대에는 저작권이라는 것이 존재하지 않았으며  그 시대에 작가들은 빈번하게

다른 이의 작품 상당량을 실제의(허구가 아닌)작품에 복제하기도 했다. 이런

작업들은  유용한 것이었으며, 비록 그 일부분이기는 하지만 많은 사람들의

작품이 계속해서 전수되는(존재해  나가는)유일한 방법이었다. 저작권 제도는

작가 의식을 고취시키고자 급진적으로 만들어진 것이다. 이것이 처음 만들어질

때 주로  염두에 두었던 책의 범주에서 보면, 책은 실용적인 측면에서 인쇄기를

사용해야만 복사가 가능하기 때문에 저작권은 그다지 해롭지는 않았다. 또한

대다수의 사람들이 책을 읽는 것을 제한하지도  않았다.

모든 지적 소유권은 그것들이 어떻든지 그를 허용함으로써 사회 전체에 이득이

된다고 여겨져서, 사회가 허용할 때만 정당하게 되는 것이다. 그러나 어떤 특정

상황에서든 우리는 "그런 인가를 내주는 것이 정말로 우리에게  유익한가?

어떤 종류의 인가를 내줄 것인가?" 하는 질문을 해보아야만 한다.

오늘날의 프로그램들의 경우는 백여년 전의 책의 경우와 크게 다르다.

프로그램이 이웃간에 손쉽게 복사될 수 있다는 사실, 소스 코드와 목적코드로

구분된다는 점, 읽기 위한 것이 아니라  즐기기 위한 것이라는 사실들이

묶여져서, 저작권을 강요하는 사람들이  전체사회에 정신적, 물질적으로 해를

끼치는 상황을 만들고 있다.

........................................................

:    "경쟁함으로써 보다 나은 결과를 얻을 수 있는가?"   :

:......................................................:

모범적인 경쟁 방식은  경주(race)이며, 승자에게 상을 줌으로써 주자들이

더욱  빨리 달리도록 장려할 수 있는 것이다. 만약 자본주의가 실제로 이런

방식을 따른다면 이는 바람직한 것이다. 그러나 자본주의 옹호론자들은 실제로

항상 이런 방식으로 움직인다고 단정짓는 잘못을 범한다. 만일 주자들이 상이

주어지는 이유를 망각한 채 승리에만 집착한다면, 말할 것도 없이 그들은 다른

주자를 공격한다든지 하는 색다른 전략을 찾게 될 것이다. 주자들이 먼저

싸우기부터 한다면, 그들은 결국 모두 늦어질 수 밖에 없는 것이다.

독점적이고 비밀에 싸인 소프트웨어는 도덕적으로 먼저 싸우기부터 하는

주자들과 동일하다. 슬픈 일이지만 우리의 유일한 심판은 그다지 공정해 보이지

않으며, "매 10야드마다 한 번씩 상대방을 가격할 수 있다."는 규정을 적용하는

정도일 것이다. 그러한 싸움이 있을 때는 그들을 떼어놓고 벌칙을 주어야 하는

데도  말이다.

.....................................................................

:  "금전적인 장려가 없다면 아무도 프로그래밍을 하지 않을 것이다."   :

:...................................................................:

실제적으로 많은 사람들이 분명한 금전적인 장려가 없어도 프로그래밍을 할

것이다. 프로그래밍은 어떤 사람들에게는 저항할 수 없는 매력인  것이며,

일반적으로 프로그래밍에 능숙한 사람에게 더욱 그렇다. 비록 생활의  기반이

될 가망이 없더라도 꾸준히 계속해 가는 직업적인 음악인들이 많이 있다. 그러나

실제로 질문은 비록 일반적으로 많이 제기되지만, 상황에 적합하지 못하다.

프로그래머들의 소득원이 없어지는 것이 아니라 단지 수입이 줄어드는 것일

뿐이다. 따라서 올바른 질문은 "금전적인 보상이 줄어들더라도 사람들이

프로그래밍을 하게 될까?"일 것이다. 내 경험에 의하면 그렇게 할 것이다.

십년 이상 동안, 세계 정상급 프로그래머들이 인공지는 연구소에서 일했었지만,

그들이 받은 보수는 다른 어떤 곳에서 기대할 수 있는 것보다 훨씬 적은

것이었다. 그들은 명성이나 감사 같은 다양한 종류의 비금전적인 보상을 받았다.

그리고 창의력은 그 자체 안에 보상이라는 개 념을 가지고 있다는 점에서

흥미로운 것이다.

그후 그들 대부분은 이전의 작업처럼 그들이 흥미롭게 생각하는 일을 높은

부수를 받으며 할 수 있는 기회가 주어지자 연구소를 떠났다.

이 사실에서 알 수 있는 것은 사람들은 부유해지기 보다는 어떤 까닭을 위해서

프로그래밍을 한다는 것이며, 그런 조건 위에 상당한 보수까지 받을 기회가 주어

진다면 그를 예상하고 요구하게 되는 것이다. 보수가 낮은 조직은 높은 보수를

받는 조직과의 경쟁에서 뒤지겠지만, 만일 높은 보수를 받는 조직과는 상호

이동이 없는 완전히 개별적인 집단이라면 그들 나름대로 훌륭하게 활동할 것이다.

.................................................................

:  "우리는 프로그래머가 절대적으로 필요하다. 만일 그들이        :

:     우리의  이웃을 돕지 말라 하면 우리는 따를 수 밖에 없다."  :

:...............................................................:

당신들은 결코 그런 종류의 요구에 복종해야 할 만큼 절박하지 않다.

명심하라. 열 장정 이 도둑 하나를 막지 못하는 법이다.

.......................................................................

:"프로그래머들도 어떤 식으로든 그들의 생계를 꾸려 나가야 하지 않은가?":

:.....................................................................:

요컨대 이것은 진실이다. 그러나  프로그램의 사용에 대한 권리를 파는 것

이외에도 생계를 꾸릴 수 있는 수많은 방법들이 있다.  현재 사용에 대한 권리를

파는 것이 보편적으로 받아들여지는 것은 그런 방식으로 프로그래머나  사업자

들이 보다 많은 돈을 벌 수 있기 때문이지, 결코 이것이 생계를 유지하는 유일한

방법이기 때문은 아니다. 다른 방법을  찾고자 한다면 얼마든지 가능할 것이다.

여기 여러 가지 예들이 있다.

새로운 컴퓨터를 내놓는 제조업자는 새 기계에 운영체제를 이식하기 위한

비용을 지불 하게 된다.

교육, 단순 관리 작업, 지속적인 서비스들을 제공하는 회사에서도 역시

프로그래머는 필요한 것이다.

사용자의 마음에 흡족하다면  그에 대한 보수를 지불해 달라고  요구하는,

프리웨어라는 새로운 아이디어로 프로그램을 배포하는 사람들도 있다. 혹은

단순 관리 서비스를 제공하고 보수를 받는 사람들도 있다. 나는 이미 이런

방식으로 성공한 사람들을 만났다.

도움이 필요한 사용자들은 사용자  그룹을 결성하고 회비를 조성할 수 있을

것이다. 그룹은 프로그래밍 회사와 계약을 맺고 회원들이  원하는 프로그램을

주문 제작할 수 있을 것이다.

모든 종류의 발전에 필요한 기금은 소프트웨어 세금으로 조성할 수 있을 것이다.

만약 컴퓨터를 구입하는 모든 사람들의 가격의 x 퍼센트를 소프트웨어 세금으로

지불한다면, 정부는 그 돈을 소프트웨어  발전에 쓰여지도록 NSF 같은 단체에

지원할 수 있을 것이다.

그러나 컴퓨터 구입자가 개별적으로 소프트웨어 발전에 공헌한  바가 있다면,

그는 세금을 면제받게 될 것이다. 그는 스스로 어느 프로젝트에 기부할 것인지를

결정할  수 있을 것이며, 때론 그 결과를 쓸수 있을 것이란 기대를 품고  결정을

내리게 될 것이다. 얼마를 기부하든 지불해야 할 세금 전액을 대신할 수 있을

것이다.

세금의 전체적인 세율은 납세자들이  투표를 해서 결정할 수 있을 것이며,

지불할 액수에 따라 차등 조정될 것이다.

************** 결 론 *************

♠ 컴퓨터 사용자 공동체는 소프트웨어 발전을 지원한다.

♠ 어느 수준의 지원을 할 것인가는 이 공동체가 결정한다.

♠ 자신의 몫이 어떤 프로젝트에 쓰일  것인가에 관심 있는 사용자들은 이를

스스로 결정할 수 있을 것이다.

결국에는 프로그램을 무료로 보급하는 것은 더  이상 단지 생계를 위해 고되게

일할 필요가 없는 풍요로운 세계로 가는 한 단계인 것이다. 사람들은 프로그래밍

같은, 자신이 흥미를 가질 수 있는 일에 시간을 마친 후엔 가족들과 담소한다

든지, 로보트를 수리한다든지, 천체를 관측하는 일 따위를 하게 될 것이다.

더 이상 프로그래밍을 생계의 수단으로 삼을 필요가 없게 될 것이다.

우리는 이미, 실제적인 생산성을 향상시키기 위해 전체 사회가 부담해야 할

작업의 분량을 많이 감소시켰다. 이중 매우 적은  부분은 단지 프로그래머들의

유희를 위해서 작성되었다. 그 까닭은 비생산적인 활동이  생산적인 활동을 하기

위해 필요한 것이기 때문이다. 이런 일을 하게  된 주된 이유는 경쟁을  대신할

수 있는 관료정책이며 그와  동일한 부피를 갖는 몸부림인 것이다.

프리소프트웨어는 소프트웨어 생산 분야에서  생산력이 낭비되는 것을 크게

감소시킬  수 있을 것이다. 우리는 이러한  작업을 해 나가야 하며, 생산성을

위한 기술 습득은 적은 노력으로  가능할 것이다.

------------------------------------------THE END----------------------

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 10번

제  목:[필독] GPL (GNU GENERAL PUBLIC LICENSE)

올린이:pey1    (박은영  )    97/05/29 19:32    읽음:3983 관련자료 없음

-----------------------------------------------------------------------------

GNU GENERAL PUBLIC LICENSE

============================

Version 2, June 1991

(GNU 일반대중에 대한 공공적 라이선스)

Copyright(c) 1989, 1991 Free Software Foundatiion, Inc.

대부분의 소프트웨어를 위한 라이선스(license)들은 그것을 공유하고 바꾸는

여러분의 자유를 빼앗도록 고안되어  있다. 그와는  대조적으로 GNU의 '일반

대중에  대한 공공적 라이선스'(이하  GPL)은 Free 소프트웨어를  공유하고

바꿀 수 있는 여러분의  자유를 보장하기 위한  의도로 고안되었다.

그 소프트웨어가 모든  사용자들에게 Free(공짜라는 의미가 아님!)임을 확실히

하기 위해서 이 GNU  GPL은 대부분의 FSF(Free Software Foundation)의 소프트

웨어와 작성자가 그것을 사용하기로  한 다른 프로그램에 적용된다.

(몇몇 다른 FSF 소프트웨어는 GNU Library GPL에 의해 다루어진다.) 여러분은

그것을 여러분의 프로그램에도 적용할 수 있다.

우리가 Free 소프트웨어라고 표현할 때는, 자유를 의미하는 것이지  가격을

의미하는 것은 아니다. 자세히 말하면,  GPL은 당신이 Free 소프트웨어를

주거나 팔 수 있는 자유를 가지고 있다는 것, 원한다면 소스 코드를 받을 수

있다는 것을 확실히 하기 위해서 고안된 것이다.

당신의 권리들을 보호하기 위해서, 우리는 어느 누구도 당신의  이런 권리들을

금지한다던가 혹은 당신으로 하여금 권리를 포기하도록 하는 것은 금지하는

제한을 둔다. 이런  제한들은 당신이 소프트웨어의 복사본을 배포(distribute)

한다고 하면, 무료이든  요금을 받든, 당신이 가지고 있는 모든 권리들을 받는

이에게 주어야  한다.  당신은 또한  그들이 소스 코드를 얻을  수 있도록

해주어야 한다. 그리고 반드시 그들에게 그들의 권리들을 말해 주어야만 한다.

우리는 2개의 수단으로 당신의 권리를 보호한다.

⑴ 소프트웨어의 저작권을 인정하는 것과

⑵ 당신에게 소프트웨어를 복사/배포 그리고 혹은 수정할 법적인 허가를

주는 이 라이선스를 줌으로써, 또한  각 제작자와 우리의 보호를 위해서,

우리는 모든 사람들이 Free 소프트웨어에 대한 보장이 없다는 것을 이해하기를

확실히 하고 싶다.  만약 소프트웨어가 어떤 사람에 의해 수정되어 다른 사람

에게 넘겨졌다면, 우리는 받는이가 그들이 받은 것이 원본이 아님을 알게

하기를 원하고, 그래서 다른 사람에 의해서 야기된  어떤 문제도 원래의

제작자의 명성에 누가 되지 않기를 원한다. 마지막으로, 임의의 Free  프로

그램은 소프트웨어 특허에 의해서 끊임없이  위협받고 있다. 우리는 Free

프로그램의 재 배포자가 특허 라이선스를 개인적으로 취득하여 그 프로그램을

소유하는 효과를 낳는 위험을 피하기를 원한다. 이것을 방지하기 위해서,

우리는 어떠한  특허도 모든 이의 자유로운 사용을 위하여 라이선스를 받도록

혹은  전혀 라이선스를 받지 않도록 할 것을 명확히 하는 바이다.

복사, 배포, 그리고 수정에 대한 정확한 항목들과 조건들을 다음에 보인다.

0. 이 라이선스는 그것이  이 GPL하에서 배포될 수 있다고 하는, copyright를

가진  사람에 의해서 넣어진 주의를 포함하는 모든 프로그램이나 저작물에

적용된다. 아래에서 "프로그램"은 이러한 프로그램이나 작업을 가리키고

"프로그램에 기반을 둔 작업"이라고 하면 "프로그램" 혹은 저작권법 하에서의

임의의 파생된 작품을 의미한다. 즉 그 프로그램이나  그것의 일부를 그대로

이든 수정을 한 상태이든 혹은 다른언어로 번역된 작품을 의미한다. (여기서

부터는 번역은  제한 없이 "수정"단어에 포함된다고 한다) 각각의 라이선스를

받는 사람은 당신이다.

복사, 수정, 배포  외의 행동들은 이 라이선스에  의해 다루어지지 않는다.

그것들은  범위 밖에 있다. 프로그램을 실행하는 행위는 제한을  받지 않고,

그 프로그램에서 나오는 출력은 그 내용이 그 프로그램(그  프로그램을 실행

함으로써 만들어지는 것과는 독립적인)에 기반을 둔 작업을 구성한다면

다루어진다. 그것이 사실인지의 여부는 그 프로그램이 무엇을 하느냐에

달려 있다.

1. 당신은 당신이 받은 그대로 프로그램의 소스 코드의 원본그대로 복사본을

어느  매체라도 복사하거나 배포할 수 있다. 다만 당신이 각각의 카피에

눈에  띄게 그리고 적절하게 적당한 저작권 주의와 보증 거부를 실어야 한다.

이 GPL과 보증이 없음을 모든 주의에 그대로 두기 바란다. 그리고 프로그램을

받는 다른 사람들에게  이 일반적인 공공 라이선스의 복사를 프로그램과 함께

주기 바란다. 당신은 복사하는 데  드는 물리적 행위에 대한 요금을 받을 수도

있고, 요금을 위하여 보증보호를  제공하는 선택을 할 수도 있다. 당신은

당신의 복사본 혹은 프로그램, 그것의  어떤 일분의 복사본들을 수정할 수

있고 따라서 프로그램에 기반을 둔 작업을 만든다. 그리고 이런 수정본 혹은

앞의 1절의 조건하에서의 작업을 복사하고 배포할 수 있다. 단 다음 조건들

모두를 만족해야만 한다.

a) 여러분은 수정된 파일들이 여러분이 그 파일들을 수정했다는 것과 수정의

날짜를 언급하는 중요한 주의들을 가지도록 해야 한다.

b) 전체적으로 혹은 부분적으로 프로그램이나  그 일부를 포함하거나

거기에서 파생된 것을 당신이 배포하거나 실행할 어떠한 작업에  대해서도

이 라이선스의 조건들 하에서 모든 서드 파티들(third parties)에게 어떠한

요금도 없이 전체적으로 라이선스 되도록  해야 한다.

c) 만약 수정된  프로그램이 일반적으로 실행되었을 때,  상호대화형

(interactive)의 형태로 명령을 읽어 들인다면, 당신은 가장 간단하면서도

편한 방법으로 이러한 방식(interactive)의  명령을 실행함으로써, 적절한

저작권 주의와  보증이 없다는 (혹은  당신이 보증을 제공한다는)발표를

출력하도록 해야 한다.  또 사용자들이 이러한 조건들  하에서 프로그램을

다시 배포할  수 있다는 것을  알려주고, 그리고 사용자들이 어떻게  이

일반적인 공공 라이선스의  복사를 볼 수 있는 지도 가르쳐 주어야 한다.

(예외: 만약 프로그램 자체가  interactive하지만, 이와 같은 선언을

정상적으로 프린트 하지 않는다면, 프로그램에 기반을 둔 여러분의 작품은

발표를 프린트할 필요가 없다.)

이러한 요구들은 전체적으로 수정된 작품에 적용된다. 만약 그 작품의 구별

가능한 부분이 프로그램에서 파생되지 않았고, 그것들 자신이 독립적이고

분리된 작품이라고 간주된다면, 이 라이선스, 그리고 그것의 조건들은

여러분이 그것들을  분리된 작품들로 배포하는 경우 그 부분에는 적용되지

않는다. 하지만, 프로그램에 기반을 작품전체의 일부로서  똑같은 부분들을

배포하는 때에는, 전체의 배포는 이 라이선스의  조건들에 있어야만 한다.

그것은 다른 라이선스를 위한 허락은  전체로 확장될 것이고, 따라서 누가

그것을  작성했는지 상관 없이 각각 혹은 모든 부분으로 확장될 것이다.

따라서 권리를 주장하거나 여러분의 권리가  여러분에 의해 완전히 작성된

것인가를 논쟁하려는 것이 이 절의 의도는 아니다.  그보다는, 프로그램에

기반을 둔 총체적인 작품들 혹은 파생된 것의 배포를 제어하기 위한 권리를

시험하기 위한 것이다. 게다가 프로그램(혹은 그 아류)와  함께 다른 독립

적인 작품을 저장 혹은 배포 매체에 단지 함께  놓은 것은 그 다른 작품을

이  라이선스의 범위에 들게 하는 것은 아니다.

3. 당신은 프로그램을 (혹은 일부분 또는 그것의 아류, 2절 조건 하에서)

오브젝트 코드  혹은 실행 파일 형태로 복사하거나 배포할 수 있다.

단 1, 2절의 조건들과 다음사항들도 지켜야 한다.

a) 그것과 함께 완벽한 컴퓨터가 읽을 수 있는 소스코드를 함께 실어야 한다.

소스 코드는 1, 2절의 조건하에서 소프트웨어를 교환하기 위해 만들어진

매체에 의해  배포되어야함 한다.

b) 그것과 함께 최소 3년은 유효한, 어떠한 서드 파티에게도 완벽한 컴퓨터가

읽을 수 있는 소스 코드를 1, 2절의 조건들 하에서 소프트웨어를 교환할

수 있는 매체로 제공한다는 제안을 실어야 한다. 비용은 소스의 배포에

물리적으로 드는 이상의 것을 받으면 안된다.

c) 그것과 함께 해당되는 소스 코드를 배포한다는 제안에 관해 여러분이 받은

정보를 싣는다. (이 대안은 비상업적 배포에 대해서만 허용이 되고,

여러분이  프로그램을 오브젝트 혹은 실행화일 형태로 위와 같은 제안과

함께 받았을 경우만 허용된다.)

작품에 대한 소스코드란 그것을  수정하기 위해서 선호되는 작품의 형태를

의미한다.  실행 가능한 작품의 경우라면 완벽한 소스 코드란 그것이 포함

하는 모든 모듈들에 대한 모든 소스 코드를 의미한다. 게다가 연관된 인터

페이스 정의 파일들, 컴파일과 실행화일 설치를 제어하기 위한 스크립트들을

의미한다.  하지만, 특별한 예외의 경우로서  배포되는 소스 코드는 실행화일

이  실행되는 운영체제의 주요 부분들(컴파일러, 커널  등)자체가 실행 파일을

수반하지  않는다면 부분과 함께 일반적으로  배포되는 것들(소스 혹은

바이너리  형식이건 간에)을 포함할 필요는 없다.  만약  실행 혹은 오브젝트

코드의 배포가 지정된 장소로부터의 복사에  대한 접근을 제한하는 것이라면,

동일한 장소로부터 소스 코드를  배포하는 동등한 접근을 제한하는  것은

소스코드의  배포로 간주한다. 비록 서드  파티들이 오브젝트 코드와  함께

소스를 복사할 필요가 없다고 할지라도.

4. 이 GPL하에서  명확히 제공되는 경우를 제외하고는,  프로그램을 복사,

수정, 라이선스, 배포, 전송할 수 없다. 위와  같지 않는 프로그램의 어떠한

복사, 수정, 라이선스, 배포,  전송 시도는 무효이고, 자동적으로 이

GPL하에서 프로그램을 사용할  수 있는 당신의 권리가 사라지게 될 것이다.

하지만, 이 GPL하에서 당슨으로부터  복사본을 받은 party나, 혹은 복사본을

사용하는 권리는  그들이 완전히 준수하는 한 그들의 라이선스가 끝나지

않는다.

5. 여러분이 라이선스에 사인을 하지 않았기 때문에 그것을  받아들일 필요는

없다. 하지만, 어떠한 다른 것도 당신에게 프로그램 혹은 파생될 작품을 수정

혹은 배포하는 권리를 주지 않는다. 따라서, 프로그램(혹은 프로그램에

기반을 둔 어떤 작품)을 수정하거나  배포하는 것은, 프로그램 혹은 그것에

기반에  둔 작품들을 복사, 배포, 수정하는 데  있어서 당신이 그렇게 하겠다

및 라이선스의  모든 항목과 조건을 수용한다는 것을  의미한다.

6. 당신이 프로그램(혹은 프로그램에 기반을 둔 어떠한 작품이라도)을  배포할

때마다, 받는 이는 자동적으로 원래의 라이선스  소유자로부터 이러한 항목

들과 조건들 하에서 프로그램을  복사, 배포, 수정하는 라이선스를 받는다.

당신은  받는 이들이 그들에게 수여된 권리를  사용함에 있어서 더 이상의

제약을 부과할  수 없다. 당신은 이 라이선스로 서드 파티에 의해서 준수하는

것을  강요하는 데 대한 책임이  없다.

7. 만약, 법정의 판결 혹은 특허 침해 혹은 어떠한  다른 이유의 결과로서,

이 라이선스의 조건들과 모순되는 조건들이 여러분에게 부과된다면(법정의

법령, 합의 또는  다른 것에 의해서든), 그들은 이 라이선스의 조건들로부터

당신을 면제해 주지는 않는다. 만약 여러분이 이 라이선스 하의  여러분의

의무와 다른 적절한  의무와 동시에 만족시키면서 배포할 수 없다면,

결과적으로  여러분의 프로그램을 전혀 배포 못할 수도 있다.  예를 들어서,

특허 라이선스가 직접적으로 혹은 당신을  통해 간접적으로 복사본들을 받는

사람들에 의한 프로그램의  로얄티 없이 재배포하는 것을 허용하지 않는다면,

그것과 이 라이선스를 동시에 만족시키는 유일한 방법을  프로그램의 배포를

하지 않는 것이다.

만약 이 절의 어떠한 부분이라도 어떤 특별한 상황에서 부적절하거나 강요할

수 없다면, 그 절의 균형은 적용되기 위한 의도이고, 전체로서의 그 절은

다른 상황들에서 적용하기 위한 것이다.

여러분이 어떤 특허들 혹은  다른 소유권 주장들을 침해하도록 하거나, 혹은

이런  주장들의 적절성을 논쟁하는 것이 이 절의 의도는 아니다. 이 절은

GPL규정에 의해  심어진 Free 소프트웨어 배포체계의 완전성을 보호하기 위한

목적을 가지고 있다. 많은 사람들이 그 체계의 시종 일관된 적용에 의지하여

그 체계를  통해서 배포된 넓은 범위의 소프트웨어에 대한 너그러운  기여를

해 왔다. 그 혹은 그녀가 다른  체계를 통해서 소프트웨어를 배포하려는 것을

결정하는 것은  저자/기부자에게 달려 있기 때문에, 그들에게 이 GPL의

사용을 강제할 수 없다.

이 절은 라이선스의 나머지  결과가 되기를 믿는 것이다. 무엇인가를 철저

하고 확실히  하기 위해서 만들어진 것이다.

8. 만약 프로그램의 배포 그리고/혹은 사용이 특허 혹은 저작권 인터페이스에

의해서 특정한 나라들에서 제한이 된다면, 이  라이선스 하에서 프로그램을

놓은 원래의 저작권 소유자는  그 나라들을 제외하는 지리적 배포 제한을

추가할  수 있다. 따라서 배포는 제외되지 아니한 나라들  사이에서만 가능할

것이다. 이런 경우에, 이 라이선스는 그 제한을  마치 이 라이선스의 본문에

쓰여진 것과 같이 수용한다.

9. FSF는 아마 이 GPL의 수정된  혹은 그리고 새로운 버전을 때때로 발행할

것이다. 이러한 새 버전들은 현재의 버전과  정신은 비슷할 것이나, 새로운

문제들과 걱정들을 언급하는 데  있어서 가세한 면에서는 다를  수 있다.

각 버전은 구별되는 버전  숫자가 주어진다. 만약 프로그램이 그것과 그

후의  버전에 적용되는 라이선스의 버전 숫자를 지정한 경우에는 당신은

FSF에서 발행되는 그 버전 혹은 그 후의 버전에 의한 항목들과  조건들을

따를 수 있는 선택권이 있다. 만약 프로그램이 라이선스 버전 번호를 지정

하지 않은 경우에는, 당신은 FSF에서 발행되었던 어떠한 버전이라도 선택할

수 있다.

10. 만약 당신이 프로그램의 일부분을 배포 조건이 다른 Free 프로그램들과

합치려고 한다면, 저자들에게 허락을 얻도록  물어본다.  FSF에 의해

저작권이 있는 소프트웨어라면, FSF에 물어보라.  우리는 때때로 이것에

대한 예의를  만들 것이다. 우리의 결정은  우리의 Free 소프트웨어의 모든

아류들의 자유로운 상태를 보존하는 것과 소프트웨어를 일반적으로 공유하고

다시 사용하는 것을 권장하는, 두 가지의 목표에 의해 정해진다.

11. 프로그램이 공짜로 라이선스 되어  있기 때문에, 적용가능한 법에 의해

허용되는 정도까지 프로그램에 대한 어떠한  보증도 없다. 저작권 소유주,

그리고/혹은 다른 party들이 그  프로그램이 어떠한 종류의 보장도  없이

프로그램을 공급한다는 것을,  그것이 표현되었든 혹은 암시적이든,  그들의

글에서 다르게 언급한 때는 제외한다. 프로그램의 질과 수행 능력에 대한

전체의 위험은 당신에게 달려 있다. 프로그램이 결함이 있다고 밝혀지면,

당신이  모든 필요한 서비스, 수선 혹은 바로잡는 것의 비용을 떠맡는다.

12. 적용가능한 법에 의해 요구되던가 혹은 글에서 동의한 경우를 제외하고는

어떠한 사건에서도 저작권 소유자는, 혹은 위에서 허락한 바와 같이 프로

그램을 수정  그리고 혹은 다시 배포한 어떠한 다른 party도 피해에 대한

책임이 없다. 여기서 피해는 프로그램의 사용 혹은 사용에 대한 능력부족

에서 일어나는 모든 일반적인, 특별한, 우연의 혹은  결과적인 피해를

의미한다.

(이것은 자료의 손실 혹은 자료가 틀리게 되었다던가 혹은 당신이나 서드

파티에 의해 야기된 손실이나 다른 프로그램들과 함께 작동하는 데 있어서

프로그램의 실패에만 제한되는 것은 아니다.) 심지어 소유자나 다른 파티가

이러한 피해 가능성을 충고받는 경우에도.

만약 당신이 새로운 프로그램을 개발한다면 당신은 그것이 인류에게 최대로

유용하기를 원할 것이다. 이렇게 하는 최선의 방법은 그것을 모든 이들이

이런 항목들하에서 다시 배포, 그리고 수정할 수 있도록 Free 소프트웨어로

만드는 것이다. 그렇게 하기 위해서, 다음과 같은 주의들을 프로그램에

붙이기 바란다. 각 소스 파일의 시작부분에 그것들을 붙이는 것이 보증

없음을 가장 효과적으로 알리는 수단이다. 각 파일은 최소한 "저작권"행을

가지고 있고, 그리고 어디에 완전한 주의가 있는 지를 가리키는 것도 가지

도록  한다.

<one line to give program's name and a brief idea of what it does>

Copyright(c) 19yy <name of author>

This program is  free software, you can  redistribute in and/or modify

it  under the terms of the GNU General Public License as published by

the Free Software Foundation, either version 2 of License, or(at your

opinion) any  latest version

This  program is  distributed  in  the hope  that  it  will be  useful,

but  WITHOUT ANY WARRANTY, without even the implied  warranty of

MERCHANTABILTY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General

Public License for more details.

You  should have  received  a copy  of the  GNU  General Public  License

along with  this program, it not. write  to the Free Software Foundation,

Inc,  675 Mass Ave, Cambridge, MA 02139,  USA.

Also add information on  how to contact you by electronic and  paper mail.

if the program is interactive, make it out put a short notice like this

when it starts int an interactive mode.

Gnomovision  version  69,  Copyright(c) 19yy name  of author Gnomvision

comes  with ABSOLUTELY NO WARRANTY, for details type 'show w'

The hypothetical commands  'show w ' and  'show c' should show  the

appropriate parts of the GNU General Public License. Of course,  the

commands you use may be called something other than 'show w' and 'show c',

they could even be mouse-clicks or menu items-whatever suits your program.

You should  also get your emploer  (if you work as  programmer) or your

school,  if any, to sign a "copyright disclaimer" for the program, if

necessary. Here is a sample, alter the names.

Yoyodyme, Inc,  hereby disclaims  all copyright interest  in the

program 'Gnomvision'(which makes passes at compilers) written by James

Hacker

<signature of Ty Conn>, 1 April 1989

Ty Coon, President of Vice

This  General Public  License does  not permit  incorporation your

program into  proprietary programs. if your  program is a subroutine

library, if this is what  you want to do,  use the GNU Library General

Public License instead of  this License.

-------------------------------------------------THE END-----------------------

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 11번

제  목:[강좌] 리눅스란 무엇인가 (2장)

올린이:pey1    (박은영  )    97/05/31 18:54    읽음:7004 관련자료 없음

-----------------------------------------------------------------------------

1장과 마찬가지로 2장도 이만용님의 '알짜 슬렉웨어 3.1'에서 옮긴 글 입니다.

..................2장의 순서 ....................

:      * 리눅스란 무엇인가(2장) *               :

:  1. 좁은 의미에서 리눅스(커널)                :

:  2. 넓은 의미에서 리눅스(배포판)              :

:  3. 유닉스 초심자에게                         :

:...............................................:

************** 리눅스란 무엇인가(2장) *****************

1. 좁은 의미에서 리눅스 : 운영체제의 핵심부 커널(kernel)

========================================================

사람들이 말하는 리눅스도 엄밀히 말하면 두가지로 나눌 수 있다.

좁은 의미에서이 리눅스와 넓은 의미에서의 리눅스이다. 우선 좁은 의미에서

리눅스에 대해 얘기해 보도록 하겠다. 리눅스의 간단한 역사 기행이다.

리눅스 문서 프로젝트의 유저 가이드 내용을 약간 인용한다.

리눅스(LINUX)는 핀란드 헬싱키 대학에서 전산학과를 다니는 리누스 토발즈

(Linus Torvalds)라는 학생에 의해 쓰여졌으며, 세계 각국의 셀 수 없이 많은

사람들에 의해 개선돠어 왔다. 리눅스는 모두 손수 씌여진 코드로 이루어진

유닉스 운영체제의 호환 시스템(clone)이다. 하지만, 유닉스로 유명한 USL

(Unix System Laboratories)이나 버클리, 켈리포니아 대학이 리눅스에 관여한

적은 전혀 없다. 리눅스에 대하여 한가지 재미있는 사실로는 세계 각국으로

부터 동시에 개발이 이루어지고 있다는 사실을 들 수 있다. 오스트레일리아

로부터 핀란드에 이르기까지 사람들은 리눅스의 개발에 참여하고 있으며,

앞으로도 계속적으로 참여할 것이 분명하다.

사실 리눅스는 리누스의 취미 프로젝트로부터 시작되었다. 그것은 앤디

타넨바움(Andy Tanenbaum)씨가 만든 소규모 유닉스 운영체제인 미닉스(Minix)

에서 영감을 받았다고 한다. 리눅스 초기에는 386 보호 모드에서의 멀티

스위칭 기능을 다루고 있었으며, 어셈블리로 작성 되었다.

1991년 10월 5일, 리누스는 첫번째 공식 버젼인 0.02를 발표하였다.

(버젼 0.01은 발표되지 않았다). 그때는 GNU의 확장된 셸인 bash와 C컴파일러

인 gcc가 그 위에서 작동 되었다고 한다. 버젼 0.03에서 리누스는 버전 0.10

으로 점프해 버렸다. 이미 많은 사람들이 재미를 들여서 참여하기 시작했다.

그리고 버전은 0.95까지 올라갔다. 이는 조금만 있으면 완전한 형태의 공식

버전 발표가 임박함을 알리는 것이였다. 1년 반이라는 세월이 지나고 1993년

12월 말에는 거의 1.0에 가까운 0.99p114 버전을 냈다 (p114는 버전 0.99에

패치가 몇번 가해졌는지를 말해준다. Patch Level의 약자이다).

리눅스가 가시화되자 세계 곳곳의 내노라 하는 유닉스 천재들(guru)과

해커들이 리눅스에 달려들기 시작하였다. 이떼부터 리누스의 인생이 완전히

달라지게 되었음은 물론이다. 안정 커널 버전 1.2.13까지 진행을 하고,

2.0.0에 이르기 위한 개발 버전 1.3.X는 무려 1.3.100까지 이르렀으며, 1996년

6월 9일 오전 10시 18분(핀란드 시간) linux-2.0.tar.gz 라는 화일을 올려

놓음으로써 리눅서들의 대축제를 맞았다.

리누스는 현제 헬싱키 대학 당국에 고용되 있으며 여자친구 토브와 함께

살고 있고, 우리나라 나이로 26세 이다. 특히, 맥주를 좋아하는 것으로

유명하다. 리누스와 그를 돕는 세계 곳곳의 리눅서들은 하루도 쉬지 않고

전진에 전진마□을 거듭하고 있으며, 그러한 노력으로 인해 인터넷과 세계의

소프트웨어 업계를 깜짝 놀라게 하고 있다.

좁은 의미에서 리눅스는 리누스와 세계 곳곳의 많은 해커들이 만들고 있는

운영체제의 핵심부 커널(krenel)에 해당한다. 압축해서 거의 6메가에 이르는

linux-2.0.21.tar.gz라는 식의 이름을 가진 화일이다. 화일을 풀면 약 20메가

가 넘는 거대한 소스이다. 보통 리눅서들은 이 커널이라고 하는 것을 C 컴파

일러를 가지고 자기 시스템에 최적화 하도록 하여 컴파일하여 사용한다.

따라서, 기성품으로 나오는 운영체제 커널들과는 비교할 수 없는 효율을

보인다. 386과 486의 커널은 당연히 달라야 하지 않을까? 팬티엄 프로라면

더더욱 달라야 하지 않을까? 리눅스는 사용자 개개인의 환경에 딱 맞도록

컴파일 해서 사용하기 때문에 486이라 할지라도 다른 운영체제의 586에서

얻을 수 있는 만족감을 가져다 준다. 그리고 앞으로 우리는 많은 시간을 커널

컴파일이라는 과정에 쏟게 될 것이다. 일상적인 과정 속에서 우리는 리누스와

많은 해커들과 함께 하고 있다는생각을 갖게 된다.

좁은 의미의 리눅스야 말로 진정한 의미의 리눅스일 수도 있다. 하지만,

리눅스 커널 그 자체만으로는 아무 것도 할 수 없으며, 바로 넓은 의미에서의

운영체제가 되어야만 비로소 쓸모있는 운영체제가 되며, 더욱 더 커널의

성능을 빛낼 수 있으리라 본다.

2. 넓은 의미의 리눅스 : 배포판(Distribution)

============================================

리눅스란 커널만 가지고는 운영체제로서의 의미가 없다. 이는 마치 여러분이

PC에다가 다른 것은 하나도 없이 도스만 설치해 놓은 것과 같은 결과이다.

(사실 마이크로소프트 도스 6.* 버전에서는 필요 이상의 불필요한 소프트웨어

를 많이 넣어서 그 자체로도 완벽하게(?) PC를 가동시킬 준비가 되어 있다고

할 수도 있다.) 리눅스의 경우에는 더욱 심각한데, 리눅스 커널 그 자체

만으로는 화일 하나 제대로 복사 할 수가 없다. 기본적으로 셸이라고 불리는

명령행 해석기(도스의 Command.com에 비유할 수 있다)가 있어야 하고, 화일

복사를 하려면 cp라는 프로그램이 따로 있어야 하며, 화일을 지우기 위해서는

rm이라는 화일이 있어야 한다.

"운영체제란 무엇인가?"에 대한 답변은 많이 있다. 보통은 커널 그 자체와

시스템 운영에 기본적으로 필요한 유틸리티들(화일 처리, 시스템 체크, 간단한

텍스트 편집기)을 포함하며, 유닉스 계열의 경우에는 C 컴파일러도 중요한

부분을 차지한다. 더 나아가서는 많이 쓰이는 소규모의 통신 프로그램,

데이터 처리 프로그램들도 운영체제 개념 안에 들어올 수 있다. 심지어는 워드

프로세서까지 넣을 수도 있는데, 이는 운영체제라는 개념이 열린 개념 이기에

심각하게 한정 지을 필요는 없다고 본다. 단지, 시스템 운영에 상당히 중요한

것들을 포함하고 있어야 한다는 좀 광범위한 기준에 부합하면 될 것이다.

리눅스라는 이름으로 여러분이나 필자가 실제로 접하는 것은 리눅스 커널인

약 6 메가짜리 화일이 아니라, CD-ROM 이나 ftp 사이트에서 볼 수 있는

배포판 이라는 것이다. 많이 들어 보았을지는 모르지만 슬렉웨어, 레드햇,

데비안 등이 바로 그러한 것들이다. 배포판이라 불리는 것들은 리눅스 커널을

기초로 하여 시스템을 기본적으로 운영할 수 있도록 위에서 말한 운영체제의

요소들을 편리하게 모아 놓은 것이다. 그리고 그 이상을 넘어서서 리눅스

시스템 운영에 필요한 최대한의 소프트웨어를 유기적으로 모아 놓은 것이라고

할 수 있다. 예를 들어, MIT X 윈도우 없이도 리눅스 시스템은 운영 가능

하지만, 마치 X 윈도우도 리눅스의 일부분인 것 마냥 모두들 리눅스에

X 윈도우를 설치하여 리눅스의 기본적인 멀티태스킹과 네트워킹의 힘을 만끽

하고 있는 것으로 보아 X 윈도우도 빼놓을 수 없는 운영체제의 일부라고

말해야 할 것 같다.

리눅스는 정해진 한 개의 배포 형식이 미리 정해져 있지 않다는 것이 재미

있는 특징이다. 리누스씨 조차도, 그리고 어느 누구도 리눅스가 한 단체나

하나의 형식으로만 배포 되어야 한다는 언급 한 마디 없다. 그것은 우리

모두의 자유이기 때문이다. 따라서, 정말로 많은 배포판이 나와 있는 것이다.

한국에서는 가장 많이 알려진 슬렉웨어, 최근들어 레드햇이나 데비안 등의

새로운 이름들을 들을 수 있지만, 해외에 이미 알려져 있는 배포판들의 이름을

예로 들면 CRAFTWORKS, YGGDRASIL, LINUX-FT, WGS LINUX PRO, LINUX UNIVERSE,

LINUXWARE, 그리고 레드햇에 바탕을 두고 본격 상업용 리눅스 배포판을 개시한

칼데라(CALDERA)등 다양한 배포판들이 있다.

각각의 배포판은 고유의 설치 프로그램들을 가지고 있고, 기본적인 시스템

운영에 있어서 약간씩의 차이를 보이고 있다. 따라서 같은 리눅스를 쓴다

할지라도 한 배포판을 쓰다가 다른 배포판으로 옮기는 것은 적응 과정을

거쳐야 한다. 그많큼 자유의 여지가 많다는 말도 되고, 일관된 표준이 있기

어렵다는 말도 된다. 하지만 이미 그러한 문제들은 논의가 되어 왔고, 몇가지

서로간의 독특한 장단점을 빼고는 디렉토리 운영 등에서 서로 비슷하게

표준을 지키고 있다.

3. 유닉스 초심자들에게

======================

여러분 자신의 리눅스 시스템을 설치하고 사용하는 것은 그렇게 많은

유닉스에 대한 배경 지식을 필요로 하지 않는다. 사실 많은 유닉스 초심자

들이 성공적으로 리눅스를 설치하고 있다. 겨험을 쌓아보는 것도 좋지만,

어떤 사람들에게 있어서는 매우 실망스럽게 다가올 수도 있다는 사실을

염두해 두길 바란다. 만약 여러분에게 운이 따른다면 아무런 유닉스 배경

지식이 없이도 리눅스를 설치하고 사용할 수 있을 것이다. 하지만, 만약

여러분이 리눅스 운영의 좀 더 복잡한 업무 속으로 빠져 들어가게 된다면,

예를 들어 새로운 소프트웨어를 설치한다든지, 커널을 다시 컴파일 한다든지

등등의 일들은 유닉스에 대한 지식을 갖추는 것이 필수적인 것이다.

다행히도 여러분 자신만의 리눅스 시스템을 운영해 나감으로써 이러한

업무에 필요한 유닉스의 필수 지식들을 익혀 나갈 수 있다. 설치에 앞서서

기본 지식을 쌓는 것도 좋은 방법이라고 생각한다.

어느 누구도 하룻밤 사이에 유닉스 초심자에서 유닉스 시스템 관리자로

변할 수 있다고 생각하지 않는다. 어떤 유닉스 계열의 운영체제도 유지보수

없이는 운영될 수 없다.(이러한 사실은 어떤 운영체제든 진지하게 사용하려는

사람들에게 있어서는 필수적인 자세이다. 심지어 여러분이 윈도우 95를

사용하고 있다고 가정한다면 어떤 것을 설치 하고, 어떤 것을 지워야 할지

판단하고 깨끗하게 지우는 것도 중요 업무 관리라고 할 수 있을 것이다.)

여러분은 우리 앞에 놓인 여행에 대하여 제대로 준비를 해 두어야 한다.

만약 여러분이 유닉스를 완전히 모른다면 아마도 리눅스에 대해서 엄청나게

실망을 할 것이라고 본다.

-------------------------------THE END--------------------------------

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 12번

제  목:[참고사항] 리눅스의 하드웨어 사양

올린이:stoneonl(김석기  )    97/06/01 00:51    읽음:6103 관련자료 없음

-----------------------------------------------------------------------------

리눅스의 하드웨어 사양,끝까지 읽어주세요

1.CPU

최소사양은 80386sx라고 합니다.

적어도 80386 또는 이 이상의 시스템이 있어야

리눅스의 참맛을 알수 있다. 그리고 INTEL CPU와

호환성이 있는 AMD와 사이익스등의 시스템에서도

충분하다. 그리고 주의 할 점은 CPU의 내부연산

(COPROCESSOR,FPU)쪽에서 좋은 성능을 발휘할수

있는지 고려해야 한다.

2.RAM

최소 4메가 정도 있어야 하지만 X-WINDOWS를 돌리려면

램이 8메가 정도 있으면 되겠다. 그러나 멀티테스킹을

충분히 즐기려면 16메가이상이 있어야 할것같다.

3.하드용량

기본적인 시스템만 깔려면 100메가 정도면 충분하다.

그러나 필요한 응용프로그램만 깔면 300가정도이고

제가 추천하고픈 용량은 한 500메가면 되겠다.

3.VGA 카드

기본적으로 svga정도면 괜찮겠다.그 이하도 가능하다

그리고 x-windows를 뛰우려면 이 그래픽카드가 결정적인

그래픽카드,s3 계열,그리고 et4000계열,트라이던트계열이

불완전한 것으로 알고 있다. 내가 et6000인데 결국은 svga의

X서버를 사용하고 있다. 그외는 게시판에서 알아보면 괜찮겠다.

그리고 XWIDOWS경우 3D경우 3D가속이 되지 않기 때문에

3D겜과 같은 것은 기대하지 말기를 바란다.

4.사운드 카드

사운드 카드는 도스겜과 비슷하게 사운드블래스터호환성이

지닌 사운드카드가 지원된다고 할 수 있다.

5.마우스

시리얼 마우스에서는 Logitec,Microsoft,MouseSystems등

이에 호환되는 거의 모든 마우스가 지원된다. 그리고

PS/2용 마우스가 돌아간다. 다시 말해 요즘에 나오는

거의 모든 마우스가 지원된다고 할 수 있다.

-stoneonl-

한줄을 고치려다가 두줄이 날아갔네요

다시 적습니다.

3.VGA 카드

기본적으로 svga정도면 괜찮겠다.그 이하도 가능하다

그리고 x-windows를 뛰우려면 이 그래픽카드가 결정적인

영향을 준다.  사용자들로 얘기로는 시러스로직 칩을 가진

그래픽카드,S3계열이 잘 맞는 것으로

알려졌다. 그리고 et6000(et4000계열)과 트라이던트의 경우는

불완전한 것으로 알고 있다. 내가 et6000인데 결국은 svga의

X서버를 사용하고 있다. 그외는 게시판에서 알아보면 괜찮겠다.

그리고 XWIDOWS경우 3D경우 3D가속이 되지 않기 때문에

3D겜과 같은 것은 기대하지 말기를 바란다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 13번

제  목:[강좌] 리눅스 기본 명령어

올린이:stoneonl(김석기  )    97/06/01 02:33    읽음:8284 관련자료 없음

-----------------------------------------------------------------------------

리눅스 명령어와 도스명령어

초보자들은 도스명령어를 다 알고 있을 것이다.

그래서 도스명령어와 리눅스명령어를 비교하명서

설명하겠다. 다음을 내용을 살펴보면 리눅스명령어

에 친숙하게 될 것이다.

리눅스     :  도스

ls            dir

cp            copy

mkdir         md

rm            del

rmdir         deltree

mv            move

mv            rename

pwd           .

ls

ls라는 명령어는 도스의 dir와 유사하다.

ls를 치면 디렉토리에 속한 파일의 목록을 나타내어

준다. ls만 치면 화일명만 나온다.

그래서 ls -l로 치면 화일명의 상태까지 나오므로

-l의 옵션을 자주 사용하자

그리고 -a의 옵션을 사용하면 숨어 있는 화일도

보여준다.

alias라는 명령어가 있는데 도스의 배치화일과 비슷하다.

예를 들면

alias dir='ls -l'라고

명령어를 내리면

ls -l를 치지않고 dir만 치더라도 ls -l와 같은 효과를

거둘 수 있다.

해제 할려면 unalias dir

라고 치면 된다.

cp

도스의 copy명령어와 같다.

cp 원본 복사할장소

이다.

예를들면

cp test.tar /home/stoneonl

인 것이다.

그리고 -i옵션을 사용하면 확인메세지가 뜬다.

이 옵션이 필요한 이유는 같은 화일이 있어도

무조건 카피하기 때문이다. 도스에서는 옵션을

지정하지 않아도 나오지만 linux에서는 그렇지 않다.

mkdir

새로운 디렉토리를 생성할때 쓰인다. 같은 이름의

디렉토리가 있을 경우 에러메시지가 뜨면서 그만둔다.

rm

화일을 지울경우에 쓰인다.

여기서도 -i를 사용하면 확인 메세지가

뜬다. -f옵션이 있는데 이것을 사용하면

메세지가 나타나지 않는다.

-r 옵션은 서브디렉토리를 지울경우에 해당된다.

디렉토리를 무조건 지울경우(하위디렉토리가 있건,

디렉토리안에 화일이 있건)

rm -rf 디렉토리

하면 무조건 지운다.

rmdir

디렉토리를 지울경우에 해당된다.

rm과 별 큰차이는 없다.

mv

이 명령어는 도스의

rename명령어와 move명령어의 두가지 경우가 있다.

초보자의 경우 어떻게 쓸 수 있는지 반문 할줄

모르지만 linux에서는 가능하다.

mv 화일 화일

mv 디렉토리 디렉토리

일 경우 해당하는 이름을 바꾸는 것이다.

그리고

mv 화일 디렉토리

화일을 옮기고 싶은 디렉토리로 이동하는 것이다.

pwd

linux에서는 현재 위치하고 있는 상황을 잘 모른다.

그래서 pwd를 사용하면 편리하다.

어느곳으로 가도 pwd를 치면

디렉토리 경로를 알수 있다.

du와 df

du는 화일의 크기나 디렉토리의 크기를 알수 있게 한다.

그리고 그냥 du만 치면 지금 위치한 서브디렉토리와

화일의 크기를 보여준다.

예를들어 리눅스의 총용량을 알려면

du /

라고 치면 될 것이다.

df는 마운트된 디스크에 대한 크기,남아있는 크기등

상세한 정보를 나타낸다

mount /dev/hda1 /dosc로 마운트 되어 있다면

df /dosc로

쳐 보세요 도스의 chkdsk와 같을 겁니다.

그냥 df만 친다면 모든 마운트된 드라이브의 디스크

상황을 보여줍니다.

마운트는 따로 설명하겠다.

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 14번

제  목:[강좌] 리눅스 설치후 가장 먼저 할일

올린이:pey1    (박은영  )    97/06/01 03:03    읽음:11687 관련자료 없음

-----------------------------------------------------------------------------

리눅스 설치후 이제 무엇을 해야하나 라는 막막한 감정을 한번씩은 느껴

보셨을 겁니다. 저두 예외는 아니지요.....캬캬캬

리눅스는 다중 사용자 운영 체제 이므로 사용자들이 서로 구별이 되도록

로그인(login) 이라는 과정을 거쳐야 합니다.(MS-DOG와 구분되는 중요점이지요)

물론 자신의 컴에 혼자 쓰는데 루트(root) 이면 되지 귀찮게 다른 계정을

쓰느냐고 말할수 있지만 root 는 막강한 권한을 가지고 있으므로

그 실수에 대한 댓가도 만만치 않습니다. 예를들어 명령어를 연습한다고

루트에서 'rm -rf /' 라는 명령을 실행해 보십시오...^^;

애써 설치한 리눅스 몽땅 날라 가고 소중한 재산인 컴은 고철이 됩니다. ^^;

그러므로 설치후 가장 먼저 할일은 자신의 계정을 만드는 일입니다.

그럼 컴퓨터 이름(호스트명)을 so-san 이라 가정하고 우선 계정 만들기

부터 설명하겠습니다.

***************순 서***************

1. 계정을 만듭시다.

(1) 계정의 필요성

(2) 계정 만들기

(3) 홈 디렉토리에 관해서

2. 로그인 하기

3. 로그 아웃과 셧다운

***********************************

1. 계정을 만듭시다.

===================

(1) 계정의 필요성

위에서도 언급했지만 리눅스는 다중 작업, 다중 사용자 운영체제

(Multitasking Multiuser) 입니다. 이는 동시에 여러 사람이 하나의

컴퓨터를 이용할 수 있으며 서로 다른 프로그램을 동시에 여러개 실행

시킬 수 있다는 말이지요. 바로 이러한 점이 리눅스의 매력이며 MS-DOG와

크게 구별되는 점입니다.(윈도그는 오직 한 사람이 그때그때 하나의

프로그램만을 실행 하지요)

전통적 유닉스 시스템에서는 시스템 관리자가 여러분의 신청을 받고

남들과 중복이 되지 않는 한 원하는 로그인 네임(아이디)과 암호를 내어

줍니다.  이와 마찬가지로 여러분이 리눅스를 설치해 사용하시면 여러분은

자신이 시스템 관리자이므로 스스로에게 계정을 만들어 줘야 합니다.

일반적인 작업을 루트로 한다는 것은 위에서 언급한 것과 같이 위험하고

불합리한 행동 입니다. root 사용자라 하는 것은 막강하고 특정한 권한을

가지고 시스템을 관리해야 하는 아주 특수한 사용자이므로 필요 이상으로

자주 사용하는 것은 컴퓨터의 운명을 좌지우지 하는 것입니다.

여러분이 루트에서 명령어를 잘못 치는순간 소중한 재산인 컴이 고철

덩어리로 되어 버릴 수도 있습니다.

자..그럼 루트는 조금씩 아껴서 사용하기로 하고 자신의 계정을 만들어

봅시다.(소중한건 아끼는 법이지요 ^^;)

(2) 계정 만들기

설치후 리부팅 하고 나면 login: 이라는게 썰렁하게 뜹니다.

그러면 일단 root 라고 입력후 루트로 들어가지요. 바로 여기서 계정을

만드는 겁니다. 이때 쓰이는 명령은 adduser

(참고 : 리눅스에서 so-san:~# 과 so-san:~$ 의 차이를 아시나요?

루트 사용자는 '~#' 프롬프트가 나오고

루트가 아닌 사용자는 '~$' 프롬프트가 나옵니다.  )

일단 만들 아이디를 sharon 비번을 sharon 이라 가정하고 계정을 만들어

봅시다. 루트에서 자신있게 adduser 명령을 치면 다음과 같이 나옵니다.

so-san:~# adduser

Adding a new user. The username should not exceed 8 characters

in length, or you may run into problems later.

Enter login name for new account (^C to quit): sharon

Editing information for new user [sharon]

Full Name: Paek Eun Young

GID [100]:

Group 'users', GID 100

First unused uid is 513

UID [513]:

Home Directory [/home/sharon]:

Shell [/bin/bash]:

Password [sharon]:

Information for new user [sharon]:

Home directory: [/home/sharon] Shell: [/bin/bash]

uid: [513] gid: [100]

Is this correct? [y/N]: y

Adding login [sharon] and making directory [/home/sharon]

Adding the files from the /etc/skel directory:

./.less -> /home/sharon/./.less

./.lessrc -> /home/sharon/./.lessrc

...

(너무 길어서 중간 생략)

...

./.emacs -> /home/sharon/./.emacs

so-san:~#

adduser 이라 명령하면 우선 처음에 아이디를 입력 하라고 합니다.

이때 위와같이 sharon 이라 써주고....다음으로는 실명을 묻습니다

이땐 말 그대로 실제 이름을 입력 합니다. 헉...근데 그 다음에 이상한

것을 물어보는군요.....GID, UID 이런게 나와두 쫄지 마시고 일단 엔터만

치시고 넘어 가시면 됩니다. 그리고 나면 홈디렉토리를 묻는데 이 개념은

중요하므로 따로 설명 드리겠습니다. 일단은 이것 또한 엔터만 치고

넘어가십시오. 마지막으로 비번을 입력하시고 입력이 확실하냐는 확인

메세지에 'y'를 힘차게 누르시면 주르륵 글이 올라오면서 계정이 하나

만들어 집니다.

(3) 홈 디렉토리란

리눅스가 MS-DOG와 가장 크게 구분되는 장점이 바로 다중 사용자, 다중

작업 운영 체제 입니다. 우선 로그인 네임부터 따져 보면 MS-DOG에서는

그러한 것이 필요 없는데, 그 이유는 MS-DOG가 오직 한 사람의 사용자용

운영체제로 만들어졌기 때문이며 그 이상의 능력이 없기 때문이지요.

하지만 유닉스 계열의 운영체제들은 여러 사람이 같은 컴퓨터를 사용

하므로 서로를 구별하기 위하여 서로 다른 이름을 가지게 되는데 이것이

로그인 네임입니다. 즉 그 사람만의 공간을 만들어 주는 것이지요.

만약 로그인 네임이 위와같이 sharon 이라면 보통의 경우 /home/sharon

라는 디렉토리가 여러분을 위해 할당된 자유 공간이며 이 이하의 디렉토리

에다가만 작업한 내용을 저장해야 합니다. 학교에서 각자 할당받는 개인

사물함과 같다고 생각 하시면 됩니다. ^^;

이러한 여러분의 홈 디렉토리 이름은 ~(틸드문자) 입니다.

만약 linux.txt 라는 화일을 작성해 저장 했다면 이는 ~/linux.txt 라고

표현 할 수 있습니다. 또한 /home/sharon/linux.txt 와 똑같은 말입니다.

즉 ~ 는 /home/sharon 과 같은 의미이지요.

허나 홈 디렉토리가 반드시 /home/sahron 이라는 법은 없습니다.

이렇게 된 이유는 위에서 계정을 만들때 홈 디렉토리 부분에서 엔터를 친

결과로 된 것이지 루트 맘대로 정할 수 있습니다.

위에 2-(2)에서 계정을 만들때 홈 디렉토리를 묻는 부분에서 루트 맘대로

정하는 것이지요.

2. login 하기

=============

위에서 sharon 이란 계정을 안들었으면 로그인해서 사용해 봅시다.

이는 나우에 자신의 아이디를 가지고 들어가는 것과 비슷합니다.

so-san login: sharon

Password:

Linux 2.0.0

so-san:~$

자, 드디어 위에서 만든 계정의 쉘프롬프트인 'so-san:~$' 가 나타났

습니다. 이는 명령을 받을 준비가 되었다는 뜻이지요. ^^;

3. logout 과 shutdown

=====================

작업후 시스템에서 빠져 나가고 싶으면 exit 라는 명령을 사용합니다.

그러면 나우에서 빠져 나가는 것과 같이 로그아웃 됩니다.

so-san:~$ exit

허나..이는 전원을 내리고 컴퓨터를 끌때의 명령이 아닙니다. 시스템을 모두

정지시키고 전원을 완전히 내리는 것을 셧다운 시킨다고 하는데 리눅스

시스템을 셧다운 시킬때는 약간의 지식이 필요합니다. 여러분이 컴퓨터를

가동중인 상태에서 기냥 전원을 내린다던지..리셋키를 누르면...절대 안

됩니다.

커널은 메모리 버퍼에다 디스트 입출력을 캐싱해 두고 있습니다. 허나..만약

커널에게 메모리 버퍼의 내용을 안정하게 하드 디스트에 저장할 여유를 주지

않고 그냥 전원을 끈다면 화일 시스템에 이상이 생길 것입니다.

그럼 컴퓨터를 끌때는 어떻게 하냐 하면...

손쉽고 안전하게 전원을 끄는 방법은 루트에서 shutdown 명령을 사용하는

것입니다. 명령의 형식은 다음과 같습니다

so-san:~# shutdown <시간> <경고 메세지>

<시간>은 시스템을 셧다운 시킬 시간을 말하고 <시:분:초>형식 입니다.

그리고 <경고 메세지>는 사용자 터미날에 표시된 문구 입니다.

또한 'now' 라는 문구를 쓰면 즉시 실행이 되지요. 예를 들어 봅시다.

즉시 리부팅을 시키고 싶으면 다음과 같이 합니다

so-san:~# shutdown -r now

그럼 즉시 리부팅이 되고....만약 오후 7시에 리부팅 시킬라면...

so-san:~# shutdown -r 19:00

이라고 하면 됩니다.

그리고 리부팅 안시키고 즉시 컴퓨터를 끌려면..

so-san:~# shutdown -h now

이렇게 하시면 됩니다.

이때 주위점은..다음과 같은 메세지가 나올때까지 전원을 내려서는 안된다는

것입니다

The system is halted...........

꼬옥 이 메세지가 나오면 전원을 내리셔요 ^^;

어떤 시스템은 리부팅을 시키면 셧다운이 자동으로 되도록 되어 있는 경우도

있지만 어떤 시스템에서는 리부팅시 자동 셧다운 없이 시스템을 즉시 리부팅

시키므로 주의해야 합니다.

이 이외에도 셧다운 옵션은 많습니다.

so-san:~# man shutdown

해서 한번 살펴 보셔요 ^^;

맨 페이지에 모든 것이 있습니다. 우선 모르는 명령을 만나면 man 하시는

습관을 들이시기를..

------------------------------The End-----------------------------

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 15번

제  목:[잡담] 내가 리눅스를 사용하는 이유....

올린이:pey1    (박은영  )    97/06/01 05:30    읽음:7213 관련자료 없음

-----------------------------------------------------------------------------

처음 리눅스를 접하시는 분들은 아래에 실은 리눅스란 무엇인가 등등의

딱딱한 글이 수긍과 이해가 잘 안될 수도 있습니다.

그래서 제 개인적으로 나마 같은 초보자의 입장에서 제가 리눅스를

왜 사용 하는지 끄적여 봤습니다.

참고로 이 글은 다른 운영자 분들이 필요성이 없다고 판단하실 경우

자진 삭제 할 것입니다.

제가 리눅스를 왜 사용하는가라는 이유를 말하기 전에 우선 제 컴 경력을

말해야 겠군요. 부끄럽지만 ^^;

제가 리눅스의 "리"자를 난생처음 들어본 때가 97년 1월 말 입니다.

통신은 96년 12월에 나우누리를 시초로 시작을 했는데 채팅실에서 우연히

만난 사람을 통해 알게 되었지요.그때 전 윈도 말고도 리눅스라는게 있는다게

신기 했습니다. 그때 전 엑셀과 파워포인트에 빠져 있는 윈도가 전부인줄

아는 사람이였지요.참고로 제가 윈도95를 처음 본게 96년 9월 말 입니다.

그 전엔 물론 컴맹 이였지요 --;

암튼 리눅스라는 것도 있구나 알게 된후 2월에 리눅스를 깔아볼까? 라는

생각을 가져 보기도 했습니다. 허나 새로운걸 할려니 겁도 나고..

선뜻 내키지가 않더군요. ^^;

그러다가 2월 말에 서점에 가서 우연히 알짜 슬렉 책을 보게 되었습니다.

한참동안 책을 노려보다가 결국 굳은 결심을 하고는 2만원이라는 거금을 들여

무작정 리눅스 책을 사고는 집에다 모셔 뒀습니다. 용기가 없었지요.

그때는 뭐 하나 잘못 하면 컴이 완전히 망가질거 같아 불안했걸랑요.

제가 젤 무서워 했던게 윈도가 다운되면서 나오는 에러 메세지였습니다.

"잘못된 연산 수행으로 프로그램을 종료 합니다" 이 말만 나오면 왜 이리

무섭던지....--;

암튼 2월 말 갑자기 굳은 결심을 하고 리눅스 설치 시작을 했습니다.

전 그때 파티션이 뭔지도 몰라 리눅스를 첨 가르쳐 준 사람에게 도움을

받았었지요. fdisk 가 이런 것이구나...처음 알았답니다

암튼 설치시 선택해서 설치할 능력이 안되서 완전히 다 깔았습니다.

풀로 설치하는데 500메가가 넘더군요. 그리고 그길로 리동에 가입했습니다.

엑스 윈도우가 셋팅이 안 되서 3월까지 윈도로 통신을 했죠.

암튼 엑스가 뜨던날 그 기쁨이란... 리눅스 사용 이후 지금까지 그때만큼

기쁜적은 없는거 같군요.

엑스를 띄우고 나서 제 컴 인생(?)은 완전 바뀌었습니다. 엑스가 떳으니

더이상 윈도로 통신을 안해도 돼고 오락도 할 수 있고...하니맥도 사용할 수

있고...윈도로 들어갈 일이 거의 없어진거죠 ^^;

그때부터 제가 느낀 리눅스의 매력은 다음과 같습니다.

우선 멀티가 됩니다. 예를들어 윈도에서는 통신하다가 워드를 치면 다운되거나

통신이 끊기지요. 허나 리눅스는 다운 되기는 커녕 멀쩡하군요.

그리고 마우스 포인터를 창에 옮겨다만 놓고 클릭을 안해도 포인터가 있는

창은 저절로 활성화 되는게 편하고 신기했습니다. 또 빼 놓을 수 없는게 쓰리

버튼이지요. Cut & Paste 정말 신기했습니다. 긁어다 뿌리기만 하믄 돼다니..

이것 때문에 대화실서 도배도 마니 했답니다 ^^;;

결정적으로 제가 리눅스에 빠진건 네트워크 셋팅이 돼고...피피피나 슬립이

돼면서 인터넷을 누빌 수 있게 되고 나서 입니다. 피피피나 슬립을 물려 놓고

다른 창에는 네스케이프를 띄워 놓고, 다른 창으로는 나우를 이용하고, 또 다른

창으로는 하이텔을 이용하고 다른 창으로는 다른 사람의 컴에 접속하고, 또 다른

한쪽에서는 문서 적성을 하고.그걸로도 모잘라서 네트워크 테트리스 까지 했답

니다...캬캬캬......정말 멀티 재밌더군요..

것도 다운 한번 없이........윈도에선 불가능한 일이지요.(다운이 거의 없는걸

의미 합니다..오해 없으시길)

이러한 리눅스의 기능상의 장점도 사랑하지만...

제가 리눅스라는 것에 빠져든 또 다른 계기는.......GNU 선언문과..GPL...

그리고 Sing A Song을 읽고 난 후 부터 입니다. 한마디로 그 정신에 더

반했다는 것입니다. 물론 2,3월의 리눅스를 시작할때 읽어는 봤었지만...

그때는 감이 오지 않았습니다. 허나 얼마후 다시 읽어 봤을때 그 짜릿함..

짜릿함이라는 표현을 쓰는게 적당할 것 같습니다.

14번 란에 올라오는 리눅스를 옹호하는 글들...

저도 처음 사용할 때는 이해가 안 됐으며, 왜 저리 막혔을까 라는 생각도

물론 가졌었고 그로 인해 논쟁도 많이 했었습니다.

허나 지금은 반대로 제가 그런 글을 올리는 사람중에 하나가 되었지요.

리눅스를 왜 사용하지는 궁금한 분들......14번란에 가 보십시요......

거기에 진실이 있고.... 왜 그리 고지식하다고 할 만큼 리눅스를 사랑하는지..

여러 논쟁에서 보여 집니다.

리눅스를 설치하며...부팅이 안 돼서 당황하고....엑수가 안떠서 비됴 카드도

바꿔보고.....엑스가 뜨던날 너무 기뻐서 소리도 질러 보고.....

넷트워크가 되던날 슬립을 물려서 날 새는줄 모르고 통신을 하고......

그런 과정을 지켜보며 격려해주고 도와주던 리동 오빠들에게 고마워도 하고..

초보 실력으로 하우투 번역을 하며 그 내용이 이해가 안되서 너무 답답한

나머지 울어 보기도 하고.....밤새 잘답란 뒤지다가 원하는 답이 안 나와

씩씩거리며 루트에서 이상한 짓(?) 하다가 리눅스 날려 다시 설치도 해보고..

그리고 무엇보다고 정보 공유인 진정한 자유......

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

이는 리눅스의 기술적인 장점 보다도 더 중요한 리눅스 사용 이유 입니다.

언젠가는 저도 리눅스를 위해 무엇이든 기여할 날이 오겠지요...

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 16번

제  목:[강좌] 마운트하는 법

올린이:stoneonl(김석기  )    97/06/02 00:29    읽음:8480 관련자료 없음

-----------------------------------------------------------------------------

mount(마운트)

리눅스에서 마운트라는 개념을 많이 듣게

될것이다. 마운트라는 것은 다른 시스템이나

혹은 새로운 장치명을 리눅스라는 시스템에

서 인식하게 만드는 것이다.

우선 리눅스에서 하드디스크의 인식형식을 알아야

한다.자기의 메인보드가 EIDE를 지원한다면

first IDE 마스터        /dev/hda

primary            /dev/hda1

extended          /dev/hda3

(logical)         /dev/hda4

primary            /dev/hda2

first IDE 슬레이브      /dev/hdb

primary            /dev/hdb1

primary            /dev/hdab2

second IDE 마스터       /dev/hdc

위와 마찬가지

second IDE 슬레이브     /dev/hdd

위와 마찬가지

위와 같은 형식이 이루어 진다. 보통 하드가

first ide에 단 한개의 드라이브만 있다면 /dev/hda

분할 했을 때는 /dev/hda1와 /dev/hda2 ...

이렇게 이어진다. first ide의 슬레이브는 /dev/hdb로

계속 연결된다.

자기 시스템의 하드디스크의 장치명을

알고자 할때 그 정보를 알고 싶으면

fdisk를

누르고

p

를 누르면 자세한 정보를 알수 있다.

도스영역이 /dev/hda1에 있아고 해서

cd /dev/hda1라고 치면

에러 메세지가 뜰 것이다.

이건 하드영역의 이름일 뿐이지 리눅스가 인식

하는 것은 아니다. 그래서 마운트라는 것이 있다.

그래서 도스라는 영역을 리눅스시스템에 인식시키기

위해서는 다음과 같은 과정이 필요하다.

우선 도스시스템을 이식시킬곳을 만들어야 한다.

말하자면 임의의 디렉토리를 만들어야 한다.

도스의 c드라이브의 디렉토리를 /dosc로 지정한다고 하자

그리고 우선 이것은 제쳐놓고

mount의 명령형식은 다음과 같다.

---------------------------------------------

mount -t 파일시스템타입 장치명 디렉토리명

---------------------------------------------

도스의 c드라이브를 마운트할때

mount -t msdos /dev/hda1 /dosc

라고 하면 된다.

도스의 d드라이브가 /dev/hda4에 있다면

cd /

mkdir dosd

mount -t msdos /dev/hda4 /dosd

라고 하면 된다.

os2시스템이 /dev/hda2에 있다면

cd /

mkdir os2

mount -t hpfs /dev/hda2 /os2 (HPFS형식으로 OS2가 설치되었을 경우)

mount -t msdos /dev/hda2 /os2 (FAT형식으로 OS2가 설치되었을 경우)

그리고 os2의 시스템은 리눅스와 다른 시스템이기 때문에

읽기 전용으로 해줘야 리눅스에 무리가 가지 않는다.

따라서 장치명뒤에 -o ro라는 옵션을 적어두어야 할 것이다.

다시 적어보면

mount -t hpfs /dev/hda2 -o ro /os2

플로피의 장치명은 /dev/fd0 /dev/fd1 ....로 계속나간다.

그리고 플로피디스크 첫번째 드라이브(도스의 a:)를

마운트 할려고 했을 때 플로피디스켓에 있는 파일시스템이

리눅스의 ext2라면

cd /

mkdir fda

mount -t ext2 /dev/fd0 /fda

도스시스템이라면

mount -t msdos /dev/fd0 /fda

그리고 플로피디스크의 두번째 드라이브(도스의 b:)를

마운트 할려고 했을 때 시스템이 도스라고 하면

cd /

mkdir fdb

mount -t msdos /dev/fd1 /fdb

그리고 EIDE시디롬의 경우의 장치명은 /dev/hd?이다.

그리고 파일시스템은 ISO9660이 대부분이다.

마운트 할 시디롬이 dos시스템이고 시디롬이 /dev/hdc에

연결되어 있다면

cd /

mkdir /cdrom

mount -t msdos /dev/hdc -o ro /cdrom

이렇게 하면 된다.

그러나 리눅스에서는 디폴트로 /dev/cdrom으로 되어 있을

줄 모른다. 그럴경우

mount -t msdos /dev/cdrom -o ro /cdrom

으로 하면 될 것이다.

그리고 스카시경우의 하드는

/dev/sda,/dev/sdb로 이루어진다.

그리고 내용은

위와 거의 비슷하다.

주의 사항

------------------------------------

마운트된 장치명은 절대 꺼내지 말자

------------------------------------

시디롬이 마운트 되어 있을 경우에는

절대로 시디롬이 열리지 않는다.

그리고 플로피디스크는 꺼낼수 있지만 그래도

꺼내지 말자 umount한 후에 꺼내기 바란다.

리눅스에서의 플로피의 캐쉬는 특히하기 때문에

(플로피는 한번만 읽으면 다음에는 읽지 않고

캐쉬에 저장되어 다음에는 캐쉬에서 찾는다.)

플로피를 꺼내면 리눅스에 크다큰 위험에 처할 수 있다.

그래서 cdrom을 꺼낼때

umount /cdrom

플로피의 경우

umount /fda

한 후에 꺼낼도록 하자

그리고 꺼내고 다시 집어넣고

나서 다시 마운트를 해야 한다.

그리고 시디롬이 음악시디일 경우에는

마운트는 되지 않는다는 것을 명심하자.

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 17번

제  목:[강좌] 압축명령어 정리

올린이:stoneonl(김석기  )    97/06/03 02:04    읽음:6870 관련자료 없음

-----------------------------------------------------------------------------

*.gz

이렇게 압축되어 있는 것은 모두 gzip으로 만든 것입니다.

이것을 풀기 위해서는

-d를 붙이고 해당화일을 풀면 됩니다.

예를 들어 봅시다.

test.gz으로 되어 있으면

gzip -d test.gz으로 하면 풀립니다.

그럼 압축을 할때는

gzip test(그러나 이 방법은 압축률이 높지 않다. 따라서

이렇게 -9라는 옵셥을 주면 압축률이 높아진다.)

를 하면 압축이 됩니다.

그럼 압축된 화일의 내용을 볼경우

gzip -l stoneonl.gz

으로 하면 압축 화일의 내용을 나열해 준다.

*.tar

이 확장자를 가진 화일은 tar라는 압축명령어를

사용해서 압축(압축이라는 것보다 하나의 화일로 묶는 것)

한 것이다.

예를 들어 보자

tar cvf test

이것은 tar라는 압축명령어로 test라는 화일을

압축하고자 할경우이다. cvf라는 옵셥은 압축할때

쓰는 것이다(사실 cvf라는 것은 압축이라는 것보다

여러 화일을 하나의 화일로 생성한다는 뜻에 가깝다.

그래서 압축이라는 명령어를 쓰려고 할경우 이렇게

쓰면 된다. 압축 옵션은 -z이다.

tar -czvf test

압축된 화일을 풀경우는

tar -xvf test.tar

이렇게 하면 풀린다.

그리고 tar로 압축된 내용을 살펴볼려면

tar -tvf test.tar

라고 하면 된다.

다음의 경우는 잘 쓰이지 않는 경우이다.

*.Z

압축

compress 대상화일

압축풀기

uncompress *.Z

*.arj

이것은 압축은 없고 푸는 기능만 있습니다.

unarj 옵션 *.arj

e는 현재 있는 모든 화일을 풀어주고

x는 경로를 포함해서 풀어준다.

l도 위와 마찬가지로 내용을 보여준다.

그럼 응용을 해보자. 다음것은 통신상에서나

어디에서나 많이 볼수 있는 압축화일이다.

*.tgz

는 두가지 뜻이 있다고 생각한다.

tar로 사용해서 여러화일을 묶고 gzip으로 압축한 것이다.

test.tgz

gzip -d test.tgz

하고 나면 test.tar가 나올 것이다.

tar -xvf test.tar하고 풀면 될 것이다.

이글을 읽는 사람중에 좀 안다고 하는 사람은

tar -xvzf test.tgz

라고 풀것이다.이 방법도 위와 같은 방법이다.

tar의 -z의 옵션이 gzip을 뜻하기 때문이다.

보통 압축하고자 하는 화일은 확장자가 있을 것이다.

test.txt를 gzip으로 압축하면

gzip test.txt로

하면 나타나는 화일은 test.txt.gz으로 나타난나는

것을 명심하자

어느 디렉토리의 내용을 압축할 경우

tar -cvzf test.tgz /test/*

하면 된다.이것은 test라는 디렉토리의

모든(*)것을 하나의 화일로 묶고 test.tgz로

압축할 경우에 해당하는 것이다.

풀때는

tar -xvzf test.tgz로 하면

자동적으로 풀어준다.

더자세한 정보를 알고 싶을때는

man tar

man gzip

혹은

--help라는 옵션을 붙이면 자세한 내용을

나온다. 그러나 영문이라 좀 아쉬운 감이 든다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 18번

제  목:[참고] 리동 질답 게시판 이용에 대해

올린이:pey1    (박은영  )    97/06/03 22:46    읽음:2758 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

이 글은 김병찬 님께서 보내주신 글 입니다.

질답 게시판 이용시 참고 하시기 바랍니다.

제  목 : 누나 제가 올리고픈 글이에요...

보낸이 : 조공명(장우중)   97/06/02  19:08

------------------------------------------------------------------------------

제가 이런글을 적을 자격도 없는데... 이렇게 글을 쓰는 이유는 왠지 너무나 답답

함을 느껴서 입니다...

이만용 시삽형께서 누누히 게시판에 대한 말을 하셨고 아주 많은 변화가 있었다고

느끼고 있지만... 아직도 먼가 먼가 부족한게 보이는거 같습니다... 왜 인지?

우선 질문과 답변란이 괜히 존제하는건 아니지 않을까요? 절데 8번 질답란을 제외

한 다른곳에는 질문을 올리지 말아야 합니다... 이것은 규칙이고 예의 입니다...

전 아직 리눅스를 두달채 만지지 않은 초보이고... 말 그데로 게시판을 정말 엄청

나게 뒤졌습니다... lt 명령으로 질답란을 뒤져 보란 말들을 많이 하시지요?

그런데 아무리 검색을 해도 그에 관한 글이 안 나옵니다... 몇개 없지요... 분명

히 사람들이 많이 겪은 경우일찌언데 질문과 답변이 없는... 정말 그럴때 머리가

띵하며 머리카락이 숭숭 빠지는... 전 그래서 질답이 없을때 1번 부터 끝번가지

게시판의 글을 다 읽어 버렸습니다... 항상 답이 있더군요... 하지만 이것도 하

루 이틀의 노가다 아니겟습니까?

그래서 전 몇가지 부탁하고 싶은 말이 있습니다... 읽기 쉽게 번호라도 메겨가면서

적겠습니다. ^^

1.이것은 어디서나 마찬가지입니다... 질문을 하기전 자신의 상황과 같은 질문 그리

고 답변이 있는지 먼저 게시판을 뒤져보는 것이 필요하지 않을까요?

저도 어느정도 게시판을 읽어 되서 분명히 이 문제에 대한 답이 아주 찾기 쉽게

수개씩 올라와 있는데도... 다시 질문을 올리는... 중복되는 질문과 답변이 너무

나 많습니다... 단 5분만 뒤져도 나오는 그러한 답을 찾아내기 귀찮다는 명목하

에 그냥 질문을 올리시는 분들을 보면 정말 답변을 하기조차 싫어지지요...

저만이 아닐것입니다... 그 누구도 마찬가지 일것입니다... 예를 들어 보지요.

조금 극단적?이지만... 바로 밑에 세연에서 한글쓰는 법에 대한 질문이 있고

거기에 답변이 있는데 (한페이지 밑에 말입니다.) 세연에서 한글 쓰는 법을 질문

하신다면 그 누가 답변을 하겠습니까? 그런후에 답변도 안 해 준다고 짜증을 내시

는 분들도 게시고 정말 답답합니다...

대화방에 와서 질문을 하시는 분들을 보면 이 분이 아무리 찾아도 나오지 않아서

더 이상 방도가 없어서 (물론 영어라도 잘하면 howto 나 man page 에 거의 모든

답변이 있는데 말이죠 못하니 문제지 -.-) 오시는 분과... 전혀 게시판 한번 안

보시고 오셔서 막연히 질문 하시는 분들이 계십니다... 후자의 경우에 답변을 듣

기가 참 어려울것입니다... Do It Yourself! 아십니까? 무조건 혼자서 하란것이

아닙니다... 자신의 힘으로 해결을 하려고 해도 정말 막막할때... (솔직히 저도

초보이고 전혀 알지 못하는 경우엔 질문이나 답변을 찾는것도 어려운것을 압니다)

그럴때 다른 분들의 도움을 요청한다면 성심껏 도와 주실것입니다...

2.질문을 하실때... 에러 메시지가 있다면 그것을 정확하게 적어서 어떤 경우에 이

러한 에러 메시지가 나오며 어떻게 되며 하는 소상한 상황을 적어 주셔야지 된다

고 생각합니다... 엑수 윈도우가 안 뜹니다 어떻게 하죠? 답변을 하시는 분은 만

용성이 말씀 하시는데로 점쟁이가 되는 수밖에 없지 않습니까? 질문을 하시는 분

들의 리눅스 박스는 답변을 하시는 분들의 집에 있는게 아니잔아요? 직접 가서 해

보지 않는한 누가 어떻게 안 되는지 알겟습니까? 질문이 모호하면 답변을 할수가

없습니다... 어떠한 에러가 무엇을 하는 도중에 발생하였고... 하드웨어와 관련된

사항이라면 현재 자신의 컴의 구성을 확실히 말해 주셔야지 그걸보고 어느 정도 알

수 있지 않겠습니까? 막연한 질문은 답변을 얻지 못함을 확실히 알아 주십사 합니

다... 에러 메세지를 기억 못하는데... 최소한 질문을 하실때 다시 한번 해보구 그

에러 메세지를 손으로 적어 서라도 올려야 하지 않습니까? 답변을 받기 위한 예의

라고 봅니다... 리눅스를 아무리 잘 다루시는 분들도 뭐가 안됩니다의 말로 왜 그

런것인지 알수가 없지 않습니까?

3.질답란을 보면 제목이 별의 별 경우가 다 있습니다... '리눅스 고수분들 보세요'

'저 좀 살려주세요' 정말 별게 다 있지요... 문제는 이러한 제목으로 질문을 하시

면 이거 아무리 lt 로 찾아도 나오지가 않습니다... 또한 제목만 보아 저 글의 내

용이 무었인지 알수도 없지요? 아 내용은 세연에서 한글 문제 인데... lt 세연,

lt 한글 아무리 해도 '저 좀 살려주세요' 가 나올까요?

답변을 하시는 분들도 신경을 써주셨으면 하는것이 질문을 하시는분이... 에메모

호한 제목으로 질문을 하셧다고 해도 답변의 제목만은 확실한 내용을 나타낼수 있

는 제목이 되었으면 합니다... 질문 보다는 답변을 찾으니까요...

또 하나 '리눅스 고수분들만...' '고수분들 이거 좀...' 답변을 고수분들께서만

하시는거 같으십니까? 저 같은 초보도 아는것엔 답변을 하지요... 고수분들만 이라

고 하시면 참 답변하기 싫어지더군요... (난 고수도 아닌데 이거 답변해봤자...)

저만 그런거일수도 있구요...

4.또 개인적으로 부탁하고픈 말이 있습니다...

질문을 하시고 답변을 받았다면 그 것을 보면서 하시겠지요? 절데 답변을 그냥 올

리지 않습니다... 물론 정말 잘하시는 분이라면 아시는걸 그냥 적어 주실수 있지만

저 처럼 잘 하지 못하는 초보가 답변을 할때에는 이것이 과연 틀린건 아닐까 이것

때문에 저 분의 시스템이 잘못 되진 않을까 별의 별 생각을 하면서... 하나 하나

답변과 관련된 사항을 제 시스템에서 테스트 하면서 제데로 된다면 그 답변을 게시

판에 적습니다... 제가 막히는 부분은 안되는 영어로 (저 정말 영어 못합니다...)

howto,man page 봐 가며 뉴스 그룹 뒤져 가며 답변을 할때도 있습니다... 그에 대

한 답변이 있는걸 본적이 있다면... 죽어라 뒤져서 찾기도 하지요...

특히 아는 문제인데 확실히 기억나지 않을때...

제가 부탁드리고 싶은 말을 이것입니다... 아주 짧은 말이라도 memo 로 성공했습니

다 하는 말 정도... 제데로 됩니다라는 말을 듣고 싶습니다... 답변을 하고 나면

과연 잘 되었을까 하는 불안함이 오기도 합니다... 전에 어떤 분이 제가 답변한후

에 다음날 접속 하는데 memo 로 '성공햇습니다. 감사합니다' 라는 말을 하신것을

보았습니다... 정말 그 분의 질문엔 그 다음부터 다 답변하고 싶어지더군요..

(아는게 없어서 문제이지요... T_T)

이만 줄이 겠습니다... 아는 것도 없는 놈이 글은 엄청 길게 써버렸네요...

즐거운 시간 보내시기 바랍니다... 힘을 가진 리눅스와 함께요...

- 리눅스를 애인삼아 컴 붙들고 사는 적수 -

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 19번

제  목:[참고] 리눅스 파일형태

올린이:stoneonl(김석기  )    97/06/04 01:36    읽음:4748 관련자료 없음

-----------------------------------------------------------------------------

리눅스의 파일 시스템은 Second Extended file system이다.

이 파일 시스템은 os/2의 HPFS,도스의 FAT16(FAT32),그외 다른

파일시스템 보다 우수하다고 한다.

이 Second Extended file system는 기존의

Extended file system을 갱신한 linux의 파일시스템이다.

확신하는 건 도스의 ALLOCATION SIZE같은

필요없는 하드용량을 소비하지 않는다는 것이다.

그럼 linux에서 리눅스 파일시스템인 ext2를 만들어 보자

-------------------------------

mke2fs -c 장치명 size

-------------------------------

예를 들어 /dev/hda3를 Linux의 파일시스템으로 만들어 보자

mke2fs /dev/hda3

를 하면 된다. 여기서 -c 옵션은 하드의 배드섹터를

검색하는데 시간이 꽤 오래 걸린다고 한다. 그리고 size는

블럭사이즈인데 이런거 리눅스의 블럭크기인데 fdisk를

눌러서 p로 누르면 장치명마다 블럭크기가 나온다.

-c의 옵션은 안적어도 되니 시간 낭비하지 말기 바란다. 시간만

낭비한다. 그런데 삼성하드는 해야 할 것 같다. 이것은 내 편견이니

굳지 듣지 마라,그리고 블럭사이즈는 안적어도 된다.

그럼 플로피 디스켓도 포맷해보자 첫번째 플로피디스크(a:)를

linux의 파일시스템으로 포맷하고 싶으면

mke2fs /dev/fd0

하면 될 것이다.

리눅스는 도스와는 달리 최대 255파일까지

지정할수 있다. 그러나 도스는 화일명이 8자

정도이고 확장자는 3자이다. 그리고 리눅스는

특별한 경우를 제외하고는 화일명을 구애받지

않는다.그래서 리눅스의 화일명이 길다보니

이러한 편리한점이 있다.

stoneonl.stoneonl.stoneonl라는 긴

파일명이 있다면 stone그다음에 키보드에 <TAB>

키를 누르면 알아서 stoneonl.stoneonl.stoneonl

까지 쳐준다. ls stoneonl.stoneonl.stoneonl

라고 하지 말고 ls sto<TAB>라고 하면 된다.

그러나 sto(stone,stoadn,stodd,stooo)로 시작하는

화일이 많이 있을 경우 삐하는

소리가 난다. 그러니 구분이 갈정도 쳐주면 될 것이다.

그러니까 ston<TAB>하면 될것이다.

도스의 디렉토리구분이 \이나 리눅스는 /이다.

그래서 이것을 혼동하지 않았으면 한다.

그래서 디렉토리 이동에도 cd \home\stoneonl가

아니라 cd /home/stoneonl이다.

그리고 리눅스에는 드라이버 개념이 없다.

C드라이브니 D드라이브니 하는 것은 없고 오직

이 경로명만이 존재한다. 내 같은 경우 도스의

C드라이버를 /DOSC에 마운트해서 쓰고 있다.

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 20번

제  목:[참고] 리눅스 인스톨(설치)에 관한 자료들

올린이:pey1    (박은영  )    97/06/04 13:48    읽음:7724 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

우선 그 유명한 유리해 문서가 있는 곳입니다.

5-4 문서 지료실에 있습니다. "lt 유리해" 해 보십시오.

^^^^^^^^^^^

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX                  리눅스 사용자 모임-문서파일                         1/1

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   등록날짜 파일명       크기  받음 제목

------------------------------------------------------------------------------

608 품바     95/02/20 ulh     .lzh  355K 2677 유/리/해 개정판 1.1

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

다음으로 12-2 번 강좌란에 있는 리눅스 인스톨 강좌를 찾아 보았습니다.

"12. 리눅스 배움터" --> "2. 리눅스 강좌 / 연재"

"lt 인스톨" 해서 나온 자료 제목을 올립니다.

^^^^^^^^^^^

관심 있는 분들 읽어 보셔요.

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX        리눅스 배움터-리눅스 강좌 / 연재 (LT : 인스톨)           1/마지막

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

377 paek     백흥주   01/19 1222  16 [강좌 10] 리눅스 인스톨부터 사용까지...

366 paek     백흥주   01/03 1166   9 [강좌 09] 리눅스 인스톨부터 사용까지...

364 paek     백흥주   12/26 1059  10 [강좌 08] 리눅스 인스톨부터 사용까지...

363 paek     백흥주   12/26 1265  12 [강좌 07] 리눅스 인스톨부터 사용까지...

358 인하대5  인하대   12/20  502   2 [강좌]NFS로 리눅스 인스톨하기

322 vfast    심해섭   09/19 1659  10 [강좌] 진짜 컴맹의 리눅스 인스톨하기 1

269 paek     백흥주   06/27 2863  18 [강좌 06] 리눅스 인스톨부터 사용까지...

261 paek     백흥주   06/19 2815  12 [강좌 05] 리눅스 인스톨부터 사용까지...

260 paek     백흥주   06/18 2598  12 [강좌 04] 리눅스 인스톨부터 사용까지...

259 paek     백흥주   06/17 3122  17 [강좌 03] 리눅스 인스톨부터 사용까지...

256 paek     백흥주   06/16 2996   7 [강좌 02] 리눅스 인스톨부터 사용까지...

254 paek     백흥주   06/16 3655   5 [강좌 01] 리눅스 인스톨부터 사용까지...

172 풀잎소리 신우철   11/12 1773   7 [설치] 씨디롬없이 하드에서 인스톨하기

132 maeng1   맹성호   08/29 2123  33 [설치] 한글리눅스95인스톨가이드(2/2)

131 maeng1   맹성호   08/29 4381  29 [설치] 한글리눅스95인스톨가이드(1/2)

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

다음으로 12-3 번 란에 있는 번역물을 찾아 보았습니다.

"lt 설치" 해서 나온 자료 입니다.

^^^^^^^^^

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX       리눅스 배움터-번역물 / 프로젝트란에서 (LT : 설치)        1/마지막

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

13 loverboy 김정식   10/01 4307  36 [LDP] 리눅스설치와 시작하기 2.0 -  5장

12 loverboy 김정식   10/01 3459  97 [LDP] 리눅스설치와 시작하기 2.0 -  4장

11 loverboy 김정식   10/01 3725 142 [LDP] 리눅스설치와 시작하기 2.0 -  3장

10 loverboy 김정식   10/01 4176 112 [LDP] 리눅스설치와 시작하기 2.0 -  2장

9 loverboy 김정식   10/01 4794  81 [LDP] 리눅스설치와 시작하기 2.0 -  1장

8 loverboy 김정식   10/01 7133  10 [LDP] 리눅스설치와 시작하기 2.0 - 서론

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

마지막으로 8-1 질답란에 가셔서 "lt 설치" 혹은 "lt 인스톨" 하시면

^^^^^^^^       ^^^^^^^^^^

리눅스 설치에 관한 질문과 답들이 나옵니다.

그것은 분량이 너무 많아서 모록을 올리지 못하였으니 8-1 번란에 가셔서

위의 명령어로 찾아 보시기 바랍니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 21번

제  목:[참고] X 윈도우 비디오 카드 사양과 참고자료

올린이:pey1    (박은영  )    97/06/04 17:32    읽음:5361 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

리눅스 처음 설치후 해결해야 할 가장 큰 문제는 X윈도우를 띄우는 것입니다.

엑스를 띄우기 위해서는 우선 자신의 비디오 카드 칩이 뭔지...

모니터 사양이 어떻게 되는지..비디오 램은 몇 메가인지...

등등을 알고 있어야 합니다.

여기서 가장 중요한 것이 비디오 카드겠지요.

그럼 우선은 지원되는 비디오 카드 목록을 올리겠습니다.

------------------------ < SVGA 칩 > ----------------------------

# 8514/A (완벽한 호환 제품들)

# ATI Mach32, Mach64

# S3 86C911, 86C924, 86C801, 86C805, 86C805i, 86C928, 86C864, 86C964,

86C968, 86C868

# IBM RGB 5XX 시리즈 RAMDAC, STG1703 RAMDAC, SC1148{2,3,4,5,7,9} (15bpp)

# Western digital WD90C31, WD90C33

# Tseng ET3000, ET4000AX, ET4000/W32

# Wsetern Digital/Paradise PVGA1

# Wsetern Digital WD90C00, WD90C10, WD90C11, WD90C24, WD90C30, WD90C31,

WD90C33

# Genoa GVGA

# Trident TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000,

TVGA9000i, TVGA9100B, TVGA9200CX, TVGA9320, TVGA9400CX,

TVGA9420

# ATI 18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6, 68800-3,

68800-6, 68800AX, 68800LX, 88800

# NCR 77C22, 77C22E, 77C22E+

# Ciruss Logic CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428,

CLGD5429, CLGD5430, CLGD5434, CLGD6205, CLGD6215

CLGD6225, CLGD6235, CLGD6420

# Compaq AVGA

# OAK OT1067 OT1077

# Avance Logic AL2101

# MX MX68000, MX680010

# Video 7/Headland Technologies HT216-32

# IBM XGA-2

-------------------------------------------------------------------------

X 윈도우는 표준적인 SVGA 카드라면 제대로 작동 합니다.

단 사운드와 통합되어 있는 편협한 통합 카드라면 좀 힘들지요

8-1 에 가셔서 "lt 윈도우" 나  "lt x" 하시면 엑스 윈도우에

^^^^^^^^^^      ^^^^^^

관해 주르륵 올라 옵니다. 8-2 번란에도 몇개 있더군요.

만약 띄우긴 띄웠는데 화면이 이상하신 분들은 11-1의 FX86Config 란에

가셔서 "lt 칩셋이름" 이나 "lt 모니터인치" 하시면 그에 알맞는 설정 문서가

보여 집니다.

그럼 다음 글에는 엑스 셋팅 설명을 간단히 올리겠습니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 22번

제  목:[강좌] 간략한 X 윈도우 셋팅 방법

올린이:pey1    (박은영  )    97/06/04 19:19    읽음:7776 관련자료 없음

-----------------------------------------------------------------------------

자..그럼 엑스를 띄워 봅시다.

우선 마우스 종류, 모니터의 수직 수평 주파수, 비디오 카드 칩 등을 알아야

하지요...모니터 메뉴얼과 비디오 카드 메뉴얼을 꺼내 찾아보면 있습니다.

없으면 제조 회사에 전화해서 물어 보셔요 ^^;

셋팅의 간략한 순서는 다음과 같습니다.

------------------------------------------------------------------

1. xf86config

2. 마우스 포로토콜 셋팅, 좌우 Alt 용도 변경

3. 모니터 설정하기

4. 비디오 카드 설정하기

5. X 서버 고르기

6. 비디오 램 크기 고르기

7. 가속 서버에 대한 램댁, 클럭 칩 설정

8. 해상도 선택

9. startx

---------------------------------------------------------------------

1. xf86config 를 실행해 봅시다.

==============================

다음과 같은 글이 나옵니다.

This program will create a basic XF86Config file, based on menu selections you

make.

The XF86Config file usually resides in /usr/X11R6/lib/X11 or /etc. A sample

XF86Config file is supplied with XFree86; it is configured for a standard

..................

............

Press enter to continue, or ctrl-c to abort.

엔터를 치고 넘어가면 본격적인 셋팅이 시작 됩니다.

2. 마우스 포로토콜 셋팅, 좌우 Alt 용도 변경

===========================================

First specify a mouse protocol type. Choose one from the following list:

1.  Microsoft compatible (2-button protocol)

2.  Mouse Systems (3-button protocol)

3.  Bus Mouse

4.  PS/2 Mouse

................

7.  MM Series

8.  MM HitTablet

............

.........

Enter a protocol number:

여기서 자신의 마우스를 설정합니다. 보통은 1번의 마이크로소프트 호환

2버튼 마우스를 갖고 계실 겁니다.  선택을 하시면 다음과 같이 ChordMiddle

를 물어 오는데 엔터만 치고 넘어 가십시요.

Please answer the following question with either 'y' or 'n'.

Do you want to enable ChordMiddle?

다음으로는 아래와 같이 3버튼 사용 여부를 물어 옵니다.

2버튼으로 설정 하셨더라도 3버튼 처럼 사용하실 수 있으니 무조건 y라고 답합니다.

You have selected a two-button mouse protocol. It is recommended that you

enable Emulate3Buttons.

Please answer the following question with either 'y' or 'n'.

Do you want to enable Emulate3Buttons? y

그러면 마우스 포트를 물어 보는군요.

이는 리눅스 알짜 설치시 설정 했으므로 엔터만 치고 넘어 가셔도 됩니다.

Now give the full device name that the mouse is connected to, for example

/dev/tty00. Just pressing enter will use the default, /dev/mouse.

Mouse device:

키보드 역시 엔터만 치고 넘어 갑시다.

Beginning with XFree86 3.1.2D, you can use the new X11R6.1 XKEYBOARD

extension to manage the keyboard layout. If you answer 'n' to the following

question, the server will use the old method, and you have to adjust

your keyboard layout with xmodmap.

Please answer the following question with either 'y' or 'n'.

Do you want to use XKB?

좌우 알트키 용도 변경을 물어 오는것은 쓸일이 거의 없으니 n 라고 합시다.

Please answer the following question with either 'y' or 'n'.

Do you want to enable these bindings for the Alt keys? n

3. 모니터 설정하기

==================

이제 중요한 부분입니다. 일반적으로 모니터와 비디오 카드만 설정을 잘

해주면 엑스는 무리 없이 뜹니다. 매뉴얼을 꺼내고 차근차근 해 봅시다.

처음으로는 수평 주파수를 결정 합니다.

일반적으로  15인치나 14인치에서 4,5,6 셋중에 하나일 것입니다.

17 인치는 6번 이후를 선택 하시면 됩니다.

You must indicate the horizontal sync range of your monitor. You can either

select one of the predefined ranges below that correspond to industry-

standard monitor types, or give a specific range.

It is VERY IMPORTANT that you do not specify a monitor type with a horizontal

sync range that is beyond the capabilities of your monitor. If in doubt,

choose a conservative setting.

hsync in kHz; monitor type with characteristic modes

1  31.5; Standard VGA, 640x480 @ 60 Hz

2  31.5 - 35.1; Super VGA, 800x600 @ 56 Hz

3  31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)

4  31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz

5  31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz

6  31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz

7  31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz

8  31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz

9  31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz

10  31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz

11  Enter your own horizontal sync range

Enter your choice (1-11):

다음으로는 수직주파수 설정입니다.

이도 일반적으로 14인치나 15인치에서는 2번, 17인치 이상은 3,4 번중 하나를

선택 하시면 됩니다.

You must indicate the vertical sync range of your monitor. You can either

select one of the predefined ranges below that correspond to industry-

standard monitor types, or give a specific range. For interlaced modes,

the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).

1  50-70

2  50-90

3  50-100

4  40-150

5  Enter your own vertical sync range

Enter your choice:

다음으로 모니터 이름 등을 물어 오는데 귀찮으면 엔터만 치고 넘어 갑니다.

Enter an identifier for your monitor definition:

Enter the vendor name of your monitor:

Enter the model name of your monitor:

4. 비디오 카드 설정하기

=======================

이제 엑스 셋팅중 가장 골치아픈 부분 입니다.

뭐 두인미디어 캠프 나 가산전자 등등의 제품명은 없습니다.

여기서는 최대한 자신의 비디오 카드에 맞는 칩셋을 고릅니다.

메뉴얼을 참고 하시던가 회사에 전화해 물어 보셔요 ^^;

우선 비디오 카드 목록을 보기 위해 y 를 칩니다.

그럼 상당히 긴 카드 목록이 나옵니다.

Now we must configure video card specific settings. At this point you can

choose to make a selection out of a database of video card definitions.

...............

..너무 길어 중간 생략..

..........

.....

If you can't find your card in the database, there's nothing to worry about.

You should only choose a database entry that is exactly the same model as

your card; choosing one that looks similar is just a bad idea (e.g. a

GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of

hardware as can be).

Do you want to look at the card database? y

0  2 the Max MAXColor S3 Trio64V+                    S3 Trio64V+

1  928Movie                                          S3 928

2  AGX (generic)                                     AGX-014/15/16

3  ALG-5434(E)                                       CL-GD5434

4  ASUS PCI-AV264CT                                  ATI-Mach64

5  ASUS PCI-V264CT                                   ATI-Mach64

6  ASUS Video Magic PCI V864                         S3 864

7  ASUS Video Magic PCI VT64                         S3 Trio64

8  ATI 3D Xpression                                  ATI-Mach64

..............

..역시 중간 생략...

..............

300  XGA-1  (ISA bus)                                  XGA-1

301  XGA-2  (ISA bus)                                  XGA-2

302  miro miroMedia 3D                                 S3 ViRGE

Enter a number to choose the corresponding card definition.

Press enter for the next page, q to continue configuration.

여기서 가장 적합하다고 생각하는 번호를 적으십시오.

5. X 서버 고르기

================

칩셋을 선택하였으면 다음으로는 X 서버를 고릅니다.

위에서 특정 비디오 카드를 선택 하셨으면 당연히 5번을 선택하지요.

Now you must determine which server to run. Refer to the manpages and other

documentation. The following servers are available (they may not all be

installed on your system):

1  The XF86_Mono server. This a monochrome server that should work on any

VGA-compatible card, in 640x480 (more on some SVGA chipsets).

2  The XF86_VGA16 server. This is a 16-color VGA server that should work on

any VGA-compatible card.

3  The XF86_SVGA server. This is a 256 color SVGA server that supports

a number of SVGA chipsets. On some chipsets it is accelerated or

supports higher color depths.

4  The accelerated servers. These include XF86_S3, XF86_Mach32, XF86_Mach8,

XF86_8514, XF86_P9000, XF86_AGX, XF86_W32, XF86_Mach64, XF86_I128 and

XF86_S3V.

These four server types correspond to the four different "Screen" sections in

XF86Config (vga2, vga16, svga, accel).

5  Choose the server from the card definition, XF86_SVGA.

Which one of these screen types do you intend to run by default (1-5)? 5

그리고 나서는 꼭 사용할 서버가 /usr/X11R6/bin 에 있는지 확인 합니다.

The server to run is selected by changing the symbolic link 'X'. For example,

'rm /usr/X11R6/bin/X; ln -s /usr/X11R6/bin/XF86_SVGA /usr/X11R6/bin/X' selects

the SVGA server.

The directory /var/X11R6/bin exists. On many Linux systems this is the

preferred location of the symbolic link 'X'. You can select this location

when setting the symbolic link.

Please answer the following question with either 'y' or 'n'.

Do you want me to set the symbolic link? y

Do you want to set it in /var/X11R6/bin? y

위에서 모두 y 라고 치시면 됩니다.

6. 비디오 램 크기

=================

비디오 램은 보통 3번(1메가)이나 4번(2메가) 입니다.

이 역시 자신에게 알맞게 설정 하시길.

Now you must give information about your video card. This will be used for

the "Device" section of your video card in XF86Config.

...............

.............

How much video memory do you have on your video card:

1  256K

2  512K

3  1024K

4  2048K

5  4096K

6  Other

Enter your choice:

그러면 비디오카드 이름 들을 물어 오는데 이도 귀찮으면 엔터만 치고 넘어가도

됩니다.

The strings are free-form, spaces are allowed.

Enter an identifier for your video card definition:

You can simply press enter here if you have a generic card, or want to

describe your card with one string.

Enter the vendor name of your video card:

Enter the model (board) name of your video card:

7. 가속 서버에 대한 램댁, 클럭 칩 설정

======================================

이번엔 램댁 설정인데 이는 S3와 AGX 서버에만 해당 하므로 일반적으로

q 를 치고 그냥 넘어가면 됩니다.

Especially for accelerated servers, Ramdac, Dacspeed and ClockChip settings

or special options may be required in the Device section.

The RAMDAC setting only applies to the S3, AGX, W32 servers, and some

drivers in the SVGA servers. Some RAMDAC's are auto-detected by the server.

The detection of a RAMDAC is forced by using a Ramdac "identifier" line in

the Device section. The identifiers are shown at the right of the following

table of RAMDAC types:

1  AT&T 20C490 (S3 and AGX servers, ARK driver)                att20c490

2  AT&T 20C498/21C498/22C498 (S3, autodetected)                att20c498

3  AT&T 20C409/20C499 (S3, autodetected)                       att20c409

................

.......

10  S3 SDAC (86C716) (autodetected)                             s3_sdac

11  STG-1700 (S3, autodetected)                                 stg1700

12  STG-1703 (S3, autodetected)                                 stg1703

Enter a number to choose the corresponding RAMDAC.

Press enter for the next page, q to quit without selection of a RAMDAC.

다음으로는 클럭 칩이라는걸 설정하는데 이도 엔터만 치고 그냥 넘어

가십시오.

A Clockchip line in the Device section forces the detection of a

programmable clock device. With a clockchip enabled, any required

clock can be programmed without requiring probing of clocks or a

Clocks line. Most cards don't have a programmable clock chip.

Choose from the following list:

1  Chrontel 8391                                               ch8391

2  ICD2061A and compatibles (ICS9161A, DCS2824)                icd2061a

3  ICS2595                                                     ics2595

.................

.........

10  TI 3025 (autodetected)                                      ti3025

11  TI 3026 (autodetected)                                      ti3026

12  IBM RGB 51x/52x (autodetected)                              ibm_rgb5xx

Just press enter if you don't want a Clockchip setting.

What Clockchip setting do you want (1-12)?

다음으로 클럭 주파수 점검을 합니다.

엔터를 치고 그냥 넘어 갑시다.

For most configurations, a Clocks line is useful since it prevents the slow

and nasty sounding clock probing at server start-up. Probed clocks are

displayed at server startup, along with other server and hardware

............

........

You must be root to be able to run X -probeonly now.

The card definition says to NOT probe clocks.

Do you want me to run 'X -probeonly' now?

8. 해상도 선택

===============

이는 사용할 해상도를 선택하는 것입니다. 기본적으로

256컬러(8bpp)에 대해 640X480, 800X600, 1024X768, 1280X1024

3만2천컬러(16bpp)도 640X480, 800X600, 1024X768, 1280X1024

트루컬러(32bpp)에 대해서는 640X480, 800X600, 1024X768 까지 기본적으로

설정되어 있습니다. 그러므로 그냥 엔터만 치셔도 됩니다.

Note that 16, 24 and 32bpp are only supported on a few configurations.

Modes that cannot be supported due to monitor or clock constraints will

be automatically skipped by the server.

1  Change the modes for 8pp (256 colors)

2  Change the modes for 16bpp (32K/64K colors)

3  Change the modes for 24bpp (24-bit color, packed pixel)

4  Change the modes for 32bpp (24-bit color)

5  The modes are OK, continue.

Enter your choice:

처음부터 640X480 으로 뜨길 원치 않으시면 각 해상도에 대해 수동으로 셋팅을

해 줍니다. 만약 위에서 1번을 고르셨다면 256 컬러로 뜰때의 해상도를

아래에서 고르실 수 있습니다.

Select modes from the following list:

1  "640x400"

2  "640x480"

3  "800x600"

4  "1024x768"

5  "1280x1024"

6  "320x200"

7  "320x240"

8  "400x300"

Please type the digits corresponding to the modes that you want to select.

For example, 432 selects "1024x768" "800x600" "640x480", with a

default mode of 1024x768.

Which modes? 4321

이렇게 4321 이라고 입력 하시면 위에서 택한 256 컬러에 대해 4321의 순서로

엑스 윈도우가 뜹니다.

그러면 다시 처음 화면으로 돌아오고 계속 반복 하다가 5번을 눌러 완료

시킵니다.

Shall I write it to /etc/XF86Config?

마지막으로 XF86Config를 어디에 저장할지 물어오는데 y 라고 대답해

/etc 디렉토리에 저장 하도록 합니다.

9. startx

=========

startx 로 액스 윈도우를 실행시켜 봅시다.

만약 화면이 너무 크다거나 그러면 <Ctrl> + <Alt> + <+> 혹은

<Ctrl> + <Alt> + <-> 로 해상도를 변화 시킬 수 있습니다.

여기서 주의점은 <+> <-> 는 오른쪽 숫자 키패드에 있는 것입니다.

또한 엑스 윈도우가 이상하게 떠서 강제료 종료 시키고 싶으시면

<Ctrl> + <Alt> + <Backspace> 를 누르시면 강제 종료 됩니다.

----------------------------------------------------------------------------

성공 하시길 빌며... 될때까지 계속 해 보셔요...^^;;

더 상세한 셋팅 법은 다음 강좌에 올리겠습니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 24번

제  목:[참고] et4000혹은 et6000 X 서버설정하기

올린이:stoneonl(김석기  )    97/06/08 03:06    읽음:4083 관련자료 없음

-----------------------------------------------------------------------------

et4000이나 et6000은 x33w32 서버보다는

x33svga가 낫습니다. 왜냐하면 x33w32는

8비트만 지원을 하고 있습니다.

제 경우에는 그렇더군요

비디오램이 4메가경우와 svga서버로 쓰실경우

8비트 16비트 24비트 32비트까지 다 쓸수 있습니다.

해상도는 모니터가 지원하는 한도내에서입니다.

제경우 1024*768 24비트까지 완벽하게 되던데 32비트는

svga32a에서는 화면에 흡집이 나던데

svga33으로 바꾸훈 아무런 문제가 없었습니다.

전 삼성전관 14인치 sc-428vx입니다.

우선

xf86config

라고 칩니다.

그럼 다른 것은 전에하는 대로 하고

비디오 카드 선택할때 et4000이나 et6000으로 자기

그래픽 카드에 맞게 지정하고

(trident계열도 마찬가지)

x서버를 지정할때 다음의 3번을 선택하십시오

3 The XF86_SVGA Server. This is a 16-color.......

그리고 자료실에 x33svga.tgz를 받습니다.

이걸 자기 홈디렉토리에 옮깁니다. 아무데나

풀면 안되니까요

그리고 압축을 풉니다.

tar -xvzf x33svga.tgz

그러면 bin라는 하위디렉토리가 생깁니다.

cd bin

을 하고 나면 XF86_SVGA가 있을 겁니다

cp XF86_SVGA -i /usr/X11R6/bin/

하십시오 같은 화일이 있다고 물어보면 Y라고 적으세요

그리고 나서

다음은 XF86Config입니다.

cd /etc/XF86Config

vi XF86Config

로 해서

Option "linear"

(트라이던트는 다음과 같은 옵션을 적으세요

Option "med_dram"

안되면

Modeline  #Modeline으로 바꾸시기 바랍니다.제

그래픽카드가 달라서 테스트틀 안해봤습니다.

얘기만 들었으니까요 )

추가하시기 바랍니다. 밑에도 추가 시켜 났죠

다음은 제 XF86Config화일입니다.

--------------------생략--------------------------------

# **********************************************************************

# Graphics device section

# **********************************************************************

-------생략---------------

# Device configured by xf86config:

Section "Device"

Identifier  "BEST 6000"

VendorName  "THENG"

BoardName   "ET6000"

Option      "linear"

VideoRam    4096

# Insert Clocks lines here if appropriate

EndSection

# **********************************************************************

# Screen sections

# **********************************************************************

----------생략------------

그외의 그래픽 카드는 다 되는 걸로 알고 있습니다.

그럼 안녕히

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 25번

제  목:[참고] 유닉스 기초강좌가 있는 곳

올린이:pey1    (박은영  )    97/06/08 11:47    읽음:5190 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

리눅스는 유닉스와 기본 골격이 비슷 합니다.

(절대 "리눅스=유닉스"라는 말이 아닙니다)

그러므로 기본적인 유닉스 지식은 리눅스에서도 활용이 가능 합니다.

여러분이 리눅스를 접하실때 유닉스 기본 지식을 알고 접하신다면 조금은

리눅스 사용이 순조로와질 것입니다.

(그렇다고 해서 유닉스를 모르면 리눅스 사용 못 하는게 아닙니다 ^^)

여러분에게 조금이나마 도움이 되길 바라는 마음으로 유닉스 기본 강좌를 찾아

보았습니다. 12-2 강좌란에서 "lt 유닉스" 하니 다음과 같은 제목들이 올라

^^^^^^^^^^

오더군요 ^^;

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX        리눅스 배움터-리눅스 강좌 / 연재 (LT : 유닉스)           1/마지막

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

328 jiinny   김지인   09/22 1383   6 [초보강좌] 유닉스는 무엇입니까? [05]

327 jiinny   김지인   09/22 1138  12 [초보강좌] 유닉스는 무엇입니까? [04]

326 jiinny   김지인   09/22 1208  12 [초보강좌] 유닉스는 무엇입니까? [03]

325 jiinny   김지인   09/22 1360   6 [초보강좌] 유닉스는 무엇입니까? [02]

324 jiinny   김지인   09/22 2004   5 [초보강좌] 유닉스는 무엇입니까? [01]

323 jiinny   김지인   09/22 1313   3 [초보강좌]유닉스의 가장 기본이 되는 명

216 dontgo2  이종탁   02/17 2275 104 [강좌] 라눅스 유닉스.인터넷

214 dontgo2  이종탁   02/17 2300  54 [강좌] 리눅스 유닉스 인터넷 가기

213 dontgo2  이종탁   02/17 3117  30 [강좌] 리눅스/ 유닉스 초보강좌....

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

12-1 에서는 "lt unix" 해서 다음 자료를 찾았습니다.

^^^^^^^^^

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX        리눅스 배움터-HOWTO / FAQ / Readme (LT : unix)           1/마지막

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

389 maninet  최성백   03/05  198  65 [Unix FAQ] 유닉스 뉴스그룹에서 가져옴

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

그럼 모쪼록 읽어보시고 도움 되시길....

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 26번

제  목:[참고] 머드넷님 강좌(에디터,통신,쉘등등)

올린이:pey1    (박은영  )    97/06/08 12:09    읽음:3485 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

흠흠...에디터 사용법을 찾다가 우연히 발견한 내용들을 올립니다.

12-2 에서 "li 머드넷" 하니 많이도 올라오는군요 ^^;

에디터, 통신, 쉘 등등..........

기본적으로 필요한 내용이니 한번 들러서 읽어 보시길...

( 참고로 전 머드넷님과 채팅은 커녕 쪽쥐 한번 왕래한 적이 없는 전혀 엮을

게 없는 무관한 사이임을 밝힙니다.....리눅스 사용자라는 점은 공통 이네요.....

.......캬캬캬)

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX        리눅스 배움터-리눅스 강좌 / 연재 (LI : 머드넷)             1/다음

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

223 머드넷   황동준   03/14 1789   4 [필독] 엑수 컨피그 단 10초만에..

128 머드넷   황동준   08/17 1703  10 [통신] xc 사용법

127 머드넷   황동준   08/17 1775  14 [통신] minicom 사용법

126 머드넷   황동준   08/16 2574  21 [자유강좌] 시스템관리하기   #마지막

125 머드넷   황동준   08/15 2853  71 [자유강좌] 도스 & 한글       #20

122 머드넷   황동준   08/10 3979  36 [자유강좌] 리눅스와 통신         #19

120 머드넷   황동준   08/8 2474  53 [자유강좌] 디바이스           #18

115 머드넷   황동준   08/04 2134  13 [자유강좌] 아카이브&압축&링크 #17

112 머드넷   황동준   08/01 2050   6 [자유강좌] C쉘 프로그래밍      #16

111 머드넷   황동준   08/01 1959  10 [자유강좌] C쉘 프로그래밍      #15

109 머드넷   황동준   08/01 2322  13 [자유강좌] C쉘 프로그래밍      #14

108 머드넷   황동준   07/31 2021   9 [자유강좌] 본쉘 프로그래밍     #13

107 머드넷   황동준   07/31 2421  22 [자유강좌] 본쉘 프로그래밍     #12

106 머드넷   황동준   07/27 2893  16 [자유강좌] 프린터 사용법      #11

103 머드넷   황동준   07/25 2130  9 [자유강좌] emacs 에디터      #10

102 머드넷   황동준   07/24 2517  11 [자유강좌] emacs 에디터     #9

100 머드넷   황동준   07/19 2777  14 [자유강좌] VI 에디터     #8

97 머드넷   황동준   07/18 2148  16 [자유강좌] 쉘 & 필터            #7

96 머드넷   황동준   07/17 2525   8 [자유강좌] 쉘               #6

95 머드넷   황동준   07/16 3181  12 [자유강좌] Linux & X Window System #5

94 머드넷   황동준   07/15 2813   9 [자유강좌] Linux & X Window System #4

93 머드넷   황동준   07/14 3041  16 [자유강좌] Linux & X Window System #3

92 머드넷   황동준   07/14 3403   8 [자유강좌] Linux & X Window System #2

91 머드넷   황동준   07/14 5433   6 [자유강좌] Linux & X Window System #1

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

구럼..........꾸벅 ^^;

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 27번

제  목:[참고] 에디터(편집기)인 vi, emacs 사용법

올린이:pey1    (박은영  )    97/06/10 03:32    읽음:4203 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

리눅스의 대표적 에디터에는 pico, vi, emacs(hanemacs) 가 있습니다.

편집기는 리눅스를 사용할때 여러 프로그램들의 다영한 셋팅을 위해서라도

필수적으로 익혀야 하는 것이지요.

우선 강좌란에 있는 에디터 사용법을 올립니다.

12-2 에서 "lt vi" 하면 다음과 같이 나오고....

^^^^^^^

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX          리눅스 배움터-리눅스 강좌 / 연재 (LT : vi)             1/마지막

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

105 liger    김진희   07/26 1583   6 [편집기] vi editor 사용법

100 머드넷   황동준   07/19 2778  14 [자유강좌] VI 에디터     #8

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

12-2 에서 백흥주님의 리눅스 설치 강좌에도 vi 사용법이 있습니다.

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX         리눅스 배움터-리눅스 강좌 / 연재 (LI : paek)            1/마지막

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

366 paek     백흥주   01/03 1187   9 [강좌 09] 리눅스 인스톨부터 사용까지...

364 paek     백흥주   12/26 1073  10 [강좌 08] 리눅스 인스톨부터 사용까지...

363 paek     백흥주   12/26 1281  12 [강좌 07] 리눅스 인스톨부터 사용까지...

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

그리고 신기에 가까운...emacs 사용법은 12-2 에서 "lt emacs"로 찾습니다.

^^^^^^^^^^

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX         리눅스 배움터-리눅스 강좌 / 연재 (LT : emacs)           1/마지막

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

103 머드넷   황동준   07/25 2132   9 [자유강좌] emacs 에디터      #10

102 머드넷   황동준   07/24 2520  11 [자유강좌] emacs 에디터     #9

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

마지막으로 hanemacs 사용법은 하이텔에서 가져다가 올리도록 하겠습니다.

그럼..강좌들 읽어 보시고...에디터에 익숙해 지시길....^^;

참!!!!!!!!!!!

언제든지 man 페이지는 잊지 마셔요 =)

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 28번

제  목:[강좌] 하니맥(hanemacs) 사용법 - 1장

올린이:pey1    (박은영  )    97/06/10 04:25    읽음:4615 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

하이텔에서 하니맥 사용법을 퍼다 올립니다.

하이텔에 올린 분도 천리안에서 가져 오셨더군요 ^^;

기능이 무궁무진한 하니맥 사용에 도움 되시길...

** 순 서 **

[1] hanemacs 소개               ................

[2] hanemacs 의 기동                           :

[3] 하니맥 화면                                :

[4] 명령어의 입력방식과 이맥스 종료           1장

[5] 모드(Modes)                                :

[6] 도움말                      ...............:

[7] 기본 명령어                 ................

[8] 검색(Search)과 치환(Replace)               :

[9] 버퍼에서의 편집                            :

[10] 환경 설정                                 :

[11] shell 명령                               2장

[12] c-mode                                    :

[13] vi 모드                    ...............:

--------------------------------------------------------------------------

번호:38/51  등록자:KAKER  등록일시:96/10/27 19:30  길이:880줄

제 목 : [강좌]Emacs(or 하니맥) 시작하기 5th edition

---------------------------------------------------------------------------

천리안에 Emacs 매뉴얼은 있어야 겠다는 생각에서 이글을 쓰기 시작했는데

짧은 영어로 원서와 씨름하려니 어려움이 많군요. 잘못된 점에 대해서는 메일

바랍니다.

최종호(kaker)

참고한책

Learning GNU Emacs:Debra Cameron and Bill Rosenblatt

유닉스 일주일 완성:Dave Taylor, 김창룡 역

기타 여러 리눅스 관련 게시판의 글들

[1] hanemacs 소개

hanemacs-2.1은 Richard Stallman이 만든 GNU Emacs를 김강희님이 한글사

용이 가능하도록 만든것으로 Emacs 의 모든 기능을 구현하며 한글 완성형,조

합형, 한자의 사용이 가능합니다. GNU Emacs 는 현재 19.31 버전이 나와 있

으나 Hanemacs 는 emacs-19.30 을 기반으로한 2.1 버전이 최신판 입니다.

hanemacs-2.1.tar.gz 은 자료실에 있으며 설치법은 7번 게시판에 제가 올린 글

이 있읍니다.

Emacs는 유연성과 확장성을 갖는 통합 에디터로 간단한 에디터 모드에서

여러가지 프로그래밍에 적합한 모드, Tex, LaTex 모드,W3 모드(웹브라우저)등

이 있고,여러가지 환경으로 변환할 수 있으며, 사용자가 임의로 수정하거나 새

로운 모드를 만들수도 있읍니다.

Emacs 는 1500개 이상의 명령 또는 기능을 가지고 있으며, 따라서 그 막강한

기능에도 불구하고 사용을 경외시 하는 경향도 있는것 같읍니다.

저도 이맥스에대해 많이 모릅니다. 그러나 이제 처음 이맥스를 사용 하시려는

분에게 도움이 되리라는 생각에서 이글을 씁니다.

Emacs는 단순한 편집기가 아닙니다. 리눅스속의 또하나의 운영체제라고

할수 있읍니다.  vi모드에서는 vi 명령을 수행할수 있으며,shell 모드에서는

셸 명령을 수행할 수있읍니다. W3 모드에서는 웹브라우저의 기능을 수행하며

무엇 보다도 강력한 프로그래밍 환경을 제공 합니다.

c, c++,fortran,Lisp, 등의 언어에따른 모드가 있으며, 이를 자동으로 인지하여

각각에 적합한 환경을 제공합니다.

예를 들어 확장자가 *.c 인 파일을 부르면 자동으로 c-mode 로 바뀝니다.

editting,debugging,compiling 까지 할수있는 통합 개발 환경을 제공합니다.

Emacs는 현재 거의 모든 유닉스 기계에 포팅되어 있으며,도스용,윈95용도

나와 있읍니다. GNU Emacs 의 완벽한 한글 버전을 만드신 김강희님께 감사

드립니다.

[2] hanemacs 의 기동

하니맥의 기동은 간단하다.

(1)콘솔에서는 han을 띄우고

hanemacs      또는

hanemacs filename

(2)엑스에서는 한텀상에서

hanemacs -nw  또는

hanemacs -nw filename

(3)엑스윈도우에서는 셸에서는(한텀을 사용치 않고)

hanemacs  또는

hanemacs filename

이때는 아무 텀이나 띄워놓고 명령을 실행하거나 윈도우 관리자로 fvwm2

를 사용하는 경우 적당한 Popup 메뉴 항목에 다음 라인을 추가한다.

+                       "Hanemacs"      Exec exec hanemacs &

.fvwm2rc 뒷부분에 가면 FvwmButtons 를 설정하는 부분이 있는데 적당한

위치에 다음 라인을 추가하면 엑스에서 버튼 한번 클릭으로 하니맥을 기동할

수 있다.

*FvwmButtons hanemacs emacs.xpm  Exec "Hanemacs" hanemacs &

이전 버전의 fvwm을 사용한다면 .fvwmrc 의 Applications 과 같은 Pop Up

윈도우에 다음 라인을 추가한다.

Exec    "Hanemacs"     exec hanemacs &

GoodStuff를 사용하시는 분이라면 GoodStuff에 다음 항목을 추가한다.

*GoodStuff hanemacs emacs.xpm    Exec "Hanemacs" hanemacs &

이맥스의 창 크기가 너무 커 한번에 보기 힘들다면 홈디렉토리의 .Xdefaults

에 다음 라인을 추가한다.

Emacs*geometry: 80x26

위에서  80x26 부분은 이맥스 터미널 창의 크기를 정하는 것으로 각자의

모니터크기와 취향에 맞게 숫자를 바꿔가며 알맞게 설정하면 된다.

이 방법으로 하니맥을 기동하면 하니맥은 스스로 시스템에 있는 한글 폰트를

찾아 사용하도록 해준다. 폰트가 마음에 안들면 물론 마음에 드는 폰트로

설정을 바꿀수 있다.

간단한 텍스트 파일을 편집하는 것이라면 한텀에서 띄우는 것이 편리하나

프로그래밍이라면 shell에서((3)의방법) 하니맥을 기동하는 것이 좋다.

필자는 항상 이방법으로 하니맥을 기동한다. 왜냐하면 이 방법으로 해야

풀다운 메뉴를 사용할 수 있으며 c-mode,c++ -mode, 등으로의 자동 전환이

이루어진다.

[3] 하니맥 화면

+--------- 풀다운 메뉴

|

+-----------------------------------------------------------------+

| Buffers Files Tools Edit Search Help                            |

+-----------------------------------------------------------------+

|+--+                                                             |

||  |<--커서                                                      |

|+--+                                                             |

|                                                                 |

|                                                                 |

|                                                                 |

|                                                                 |

|                                                                 |

|                                                                 |

|                                                                 |

|                   +----버퍼 이름           +---버퍼의 표시된부분|

|                   |                        |   의 비율          |

+-----------------------------------------------------------------+

|한/완/2--**-Emacs: myfile    (Text Fill)----All----------------- |

+-----------------------------------------------------------------+

+->|M-x                                                           |

+-----------------------------------------------------------------+

새 파일을 작성키위해 하니맥을 기동한 경우의 화면이다.

맨 위에는 PullDown 메뉴가 있으며 편집화면의 시작 부분에 커서가 놓여있다.

모드가 바뀌거나 편집 상황이 변함에 따라 풀다운 메뉴에는 새항목이 추가 되

거나 없어진다.

편집 화면 바로 밑은 모드라인(mode line)이며 여기에는 한글 입력 상태, 완성

형 한글 사용, 2벌식 자판등의 정보가 표시되고, 편집버퍼 이름은 myfile, 주모

드(major mode)는 Text, 부모드(minor mode)는 Fill 이며, 버퍼의 모두(All)가

화면에나타나고 있음을 보여 준다."Emacs" 왼쪽에 ** 가 있다면 현재 이버퍼

가 수정되었음을 나타내는 것이다.

제일 밑은 미니버퍼(minibuffer) 또는 에코 영역(echo area)이라 부르는데 명령

어 입력등에 사용되며, 현재 M-x 가 입력되어 다음 명령어의 입력을 기다리고

있다.

[4] 명령어의 입력방식과 이맥스 종료

(1)키 입력 방식으로의 명령

명령어는 콘트롤키와 알트키와의 조합으로 이루어 지는데

Ctrl키를 누른 상태에서 x를 누르는 것을 C-x 로 표시

Alt키를  누른 상태에서 x를 누르는 것을 M-x 로 표시

이때 Alt 키를 Meta 키라고도 하는데 Alt 가 없는 기계에서는

Esc 로 대신합니다. 한텀에서 하니맥을 -nw 옵션으로 기동한

경우 Alt 키가 안듣는 경우가 있는데 이때는 홈디렉토리의

.Xdefaults에 다음의 한줄을 추가한다.

Hanterm*eightBitInput: False

엑스에서 .Xdefaults를 수정한 경우 유효 하려면 엑스를 다시

기동하거나 다음의 명령을 수행하면 됩니다.

xrdb -load .Xdefaults

-------------

completions

-------------

또하나 알아 둘 것이 있다.

우리가 셸 프롬프트에서 명령어나 파일명을 입력할때 리눅스가 구별할

정도만 타이핑하고 탭(Tab)키를 누르면 리눅스가 나머지 키 입력을 해

주어 타이핑 작업을 도와 주는데, 이를 completions 라한다.

예를 들면 hanemacs-2.1.tar.gz을 복사하기 위해 cp 입력한 뒤 han 을

입력하고 Tab 를 누르면 리눅스가 다음과 같이 키 입력을 완성시켜 준다.

cp hanemacs-2.1.tar.gz

이때 han 으로 시작하는 다른 파일이 있다면 삑하는 소리와 함께 구별할

수 있는 새로운 글자의 입력을 기다리고 있을것이다. 이때 e 를 입력하고

RETURN하면, 더이상 일치하는 다른 이름이 없으면 위와 같은 결과를 얻을

수 있다. 윈도우를 기동하기 위해 콘솔에서 sta 까지만 치고 Tab 를 누르면

startx 라고 완성되는 것을 볼 수 있다.

이맥스에서도 completions를 지원한다. 미니 버퍼에서 파일명이나 명령어를

입력할 때 이를 시험해 보길 바란다.

(2)풀다운 메뉴에서의 명령

한텀에서가 아니고 shell에서 하니맥을 기동하면 상단에 PullDown 메뉴가

있는것을 볼 수 있다.

왼쪽 마우스 버튼으로 Files 를 클릭하면 메뉴가 나타나는데 여기서

"Open File ... (C-x C-f)" 를 선택하면 미니버퍼(mini buffer)에

Find File ~/

위와 같은 파일명 입력창이 나타나는데, 여기에 파일명을 입력하면

홈디렉토리 밑에 있는 파일을 에디터에 불러온다.

찾는 파일이 ~/ 에  있으면 파일명만 입력하면 되고 그렇지 않으면

백스페이스를 사용하거나하여 디렉토리를 고치고 파일명을 입력한뒤

RETURN을 치면 된다.

또한 명령을위해  C-x, M-x 등을 입력하면 미니버퍼에 C-x- 등이

나타나며, 상단의 풀다운 메뉴에는 Minibuf라는 항목이 새로 생기는

것을 볼수 있읍니다.

명령을 잘못한 경우 미니버퍼에서 빠져 나와야 하는데 이때는 C-g 를

누르거나, 풀다운 메뉴의 Minibuf 항목을 클릭한뒤 Quit를 선택한다.

(3)이맥스 종료

이맥스를 종료하지 않고 일시적으로 실행을 중지(Sunpend)할때는 C-z 을 누른

다. X-window 에서는 타이틀바의 4번 마우스버튼(오른쪽에서 두번째버튼)을

사용해도 되나 콘솔에서는 C-z 을 눌러 실행을 일시 중지시키면 프롬프트가

뜬다. 다시 이맥스를 실행시키려면 exit 또는 fg 를 타이핑하고 RETURN 하면

된다.

이맥스를 종료할때는 C-x 를 누르고 C-c 를 누릅니다. 이것을 C-x C-c 와 같

이 표기한다.

이렇게 하면 편집 파일을 저장할것인지 물어오는데 y,n,....등으로 답하면 된다.

y 라고 답하면 파일을 저장하고 이맥스는 종료된다. 이때 vi 와 달리filename~

과 같은 형태로 백업 파일을 만든다.

만일 n 라고 답하면 다시 어떻게든 빠져 나갈것이냐고 묻는데 이때 yes 라고

답하면 파일을 변경하지 않고 이맥스를 종료한다. 이때 버퍼의 편집 내용은

#filename# 의 형태로 저장된다. 비정상 종료되었을때에도 이와 같다.물론 필요

하면 이맥스에서 다시 불러 편집할 수 있다.

[5] 모드(Modes)

여기서 말하는 모드는 vi 편집기에서와 같은 의미의 모드가 아니다.

vi 에는 편집 모드와 명령 모드가 있어 ESC , i 등으로 전환하고 있다.

이러한 의미의 모드는 이맥스에는 없다. 즉 이맥스는 언제나 편집할 수 있는

상태에 놓여 있다.

물론 이맥스도 모드를 가지고 있으나 그것은 서로 다른 작업 환경과 기능을

제공하는 것으로 vi 편집기의 그것과는 다르다.

각각의 모드에서 이맥스는 작업에 따라 적합하게 행동한다. 모드에는 주모드

(Major Modes)와 부모드(Minor Modes)가 있으며 중요한 것들로 다음과 같은

것들이 있다.

----------------------

주 모드( Major Modes)

----------------------

모드(Modes)            | 기능(Function)

-----------------------|--------------------------------------------------

Fundamantal mode       | 디폴트 모드,특별한 행동을 가지고 있지 않다

Text mode              | 텍스트를 쓴다

Indented text mode     | Indents all the text you type

Picture mode           | 간단한 선 그림 그리기

C mode                 | C 프로그램의 작성

FORTRAN mode           | FORTRAN 프로그램의 작성

Emacs LISP mode        | Emacs LISP 함수의 작성

LISP mode              | LISP 프로그램의 작성

LISP interaction mode  | LISP 표현들의 작성과 검토

nroff mode             | nroff를 위한 파일의 포맷팅

TeX mode               | TeX를 위한 파일의 포맷팅

LaTeX mode             | LaTeX를 위한 파일의 포맷팅

Scribe mode            | For formatting files with Scribe

Outline mode           | For writing outlines

View mode              | 편집하지 않고 파일을 보여주기만 한다

----------------------

부 모드(Minor Modes)

----------------------

부 모드는 어떤 주 모드에 종속되어 특정한 기능을 수행한다

모드(Modes)            | 기능(Function)

-----------------------|---------------------------------------------

Abbrev mode            | 약어의 사용을 허가한다

Fill mode              | word wrap(둘러싸기)을 가능하게 한다

Overwrite mode         | 글자를 삽입하지 않고 대치 시킨다(겹쳐 쓴다)

Auto-save mode         | 일정한 시간이 경과할 때마다 파일을 자동 저장

[6] 도움말

C-h 를 누르면 온라인 도움말 체계에 들어가며

C-h f 를 누르면 미니버퍼에 입력하는 문자열의 기능을 설명한다. 예를 들어

find 라고 입력하고 RETURN을 치면 또하나의 윈도우가 열리며 find 로 시작

되는 여러 이맥스 명령어들이 나열된다.

이때 기능을 알고자 하는 단어의 spelling 을 다 몰라도 거정할것 없다.

위에서 설명한 completions 기능을 활용하면 된다. 앞의 몇글자만 입력하고

스페이스바를 누르면 하나의 윈도우가 열리며 관련된 여러 기능이 나열된다.

그 다음 구별될 때까지 한두 글자 더 누른뒤 탭(TAB)을 누르면 spell 이 완성

된다. 그다음 RETURN, 또는 마우스로 클릭한뒤 RETURN 해도 된다.

C-h k 를 누르면 emacs 에서 사용하는 키(key)에 대한 설명을한다

C-h b 를 누르면 어떤 키가 무슨 기능을 수행하는지 keybindings list 를 볼

수 있다. 화살표키로 스크롤(scroll)하며 볼 수 있다.

C-h m 을 누르면 현재의 주 모드에 대한 설명이 나온다

위의 도움말에서 빠져 나오려면 편집화면이 포커스(Focus)된 상태에서 현재의

윈도우를 풀스크린으로 하는 명령인 C-x 1 을 누르면 된다.

c-h i 매뉴얼을 찾는다. 나열된 항목을 선택해 가며 계속 찾아 볼 수있다.

빠져 나올때는 q 를 치면 된다.

C-h F 새로운 버퍼에 emacs FAQ를 불러온다. 빠져 나오려면 C-x k

(PullDown->Files->Kill Current Buffer)을 누른다.

위의 C-h 로 시작하는 명령은 필자의 시스템에서는 C-h가 왼쪽의 한글자를

지우는 역할을하여 안듣는데, 그때는 풀다운 메뉴를 이용해야 한다.

M-x info 하여 이맥스 매뉴얼을 볼수 있다. 화면에 매뉴얼이 나타나고 필요로

하는 항목에 커서를 놓고 RETURN을 치면 그 항목에 대한 매뉴얼이 나타난

다. 빠져 나오려면 q를 치면 된다.

그 밖에 풀다운 메뉴의 Help 항목을 보면 유용한 도움말 항목들이 있다.

-----------------------------------------------------------------------------

다음장에 계속 ^^;

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 29번

제  목:[강좌] 하니맥(hanemacs) 사용법 - 2장

올린이:pey1    (박은영  )    97/06/10 04:36    읽음:3453 관련자료 없음

-----------------------------------------------------------------------------

[7] 기본 명령어

이맥스의 명령어는 작그마치 1500 여개나 된다고 한다. 그러나 자기에게 필요

한 명령은 그렇게 많은것이 아닐터이니,우선 기본 명령어를 익히고 차츰 익혀

나가기로 한다. 지레 겁먹을 필요는 없을듯 일주일 정도만 사용하면 불편없이

사용할 수 있다.

한영 전환은 Shift+ Space 로 한다.

(1) 파일 열기와 저장

C-x C-f           새로운 버퍼에 주어진 이름의 파일을 불러온다

C-x C-v           방금 불러온 화일 대신 다른 화일을 불러온다

C-x d             디렉토리를 연다

C-x C-s           파일 저장

C-x C-w           파일을 다른 이름으로 저장

(2) emacs 종료

C-x C-c        버퍼를 저장하고 emacs를 종료,이때 파일을 저장할 것인지 묻는다

C-z            emacs 를 실행중지(suspend)시킨다. 다시 시작은 exit or fg

(3) 도움말 기능

C-h            온라인 도움말 체계에 들어간다

C-h f          미니 버퍼에 입력하는 기능(function)에 대해 설명한다

C-h k          미니 버퍼에 입려하는 키(key)에 대해 설명한다

C-h b          키바인딩 리스트를 보여준다

c-h m          현재의 주모드에 대한 설명

C-h i          emacs 매뉴얼을 찾아 본다

C-h t          emacs 내장 tutorial(교사)를 부른다

C-h F          emacs FAQ 를 불러온다

M-x info       emacs 매뉴얼을 볼수 있다

(4)이동명령

C-f           한글자 앞으로 이동

C-b           한글자 뒤로   이동

C-p           커서를 이전라인으로 이동

C-n           커서를 다음라인으로 이동

M-f           한단어 앞으로 이동

M-b           한단어 뒤로   이동

C-a           라인의 시작 위치로

C-e           라인의 끝으로

M-a           문장의 처음으로 이동

M-e           문장의 끝으로 이동

M-[           한 절(paragraph) 뒤로 이동

M-]           한 절 앞으로 이동

C-v           한화면 앞으로 이동

M-v           한화면 뒤로   이동

C-x [         한 페이지 뒤로  이동

C-x ]         한 페이지 앞으로 이동

M->           버퍼의 끝으로 이동

M-<           버퍼의 처음으로 이동

C-l           현재 라인이 화면의 중앙에 오도록 화면을 다시 display

M-x goto-line 숫자 n을 입력하면 파일의 처음으로부터 n 번째 라인으로 이동

M-x goto-char 숫자 n을 입력하면 파일의 처음으로부터 n 번째 글자로 이동

이밖에 화살표키와 PageUp PageDown 키를 사용하여 이동할수 있다

(5)반복 실행

M-n            다음 명령을 n 번 만큼 반복 실행

C-u n          다음 명령을 n 번 만큼 반복 실행

(6)삭제 명령

DEL           커서 바로 전의 글자 삭제

C-d           커서 밑의 글자 삭제

M-DEL         커서 이전의 단어 삭제

M-d           커서가 놓여 있는 단어 삭제

C-k           커서로 부터 라인의 끝까지 삭제

M-k           현재 문장의 나머지 부분 삭제

C-x DEL       커서 이전의 문장 삭제

C-y           직전에 삭제한것의 복구(yank)

C-w           영역 지정된 부분의 삭제

(7)겹쳐쓰기 모드( overwrite-mode)

M-x ov         기본 모드(삽입 모드)에서 겹쳐쓰기 모드로, 다시 겹쳐쓰기

모드에서 기본 모드로 바꾸는 역할, 모드라인에 Fundamental,

Fundamental Ovwrt 로 표시된다

(8) 영역 지정(Marking)...지우고,이동시키고,복사하기위하여

C-SPACE           현재 위치를 마크한다

C-@               현재 위치를 마크한다

C-x C-x           마크된 위치와현재 커서 위치를 서로 바꿈

M-h               절(paragraph)을 마크

C-x C-p           현재 페이지를 마크

C-x h             버퍼 전체를 마크

(9)붙여넣기(Yanking)

이전에 제거된 문자들을 다시 붙여 넣는것으로 아래아 한글의

블럭 복사 기능을 생각하면 된다.

C-w                  지정된 영역을 지우고 메모리에 보관

M-w                  지정된 영역을 지우지 않고 메모리에 보관

C-y                  최근에 지워진 문자들, 또는 영역 설정하여 지운 문단 삽입

C-y M-y              직전에 지운 문자들(또는 문단)의 전의것들을 삽입

M-x append-to-file   지정된 영역을 특정파일에 추가

M-x append-to-buffer 지정된 영역을 특정버퍼에 추가

M-x prepend-to-buffer지정된 영역을 특정버퍼의 앞부분에 추가

M-x copy-to-buffer   지정된 영역을 특정버퍼에 덮어씀, 따라서 종래의 내용은

없어진다

M-x insert-buffer    지정하는 버퍼의 내용을 현재 편집 버퍼로 복사

(10) 실행 취소(undo)

C-g           키보드로 입력한 명령의 취소

M-ESC ESC     키보드로 입력한 명령의 취소

C-x u         마지막 편집 내용 취소(이맥스는 메모리만 충분하면 약 30000번

까지 undo 할수있다)

C- _          C-x u 와 같은 기능,이것을 실행하려면 Ctrl과 Shift 를  동시에

누르고  _ 를 누른다.

(11) 글자,단어,라인의 전위(Transpositions)

C-t            커서 위치의 글자를 커서 이전의 글자와 바꾼다

M-t            커서 전후의 단어를 위치 이동

C-x C-t        커서가 놓여있는 라인과 그 이전 라인의 위치이동

(12) 대소 문자 전환

M-c            단어의 첫번째 글자만 대문자로 변경

M-u            한 글자 또는 한단어를 소문자에서 대문자로

M-l            한 글자 또는 한단어를 대문자에서 소문자로

M- - M-c       이전 단어의 첫글짜만 대문자로

M- - M-u       이전 단어를 대문자로

M- - M-l       이전 단어를 수문자로

C-x C-u        마크된 영역 전체를 소문자에서 대문자로

C-x C-l        마크된 영역 전체를 대문자에서 소문자로

(13)검색(Search)과 치환(Replace)

C-s             pattern을 앞으로 검색,문자열을 입력하는 것으로 검색이된다

검색을 계속하려면 C-s 를 누른다.

C-r             pattern을 뒤로 검색, 계속은 C-r

DEL             부정확하게 입력된 검색 문자열(search string)을 하나씩 지운다

ESC             검색을 종료한다(빠져 나온다).

C-g             검색 시작할때의 위치로 돌아감,입력한 명령의 취소 기능을 갖는

것이나 여기서는 원래 위치로 돌아가는 역할을 수행

(14) 버퍼 다루기

C-x C-s              파일 저장

C-x C-w              파일을 다른 이름으로 저장

C-x i                현재 편집 버퍼에 다른 파일을 읽어들임

C-x b                편집중인 버퍼간의 이동

C-x C-b              열려있는 모든 버퍼 목록을 나열

C-x C-q              버퍼를 read-only 로 만든다

C-x k RETURN         현재 편집 버퍼를 닫는다(kill buffer)

(15) 윈도우(window) 다루기

C-x 0             현재의 윈도우를 닫는다

C-x 1             현재의 윈도우를 풀스크린으로

C-x 2             현재의 윈도우를 수평으로 둘로 나눈다

c-x 5             현재의 윈도우를 수직으로 둘로 나눈다

c-x >             윈도우를 오른쪽으로 스크롤

C-x <             윈도우를 왼쪽으로 스크롤

C-x o             다른 윈도우로 이동

C-x ^             윈도우를 세로로 크게한다

C-x }             윈도우를 넓어지게한다

C-x {             윈도우를 좁아지게한다

M-C-v             다른 윈도우를 스크롤한다

(16)커서 위치에 관한 정보

M-x what-line        현재 라인 번호 출력

M-x what-page        현재의 페이지 번호와 라인 번호 출력

M-=                  설정된 영역 속에서의 라인 번호 출력

C-x =                커서가 위치한 곳의 문자,8진수, 버퍼내에서의 현재 문자의

위치, 열(column)을 표시

[8] 검색(Search)과 치환(Replace)

(1)단순 검색(Simple search)

C-s M 검색문자열 RETURN 앞으로 비점증적 검색을 시작

C-s 를 누르고 M(Alt)을 누르고 검색문자열을 입력한뒤

RETURN(ENTER)를 누른다.

반복 실행은 C-s

C-r M 검색문자열 RETURN 뒤로 비점증적 검색을 시작

반복 실행은 C-r

검색 문자열을 입력하여 처음 나타나는 동일한 문자열을 찾아낸다.

(2)점증적 검색(Incremental search)

C-s                        앞으로 점증적 검색을 시작한다

C-r                        뒤로   점증적 검색을 시작한다

ESC                        검색에서 빠져나온다

C-g                        점증적 검색을 취소하고 시작 위치로 돌아간다

DEL                        검색 문자열의 부정확한 문자를 지운다

C-s 를 누른뒤 미니버퍼에 I-search 라고 나타나고 여기에 검색 문자열의 첫

번째의 문자를 타이프 하자마자 검색을 시작한다. 더많은 문자를 타이프하면

거기에 맞춰  검색을 계속한다. 동일한 문자열을 더찾고자 할때는 C-s 를 누

르기만하면 된다. 대소문자(알파벳)를 구별하지 않으며 가장 추천되는 검색방

법이다. 검색을 끝내려면 ESC 를 누른다. 그려면 파일의 현재 위치에서 검색

을 끝낸다. 검색을 시작할때의 위치로 돌아가려면 C-g 를 누른다.

(3)단어 검색(Word search)

C-s M C-w                    단어 검색을 앞으로 시작

C-s                          반복 실행

C-r M c-w                    단어 검색을 뒤로 시작

C-r                          반복 실행

* 위의 M 은 meta key(Alt) 이다

simple search 와 비슷하나,완전한 단어(words)와 구(phrases)로서 검색한다.

이 검색은 두 라인에 걸쳐있는 단어(또는 구)까지 찾기를 원할때 유용하다.

(4)규칙적 표현에의한 검색(Regular expression search)

약간 변경을 가할 패턴을 검색할때 사용한다. 예를들어 B1 과 B2 를 모두 찾

기를 원할때 B[12] 과 같은 규칙적 표현에의해 검색할 수 있다.

(5)점증적,규칙적 표현에의한 검색(Incremental regular expression search)

incremental search 와 regular expression search 기능을 결합한것

(6)단순 검색과 치환(Simple search and replace)

M-x replace-string RETURN 검색문자열 RETURN 치환문자열 RETURN

M-x 를 누르고 replace-string 이라고 입력한뒤 엔터(RETURN)한다. 다

음에 검색 문자열을 입력하고 RETURN, 다시 치환문자열을 입력하고

RETURN 하면 검색위치  이후의 모든 검색문자열을 치환 문자열로 치환한다.

이때 검색문자열이 영어인  경우 대소문자를 구분하지 않는다.

(7)확인 치환(Query-replace)

M-% 검색문자열 RETURN 치환문자열 RETURN

매 경우마다 치환할 것인가를 묻는다. 아래의 여러가지 응답 방법에 따라 행동

한다.

확인치환에서의 여러가지 응답과 기능

--------------------------------------------------------------------------

Keystrokes   | Action

--------------------------------------------------------------------------

Space        |검색문자열을 새문자열로 치환하고 다음 검색문자열로 이동

y            |위와 같다

DEL          |치환하지 않고 다음 검색문자열로 이동

n            |위와 같다

.            |현재 문자열을 치환하고 검색,치환에서 빠져나감

돌아갈수 있으며, C-] 를  눌러 순환적 편집과 확인 치환을 모두 빠져나올수

있다.

(8)규칙적 표현(Regular Expressions)에의한 검색과 치환

1)규칙적 표현(Regular Expressions)을 만들기 위한 문자들

Character   | Match

---------------------------------------------------------------------------

^           | 라인의 시작과 매치

$           | 라인의 끝과 매치

.           | 어떤 한글자와도 매치되어도 좋다

.*          | 영 혹은 그이상의 어떤 문자 그룹과도 매치

\<          | 단어의 시작과 매치

\>          | 단어의 끝과 매치

----------------------------------------------------------------------------

예를들어 규칙적 표현 ^word$ 는 w 가 라인의 첫 글짜이고, d 가 라인의 마지

막 글자인 word 를 찾는다.

또 beg 로 시작하고 s 로 끝나는 모든 단어를 찾으려면 beg[a-z]*s 와 같은

규칙적 표현을 사용하면 된다.

2)규칙적 표현에의한 검색 명령

Keystrokes                 | Action

----------------------------------------------------------------------------

M-x re-search-forward      |단순한 규칙적 표현에의한 검색을 앞으로

M-x re-search-backward     |단순한 규칙적 표현에의한 검색을 뒤로

M-x isearch-forward-regexp |규칙적 표현에의한 검색을 점증적으로, 앞으로 검색

M-x isearch-backward-regexp|규칙적 표현에의한 검색을 점증적으로, 뒤로

검색

M-x query-replace-regexp   |규칙적 표현에의한 확인 치환(Query-replace)

M-x replace-regexp         |규칙적 표현을 조건없이 치환

---------------------------------------------------------------------------

3) 철자 오류 검사(Checking Spelling)

이맥스는 스펠링 오류를 검사할 수 있는 spelling checker 를 가지고 있다.

이맥스는 UNIX 에 의해 제공된 영어 사전으로 단어들을 찾는다.

M-$    커서가 놓여진 단어의 철자를 체크한다

커서는 단어의 어떤 철자위에 놓여있어도 상관 없다. 어떤 영단어위에 커서를

놓고 M-$ 를 누른다. 철자가 맞다면 정확하다는(correct) 메세지가 미니버퍼에

나온다. 철자가 틀리다고 이맥스가 판단할때는, 더많은 옵션을 보기위해 C-h

또는 ? 을 누르거나 ,변경하지않고 빠져나가려면 스페이스바를 누르라고 한다.

철자가 틀려 수정하려할때는 r(replace를 의미)을 누른뒤 미니버퍼에 올바른 철

자를 입력하고 RETURN 하면 수정되고 미니버퍼에는 철자가 이제 정확하다는

메세지가  나온다.

만일 동일한 단어의 철자 오류를 전체 파일에 걸쳐 체크하려면 Query-replace

를 시작하는것이 좋을 것이다.

[9] 버퍼에서의 편집

(1)버퍼(buffer)란?

이맥스로 파일을 읽어 들이면 이맥스는 메모리의 특정 버퍼로 파일의

복사본을 읽어들인다. 따라서 우리가 파일을 편집하는것은 이 버퍼를

수정하는 것이다. 원래의 파일은 아직 수정되지 않고있다.

여러개의 버퍼를 동시에 열수 있으며 따라서 여러개의 파일의 편집을

할수 있고 버퍼 사이를 전환할 수 있다.

(2)버퍼 사이의 전환

버퍼 들간의 전환은 풀다운 메뉴를 사용하면 아우 편리하다. 즉 Buffers

를 클릭하면 버퍼 리스트가 나열되는데 마우스로 선택하면 된다.

키보드로 하려면  C-x b 를 누르면 미니버퍼에 직전에 작업하던 버퍼의

이름이 default 로 제시되는데 그냥 RETURN을 치면 그 버퍼로 이동된다.

다른 버퍼로 이동하기 위해서는 스페이스바를 누른다. 그러면 하나의 윈도우가

열리며 버퍼 목록이 나열된다. 이때 원하는 버퍼명을 골라 입력하고 RETURN

을 치거나, 원하는 버퍼를 마우스로 한번 클릭한뒤 RETURN 하면 된다.

(3) 파일의 열기와 닫기

1)파일의 열기

하니맥을 기동할 때 파일명을 주어  hanemacs filename 와 같이 기동하면

하니맥의 시작화면에 그이름의 파일을 불러온다. 없는 파일이면 새 파일

작성 화면이 뜬다.

그러나 파일명을 주지 않았거나 아이콘을 클릭하여 하니맥을 실행했을때는

하니맥 개발 정보를 알리는 화면이 뜬다. 이때 RETURN을 치면 새 파일을 작

성 할 수 있다.

2) Open Directory

파일을 부르기 위해 C-x C-f 를 누른뒤(또는 PullDown ->Files -> Open

File 을  선택) 미니버퍼에 파일명을 입력해도 되나, 더 좋은 방법은

C-x d(PullDown -> Files -> Open Directory) 를 눌러 디렉토리를 열고 미니

버퍼에 희망하는 디렉토리를 입력하면 그 디렉토리의 파일목록을 나열하는 윈

도우가 뜬다. 이때 화살표키(또는 마우스)를 이용하여 원하는 파일명위로 이동

하여  RETURN하면 그파일을 열게 된다.

파일을 연뒤 디렉토리 윈도우는 없어진것이(Kill)아니라 이맥스에 의해 새로운

버퍼로 관리됨을 PullDown -> Buffers 를 마우스로 클릭하면 알수 있다.

즉 언제나 다시불러 파일을 부르는데 사용할 수 있다.

이맥스로 편집하는 도중에 셸 명령을 해야하는 경우 xterm 이나, hanterm 을

띄워야 할까 ? 아니다 이맥스에서는 더좋은 방법을 제공하고 있다.

셸 명령 모드는 이글의 뒷부분에 설명하지만 셸 명령을 사용한뒤에는 셸윈도

우를 닫지 않고 이맥스를 사용하는 동안 하나의 버퍼로 관리하는것이 좋다.

셸명령이 필요하면 언제나PullDown -> Buffers 에서 셸 버퍼를 불러내어 사

용하고 다시 편집 버퍼로 돌아올 수 있다.

3)파일의 닫기

편집이 끝난 파일이나, 기타 필요 없는 버퍼를 닫으려면 C-x k

RETURN(PullDown -> Files ->Kill Current Buffer)를 선택하면 이맥스는 현

재 윈도우의 버퍼를 닫아 준다. 엄밀히 말하면 파일의 닫기가 아니라 버퍼의

닫기이다.

파일은 C-x C-s (Files -> Save Buffer)를 통해 저장하고 닫는것이 보통인데

저장하는 것을 잊고 버퍼를 닫는 명령은 수행하면 이맥스는 정말로 닫을것인

지 확인메세지를 보내온다. n 하면 닫지 않는다.

이맥스에 능숙한 프로그래머는 컴퓨터를 켜고 거의 모든 일을 이맥스를 떠나

지 않고 처리한다고 한다. 이맥스의 유일한 단점이라면 처음 기동할때 그 방대

한 기능으로 인해 조금 시간이 걸리는 것인데 위와 같은 편리한점은 그 단점

을  상쇄하고도 남으며 숨겨진 기능을 알아낼 때마다 이맥스의 엄청난 잠재력

에 놀라지 않을수 없다.

[10] 환경 설정

이맥스의 환경 설정(customizing)은 홈디렉토리의 .emacs 에 적절한 설정을

하면 된다.

hanemacs-2.1.tar.gz 의 압축을 풀때, 즉 하니맥 설치할때 hanemacs-2.1

디렉토리가 생기고 그 밑에 site-lisp 디렉토리가 있는데 여기에 있는

site-start.el 을 /usr/local/share/emacs/site-lisp 에 복사하게 되어있는데

이 site-start.el 을 자신의 홈디렉토리에 .emacs 로 또한 복사한다.이렇게

해야 사용자에 따라 다른 설정을 할수 있다.

각각의 모드에 따른 환경 설정은 각 상황에서 설명하는것이 이해하기 쉬우므

로 여기서는 가장 기본적인 것만 하고 넘어 간다.

텍스트 파일을 편집할 때 한줄이 너무 길어지면 자동으로 줄을 바꾸게 해주는

auto-fill 모드를 설정하기 위해서는 다음의 라인을 .emacs 에 추가한다.

;;;auto-fill mode

(setq text-mode-hook 'turn-on-auto-fill)

앞에 라인은 주석문이다.

이맥스에서 셸 명령을 사용할 때 어느 shell(bash,tcsh,등)을 사용할것인지

지정하기 위해서는 다음의 라인을 추가한다.

;;;shell command-mode

(setq explicit-shell-file-name "/bin/bash")

[11] shell 명령

emacs에서 shell을 사용하려면

M-x shell 하면 된다.

새로운 윈도우가 열리며 버퍼가 하나 추가된 것이다.

셸화면에다 편집화면의 특성까지 갖고 있어 콘솔이나 터미널상에서의

셸 명령보다 편리하다. 화면을 스크롤해가며 명령을 수정하여 다시

사용할 수 있다.

shell window에서 빠져 나오려면 상단의 풀다운 메뉴의 Buffers를

마우스로 클릭하면 이제까지 열었던 버퍼가 모두 나열되어 있는것을

볼 수 있는데 원하는 버퍼를 선택하면 된다.

또는 필요 없으면 C-x k RETURN 하여 버퍼를 닫는다.

[12] c-mode

(1)c-mode 로의 전환

이맥스는 여러 프로그램 언어에 따른 모드를 가지고 있으며 파일의 확장자에

따라(c, C, p, f, a, ...등) 자동으로 인식하여 그 언어에 적합한 모드로

바뀐다. 예를들면 c 언어의 *.c 파일을 부르면 c-mode 로 바뀐다.

또는 M-x c-mode 명령에 의해 주모드를 C 모드로 전환할수 있다.

c-mode 로 전환하면 풀다운 메뉴에 C 라는 항목이 생겨 이를 사용할 수 있다.

(2)환경 설정

---------

cc-mode

---------

cc-mode 를 택하면 c-mode, 또는 c++ -mode 로 자동 전환 될 수 있다.

설정은 .emacs 에 보면 다음과 같은 부분이 있는데

;; C and C++ mode

;;; ********************

;;; Load much improved versions of the C and C++ modes.  At some point this

;;; will become the default in Lucid Emacs.

;;;

;(fmakunbound 'c-mode)

;(fmakunbound 'c++-mode)

;(makunbound 'c-mode-map)

;(makunbound 'c++-mode-map)

;(makunbound 'c-style-alist)

;(autoload 'c++-mode "cc-mode" "C++ Editing Mode" t)

;(autoload 'c-mode   "cc-mode" "C Editing Mode" t)

위의 문장 앞의 ; 는 그뒤에 나오는 글을 그 줄의 끝까지 주석문화

하는것인데(Lisp 언어에서) 위의 6개 linx의 앞의 ; 를 없앤다.

그러면 c-mode 그리고 c++ mode 를 자동으로 로드할 수 있다.

---------------

fontlock mode

---------------

프로그램을 작성할때 키워드,주석문,본문 별로 다른 색갈로 나타나게

하여 구분을 쉽게해주는 기능이다. .emacs 에 다음과 같은 부분이

그 역할을 하며 이미 그렇게 설정되어 있다. 물론 이 기능이 필요

없다면 line 앞에 ; 을 넣으면 된다.

;

; fontlock mode

;

(add-hook 'c-mode-hook 'turn-on-font-lock)

(add-hook 'c++-mode-hook 'turn-on-font-lock)

(add-hook 'lisp-mode-hook 'turn-on-font-lock)

(add-hook 'emacs-lisp-mode-hook 'turn-on-font-lock)

(require 'font-lock)

(3)컴파일

M-x 한후 compile 하면 미니 버퍼에 입력 창이 나타나는데 디폴트는

make -k 이다. 만일 hello.c 를 컴파일한다면 hello 만 입력하고 RETURN하면

컴파일하고 생성된 실행 파일 hello를 디렉토리에 저장한다.

물론 앞에 make -k 를 지우고  gcc -o hello hello.c 라고 입력해도 같은

결과를 얻을수 있다.

(4)c-mode 에서의 명령어

M-x c-mode           c-mode 로 주모드를 변경한다

M-a                  함수의 처음으로 이동

M-e                  함수의 끝으로 이동

M-x compile          컴파일 한다

M-x kill-compilation 컴파일을 중지시킨다

C-x                  컴파일 에러 메세지를 추적

또한 풀다운 메뉴의 C 항목에서 적절한 명령어를 선택할 수 있다.

(5)디버그

M-x gdb RETURN FILE RETURN 하여 디버거를 실행할 수 있다.

(6)c-mode 에서의 도움말

c-mode 에서 알고 싶은 부분에 커서를 위치시키고 M-x 한뒤 man을

입력하면, 예를들어 printf 에 커서를 위치시키고 위와같이 하면

Manual entry(default printf):  라는 메세지가 미니버퍼에 나타나는데

그냥 RETURN을 치면 화면이 두개의 윈도우로 나누어지며 밑의 윈도우에

printf의 매뉴얼이 나온다. 이때 그냥 RETURN하지않고 다른 문자열을 입력

하면 거기에 대한 man page 가 나타난다.

두개의 창사이의 이동은 마우스(또는 C-x o ) 로 하는데 도움말 화면에서

빠져나오려면 커서를 도움말 창으로 이동시킨후 q를 치면 된다. 또는

편집화면을 포커스시키고 현재의 윈도우를 풀스크린으로하는 명령인 C-x 1

을 입력해도 되는데 이때 manpage 는 kill 되지 않고 이맥스가 하나의 버퍼로

관리하게 된다.

[13] vi 모드

vi 모드로 들어가는 명령은 M-x vi-mode 이다. vi 모드가 되면 밑에 모드 라

인에 <VI>이 표시된다. vi 모드의 버퍼는 다른 버퍼와 함께 전환하며 사용할

수 있으며, 닫으려면 파일을 저장한뒤 C-x k RETURN 을 누른다.

------------------------------------------------The End-----------------------

-----

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 30번

제  목:[참고] 리눅스의 배포본의 종류

올린이:stoneonl(김석기  )    97/06/10 21:33    읽음:5397 관련자료 없음

-----------------------------------------------------------------------------

리눅스 배포본의 종류

리눅스의 핵심은 커널이지만 일반 사용자가 사용할 수

있도록 공개될 때는 수백가지의 GNU패키지를 포함하는

배포본 형태로 공개되고 있다. 물론 커널 자체가 계속적

으로 패치되고 있는 것과는 별개로 배포본 자체도 버전업

된다.

이렇게 일반에 공개되는 리눅스의 배포본의 형태도 여러

가지 종류인데,차츰 리눅스 설치/유지/보수시 어려움을

뛰어넘고자 시도하는 모습이 새로운 배포본이 출현하면서

더해가고 있다.

이런 배포본의 종류에는 대표적으로 슬렉웨어,레드햇,

데비안 등이 있는데 세가지 모두 리눅스 커널을 기본으로

하기 때문에 운영체제자체가 다른 것은 아니라고 것을

밝혀둔다. 단지 GNU패키지는 같지만 그 구성에 있어서

변화가 있는 여러가지의 배포본이 등장하게 된 것이다.

./슬렉웨어

전세계적으로 가장 유명하고 가장 많은 사용자를 가지고

있는 리눅스 배포본이다. 슬렉웨어 자체만으로는 나무랄데

없는 프로그램이지만 패키징 방법에 있어서는 말이 많다.

설치 시 어려움은 둘째라도 쉘스크립트와 압축 기법만을

이용한 슬렉웨어 패키징은 기존 프로그램의 업그레이드나

추가할때 불편한 점이 많다. 웬만큼 리눅스에 익숙하지

않으면 슬렉웨어 에서의 업그레이드는 어려운 일이다.

좀더 편리한 방법의 패키징 방법을 개선하지 않는 한

레드햇이나 데비안에 그 인기를 물려줘야 할지도 모를

위기에 처해 있다.

./레드햇

슬렉웨어처럼 낮은 수순의 패키징 방법에서 벗어나

레드햇 패키지 매니저(RPM)방식이라는 좀더 고급적인

패키징 방법을 사용한다. 설치뿐만 아니라 추후의

업그레이나 추가등도 쉽게 할 수 있는 형태의

리눅스 배포본이다. 특이한 점은 RPM 방식을 잘 활용

할 수 있는 윈도우 95의 제어판 같은 X윈도우용

프로그램인 컨트롤 패널을 지원한다는 것이다.

여기서 현재 인스톨되어 있는 프로그램과

추가/업그레이드/삭제할 수 있는 패키지를 보여

줌으로써 GUI방식으로 패키지 관리를 할 수 있다.

지금까지 발표된 리눅스 배포본중 가장

훌륭하다는 평가를 받고 있지만 데미안의 추격도

만만치 않다.

./데비안

데비안 시스템은 리눅스 배포본중에서 유일하게

FSF(Free Software Foundation)GNU프로젝트의

공식 지원을 받고 있다는 특징이 있다.

레드햇의 RPM과 비슷한 특징을 갖는 DEB라는

패키징 방법을 사용해 컴퓨터 시스템을

다시 포맷하거나, 사용을 중단하지 않고 부분,

또는 전체적으로 추가/업그레이드/삭제할 수

있다는 장점을 지닌다. 데비안에서 제공되는

모든 GNU패키지가 이런 처리에 맞게 패키지

데이타베이스에 등록되어 있으며, 고유한 자료

형식인 deb로 압축되어 변환되어 있다. 이것은

슬렉웨어의 tgz,레드햇의 rpm처럼 하나의

패키지 파일이다. 데비안은 또한 레드햇

패키지를 데비안 패키지로 변환해 시스템에 설치할

수 있다. 데비안은 'alien'이라는 프로그램을

통해 rpm 확장자가 붙은 레드햇 패키지를

읽어 데비안 패키지로 변경시켜 준다. 따라서

레드햇을 흡수 할 수 있는 장점도 지니고 있다.

./SLS(Softlanding Linux System)

이 버젼은 리눅스에 관한 디스크 23개의 X11에

관한 디스크 10개로 구성되어 있다. 첫번째 디스

크(a1)를 플로피에 대하여 "rawriten"(rawritten)

그리고 이미지의 나머지 부분은 DOS의 copy명령을

사용하여 DOS의 파일 포맷으로 포맷된 플로피에

기록해야 한다. 이 버젼은 리눅스를 시작하고자

할 때 필요한 모든 소프트웨어 패키지를 포함하고

있다. 처음 대하는 사람에게는 설치가 쉽게 되어

있다. SLS 버젼은 tsx-11.mit.edu의 사이트에서

/pub/linux/package(s)의 디렉토리 그리고

sunsite.unc.edu의 사이트의 /pub/linux/SLS의

디렉토리에서 찾을 수 있다.

./TAMU(Texas A&M Univesity) Linux

이 버전은 거의 SLS 버젼과 비슷하다. 그러나 SLS

와는 조금 다른 소프트웨어 패키지를 가지고 있고,

설치과정 또한 틀린점을 가지고 있다. 설치 과정이

SLS와의 주요 차이점이다. 하나의 부트 디스켓으로

자동 설치프로그램을 직접 부트 시키는 방법이

사용된다. 이런 설치 프로그램은 파일 시스템을

포함한 모든 것들에 대한 구성과 LILO를 이용한

하드드라이브로 부터의 부팅 그리고 간소화 시킨

X의 구성 등에 대하여 사용자에 물어본다.

이 버젼은 X 윈도우,emacs,네트워킹 도구,부트

도구들 그리고 어떠한 제약도 없는 모든 설치

프로그램의 소스 목록 등 모든 것을 포함하고

있다. TAMU는 sc.tamu.edu 사이트의

pub/free_unix4에 구할 수 있다.

./H.J.Lu's bootable rootdisk

이 버젼은 하나의 플로피에 들어갈 수 잇는

리눅스 커널과 기초 바이너리들의 버젼이다.

Lu의 gccdisk,libdisk등을 따라 손으로 리눅스

시스템을 설치하고,업그레이드하기에 좋다.

하지만 실제적으로 어떠한 설치 문서가 없기

때문에 초보자들에게는 맞지 않다.H.J.Lu의

부팅 루트디스크는 tsx-11.mit.etu 사이트의

/pub/linux/package/GCC 디렉토리

에서 찾을 수 있다.

./Manchester Computing Centre Interim Release

이 버젼은 전설적인 MCC-Iterim 리눅스이다.

원래는 de facto 표준 리눅스 배포 버젼이었다.

이 버젼은 슬렉웨어처럼,리눅스

소프트웨어의 중요한 거의 모든 부분을 가지고

있다. 그러나 emacs 또는 X 윈도우는 포함하고

있지 않다.

./Trans-Ameritech

이 버젼은 CD-ROM 버젼밖에 없다. 이 CD-ROM은

완벽한 풀버젼을 제공하고 압축되어 있지 않은

부트가 가능한 리눅스 파일시스템을 가지고 있다.

특징은 두 가지 구별되는 이점이 있다. 첫째,

파일을 선택해 액세스 할 일이 생겼을 때,압축을

풀 필요가 없이 즉시 액세스 할 수 있다.그리고 두

번째로는 압축된 파일을 풀기 위한 공간의

필요성이 없어졌다.

CD-ROM은 모든 소스코드,압축되어 있지 않은

파일 시스템,그리고 NetBSD 소스와 바이너리

배포에 있어서 슬렉웨어에 기초한 것이다.

하드웨어의 충돌을 최대로 작게 하기 위해 많은

보조 커널이 여러 다른 구성을 위해 제공되어

진다.또한 리눅스이 문서화 프로젝트 파일의

source,dvi 그리고 ps 포맷을 포함은 많은 온라인

문서가 빠른 참조르 가능하게 해준다. 이 배포는

팩스 송/수신을 가능하게 해주는 FlexFax를

포함한다.

처음 리눅스를 사용하는 사람을 위해,리눅스가

설치되기 전,DOS에서 여러문서를 읽을 수 있도록

되어 있다. 리눅스의 모든 소스파일은 CD-ROM에서

얻을 수 잇다. 자주 이용하는 소스코드 파일들은

압축되어 있지 않기 때문에 CD-ROM에서 직접 사용

할 수 있다. 압축되어 있지 않는 리눅스의 파일

시스템은 참조와 디스크 공간 관리에 이용할 수

있다. 그리고 CD-ROM에서 직접프로그램을 실행

할  수 있다. 컴퓨터애효가들을 위해, 압축되지

않은 FreeBSD가 제공된다. roman@trans-am.com

으로 주문할 수 있다.

./LST(Linux Suport Team Erlang Distribution)

사용자가 독일어를 말할 수 있다면, 이버젼은

그 사용자를 위한 것이다. 메뉴,매뉴얼,그리고

설치 설명서들이 독일어로 되어 있다.

이 버젼은 ftp.uni-erlangen.de 사이트의

/pub/Linux/LST.distribution에서 구할 수 있다.

./Yggdrasil Plug-and-Play Linux

완전한 CDROM버젼으로 되어 있다. 완전한 유닉스

시스템에서 발견되는 거의 모든 패키지들이 들어

있다. 완벽한 파일목록은 yggdrasil.com. 사이트

로부터 FTP를 이용하여 사용할 수 있다. 그리고

유닉스와 리눅스의 많은 문서들과 리눅스 문서

프로젝트로부터 나온 3권의 책을 포함한 리눅스

바이블이라는 것을 제공한다. Yggdrasil 설치

매뉴얼과, 리눅스의 HOWTO의 완전한 모음을 제공한

다. Yggdrasil의 Plug-and-Play 리눅스는

plug-and-play 작용으로 이름이 붙여졌다.

이 작용은 플로피를 드라이브 A에 넣고,

컴퓨터를 켠 후에 모든 질문에 답을 하는

것이다. 이것이 설치의 전부이다. 그러나 이는

실제적으로는 복잡한 부분이 있다.왜냐하면,

설치를 시작하기 전에 사용자의 하드웨어가

호환성이 있는지부터 먼저 알아야 하기

때문이다. 로긴 화면은 미리 구성되어진

사용자수와 시스템을 설치하는 install,

사용자에게 했던 질문에 대해 설명을 해주는

패러그래프를 포함하여 보여준다.설치

스크립터는 모뎀을 찾기 시작하고, 그것을

찾았을 때 Yggdrasil에 있는 게시판을 통하여

전자메일이 인터넷 주소에 정확하게

전달되게 하기 위해 메일과 UUCP를 구성한다.

네트웨킹,SLIP,UUCP,프린터 등의 추가기능을

위한 제어판 뿐 아니라,X를 처음 실행한다면

자동으로 실행된다. info@yggdrasil.com의

주소로 전자메일을 보내 구할 수

있다.

./infoMagic Developer's Resource CDROM kit

sunsite.unc.edu 그리고 tsx-11.mit.edu

사이트에 저장되어 있는 단편들이다. 여기에는

GNU의 소프트웨어의 모음이 포함돼

있다.(소스의 형태로),그리고 다음에 열거한

리눅스 버전 역시 디스크에 있다.

Slackware,Debian,SLS,TAMU,MCC,그리고

JE(Japanese Extensions)리눅스의

HOWTO 문서들은 리눅스 사용자들을 위해

만들어져 왔다. 이는 Order@InfoMagic.com을

통해 연락할 수 있다. CD의 내용은 I

nfoMagic.com 사이트의

/pub/Linux의 디렉토리 또는

ftp.uu.net사이트의 /vendor/InfoMagic/cd-rom/linux

디렉토리에서 찾을 수 있다.

리눅스의 배포판이 위의 모든것이 아니다.

자세한 것은 뉴스그룹에서 살펴보기 바란다.

어떤 것이 뛰어나다고 단정지을 수 없다.

아직까지도 편리한 인터페이스를 제공하는

레드햇이나 데비안을 마다하고 슬렉웨어를

고집하며 사용하고 있는 파워 사용자가 많음을

볼때 우열을 가리기란 쉬운 일이 아니다.

실제로 아직도 많은 리눅스 애플리케이션이

슬렉웨어 패키징 방법으로 많이 존재하고 있기

때문에 레드햇이나 데비안의 RPM/DEB 만을

믿을 수 없다. 하지만 슬렉웨어은 패키징 방법이

계속해서 변함이 없다면 문제가 있다. 레드햇과

데비안은 서로 상호 보안하는 패키징 형태로

발전해 나갈 듯 하다.

-인용,마이크로소프트웨어 4월호 별책부록

레드햇 4 리눅스 언리쉬드

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 31번

제  목:[강좌] X윈도우 관리자 Fvwm

올린이:pey1    (박은영  )    97/06/11 00:48    읽음:5047 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

처음 엑스를 띄우면 화면이 무지 썰렁한 것에 실망한 분들도 계실 것입니다.

제가 엑스를 처음 띄우던 날...그 썰렁한 화면에 실망을 했었지요. ^^;

그럼, 이런 썰렁한 화면을 자신의 맘에 들도록 바꿔 봅시다.

********* 순 서 **********

1. 들어가면서

2. 들어가서

(1) fvwm 이란

(2) fvwm 설정 화일

(3) fvwm 설정 방법 강좌

3. 나오면서

**************************

1. 들어가면서

=============

엑스 윈도우는 "흠..이게 엑수윈이군" 하는 자신만의 표준적인 얼굴이 없습니다.

그리고 겉만 화려한 제품들과는 달리 성능이 뛰어나지요.

여러분이 리눅스 패키지를 설치하고 엑스를 띄운 다음에 나오는 화면의 관리자,

즉, 엑스 윈도우 관리자는 fvwm 이라는 것입니다.

여기서 주의하실 점은 엑스 관리자가 fvwm 만 있는게 아니라는 것입니다.

nextstep, afterstep, kde 등등 다양한 엑스 관리자가 있으나, 여러분이 슬렉이나

래드햇 리눅스 패키지를 설치 했을때 처음으로 만나는 엑스 관리자가 fvwm 입니다.

이제부터는 이만용님의 글을 인용하겠으며, 이만용님의 강좌를 소개 하겠습니다.

자신의 맘에 드는 예쁘장한 화면 꾸미시고, 엑스 윈도우의 강력함을 맘껏 즐기시길

바랍니다.

2. 들어가서

===========

(1) fvwm 이란

fvwm은 MIT X 윈도우에 들어 있는 기본적인 관리자인 twm의 소스 속에서 태어

났습니다. 저자는 Robert Nation씨로서, 현재도 계속 개발되고 있다.

fvwm이 사랑 받고 있는 이유는 일단 상용 모티프 윈도우 관리자의 3D 스타일의

모습을 띠면서도 그보다 더욱 뛰어난 기능들을 가지고 있기 때문이다.

몇가지 특징들을 들어보자.

# 아주 막강한 가상 데스크탑 기능, 마우스 만으로도 이동 가능

# 마우스로 할 수 있는 일을 키보드로도 가능하게 함

# XPM 컬러 아이콘, 타이틀 바에도 그림 화일을 써서 나타낼 수 있다.

# 확장 모듈 프로그램이 많다. 버튼바 등.....

# 거의 모든것을 여러분 구미에 맞게 맞출 수 있다.

# 멋진 3차원 인터페이스를 가지고 있다.

이 중에서도 가장 중요한 기능은 가상 데스크탑 기능으로서, 어떤 운영 체제의

어떤 윈도우 관리자도 흉내내지 못할 만큼의 강력한 기능을 가지고 있다. 지금

현재 보고 있는 화면을 가상적으로 여러개 가질 수 있고, 그 각각의 화면에 다른

프로그램들을 독립적으로 실행 시킬 수 있다. 우리는 가상 데스크탑 기능을 가지

고 이리저리 화면을 휘젓고 돌아 다니면서 각 프로그램에게 넓은 화면을 제공

할 수 있다. 조금 창들을 열어 놔도 다른 창들에 가려서 알아볼 수 없게 되는

윈도우 시스템의 약점을 강력하게 보완해 주는 좋은 기능이다. 이것 하나

만으로도 여러분은 fvwm이라는 윈도우 관리자의 매력에 심취하게 될 것이라고

믿는다.

fvwm이라는 윈도우 관리자의 중요한 이유는 또한 그 소스를 기본적으로 해서

다른 재미있는 윈도우 관리자들이 많이 쏟아져 나온다는 사실이다. 예를들어,

윈도우 95 인터페이스를 그대로 엑스 윈도우에서 구현할 수 있도록 fvwm을

해킹한 fvwm 95라는 버전이 있다. 그리고 운영체제 그 자체로 최고의 평가를

받을 만한 넥스트스텝 이라는 운영체제의 GUI를 그대로 흉내낸 bowman,

그리고 Afterstep이라는 윈도우 관리자들도 모두 fvwm이라는 윈도우 관리자

소스를 조금 바꾼 것에 불과하다. 그들모두 fvwm으로부터 연유한 것이기

때문에 기본적으로 강력한 가상 데스크탑 기능을 모두 가지고 있다.

여러분의 취미에 맞는 윈도우 관리자를 어느 것으로 선택하는 가는 자유이다.

어찌되었든 fvwm으로부터 연유한 것들이여서 fvwm을 미리 알아두면 나머지는

변한부분만 익히면 된다.

(2) fvwm 설정 화일

fvwm 설정은 생각보다 쉽지 않다. 왜냐하면 그 자체 GUI 방식의 셋팅은 아직

제공하고 있지 않기 때문이다. 그것이 최대 단점 이라고 말할 수 있지만 다르게

보면 GUI 셋팅 방식으로는 할 수 없는 것을 해낼 수가 있어서 다른 어느 누구도

흉내 낼 수 없는 엄청난 셋팅을 해낼 수 있다는 것이다.

시스템 전체에 대한 기본 설절 화일은 /var/X11R6/lib/hfvwm2/.hfvwm2rc 이다.

그 화일을 고치면 시스템의 모든 사용자에 대한 설정에 영향을 준다. 하지만

특정 사용자가 자신만의 셋팅을 원할 때는 일단 그 화일을 자신의 홈 디렉토리로

.hfvwm2rc 와 똑 같은 화일명으로 복사해 온다. 그리고 그것을 여러분이 선호하는

편집기를 가지고 불러들인다.

(3) fvwm 설정 방법 강좌

12-2 강좌란에 있는 설정 방법을 찾아 봤습니다.

12-2에 가셔서 "li geoman" 하시면 나옵니다 ^^

^^^^^^^^^^^^

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX        리눅스 배움터-리눅스 강좌 / 연재 (LI : geoman)             1/다음

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

268 geoman   이만용   06/26 2053  33 [강좌 07] F V W M 2.0 : 버튼바 수련쌓기

258 geoman   이만용   06/17 2001  20 [강좌 06] F V W M 2.0 : 새로운 GUI 셋팅

251 geoman   이만용   06/05 1581  24 [강좌 05] F V W M 2.0 : Scalable 폰트

250 geoman   이만용   06/01 1651  32 [강좌 04] F V W M 2.0 : 시작함수 & 버튼

247 geoman   이만용   05/27 1678  14 [강좌 04] F V W M 2.0 : 스타일 (1)

246 geoman   이만용   05/25 1853  19 [강좌 03] F V W M 2.0 : 사용자 정의 메

243 geoman   이만용   05/22 1984  12 [강좌 02] F V W M 2.0 : 전체적인 Look &

240 geoman   이만용   05/19 2574  17 [강좌 01] 막강해진 F V W M 2.0.* 버전

238 geoman   이만용   05/08 1694   3 [안내] f v w m 2.0* 강의 시작합니다

211 geoman   이만용   02/13 1793  14 [강좌 19] F V W M : 마우스도 바꿉시다!!

210 geoman   이만용   02/09 1931  14 [강좌 ??] F V W M : fvwm 1.24r 설치

209 geoman   이만용   02/07 1593  17 [강좌 18] F V W M : 키보드에 생명을!

207 geoman   이만용   02/02 1537  17 [강좌 17] F V W M : 나머지 모듈들...

206 geoman   이만용   02/02 1606  14 [강좌 16] F V W M : 화일관리자 FileMgr

205 geoman   이만용   01/31 2079  17 [강좌 15] F V W M : X 윈도우에 소리를!

204 geoman   이만용   01/19 1979  24 [강좌 14] F V W M : 아이콘 관리자

202 geoman   이만용   01/17 1774   6 [ 필 독 ] 강의 오류 수정 96.01.18 일자

200 geoman   이만용   01/17 1906  15 [강좌 13] F V W M : 리스트와 탐정

199 geoman   이만용   01/16 2078   9 [강좌 12] F V W M : 벽지관리인 Backer

198 geoman   이만용   01/16 1941  18 [강좌 11] F V W M : GoodStuff 제 2 부

197 geoman   이만용   01/16 2053  12 [강좌 10] F V W M : GoodStuff 제 1 부

195 geoman   이만용   01/14 2116  15 [강좌 09] F V W M : 시작 프로그램

194 geoman   이만용   01/13 2009  15 [강좌 08] F V W M : 가상 데스크탑 (2)

193 geoman   이만용   01/12 2091  11 [강좌 07] F V W M : 가상 데스크탑 (1)

192 geoman   이만용   01/11 2076  10 [강좌 0?] F V W M : 버튼모양 꾸미기

191 geoman   이만용   01/09 2061  12 [강좌 06] F V W M : 마우스 버튼 정의

190 geoman   이만용   01/08 2150  11 [강좌 05] F V W M : 사용자정의 팝업메뉴

189 geoman   이만용   01/02 2171  12 [강좌 04] F V W M : 스타일(Style) 설정

188 geoman   이만용   12/31 2233   9 [강좌 03] F V W M : 창 동작 설정하기

187 geoman   이만용   12/28 2422  11 [강좌 02] F V W M : 폰트 설정하기

186 geoman   이만용   12/26 3083  10 [강좌 01] F V W M : 색상 설정하기

184 geoman   이만용   12/21 2967   4 [강좌안내] X 윈도우관리자 fvwm 사용법

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

3. 나가면서

===========

머 결론은 별로 쓸 말이 없네요 ^^

자알 셋팅해 사용하시길.....캬캬캬

모쪼록 도움 되길 바랍니다.

그리고 에프터스텝 사용법도 조만간 갈무리 해서 올리겠습니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 32번

제  목:[강좌] X윈도우 관리자 Afterstep (1)

올린이:pey1    (박은영  )    97/06/11 01:33    읽음:5511 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

이번에는 엑스 윈도우 관리자중 아프다스텝(Afterstep)을 올립니다 ^^

저 개인적으로는 8bpp 밖에 안 되서...아프다스텝을 못 씁니다. (색이 딸리거든요)

16이상 되시는 분들은 한번 써 보셔요 (나두 쓰고파라.....--;)

그리고 자료실에 가시면 에프터스텝 화면을 캡춰해 놓은 것들이 많이 있으니

받아서 구경도 해 보시구요...(저두 봤는데 이쁘더군요 --;)

아프다스텝 사용법은 하이텔 유종화님의 강좌를 갈무리 해서 올린 것입니다.

그럼 이쁘게 사용하시길...

자~~ 강좌 갑니다~~~~~~~~~~~

_________________________________________________________________________

제목 : [강좌] afterstep은 무엇에 쓰는 물건인고?

#479/622  보낸이:유종화  (onioN   )    11/13 00:44  조회:1084  1/8

--------------------------------------------------------------------------

안녕하세요 흡혈양파 유종화입니다..

제가 약간의 강의를 준비해보려 합니다...

그럼 일단 afterstep의 소개를 하는걸로 의의 첫 문을 열겠습니다.

1. afterstep이라...? 뭐지...?

=============================

afterstep은 생소한 분들도 있고 들어본 분들도 있을겁니다.

afterstep은  어찌보면 fvwm-1의 개량 또는 bowman의 개량이라고 할 수 있는

window-manager의 한 종류입니다..

현재 afterstep의 기본 방향은 NeXTSTEP의 인터페이스를 모방하는 것입니다...

X윈도우 관리자 linux의 x-window를 NeXTSTEP를 쓰듯이 써보자는 생각입니다...

그래서 그 결실은 현재 pre-1.0의 버전으로 우리의 앞에 선보여지고 있습니다...

그럼 여기서 afterstep의 간단한 장점을 몇가지 들어 보겠습니다.

장점1. 사용이 간편하다...(?)

사용이 간편하다.. 흠... 이 말씀은 뭔말인고 하면...

일단 afterstep의 기본설정은 꽤 훌륭하다고 할수 있습니다..

afterstep의 재미있는 여러 기능들을 sample로 맛보기에는 충분할정도 입니다...

물론 이점에 대해서 fvwm2의 자유분방함과 대조가 될수도 있겠습니다만..

간단한 셋팅으로 x-window를 예쁘게 쓰고싶다 하는 분들은 적은 시간으로 쓸만한

화면 구성등을 하실수 있습니다...

장점2. 예쁘다~

NeXTSTEP의 인터페이스는 현재 openstep이라고 새로운 버전으로 나와 win-nt나

sun으로 옮겨질만큼 인정받고 있습니다..

그런 인터페이스의 모방을 골자로 하고있는 afterstep이 예쁜건 어쩌면 너무

당연한 말일 수도 있습니다..

장점3. 강력하다

afterstep은 기본 설정이 탄탄하다고 말씀드렸습니다...

물론 이 설정도 쓸만 하지만 다른 쓸만한 기능도 많습니다...

어쩌면 이건 fvwm에서 출발한 afterstep의 fvwm과의 공통점일수도 있지요...

물론 여기서의 강력하다는 의미는 화면에 보이는 인터페이스의 강력함을 말합니다.

물론 위에 설명한것 만이 afterstep의 다는 아닙니다..

Offix 의 규격(?)을 이용한 WHarf도 afterstep의 자랑거리죠

물론 wharf와 다른 비교되는 것도 많지만...wharf도 역시 그에 못지 않습니다...

마지막으로 약간의 주의점을 알려드리자면....

afterstep은 8bpp 이상에서 볼만한 화면을 제공합니다..

그리고 또한 17"이상의 moniter를 가지신 분들에게 권합니다...

64x64의 pixmap을 쓰기 때문에 14"의 moniter에서는 icon의 크기가 크다고 하시는

분들을 많이 봤습니다..

자 그럼 window-manager afterstepep의 세계로 떠나겠습니다...

2. afterstep의 간단한 설치...

==============================

일단 afterstep을 쓰기 위해서는 afterstep을 받으셔야겠지요..

자료실에서 afterstep을 받으세요....

자료실의 afterstep의 최신버전은 pre-1.0이니까 참고해서 받으시기 바랍니다..

그럼 afterstep을 받으시면 그걸 압축을 푸셔야 겠지요....

tar xvfz 화일이름(넘 간단한거라서리..... 죄송..합니당..)

(데비안의 경우는 deb로 묶인 afterstep의 패키지가 있습니다)

압축을 푸신후 afterstep의 source디렉토리에 보면 Installme라는 화일이 있을

겁니다... 그럼 컴파일과 설치를 다 해줍니다....

이 다음이 중요하겠죠...

설치를 끝낸후에 곧장 afterstep의 뜨느냐~! 아닙니다...

알짜를 쓰시는 분들은 2가지 방법이 있습니다..

알짜의 디렉토리중에 /var/X11/lib/xinit라는 디렉토리가 있을겁니다...

그럼 afterstep의 소스의 디렉토리를 뒤지다가 보면은 xinit라는 화일이 있습니다.

이 화일을 위에서 설명한 디렉토리에 넣으시던가 아님 위의 디렉토리에 보면은

xinitrc라는 화일이 있습니다..

이 화일을 vi등으로 살펴보시면 fvwm에 대한 부분이 있습니다..

이 부분을 #으로 disable해주시고 그 밑에다가 afterstep이라고 쓰시면 알짜에서의

afterstep의 사용준비는 되었습니다..

여러분 위의 작업을 하셨다면 힘차게 startx를 해보세요..

산뜻한 x의 화면이 뜰겁니다~!

참 소스화일은 지우지 마세요. 나중에 가끔가다가 언급됩니다..

저도 원래는 fvwm을 썼었습니다... 근데.. 그것이...

만용님이 알고 계시는것이 많으신지는 몰라도 절 완전히 질리게 하더군요..

전 fvwm의 아주 작은 부분만 바꾸고 썼었답니다...

근데 afterstep을 쓰는순간 후훗. 뭐랄까요.... 일단 쉽더군요..

afterstep의 방대한 fvwmrc화일(?)과는 판이하게 틀리더랍니다..

일단 구조가 .steprc를 print를 해놓고보니 한눈에 들어오더군요..

그리고 워낙 예뻐서 손대기도 아까운 그런 상태였습니다.

그러나~! 제가 쓰는 프로그램과는 약간의 메뉴구성상의 차이가 있기때문에

결국은 손을 대기 시작했습니다.... 그게 저와 afterstep의 본격적인 만남이었

답니다.

자 여러분도 자신만의 afterstep을 꾸며보시기 바랍니다..

3. 자 그럼 afterstep을 슬슬 꾸며볼까...?

========================================

일단 afterstep의 설정화일인 .steprc화일을 자신의 home디렉토리에 복사를

하세요..

그 화일의 sample은 이미 보신분도 있겠지만 afterstep의 소스 디렉토리의

root에 sample.steprc라는 이름으로 되어 있습니다.

위의 화일을 여러분의 home 디렉토리에 .steprc라는 이름으로 복사를 하세요..

그럼 자신만의 afterstep을 꾸밀 준비는 끝났습니다~!

크게 steprc는 3가지 부분으로 나눌수 있겠습니다...

1째는 afterstep의 전반적인 사항의 설정부분

2째는 afterstep의 구체적인 메뉴구성

3째는 키보드와 마우스의 설정과 악간의 sound_event에 관한 설정입니다.

그럼 전반적인 설정중에서도 window-style 설정에 대해 약간 적도록 하겠습니다.

일단 여러분의 steprc화일을 보세요...그럼 약간의 afterstep의 url등의 설명이

있고 그 아래에

#  Distinctive Look and Feel Section  #

이라는 주석문이 있을겁니다..

이제 그 아래의 6가지 항목을 통해 간단한 색상의 설정부터 시작하겠습니다

stdforecolor            stdbackcolor               hiforecolor

hibackcolor             menuforecolor              menubackcolor

이렇게 6가지 항목이 있는데...

6가지 항목의 예제를 듦으로서 일단 항목들의 형식을 설명하도록 하겠습니다..

이미 눈치가 빠르신분들은 아셨겠지만...

위의 6가지 항목의 형식은 다음과 같습니다...

stdforecolor(항목)        #111111(색상)

위의 형식을 보면 좀 특이한게 색상이지요..

표준 steprc를 보면 3가지로 색상을 설정했습니다...

#111111(숫자)    #bfbfbf(영문자)      White(영문자)

등입니다...

일단 영문자나 숫자등은 fvwm에서 사용하는 것과 같기 때문에

별다른 부과설명은 하지 않겠습니다..

숫자등이 어려우시면 White등의 단어를 쓰십시요...

Green ,Magenta , Blue등의 여러가지 색상이 있습니다..

자 그럼 위의 6가지 항목의 세부설명을 드리겠습니다.

1) stdforecolor

창의 테두리선의 색을 나타냅니다.. 기본색은 검정입니다..

2) stdbackcolor

afterstep의 창의 아래부분을 보시면 handle-bar가 있습니다..

이 handle-bar로 창의 크기를 조절하는데 이 handle-bar의 색입니다..

기본색은 회색

3) hiforecolor

흠.. 메뉴등을 보시면 알겠지만 메뉴의 항목이 선택되었을때 선택된 메뉴는

흰색으로 반전됩니다... 그부분의 색입니다...

또한 열린 창의 title-bar의 글자색도 됩니다.기본색은 흰색

4) hibackcolor

title-bar의 테두리색입니다... 아니... 정확히는 배경색입니다.

5) menuforecolor

메뉴의 기본 색입니다... 기본색은 회색

6) menubackcolor

메뉴의 글씨의 색입니다... 기본색은 검정....

이렇게 기본적인 afterstep의 색상설정을 알아보았습니다..

4. afterstep 이제 슬슬 써볼때가 된것 같은데...?

===============================================

예 그럼 이제 afterstep의 기능들을 설명하겠습니다...

기능중의 대부분은 fvwm에도 있는것이니....

제 설명중 틀린부분 있다면 충고해주세요...

자 그럼 여러분의 steprc를 다시 열어보세요...

참 아직까지 일일이 vi로 steprc를 여시는 분은 없겠지요...?

afterstep은 steprc화일을 열수있는 기본셋팅이 있답니다...

그건 왼쪽의 wharf의 맨아래 바로 위의 icon입니다...

afterstep은 자신의 미용을 위해 여러곳에 texture-mapping을 사용합니다..

지금 설명할건 그 texture-mapping에 대한 것입니다...

steprc화일을 보시면

#set Gredient Texture Mapping

이라는 부분이 있습니다..

그 조금 아래를 보시면 texturetypes라는 부분이 있습니다..

TextureTypes 1 1 1 1

이라고 써있죠...?

그럼 위의 항목의 4가지 숫자를 설명하겠습니다..

첫째의 1 -> titlebar의 상태를 나타냅니다...

둘째의 1 -> 선택되지 않은 윈도우의 titlebar를 나타냅니다.

셋째의 1 -> 메뉴titlebar의 texture상태를 나타냅니다.

넷째의 1 -> 메뉴항목의 texture상태를 의미합니다.

숫자는 0~2까지의 3가지 숫자가 사용가능합니다..

0 -> texture를 하지 않는다

이제부터 또 하나하나 설명을 드리지요...

#Texture Colors, given in Standard RGB X numbering

위의 문장의 아래부터 입니다...

1) TitleTextureColor #000010 #030380

위의 항목은 window의 title-bar에 대한 항목입니다.

2) UTitleTextureColor #000010 #303080

위의 항목은 title-bar 가 선택된게 아닌...

다시 말해서 현재 작업창이 아닌 상태의 title-bar에 대한 항목입니다.

3) MTitleTextureColor #000010 #303080

메뉴의 최상단의 menu-title에 대한 항목입니다.

4) MenuTitleColor #000010 #303080

메뉴자체의 배경에 대한 다시말해 메뉴의 글씨외의 부분에  대한 항목입니다.

자 그럼 이제 afterstep의 화려한 부분중의 하나인 texture-mapping에 대해

알아보았습니다...

그럼 이제부터 그 밑을 보시면

#Menu Font

라는 문장과

#Window TitleBar Font

라는 문장이 있습니다..

위의 두문장은 기본적으로 메뉴와 window의 title-bar의 글꼴의 설정입니다..

글꼴의 설정은 여기서는 설명하기가 기니 fvwm강좌를 참고하세요..

기본의 afterstep의 글꼴도 예쁘고 문제는 없지만...

afterstep의 기본설정이 맘에 안드신다면 글꼴을 바꾸셔도 상관은 없습니다..

그럼 이제 글꼴성정을 지나 그 밑으로 눈을 돌려보면

#Area where icons should showup............

이라는 문장이 있습니다...

이 밑의 항목을 설명을 드리자면...

afterstep에 각 창들을 화면상 배치 또는 화면에 필요 없는경우 우리는 가끔

이것들을 icon화 시킵니다... ms-window의 용어(?)로는 icon화라고도 하죠

이 window의 icon화 되었을때의 나타나는 초기 좌표의 설정입니다.

1) IconBox 0 -64 -1 -1

4가지의 변수가 있습니다.... 변수는 다음 순서의 좌표로 구성됩니다..

1->오른쪽 X좌표 2->오른쪽 Y좌표

3->왼쪽 X좌표   4->왼쪽 Y좌표

여기서 주의할것은 이 좌표중에서 -(minus)입니다..

-로 수가 표시될 경우는 화면상의 반대를 나타냅니다...

더 자세히 설명하자면.... +1은 수평의 맨 왼쪽을 나타재지만 -1은 화면상의 맨

오른쪽을 나타냅니다...

이렇게 표시하는 이유는.. 쓰시는 분들에 따라 X의 해상도는 다릅니다.

이렇게 해상도가 다른경우 icon이 언제나 구석에 있게하려면 위의 방법밖에는 없었□

□

거라 생각이 됩니다...

휴우~ 이제 오늘의 강좌도 끝이 났네요...

제 게으름으로 인해 강좌가 빠른 시간내로 끝나지 못하네요...

설명이 장황해서 그렇지 원래 아무것도 아닙니다...

금방 끝날거를 이렇게 길게 쓰지니 죄송한 마음부터 앞서네요...

-----새벽녘의 흡혈양파-----

-----------------------------The End---------------------------------------

항상 행복하시구 좋은 하루 되시길 ^^;

하이텔에 강좌가 올라오면 갈무리해 다음 편 빨리 올리겠습니다.

그럼......꾸벅 ^^;;

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 33번

제  목:[강좌] lilo를 꾸며보자

올린이:stoneonl(김석기  )    97/06/11 20:16    읽음:6901 관련자료 없음

-----------------------------------------------------------------------------

이 자료는 쏴봐쏴봐님이 올리신 내용을

캡처해서 올립니다.

내용이 잘되어 있네요

[133] 제목 : [시스템관리] LILO를 한번 꾸며보자!!

올린이 : 쏴바쏴바(김정하  )    95/08/29 01:15    읽음 :2277  관련자료 없음

------------------------------------------------------------------------------

--  Lilo의 설정을 내 마음대로 --

LILO(Linus Loader)는 컴퓨터를 부팅한 후, 리눅스 커널을 읽어 들여 부팅

하게 하는 역할을 한다. 한마디로 멀티부팅과 같은 것이다.

리눅스 이외에 DOS나 OS/2 같은 운영체제도 함께 사용할수가 있다.

새로 만든 커널 이미지로 부팅하기위해서는 LILO를 다시 설정하여야만한다

SETUP 상태에서 LILO릴 인스톨 할수도 있지만 여기서는 간단히

/etc/lilo.conf 파일을 수정하여 만드는 것을 이야기하겠다.

vi에디터로 /etc에 있는 lilo.conf 파일을 살펴보자.

자세한 설명을 같이 곁들여 설명을 하겠다.

□□□□□ □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

□  # LILO configgeration file                                            □

□  # Start LILO global section                                           □

□  # 부트레코드를 수정하여 부트할 하드 드라이브                          □

□  boot = /dev/hda (/hda라는 것은 하드디스크 첫번째 것을 이야기한다.     □

□                   만일 두번째의 하드를 지정한고 싶다면 /hdb로 표시     □

□                   하면된다.)                                           □

□                                                                        □

□  # lilo 프롬프트에 나타나는 메시지                                     □

□  message = /etc/lilo/message (SETUP상태에서 LILO를 설정하였다면 이     □

□                               부분은 생략되어 있을것이다. 처음에 부    □

□                               팅하였을때 LILO로 뜨게된다.              □

□                               만일 이 부분이 없다면                    □

□                               LILO :                                   □

□                               이런 모습으로만 표시될것이다. 만일       □

□                               /etc/lilo에다 message파일을 만들어 놓    □

□                               는다면 좀더 다양한 모습의 lilo를 표현    □

□                               할수 있을것이다.                         □

□                                                                        □

□                                                                        □

□  # 모든 시스템이 그렇지는 않지만 조금 빨라진다.                        □

□  compact                                                               □

□                                                                        □

□  # 프롬프트에서 입력받기를 기다리는 시간                               □

□  delay = 30                                                            □

□                                                                        □

□  # LILO 라는 프롬프트의 표시                                           □

□  prompt                                                                □

□                                                                        □

□                                                                        □

□  # Linux를 부팅시키기 위한 설정                                        □

□  # 새로만□  커널과 예전의 커널 그리고 다른 OS의 부팅을 위한 LILO설     □

□  # 정을 하여보겠다.                                                    □

□                                                                        □

□  # 새로 만든 커널로 부팅할 경우                                        □

□  # 새로 만든 커널 이미지의 위치를 써준다.                              □

□  image = /zimage                                                       □

□  # 루트 파티션의 위치                                                  □

□      root = /dev/hdb (두번째 하드디스크)                               □

□  # lilo에서 보여주는 OS의 이름                                         □

□      label = Linux                                                     □

□  # 표준 모드를 사용하는 경우                                           □

□      vga = normal (만일 vga모드의 선택을 가능하게 하고 싶다면          □

□                    vga = ask                                           □

□                    라고 하면 된다.)                                    □

□                                                                        □

□  # 예전의 커널로 부팅할 경우                                           □

□  # 위의 경우에 마찬가지이다.                                           □

□  image = /zimage.old                                                   □

□      root = /dev/hdb                                                   □

□      label = old                                                       □

□      vga = normal                                                      □

□                                                                        □

□  # DOS를 부팅□ 키기 위한 설정                                          □

□  other = /dev/hda1                                                     □

□      label = dos                                                       □

□      table = /dev/hda                                                  □

□                                                                        □

□                                                                        □

□                                                                        □

□                                                                        □

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

/etc/lilo/message

이 파일은 그냥 화면에 표시를 푠주는것 뿐이다. vi에디터나 그외의 에디

터를 이용 텍스트로 자신이 맘에 드는 화면을 꾸미면 된다.

한 페이지 정도를 꾸미면 괜찮을것이다.

만일 궁금하신점이나 물어보실점이 있으시면 제 아이디로 메일을 보내주세

요. 처음으로 올려보는 글이라 많이 서툴지 모르겠군요.

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 34번

제  목:[참고] 제게 메일을 보내실□□

올린이:stoneonl(김석기  )    97/06/13 01:51    읽음:2526 관련자료 없음

-----------------------------------------------------------------------------

죄송합니다.

제한테 보낸 편지를 보내도

답장을 못 받으신 분이 많을 실 겁니다.

이유는 제한테 온 편지중에 제목이

눈에 뛰지 않거나 읽을 필요가 없다고

생각하면 삭제 하고 있습니다.

이유는 제가 친목회를 하고 있는데

그쪽에서 쓸데 없는 편지가 오고 있기 때문입니다.

그래서 제게 편지를 보내실 때는

/Linux/ 제목

/Linux/ 제목

이라고 보내주십시오 꼭 읽겠습니다.

그럼

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 36번

제  목:[옮김] 커널과 모듈에 대하여..(유형목님)

올린이:pey1    (박은영  )    97/06/13 20:39    읽음:4196 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

초보란에 올리신 유형목님의 글 입니다.

많은 도움 되시길...

------------------------------------------------------------------------------

제  목 : [필독] 커널과 모듈에 대하여...

올린이 : 엠브리오(유형목  )    97/06/13 18:02    읽음 :  16  관련자료 없음 --

----------------------------------------------------------------------------

안녕하십니까?

엠브리오 입니다.

리눅스를 처음 대하는 초보들에게 커널 컴파일에서 모듈의 개념을

알려 드릴까 해서 몇자 두들겨 봅니다.

-------------------------------------------------------------

모듈이란?

모듈이란 한마디로 어떤 기계에서 서로 바꾸어 쓸수 있는 부품과 같다고

생각하면 쉽습니다.

예를 들어 어머니께서 진공 청소기를 하나 구입하셨다고 가정해 봅시다.

(리눅스 커널을 설명하는데 왠 진공 청소기 ?)

옛날 같으면 달랑 먼지 흡입구 하나만 달린 멋대가리 없는 제품이였겠지

만, 요새는 좀 다릅니다.

그렇게 만들어서는 제품을 팔아서 장사를 하기 힘들겠지요?

그래서 청소기를 만들때 부터 아예 먼지 흡입구 부분에 여러가지 장치를

바꾸어 달수 있도록 설계를 합니다.

먼지가 많은 좁은곳에는 좁고 길쭉한 먼지 흡입구를 달수 있도록 하고,

마루를 청소 할때는 물걸레를 달수 있도록, 심지어는 물청소를 할수

있는 장치도 개발 되었습니다.

결국 본체는 하나인데 여러가지 장치를 바꾸어 끼울수 있도록 함으로써 보

다 효과적으로 청소기를 사용할수 있습니다.

리눅스 커널도 똑같이 생각하면 되겠습니다.

기존 커널에는 여러가지 기능을 한 커널안에 모두 집어 넣도록 되어 있었습

니다.

그러다 보니 난 프린터를 자주 사용 하지 않는데도 불구하고 잠깐 동안의

프린팅 작업 때문에 프린팅 기능이 항상 커널안에 들어와 있어야 했습니다.

마찬가지로 전에는 쓸일이 없었던 랜카드를 사용할 경우가 생겼을때, 커널안

에 그 기능이 없을경우, 항상 처음부터 다시 컴파일 해야만 했습니다.

그래서 개발자들도 고민을 했습니다.

그리하여 리눅스 커널이 2.0.0 이 되면서 모듈이라는 개념이 도입 되었습니다.

"내가 쓰고 싶은 기능을 내가 아무때나 넣어서 쓴다?"

"필요없는 기능을 아무때나 빼버릴수 있다?"

리눅스 커널에 있어서 거의 획기적이라고 할수 있는 이러한 방식은 곧 커널의

개념을 확 뒤바꾸어 놓기에 충분했습니다.

그만큼 커널 버전이 1.3.X -> 2.X.X 로 바뀐데는 이유가 있었던 셈입니다.

초보님들 중에서 어떤 기능이 되지 않는 경우 우선 시도 하는 것이 커널 컴파일

입니다.

커널 컴파일이란 작업은 그리 쉽지가 않습니다. 우선은 하드웨어에 대한 지식도

조금은 필요하고 컴파일 옵션을 지정해야 하는 어려움도 있습니다.

그러나, ...      모듈 사용법을 배워 두십시요.

지금 당장 ............

12 번 리눅스 배움터 -> 2 번 리눅스 강좌/연재 -> 361번 게시물을

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

프린터로 찍어서 읽어보십시요.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

시삽님(geoman)이 올리신 모듈 강좌가 아주 자세하게 나와 있습니다.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

커널 컴파일이 너무 너무 쉬워집니다.

(흥... 커널 별거 아니군 ...후후후)

커널 컴파일 시간도 엄청 줄어 듭니다.

(왜? 모듈만 컴파일 하면 되니깐..하하하)

원하는 기능을 내 맘대로 올렸다 내렸다 할수 있습니다.

커널이 바로 여러분의 손바닥 안에 훤히 들여다 보입니다...

엠브리오 드림.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 37번

제  목:[강좌] 컬러 ls로 만들어 보자

올린이:stoneonl(김석기  )    97/06/15 13:30    읽음:3736 관련자료 없음

-----------------------------------------------------------------------------

제가 아직 다 읽어 보지는 않았지만

자기만의 시스템을 꾸며본다는 의미에서는

정말 좋은 시작이락 생각됩니다.

x윈도우가 안된다고 낙심하지 마시고

하나 하나 정복하면 xwindows 그림 못지 않은

리눅서가 된 자신을 봄으로써 만족하게 될 겁니다.

그 시작이 linux의 가장 기본적인 명령어인 ls라고 생각됩니다.

얻는 방법은 다음과 같습니다.

go linux

12

2

263

dn

ls.cap

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX          리눅스 배움터-리눅스 강좌 / 연재 (LT : ls)             1/마지막

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

263 geoman   이만용   06/22 1597  22 [강좌] 더욱 더 아름다운 컬러 ls 를 위해

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

명령어안내(C) 초기화면(T) 직접이동(GO) 종료(X)

선택>

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 38번

제  목:[강좌] 통신 프로그램 사용법(세연, 미니컴)

올린이:pey1    (박은영  )    97/06/16 23:27    읽음:6053 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요? ( 흠..셤기간 입니다 -.-)

리눅스에서 사용하는 통신 프로그램은 몇가지가 있는데 그중 많이 사용하는 것이

미니컴(minicom)과 세연(seyon) 입니다.

미니컴은 Miquel van Smoorenburg (miquels@drinkel.ow.org , miquel@cistron.nl)

씨가 만든 통신 프로그램 입니다. 미니콤은 도스용 쉐어웨어인 TELIX라는 프로그램

과 유사한 사용 방법을 가지고 있는 텍스트 기반의 통신 프로그램으로 우선 root

사용자가 -s 옵션을 붙이고 전체적인 셋팅을 해줘야 합니다.

미니컴이라는 텍스트 기반의 통신 프로그램과는 달리 X 윈도우용 통신 프로그램이

있는데, 이는 바로 무하마드 사가프씨가 만든 "세연" 입니다. 미니컴과는 달리

마우스 클릭 방식의 메뉴를 지원 합니다.

그럼 강좌란에 가셔서 이들 프로그램의 사용법을 익히시기 바랍니다.

12-2 에서 "lt 통신" 하시면 나옵니다.

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX         리눅스 배움터-리눅스 강좌 / 연재 (LT : 통신)            1/마지막

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

418 seyon    이윤수   03/02  971   8 [활용강좌01] 리눅스로 통신을하자(seyon

128 머드넷   황동준   08/17 1728  10 [통신] xc 사용법

127 머드넷   황동준   08/17 1786  14 [통신] minicom 사용법

122 머드넷   황동준   08/10 4010  36 [자유강좌] 리눅스와 통신         #19

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

이번에는 하이텔에서 퍼온 글을 올리겠습니다

------------------------------------------------------------------------------

번호:82/184  등록자:KAKER  등록일시:96/10/01 01:29  길이:153줄

제 목 : [i]세연 환경설정...두번째 수정한것

------------------------------------------------------------------------------

안녕하십니까? kaker(최종호)입니다.

전국적으로 보슬비가 내려 농작물에 단비가 될것 같군요

우리 리눅스 동호회도 무럭무럭 자라났으면.....

세연은 참으로 우리 초보들을 괴롭히는 것같읍니다.

백스페이스문제, 한글입력,전화번호부에서 마우스로

다이얼링하기, 일반유저의 사용권한 문제 등등

그동안 저도 게시판을 드나들며 많이 방황했죠

그러면 제가 아는것을 정리해 드리겠읍니다.

수퍼유저의 환경설정을 먼저 합니다.

hanterm을 까셨으면 seyon에서 한글을 쓰기위해

세연을 한텀에 링크시켜야 합니다.

이하 설명의 편의를 위해 경칭은 생략합니다.

cd /usr/X11R6/bin   앞의 디렉토리로 이동하여

mv seyon-emu seyon-emu.old

만일을 위해 xterm에 링크되어있는 seyon-emu를

백업하고 다음의 명령으로 세연을 한텀에 링크

ln -s hanterm seyon-emu

/root/.seyon 으로 이동하여 startup과 phonelist를

편집한다

vi startup  하여 다음과 같이 편집한다

---------------------------------------------------------

set baud 38400   자신의 모뎀속도

set bits 8

set parity 0

set stopBits 1

set newlineTranslation cr

set del off  이것을 off시켜야만 백스페이스키로

오타를 지울수 있다

set meta_tr off 이것을 off시켜야만 통신중에 한글을

입력할수 있다 on으로 하면 한글을

한글자 밖에 입력 못한다

set xoff off

set rtscts on

set autozm on

set idleGuard on 이것을 on으로 하면 일정시간 마다

세연이 신호를 보냄으로 오랫동안 입력이 없을

때 통신회사가 일방적으로 접속을 끊는것을

막을 수 있다

echo "Initializing modem..."

transmit "ATZ^M"

------------------------------------------------------------

다음은 phonelist를 편집한다. vi phonelist

불필요한 전화번호는 #를 붙여 주석문화하고

다음과 같이 전화번호를 입력한다

790-1522 Chollian BITS=8 BPS=38400

...

...

다음은 홈디렉토리(/root)에 있는 .Xdefaults 를 편집한다

vi .Xdefaults 하여 .Xdefaults에 다음의 내용을 추가

-------------------------------------------------------------

Seyon.modems: /dev/cua3

필자는 모뎀포트가 com4이므로 cua3, com3라면 cua2,

com2라면 cua1

Seyon.backspaceTranslation: off

백스페이스키가 듣게한다

Seyon.metaKeyTranslation: off

연속적인 한글 입력이 가능해진다

Seyon.defaultDirectory:/root/.seyon

자신의 세연 디렉토리

Seyon.dialPrefix: AT$c1\n5^M~~ATDT

세연 Command Center 에서 dial을 클릭하여 전화

하려면 위의 문장이 있어야함, phonelist 밑에

부분에 보면 sample이 있다

Seyon.idleGuard: on

이미 설명했고

Seyon.captureFile: capture

갈무리 파일의 이름,통신을 끝내고 확인한 다음에는

이름을 바꿔놓아야 파일이 커지는 것을 막을수 있다

Seyon.startupFile: startup

Seyon.phonelistFile: phonelist

Seyon.dialDelay: 20

접속이 안될때 다음 전화번호로 걸기 까지의

대기시간 10~20 정도가 적당할 듯

----------------------------------------------------

.Xdefaults를 고친뒤에 적용하려면

darkstar:~#xrdb -load .Xdefaults

위와같은 명령을 해줘야 변경이 유효해진다.

위의 명령은 윈도우에서 해야 합니다

위와 같은 수정을 X-window에서 하였다면 일단 X를

끝내고 다시 윈도우를 기동해야 합니다.

bash 사용자(주로 root)는 자신의 홈디렉토리의 .login

파일에 다음의 내용을 추가한다. 없으면 vi .login 하여

만든다. 다음에 여러 가지 환경설정을 여기에 추가 할

수 있다.

setenv LANG korea

setenv LESSCHARSET latin1

리눅스 입문서나 문서에는 위와 같이 하라고 되어있는데

위의 setenv LESSCHARSET latin1  은 삭제하시길 바랍니다.

왜냐하면 넷스케이프에서 한글을 보기 위해

Options -> Document Encoding: Korean(EUC-KR) 로 설정해야

하는데 로긴파일에

setenv LESSCHARSET latin1 이 있으면 넷스케이프 실행시

Document Encoding 부분이 latin1 으로 자동으로 바뀌어 한글이

깨져 나오게 됩니다.

다음은 일반유저로 세연을 사용하기 위해 해야할 일입니다.

먼저 일반유저로 로긴한다음 자신의 홈디렉토리밑에

세연 디렉토리를 만들고 여기에 필요한 파일들을 복사한다

mkdir .seyon

cd .seyon

cp /usr/doc/seyon/startup .

cp /usr/doc/seyon/phonelist .

cp /usr/doc/seyon/protocols .

그리고 나서 startup과 phonelist를 먼저와 같은 방법으로

편집한다.

-------------------------

루트가 세연을 이미 사용하고 있다면 더 편리한 방법은

/root/.seyon 에서 파일을 복사 해오는 겁니다.

cp /root/.seyon/startup .

cp /root/.seyon/pnonelist .

파일 사용허가의 변경은 필요 없읍니다.

다음은 .Xdefaults 인데 유저의 홈디렉토리에 아마 이것이 없을

겁니다. 이것도 복사해옵니다.

유저의 홈디렉토리에서

cp /root/.Xdefaults .

역시 사용허가변경은 안해도 됩니다.

그리고 나서 유저의 .Xdefaults 중 세연 디렉토리 정의하는

부분이 있는데 다음과 같이 수정한다.

Seyon.defaultDirectory: /home/유저아이디/.seyon

.Xdefaults를 다 수정하였으면 윈도우를 기동하여 xterm을

뛰워놓고 다음의 명령을 한다.

xrdb -load .Xdefaults

끝으로 super user 의 권한으로 유저에게 모뎀 사용 허가를 한다.

su root  루트로 변신한다음

chmod o+rw /dev/cua3

다시 유저로 돌아오기 위해서는 exit 하면 된다.

유저의 로긴파일은 /etc에서 csh.login을 유저의 홈디렉토리에

.login 으로 복사하면 됩니다.

.login에  setenv LANG  korea  라고 한줄을 써주고

나중에도 경로를 추가해야할 경우 여기에 하면 됩니다.

자 이것으로 .Xdefaults의 편집과 사용허가까지 끝났읍니다.

세연을 처음 사용하시려는 분들게 도움이 되었으면...

kaker(최종호)

--------------------------The End-------------------------------------------

추신 : 셤 잘 보셔요 ^^;;

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 39번

제  목:[강좌] PPP 사용하기

올린이:pey1    (박은영  )    97/06/17 18:57    읽음:8391 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요? (날이 무지 덥습니다 -.-)

리눅스의 진정한 매력이 발휘되는 것이 바로 네트워킹 입니다.

그 매체가 전화선이든 전용선이든 현재 나와 있는 모든 매체를 사용할 수 있으며

정말로 많은 네트워킹 방법을 제공하고 있기에 이세상 거의 모든 컴퓨터와 연결

할 수 있습니다.

집에서 리눅스를 사용하며 이더넷 카드등의 장비를 갖추지 않고 모뎀을 통해 통신

서비스를 이용하는 사람들은 PPP나 SLIP 이라는 서비스를 사용합니다.

PPP 접속은 보통 SLIP 보다 안정된 인터넷 연결을 해주는 표준적인 시리얼 라인

인터넷 프로토콜 입니다. PPP 접속을 하게 되면 그 순간 동적으로 IP 를 할당 받게

되어 있습니다. 그리고 PPP 접속이 이루어져 있는 동안은 그 주소를 마치 자기 주소

처럼 사용할 수 있습니다. 여러분의 컴퓨터가 PPP 로 연결돼 있다면 다른 사람들이

그 주소로 여러분들에게 telnet, ftp 등으로 들어올 수 있고, 거의 실용성은 없지만

여러분이 웹 서버를 돌린다면 HTTP 접속도 가능 합니다.

그럼 12-2 강좌란, 9 팁란, 돌드림스 님이 보내주신 메일로 PPP 이용법을 살펴

보겠습니다. (메일 보내주신 돌드림스(안명구)님 감사합니다)

12-2 에서 "lt ppp" 로 찾아 봤습니다.

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX          리눅스 배움터-리눅스 강좌 / 연재 (LT : ppp)            1/마지막

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

460 pey1     박은영   05/21  243  10 [샤론] 왕초보의 ppp 접속(2편:Co-Lan)

455 pey1     박은영   05/20  427   9 [강좌] 왕초보의 ppp 접속법(1편:모뎀사용

435 slgiroun 김영주   03/26  345   2 [참고][미닉스] ppp 스크립트 뒤에 짤린

434 slgiroun 김영주   03/25  409  10 [참고][미닉스] 코랜을 위한 ppptest

433 slgiroun 김영주   03/25  605  36 [참고][미닉스] 코랜을 위한 ppp 스크립트

275 shrimp   장세호   07/09 2835  18 [강좌] 리눅스 ppp 사용하기

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

다음은 9번 팁란에서 "lt ppp" 로 찾아본 것입니다.

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX          리눅스 사용자 모임-리눅스 사용담 (LT : ppp)              1/다음

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

1699 조공명   장우중   06/14   99  28 [참고] 코랜을 이용한 ppp 스크립트 랄라

1674 gelo     최재철   06/04  206   2 [팁] ppp 접속 chat 사용 주의점

1648 돌드림스 안명규   05/21  240   6 [TIP] Co-lan&PPP connection kernel solu

1547 socratic 성힘찬이 03/09  733   5 [통신] PAP를 통한 PPP 접속.

1498 logout   손정우   02/13  757  24 [팁] co-lan, ppp, 그리고 에러와의 사투

1490 소사벌   최태하   02/09 1357  13 [참고] 레드햇 세연,모뎀으로 PPP 접속

1460 socratic 성힘찬이 01/24  581   9 [참고/HOWTO] ppp how-to의 잘못된 부분..

1419 geoman   이만용   01/11  966   5 [참고] ppp-off 스크립트 :)

1404 astro033 김승환   01/07 1534   4 [참고] 알짜 레드햇에서의 PPP

1352 geoman   이만용   12/23 1225   5 [네트웍] 레드햇 4.0 PPP 문제에 대하여

1310 logout   손정우   11/26  971   7 [활용] 터미널 편하게 쓰기 - ppp

1219 쓰에조우 박주연   09/27  665   3 [통신/WWW] PAP라는 PPP 설정

1208 aduka    김달언   09/17  818   1 [참고]co-lan 에서 ppp

1001 geoman   이만용   05/13 1074  13 [관리/네트워크] 커널 1.3.* 버전과 ppp 2

997 tel92    우정임   05/09 2607  25 [통신] 리눅스에서 PPP설정 (dial-up & se

970 geoman   이만용   04/19  976   8 [네트워크] 천리안 매직콜 PPP 서비스 이

967 큰무리   김대효   04/19 1932  11 [관리/WWW] 리눅스에서 확실한 PPP 접속방

804 하얀날개 강현     02/15  939   7 [관리/팁] 두 대의 pc가 하나의 ppp line

573 chamkki  오주일   09/21 2220   5 [인터넷] slirp 쓰기. (SLIP/PPP)

487 knk0802  김남근   08/05 2256   5 [WWW] linux에서의 ppp접속 팁하나.

254 roomie   정현국   02/28 1287   3 [통신] 안방에서 인터넷을, 한국통신 PPP

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

마지막으로 돌드림스 님이 보내주신 강좌 입니다.

-------------------------------------------------------------------------

From PopTart Sat Jun 14 17:45:11 1997

Date: Thu,12 Jun 1997 23:03:13 +0900

From: 안명규 <idog@nownuri.net>

Subject: 바보 누나 받아라.

Content-Type: text

--------------------------------------------------------------------------

음냐... 글 제목은: 맹구도 하는 씨오랜과 ppp연결 --;;

안녕하세요?

부산의 왕초보 리눅서, 맹굽니다.

이쁜 은영 누나의 권유로, 맹구의 "ppp와 Co-lan"에 관한 초보 문서를 작성해

봅니다. --;;

# 본 내용의 무단 전제 나 복사, 카피가 가능하며, 상업적으로 이용될때는

저자에게 복날의 X잡듯이, 비오는 날 XX나듯이 ... 됩니다. #

맹구와 함께 하는 ppp와 colan, 그리고 리눅스 시간 입니다.

이 글은 저의 경험담으로서 서술 하겠습니다.

그리고, 초보단계에서 활용할 수 있는 약간의 tip를 적어 봅니다.

저는 거의 한달간 ppp접속을 못 해서, --; 리눅스 동에서 유명한 "ppp귀신"

되어서 근 한달간 "대화실"을 떠돌아 다녔었습니다.

--;; 강조해도 지나치지 않는 "lt 찾고싶은 것"을 습관화 합시다.

리눅서님들은 평범한 질문에 답해주지 않습니다.

초보님(저 포함)은 쓸데 없는 질문으로 리눅서 고수님들을 괴롭히지 맙시다.

-리눅스동 공익 캠페인-

# 초보가 범하기 쉬운 실수 # ----------------------------------------------

1. 커널 컴파일을 잘 못 하였다. (--; 제가 이 경우)

2. 옵션을 잘 못 지정했다.

3. 씨오랜에서 ppp접속이 안된다.

1번의 경우, 커널 컴파일 중에서, Network Options에서, IP:궁시렁 나오는

것들은 모두 그대로 사용하시고요. 중요한 커널 컴파일은,

Network device 지원은 yes

ppp  는 모듈로... m

과정에도 있지만, IPX프로토콜과 apple talk를 모듈로서 꼭 컴파일 하셔야

합니다. --;; (참고로, 9번 TIP란에, 제가 커널 컨피그 네트관련 부분을

올려 놓았습니다.)

pppd치시고, *** kernel lack *** 이라고 나오시는 분은 커널을 아예 컴파일

안하셔서 그런 겁니다. --; 커널 컴파일법은 딴 데 가서 알아봐욧~

2번의 경우, 옵션이나 네트워크에 관련된 화일을 잘못 만지신 겁니다.

네트워크 관련된 화일

/etc/hosts

/etc/resolv.conf

/etc/sysconfig/network

/etc/options

위의 4개는 안 만지고 사용하셔도 됩니다.(왕초보는 No Touch)

참고로, 제꺼는.. (아래는 참고로 활용하시고, 따라 안하셔도 됩니다.)

cat /etc/hosts                     /* 이 화일에, 자주 접속하시는

127.0.0.0    localhost             서버의 IP와 Domain name을 적어 두시면,

127.0.0.0    doldreams             리눅스 박스가, DNS server역활을 하게

168.126.3.3  kornet                되지요.

168.126.3.4  kornet2               예를 들어,

168.126.3.5  kornet3               telnet kornet치시면, 코넷 기냥 접속. */

cat /etc/resolv.conf

search soback.kornet.nm.kr

nameserver 168.126.63.1

cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=doldreams.net

cat /etc/options

/dev/modem

19200

crtscts

defaultroute :168.126.63.1

입니다. :)

3번의 경우는, --; 씨오랜이 ppp 연결이 안 될때가 있습니다.

물론, kornet가입 안 하시면, "DESTINATION: "에서 ppp치시면 안 됩니다.

제가 말하는 ppp연결이 안 된다는 경우, 씨오랜측에서 작업하거나, 문제가

발생해서, ppp연결이 안 되는 경우입니다.

요새 시스템 업그레드때문에, 연결이 안 되거나, 끊기는 현상이 좀 있습니다.

# ppp 활용 # -----------------------------------------------------------

* ppp접속 확인과 나의 ip는? *

ppp접속 확인은 아래와 같이, ifconfig 치셔서, ppp0이 보이시면 접속

된 겁니다.

ifconfig

lo        Link encap:Local Loopback

inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0

UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1

RX packets:4842 errors:0 dropped:0 overruns:0

TX packets:4842 errors:0 dropped:0 overruns:0

ppp0      Link encap:Point-Point Protocol

inet addr:168.126.192.74  P-t-P:168.126.192.1 ........

...................중략.....................

.......................................

TX packets:32446 errors:0 dropped:0 overruns:0

여기서, 자신의 ip는 inet addr:168.126.192.74 입니다.

* 통신 에뮬을 통하지 않고, ppp연결 *

세용이나 미니꼼을 통해서 ppp연결 방법은, 12번 2번게시판에, 이쁜 누나(?)

님이 글 올리신 게 있으니, 참고하세요.

세용이나, 미니꼼을 안 통해서, ppp연결 하실려면,

ppp스크립터(자료실에 있음)나, chat을 이용하시면 됩니다, 방법은.

그냥 셸상에서 아래와 같이 해주시면 됩니다.

pppd /dev/modem 19200 connect 'chat -v "" "" "TION:" "260/ppp"' crtscts

defaultroute :203.232.99.1

* 가상 ip와 고정 ip *

일반적으로 ppp연결 하시면, 사용자의 리눅스 박스는 가상 ip를 받게 됩니다.

(가상 ip: 비사용중인 ip를 무작위로 사용자에게 부여.)

가상 ip --- ISP ip(gateway로 활용) --- 인터네또

그런데, 고정 ip가 원하고 싶으신 분도 계실겁니다. 서버로 돌리시거나, 기타

등등의 이유로...

그라모, pppd의 옵션에서,ㅔ

pppd /dev/modem 19200 crtscts defaultroute 받고 싶은 ip:168.126.63.1

하시면 됩니다.

받고 싶은 ip가 사용중이면, 접속이 안 됩니다.

보통, 접속하셔서, 자신의 가상 ip가, 168.228.0.78이라면,

할당받을 ip는 168.228.0.222 라든지 하심 됩니다.

* 끊김 방지용 telnet *

geoman(이만용)이 telnet소스를 분석하셔서, 만드신 건데요.

나우누리에서, 대화실이나, 게시판에 아이디를 그냥 놓아두심,

지정한 문자열이 나가게 하여, 접속이 끊기지 않게 하는 겁니다.

자료실에서, "lt 텔넷"치시면 나오고요, "lt telnet"치면 안 나옵니다. --;;

그 telnet을 "/usr/bin"에 있는 오리지날 텔넷(?)에다 엎으셔도 되구요.

다른 곳에 까셔도 되고요. (다른 곳에 까실때는 실행가능하게 퍼미션 변경)

사용법: telnet -t 시간 접속할 곳.

예제:  telnet -t 60 nownuri.net

203.238.128.51(으)로 접속 시도 중...

nownuri.net 호스트에 연결되었습니다.

탈출문자는 '^]' 입니다.

UNIX(r) System V Release 4.0 (lion2)

NowCom에 오신 것을 환영합니다.!!

[Enter] 를 누르십시오

위의 시간이 아마, 초단위일겁니다.

화면에 보낼 문자열은, 홈의 ".bash_profile"의 적당한 곳에,

export IDLE_STRING="보낼 문자열"을 적어 주심 됩니다.

p.s. 이상 저에게 ppp연결을 도와주신 모든 분에게 감사의 말과, 리눅스

게시판에 참고글을 올리신 모든 분에게 모든 걸 바칩니다. --;;

(^^; 줄게 없다.)

좀 더 공부하고 싶으신 분은 12번-2번게시판에서 "lt ppp"해보세용.

from dol-linuxer

^-^ 쑈랜 쓰시는 분은

go stel 3 하세요. *** ...

Powered by Red Hat Linux ... ***

----------------------------------The End--------------------------------

즐거운 인터넷 항해 되시길 바랍니다. ^^;

(추신: 정말 덥군요 --;)

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 40번

제  목:[강좌] 사운드 부분 커널 컴파일 정복하기

올린이:stoneonl(김석기  )    97/06/23 02:18    읽음:5696 관련자료 없음

-----------------------------------------------------------------------------

전 모두 xwindows상에서 커널 컴파일을 합니다.

그래서 밑에 사항은 X-windows를 바탕으로 하고 있습니다.

그리고 전 전에 썼던 글이나 지금 쓰는 글 모두 슬렉웨어를

바탕으로 썼습니다. 다른 배포판에는 거의 같을 겁니다.

(모두 같습니다.)

cd /usr/include

rm -rm asm linux scsi

ln -s /usr/src/linux/include/asm-i386 asm

ln -s /usr/src/linux/include/linux linux

ln -s /usr/src/linux/include/scsi scsi

cd /usr/src/linux

make mrproper

X-windows를 실행하시기 바랍니다.

(위의 사항을 X-windows상에서 해도 됩니다.)

make xconfig

X-windows가 안 되는 사람은

make config나 make menuconfig를 하시기 바랍니다.

X-windows가 안되는 사람은 make config(make munuconfig)

를 하신다음 sound 부분만 다음의 참고 하시면 되겠습니다.

간단하게 설명드리자면

make config

앞부분은 자신의 시스템에 맞게 설정하십시오

*

*Sound

*

Sound card support (CONFIG_SOUND) [Y/m/n/?] y

SoundBlaster (SB, SBPro, SB16, clones) support

(CONFIG_SB)[Y/n/?] y

or

Microsoft Sound System Support (CONFIG_MSS)

[N/Y/?]y

-----------------------------------------------

/dev/dsp and /dev/audio support (CONFIG_AUDIO)

[Y/n/?] y

꼭 y로 하십시오 반드시  y로 하세요

------------------------------------------------

그리고 I/O base나 IRQ DMA는 자신의 사운드카드에

맞게 적으세요

밑부분으로 가십시오

make xconfig를 실행하기 앞서 리눅스를 처음에 설치

할 때 tcl시리즈를 선택해서 설치하시 바랍니다.

make xconfig를 실행하면 메뉴가 나올 겁니다.

대부분 디폴트로 되어 있어 그대로 컴파일 하면 됩니다.

sound 부분만 살펴봅시다.

메뉴중에

SOUND 라는 부분이 나와 있을 겁니다.

이 부분을 선택해서

sound card support 를 y로 하세요

그럼 다음 사운드카드를 선택하세요

사블계열은

SoundBlaster (SB,SBPro,SB16,clones) support

부분을 y로 하세요

그리고 가지고 있는 사운드 카드가 사운드블레스터가

아니고 사운드블레스터호환카드라면 이부분을 y를 선택

하세요 그리고 혹은 MicroSoft Sound System를 지원한다면

이부분을 선택하지 마시고

Microsoft Sound System support

이 부분을 선택하세요 이유는 호환계열이라면

거의 SBPro로 작용하게 됩니다. 그럼 소리가 8bit로 작용하게 됩니다.

Microsoft Sound System를 선택하시면 16bit로 작용하게 되는 것입니다.

그리고 사블이든  MSS이든 둘 중에 한 개만 선택하세요

두 개다 다 선택하면 에러가 날 수 있습니다.

그리고 사운드 카드가 MIDI가 지원하거나 작동시키기 위해서는

MIDI interface support

를 y로

FM synthesizer Support

지원되면 y로 하시십시오 이부분은 전자효과음을 나게 하는 것입니다.

제가 이부분을 선택하니까 컴파일 하던중 에러가 나더군요

선택은 본인에 맡기겠습니다.

(저의 사운드 카드는 옥소리 WS16VE입니다.)

나머지 부분들은 본인이 알아서 하세요

그리고 사운드카드는 하나만 선택하고 나머지 옵션들은 지원되는

부분만 y로 하세요

그리고 제일 중요한게 있습니다.

-------------------------------

/dev/dsp and /dev/audio support

를 꼭 y로 선택하십시오

-------------------------------

커널 컴파일이 안되는 이유가 여기에 있습니다.

그리고 또다른 이유가 사운드카드를 잘못 선택했거나

주소나 IRQ DMA를 잘못 지정해서 안되는 것입니다.

그리고 마우스로 오른쪽 바(bar)를 쭉 내려오시면

주소나 IRQ DMA를

각자의 사운드 카드에 맞게 적으십시오

사운드카드 매뉴얼에 나와 있을 겁니다.

그리고 밑에 NEXT를 누르시고 그러면

커널 해킹에 대해 묻는데 N로 하고

Main Menu를 누르시고

Save Exit를 누르세요

그리고 OK를 누르시면

한텀으로 돌아 옵니다.

다음에 할 것은

make dep

make clean

그리고 마지막 단계가 남았습니다.

lilo를 사용하시는 분은

make zlilo

(커널 컴파일 에러나시는 분은 안하시는

게 좋을 듯 합니다.)

그리고 lilo를 사용하시지 않는 분은

make zImage

를 하고 나서

cp /usr/src/linux/arch/i386/boot/zImage /vmlinuz

하십시오 make zlilo를 사용하시는 분은 해당이

안됩니다.

그리고 커널 컴파일 하던중에 에러가 나면

cp /usr/src/linux/arch/i386/boot/zImage /vmlinuz

하시 마십시오 그럼 부팅이 안될 수 도 있습니다.

커널 컴파일은 10분에서 30분정도 걸립니다.

제 경우(펜티엄) 12분이 걸렸습니다.

그리고 커널컴파일을 하다가 사운드 부분이

에러가 나거나 소리가 나지 않는 경우는 다음과

같이 하십시오

SOUND CARD SUPPORT (CONFIG_SOUND) [Y/m/n/?] m

Sound card support 를

m

으로 하십시오

그리고

주소와 IRQ등 여러 가지를 적으시고

커널 컴파일 후에

다시 말해

make dep

make clean

make zlilo (make zImaze)

make moudules

make modules_install

를 하십시오

그리고 난 다음에

cp /usr/src/linux/drivers/sound/sound.o /lib/modules/2.0.0/misc

하시고 난 후에

insmod sound

하시면 될 겁니다.

그리고 사운드 테스틀 해보십시오

이 사운드 기능을 끄고 싶을때나 새롭게 설정하고 싶으면

rmmod sound

를 하면 될 겁니다.

그리고 이런게 귀찮으시면

cd /sbin

depmod -a

kerneld

를 하시면 될 겁니다. 그럼 insmod sound나 rmmod sound를

하실 필요가 없습니다.

그러나 리눅스를 뛰울때마다 좀 불편합니다.

부팅후에 적여줘야 하니까요 스크립트를 짜서 되겠지만

그러나 어쩌겠습니까

소리를 듣고 싶으니 별수 없지 않습니까

그리고 모든 설정을 끝내고

나서 반드시 재부팅 하십시오

ctrl+alt+del키는 하지 마십시오 리눅스 시스템만

망칩니다. 반드시

reboot

라고 명령을 내리십시오 그럼 조금후에 재부팅을 합니다.

그럼 linux에서 부팅하고 있을 때 전에 없던

메시지가 보일 겁니다.

사운드에 대한 메세지가 나타납니다.

빨라서 보지 못했다면

사용자로 로긴한 후에

shift + pageup

하시면 지나간 화면을 볼 수 있습니다.

그리고 사운드 설정을 모듈로 하신분을 볼 수 없습니다.

그럼 이제 사운드가 나오는지 안 나오는지 테스틀 해봅시다.

집에 마이크가 있다면

cat /dev/dsp > test

를 명령을 내린후에 마이크에다가 아무말이나 말하세요

위에 것은 test라는 이름으로 녹음하는 것입니다.

그리고 녹음을 중단하고 싶을 때 ctrl + c로 누르십시오

녹음한 내용을 듣고 싶을때는

cat test > /dev/dsp

하면 녹음한 내용이 나옵니다.

cat /dev/dsp > test

를 했는데 에러가 뜨면 커널 컴파일이 제대로 안된 것입니다.

다시 설정하십시오

커널 컴파일을 다시 하려고(컴파일중에 에러가 나서)

리눅스를 다시 설치하지 마십시오

처음 했던 방식으로 다시 시작하면 됩니다.

다음과 같이..

cd /usr/include

rm -rm asm linux scsi

ln -s /usr/src/linux/include/asm-i386 asm

ln -s /usr/src/linux/include/linux linux

ln -s /usr/src/linux/include/scsi scsi

cd /usr/src/linux

make mrproper

..

...

마이크가 없어서 테스트를 못하겠다면 mp3를 하면 돌려 봅시다

cd /usr/local/bin

mp3 플레이가 두 개 있습니다.

mp3play 와 maplay 가 있는데 maplay를 쓰면

maplay test.mp3

하면 소리가 날 겁니다.

그리고 mp3play나 maplay는 배포판에 있습니다.

그래서 리눅스를 처음 설치할 때 선택하시면 됩니다.

굳이 자료실에 받을 필요가 없습니다.

그러나 윈도우95에서의 winplay같은 것이 있는데

tk3play이다. 이걸 자료실에 받아서 컴파일하고

X-windows에서 실행해봐라 모양은 좋지 않지만

윈도우95의 쥬크박스같은 기능도 있고 반복 플레이가

가능하다.

사운드 테스트 하나 더.. X-windows를 실행시키자 마자

종소리가 난다.

이제 거의 대부분이 끝났다.

난 사운드가 나기 시작했을 때 정말 리눅스의 멀티

태스킹을 실감하기 시작했다. mp3를 플레이를 해놓고

여러 작업을 해도(HWP/X, 세연, mc, 등등 동시에)

mp3의 소리 끊김 없이 돌아가는 것이다. 물론 음질 하나

변화없이 말이다.

그리고 추가적으로 말씀할 게 있습니다.

커널 컴파일 하다가 에러가 나고 중단될때는

시스템 설정을 잘 못 할 수 도 있습니다. 그러니까

사운드 부분을 컴파일 하기전에 그만 둘 수 있다는 거죠

그리고 맨 위의 내용의 글자를 잘 보고 실행하십시오

한 자 빼 먹거나 잘 못 적을 경우 실행이 당연히

되지 않습니다. 그리고 제가 존대말을 썼다고

반말을 했다가 쓰는데 생각날 때마다 쓰니

완전히 뒤죽박죽입니다. 다음에 쓰때 가능한

존대말을 쓰겠습니다.

그리고 다음번에는 HWP/X 3.0.5를 공짜로 쓰는 방법을

올리려고 하는데 이게 가능할 지 모르겠습니다.

강좌란에 있지만 제가 다시 정리해서 올리려고

하는데 .... 문제가 될 것 같아서 갈등중입니다.

그리고 며칠 있다가 고향으로 내려가서

한 일 주일 있다고 올라오겠습니다.

-stoneonl-

-추신-

redhat 사용자는 make zlilo -> make install

레드햇을 사용하시는 분은 이점 유념하세요

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 41번

제  목:[강좌] 초보 인터넷 FAQ (1)

올린이:pey1    (박은영  )    97/06/23 02:21    읽음:4922 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요? ( 셤은 잘 보셨어요? ^^; )

하이텔에서 가져온 인터넷 FAQ 입니다.

분량이 많은 관계루 3부분 정도로 나누어 실을까 합니다.

그럼 시작하겠습니다.

___________________________________________________________________________

강좌                  임대영(RAXIS)님  ()

제목 : [강좌/갈무리] 초보 인터넷 사용자 FAQ 1/4

#269/623  보낸이:이선중  (HLFTO   )    02/09 00:57  조회:1114

----------------------------------------------------------------------------

아래의 글은.........

제가 구독하고 있는 백근원님의 인터넷 통신 강좌중 6번째 강좌입니다.

좋은 서비스를 하시고, 또 동호회에 올려도 좋다고 허락해주신

백근원님께 감사드립니다.

직접 받아보고 싶으신 분은 wgbaek@pharaoh.telecom.samsung.co.kr

에게 help 란 제목으로 본문 없는 편지를 보내면 Baek's A Fun A Day

Service 을 자세히 설명한 답장이 올것입니다.

____________________________________________________________________________

"초보 Internet 사용자"들의 일반적인 질문에 대한 답변

◎ 개  요

이 Technical MEMO는 Internet 초보사용자를 위하여 User Services Working

Group이 발표한 RFC1325를 DACOM에서 요약 정리한 것입니다.

1. 소 개

2. Internet에 대한 질문들

2.1 Internet이란 무엇인가?

2.2 Internet에서 지금 당장 무엇을 할 수 있는가?

2.3 Internet에 연결된 임의의 Site를 찾는법

2.4 Internet 상의 모든  Host들의 List를 찾는법

3. TCP/IP에 대한 질문들

3.1 TCP/IP란 무엇인가?

3.2 TCP/IP family내에서, 또 다른 잘 알려진 표준 프로토콜은?

4. Domain Name System에 대한 질문들

4.1 Domain Name System이란 무엇인가?

4.2 Fully Qualified Domain Name이란?

5. Internet Documentation에 대한 질문들

5.1 RFC란 무엇인가?

5.2 어떻게 RFC를 입수할 수 있는가?

5.3 RFCs의 List를 입수하는 방법은?

5.4 RFC-INFO service란 무엇인가?

5.5 어떤 RFC들이 표준인가?

5.6 FYI란 무엇인가?

5.7 STD란 무엇인가?

5.8 Internet Monthly Report란?

5.9 OSI 표준 Document를 얻으려면

6. Internet 기구와 접촉에 대한 질문들

6.1 IAB란 무엇인가?

6.2 IETF란 무엇인가?

6.3 IRTF란 무엇인가?

6.4 Internet society란 무엇인가?

6.5 IANA란 무엇인가?

6.6 NIC/NOC란 무엇인가?

6.7 "The NIC"란 무엇인가?

6.8 IR이란 무엇인가?

7. Service들에 대한 질문들

7.1 E-mail address를 알아내려면?

7.2 DDN NIC에서 WHOIS 프로그램 사용법

7.3 DDN NIC의 WHOIS database에 등록하는 방법

7.4 PSI에서 White Page 사용법

7.5 Knowbot Information Service 사용법

7.6 USENET이란?, Netnews란?

7.7 USENET에 접속하려면 ?

7.8 Anonymous FTP란?

7.9 "archie"란 무엇인가?

7.A archie에 연결하려면?

7.B "TELNET"이란 무엇인가?

8. Mailing List와 Mail 보내기

8.1 Mailing List란 무엇인가?

8.2 Mailing List의 관리자와 접촉하는 방법

8.3 쓸만한 Mailing List는 어떤 것인가?

8.4 TCP/IP Mailing List에 등록하려면?

8.5 IETF Mailing List에 등록하려면?

8.6 RFC 배포 List에 등록하려면?

9. 기 타

9.1 잡다한 "전통적인 Internet 지식"에 관한 질문

9.1.1 :-)의 의미는?

9.1.2 "btw", "fyi", "imho", "wrt", "rtfm"의 의미는?

9.1.3 "FAQ" List란?

9.2 읽을 거리 추천

9.3 참고도서

9.4 간단한 용어풀이

10. 용어풀이

1. 소   개

Internet community와 새로이 접촉하게된 사용자들은 누구나 처음에 그랬듯

똑같은 의문점들을 가지고 있다.이러한 질문에 일일이 답하는것은 매우 번거롭고

시간이많이 소요되므로 User Services Working Group에서는 일련의 RFC를 통하여

그러한 질문에 대답 하고자 한다.

2. Internet에 대한 질문들

2.1 Internet이란 무엇인가?

Internet이란 서로 연결되어 있으므로써, 임의의 다른 Network 상의 사용자

들에게 도달할 수 있도록 TCP/IP에 의해 제공되는 Network Service들을 사용할수

있게하는 Network의 거대한 집합이다.Internet은 ARPANET에서 시작되었으며 현재

NSFNET, NYSERnet 그리고 수천개의 다른 Network들을 포함하고 있다.  그 중에는

BITNET이나 DECnet Network과 같은 TCP/IP에 바탕을 두지 않은 Wide Area Netwo-

rk도 있다. 그러나 Mail Gateway가 이러한 바탕이 다른 두 Network간에서 번역기

처럼 작동하므로 전자 Mail을 주고 받는 것이 가능하다.

참고사항 : internet과 같이 소문자 'i'로 시작하는 것은 단지  TCP/IP에 바탕을

둔 Network이나 다른 프로토콜을 사용하는 소규모 Network들의 집합을

의미한다.

2.2 Internet에서 지금 당장 무엇을 할 수 있는가?

당신은 계정이 있거나 사용할 권한을 가지고 있는 모든 컴퓨터 자원에 대한

사용이 가능하다. 또는 공개되어 있는 사용 가능한 모든 정보를 이용할 수도있다

Internet은 File Transfer를 이용하여 Host들 사이에서 이러한 정보들을 옮길 수

있도록 해준다. remote login이나 telnet을 이용하여 다른 컴퓨터와 접속이 가능

하며 다른 Internet Site나 전자 Mail을 이용하여 접근할 수 있는  non-Internet

Site들에 mail을 보낼 수 있다.

기타 여러가지 유용하게 이용할 수있는database나 archive information들이

있다.   "The Internet Resource Guide"가 이러한  Site들에 대한 정보를 다루고

있으며 그것은 halla에도 등록되어 있다.(/halla/nic/resource-guide/*로 등록 )

2.3 Internet에 연결된 임의의 Site를 어떻게 찾을 수 있나?

o. "!%@:: A Directory of Electronic Mail Addressing and Networks" 참고

o. "The User's Directory of Computer Networks" 참고

o. "The Matrix : Computer Networks and Conferencing Systems Worldwide"

참고

o. 또한가지 방법은 NIC.DDN.MIL에  Telnet으로 연결하여 "whois"라고 type

하는 것이다. (login은 필요 없음) WHOIS database는 많은  Site List를

보여줄 것이다.

2.4 Internet상의 모든 Host들의 List를 어떻게 얻을 수 있는가?

Internet상에  727,000개 이상의  Host들이 있으므로 이런것은 원하지 않는

것이 현명하다.그중 대부분은 Permission이 사용을 제한하고 있으며 일부는 공개

되어 있다.

3. TCP/IP에 대한 질문들

3.1 TCP/IP란 무엇인가?

TCP/IP ( Transmission Control Protocol/Internet Protocol )은  컴퓨터와

DATA 통신 장치를 컴퓨터 통신망에 접목시키기 위하여 사용되는 100 가지가 넘는

DATA 통신 프로토콜 집합에 대한 일반적인 이름이다. TCP/IP는 ARPARNET, PRNET,

그리고 SANET상의 HOST들을 interconnect하기 위하여 개발되었다. 이런 세가지의

Network들은 사라졌지만  TCP/IP는 지속되어 오고 있다.  그것은 Internet이라고

불리우는 거대한 국제적인 Network에 사용되고 있다.  TCP/IP는 다른 Network들,

특히 여러가지 다른 종류의 컴퓨터들을 서로 연결하거나 WorkStation을 연결하는

Local Area Network을 위해 사용되기도 한다.

3.2 TCP/IP family내에서, 또 다른 잘알려진 표준 프로토콜은 없는가?

o. SMTP(Simple Mail Transfer Protocol)

o. FTP (File Transfer Protocol)

o. TELNET

Internet Activity Board에서는  정기적으로  다양한  Internet 프로토콜에

관한 표준을 기술한 RFC를 발간하고 있다.

4. Domain Name System에 대한 질문들

4.1 Domain Name System이란 무엇인가?

Domain Name System ( DNS )는 Internet의 name공간을 구조화하는 계층구조

적이며, 분산화된 방법이다.  DNS는  HOST들을 Addressing과 다른 정보가 광범위

하게 분산되고 관리될 수 있도록 하는 계층 구조로 Group을 만든다. 이것의 가장

큰 장점중의 하나는  HOST들의 이름과 Address들을 Mapping하는 중앙 집중식으로

관리되는 File에 의존하지 않아도 된다는 것이다.

4.2 Fully Qualified Domain Name이란 무엇인가?

Fully Qualified Domain Name( FQDN )은 실제 이름에 대하여 상응하는 모든

상위  Level의  Domain들을 포함하는 Domain Name이다.  DNS를 각 Node들이 자기

자신의 Label을 갖는  tree 구조라고 생각한다면,  특별한  Node에 대한  FQDN은

그 자신과 그  tree의  root 사이의 모든 다른 Node들의 Labe에 첨부된 그자신의

Label이다.

5. Internet Documentation에 대한 질문들

5.1 RFC란 무엇인가?

Request for Comments documents ( RFCs )는 Internet research와 develop-

ment community의 작업 note들이다.  대부분의  RFCs는 종종, 그것들을 구현함에

있어 요구되는 상세한  절차와  Format들을  제공하는  Network  프로토콜들이나

Service들의 記述이다.

필요하다면 E-mail을 통하여 원하는  RFC를 입수할 수 있으며, 직접 특정한

Host에 접속하여 FTP로 RFC Document를 가져올 수 있다.

한 Document에 일단 RFC 번호가 부여되고 출판되면, 그 RFC는  영원히 수정

되거나 같은 번호가 부여되는 일은 없다.

5.2 어떻게 RFC를 입수할 수 있는가?

RFC는  NIC.DDN.MIL을 포함한  Anonymous  FTP를  지원하는 몇몇의 Reposi-

tory들로 부터 입수가 가능하며  FTP를 사용할 수 없는 Site들을 위하여 NIS에서

Automatic mail service를 하고 있는데 NIS-INFO@NIS.NSF.NET으로 mail을 보내면

된다. 이 때 mail의 형식은 메시지의 Subject Field는 공란으로 둔채로 메시지의

첫 라인에 "SEND RFCnnnn.TXT"라고 써야 한다.

RFC Document의 Filename구조는 RFCnnnn.txt와 같은데 nnnn은 특정한 RFC의

번호와 일치한다. 그외에도 많은 Site들이 RFC Document를 Anonymous FTP로 제공

하므로 손쉽게 입수할 수 있을 것이다.

5.3 어떻게 RFC의 List를 입수할 수 있는가?

SRI는 RFCs의 INDEX를 유지하고 있다.그것들은 ASCII text 또는 PostScript

로 되어 있으며 사용가능한 FYI Index가 같이 준비되어 있다.최종적으로 INDEX는

어떤 RFC가 유일한 것인지 아니면 또 다른 RFC에 의해 Update된 것인지를 나타내

준다. RFC가 발표될 때 마다 이 INDEX는  On-line으로 Update된다.  RFC INDEX는

Anonymous FTP를 이용해 FTP.NISC.SRI.COM으로부터 가져올 수 있으며 Filename은

rfc Directory 아래의 rfc-index.txt이다.FYI INDEX는 fyi Directory 아래의 fyi

-index.txt이다.(이것들은 현재 "halla"의 /halla/nic/RFC에도 있음)

5.4 RFC-INFO Service란 무엇인가?

이것은 RFC Information과 밀접한 관계가 있는, Document라기 보다는  RFC-

info라 불리는 서비스이다.사용자들은 그들의 ID,keywords,title,author, 발표한

기관 그리고  날짜등의 임의의 "filter"를 지정해 모든 RFC와 FYI의 List를 요청

할 수 있다. 이 서비스를 사용하려면 메시지의 내용에다가 원하는 요구사항을 써

넣어서 RFC-INFO@ISI.EDU에 E-mail을 보내야 한다. 제목에는 아무 것이나 넣어도

관계 없으며, 입력시 대소문자는 구분되지 않는다. 아래에 적절한 보기가 있다.(

[ ] 사이의 내용은 Comment로 번역시 추가한 것임)

[ 보  기 ]

Help: Help                                  [ to get this information ]

List: FYI                                        [ list the FYI notes ]

List: RFC              [ list RFCs with window as keyword or in title ]

keywords: window

List: FYI                                    [ list FYIs about windows]

keywords: windows

5.5 어떤 RFC들이 표준인가?

"IAB Official Protocol Standards" (현재, RFC 1280)을 참조할 것.

5.6 FYI란 무엇인가?

FYI는 For Your Information을 의미한다.  FYIs는 On-line Document  RFC의

보조 문서이다.  일반적으로 ( 항상 그렇지는 않지만 ) RFCs는 보다 더 기술적인

부분에 치중하는 반면, FYIs는 information에 더 많이 치중한다. FYI Document는

FYI 번호와 RFC 번호가 같이 붙어 있다. RFCs와 마찬가지로, Update가  되더라도

한번 부여된 FYIs 번호가 변경되지 않으며, 처음에는 이것이 조금  헷갈리겠지만

이렇게 하는 이유는 어느 FYI가 어떤 주제를 다루고 있는지 명확히 알 수 있도록

하기 위해서이다. FYIs도 RFCs와 같은 방법으로 입수할 수 있다.

5.7 STD란 무엇인가?

RFCs의 가장 최신 부속물이 STDs(STandarDs)이다.Internet 내에서 표준화의

모든 과정을 마친 specification에 대해 STD번호가 부여된다."표준"(Standard)과

"문서"(Document)의 차이점은 매우 중요하다. 서로 다른 RFCs Document들은 서로

다른 번호를 가지는데, 때때로 표준에 대한 완전한 Specification은 하나 이상의

RFC Document를 포함할 때가 있다.이런 일이 발생한 경우 그 표준에 대한 Speci-

fication의 일부분인 각각의 RFC Documnet들은 동일한 STD 번호를 가지게된다.

예를들어 Domain Name System(DNS)에 대한 Specification은 RFC 1034와 RFC

1035 두개의 조합이므로 그들은 같은 STD번호 13을 가지고 있다.

5.8 Internet Monthly Report란 무엇인가?

Internet Monthly Report는 Internet Research Group의 업적과 진척도 또는

참여한 기관에 의하여 발견된 문제점등을 알려준다.Internet에 관련된 많은 기관

들은 이 Report내에 포함된  그들의 활동에  대한 월간 Update를 제공하고 있다.

이 Report를 배포하는 Mailing List에 등록 함으로써 Report를  받아볼 수 있다.

List에 등록하거나 삭제하기 위한 요청은 "cooper@isi.edu"로 보내져야한다.Ano-

nymous FTP로  NIS.NSF.NET의 'imr' Directory에  IMRYYMM.TXT인  Report File을

받아볼 수도 있으며, 이 때 YY는 년도의 마지막 두 자리이며 MM은 월에 해당하는

두 자리 숫자이다.

5.9 OSI 표준 Document를 얻으려면?

OSI 표준 Document들은 저작권때문에 Internet에서 Anonymous FTP로는 얻어

올 수 없다. 그러나  U.S Government내의 OSI 프로토콜 사용을 망라하는   GOSIP

Specification은 SRI와 the National Institute of Standards and Technology(NI

ST)에서 사용 가능하며 GOSIP Version 2 최종 text가 양쪽 Site   모두에서 사용

가능하다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 42번

제  목:[강좌] X윈도우 관리자 Afterstep (2)

올린이:pey1    (박은영  )    97/06/23 03:19    읽음:4661 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

아프다스텝 강좌 계속 올립니다.

이번에도 하이텔 유종화님의 글을 연재합니다...^^;

구리고 이글 마지막 부분에는 9번 팁란에서 아프다스텝을 찾아 갈무리 한걸

올립니다.

구럼..유종화님의 연재 강좌부터 올립니다.

__________________________________________________________________________

제목 : [강좌] afterstep을 써보자~! (2)

#623/628  보낸이:유종화  (onioN   )    06/11 10:27  조회:226  1/5

--------------------------------------------------------------------------

안녕하세용.....^^;

한동안 쉬었던 강좌를 다시 재개하게 되었습니다...

그동안 지루했던 부분을 일신하고

강좌의 중요한 부분만 빨리 설명을 하고

그 다음부터는 ASCP나 다른 여러가지 잔기술을 중심으로 하겠습니다.

그럼 이번의 강좌를 시작하겠습니다.

---------------------------------------------------------------

기본 설정을 보시면 window placement라는 부분이 있습니다.

여기서 중요한 부분 몇가지만 설명하고 넘어 가겠습니다...

1.smartplacement

window가 생성될때 기존에 열려있던 화면의 window들을 기준으로

화면상의 빈공간에 새로이 window를 생성시켜주는 기능입니다..

MS-window에는 절대로 없는 기능이랍니다...

2.sloppyfocus

MS-window의 유팅중 x-mouse라는것에 해당됩니다.

마우스가 움직일때 그 마우스가 위치한 창을 활정화 시켜줍니다.

그리고 그 밑에 보시면 또 Miscellaneous Settings라는게 있습니다.

여기서는 한가지만 신경쓰지면 됩니다.

1.StickyIcons

afterstep(이제부터는 AS로 칭하겠습니다..^^;)과 다른 window-manager

들은 window의 icon화가 가능합니다 이때 X-window만의 독특한 특징인

가상 화면(pager)는 상당히 좋은 기능이라 할수 있습니다.

pager상에서 다른 page로 이동을 할때에 icon화 시킨 다시말해 icon

들이 어떤 가상화면으로 가던지 계속 화면의 하단에 존재하게 하는것

입니다. 문자 그대로 Sticky(붙이다)라고 할수 있겠지요...^^;

자 그럼 그 밑의 Pager and Virtual Desktop을 보십시다.

두개의 설정이 있는데 하나는 size이고 하나는 scale이지요...

1.size

ex) DeskTopSize 2x2

가상화면을 가로2칸 세로  2칸을 쓰다는 얘기가 되겠습니다.

3x3이면 총 9개의 가상화면을 쓴다는 얘기가 되겠습니다.

물론 pager에 관한 셋팅입니다..^^;

2.scale

화면상에 wharf에 pager가 들어가는 상태가 아닌 화면에 나타날때의

pager의 크기를 지정합니다.

뒤의 숫자에 따라 물론 크기가 정해지겠지요.

wharf에 pager를 넣어서 쓰시는 분들은 쓸일이 없는 option입니다.

그 밑에는 또 Common Paths가 있습니다 역시 간단하게 설명만 하겠습니다.

1.ModulePath

wharf와 가타 다른 AS의 모듈들의 디렉토리를 정해줍니다.

만약에 fvwm1의 모듈을 쓰고 싶다면 여기서 지정한 디렉토리에 넣어주면

되겠지요...

2.PixmapPath

AS에서 사용하는 pixmap의 디렉토리 입니다.뭐 wharf에 들어가는 pixmap

부터 등의 디렉토리라 생각하시면 됩니다.

3.iconPath

거의 pixmaps와 똑같은 디렉토리로 지정을 합니다. 그때문에 별다른

의미는 없습니다..^^;

그 밑은 보시면 X에서 사용하는 프로그램 하나하나에 대한 설정을 할수

있는 부분이 있습니다. 물론 여기서 설정이 안된것들은 아주 기본적인

설정이  default로 들어가게 되어 있습니다.

요소들을 설명드리겠습니다.

1.Sticky

위에서 말씀드린 StickyIcon과 어떤면은 같습니다. 다만 이 옵션은

지정 프로그램이 pager의 어느 화면에도 windows상태로 붙어있는(?)

효과를 볼수 있습니다.

2.NoTitle

지정 프로그램의 title-bar를 없애 버립니다.

3.StaysOnTop

드른프로그램이 화말鑿에 활성화가 되더라도 화면상에 선점을

가지게 되어 언제나 다른 window의 위에 있게 됩니다. 이때에는

wharf보다도 위어 있게 됩니다..^^;

4.WindowListSkip

mouse의 3번째 버튼을 누르게 되면(2버튼의 경우 두개의 버튼을

동시에 누르는 상황)현재 AS에서 열려있는 window들의 list가 나옵니다.

여기서 지정된 window를 이 list에서 제외 시킵니다.

5.NoHandles

뜻은 기본적인 bar가 안나온다는 얘기인데 저도 잘은 모르겠습니다.

사용window는 pager와 wharf이나 참고하시기 바랍니다.

오늘은 여기 까지만 하지요.

아마 이 속도라면은 steprc화일은 이틀내로 끝이 날것같습니다.

자 쪼금만 힘을 내자구요~!

-----새벽녘의 흡혈양파-----

9번 팁란에서 "lt afterstep" 으로 찾은 것입니다.

Nownuri □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

LINUX       리눅스 사용자 모임-리눅스 사용담 (LT : afterstep)         1/마지막

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

번호 올린ID   이  름   날 짜 읽음  쪽    제   목

------------------------------------------------------------------------------

1698 조공명   장우중   06/13  395  36 [참고] AfterStep 설정하기 룰루랄라...

1652 조공명   장우중   05/23  213   3 [팁] AfterStep 에서 deiconify 시에 커서

1649 조공명   장우중   05/22  317   5 [팁] afterstep 이 자주 다운 되시는분...

1614 스케일링 조성빈   04/23  717   2 [Afterstep]테마가 있는 곳

1296 snag     고범진   11/13 1179   3 [X11/팁] AfterStep에서...

1160 snag     고범진   08/29 1027   2 [X11] AfterStep

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

도움 되시길........^^;;

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 44번

제  목:[강좌] 초보 인터넷 FAQ (2)

올린이:pey1    (박은영  )    97/06/25 23:18    읽음:3477 관련자료 없음

-----------------------------------------------------------------------------

41번 글에 이어 계속 올리겠습니다.

--------------------------------------------------------------------------

6. Internet 기구와 접촉에 대한 질문들

6.1 IAB란 무엇인가?

Internet Activities Board(IAB)는 Internet을 설계하고 engineering 그리고

유지보수하기 위한 협력 위원회이다. IAB는 다음과 같은 기능을 한다.

1) Internet 표준을 정한다.

2) RFC 출판 과정을 관리한다.

3) IETF와 IRTF의 활동을 검토한다.

4) Internet에 대한 전략적인 기획, 장기적인

문제점들과 기회들을 선별하는 일을 수행.

5) 국제적인 기술정책 섭외 및 Internet Community에

대한 대표로서 행동하며

6) IETF와 IRTF의 주요 작업에서 다루지 못한

기술적인 Issue들을 해결한다.

IAB는 IETF와 IRTF 두개의 산하 기관이 있다.

1) Internet Engineering Task Force (IETF)

2) Internet Research Task Force (IRTF)

6.2 IETF란 무엇인가?

Internet의 운영,관리 및 발전을 돕기 위해 IAB가 설립한 조직으로  몇개의

기술적인 분야로 구성되어 있다.

6.3 IRTF란 무엇인가?

Networking에 관한 연구를 촉진하고 새로운 기술을 개발하기 위해  IAB에서

설립한 조직으로 IRTF는 일반적으로  Internet에 초점을 둔  Network 연구자들의

공동체이다.

6.4 Internet Society란 무엇인가?

Internet Society는 Internet의 번영을 조장하고 관심을 유지하며 Internet

의 발전과 사용이라는 일반적인 목표를 가진 상대적으로 새롭고  Professional한

비영리 단체이다. 이 Society의 목표는 아래와 같다.

1) 연구 및 교육의 기반 구조로서 Internet의 기술적인

발전을 용이하게 하고 지원하며  Internet의 발전에

있어 과학자 공동체, 산업체, 정부 그리고  또 다른

이들의 참여를 고무하는 것.

2) Internet의 Application을 사용하여 과학자 공동체,

산업체  그리고 기술에 지대한  관심을 가진 대중을

교육 하는 것

3) 정부 대학, 그리고 대학교 산업체 및 대중의 이익에

대한 Internet Technology의 교육적  Application의

증진

4) 새로운 Internet  Application의  탐구에 대한 공개

토론의 장을 제공하고  global Internet의 운용적인

사용에 있어 기관들간의 공동작업을 고무하기

Internet Society에대해 더 상세한 것을 알고자한다면 HOST NNSC.NSF.NET에

Anonymous FTP로  접속하면 'isoc' Directory에서 필요한 정보를 얻을 수 있다.

6.5 IANA란 무엇인가?

프로토콜의 변수들에 대해 어떤 값을 부여하는 것을 관장한는 임무가 IAB로

부터 Internet Assigned Numbers Authority (IANA)에게 위임되었다.

이들 프로토콜 변수들은 op-codes,type fields,terminal types,system이름,

object identifiers 등등을  포함하고 있다.  RFC-1인  "Assigned Numbers"에

Network 프로토콜 구현에 사용된 몇가지 일련의 숫자들로부터 현재 배정된 값

들을 보고하고 있다. Internet Address와 Autonomous System number들은 Net-

work Solutions, Inc.의 NIC에 의해 배정된다.이 책임은 Internet Registry로

봉사하고 있는 DDN NIC에 IANA에 의해 위임되었다.   IANA는 USC/Information

Sciences Institute에 위치하고 있다.   Assinged Numbers에 나열되어 있으며

IANA에 의해 유지되는 배정의 현재 형태는 다음과 같다.

Address Resolution Protocol Parameters

ARPANET and MILNET X.25 Address Mappings

ARPANET and MILNET Logical Addresses

ARPANET and MILNET Link Numbers

BOOTP Parameters and BOOTP Extension Codes

Domain System Parameters

IANA Ethernet Address Blocks

Ethernet Numbers of Interest

IEEE 802 Numbers of Interest

Internet Protocol Numbers

Internet Version Numbers

IP Time to Live Parameter

IP TOS Parameters

Machine Names

Mainl Encryption Types

Multicast Addresses

Network Management Parameters

Point-to-Point Protocol Field Assignments

PRONET 80 Type Numbers

Port Assignments

Protocol and Service Names

Protocol/Type Field Assignments

Public Data Network Numbers

Reverse Address Resolution Protocol Operation Codes

TELNET Options

Terminal Type Names

Unix Ports

X.25 Type Numbers

더 자세한 정보가 필요한 경우에는 IANA@ISI.EDU를 통하면된다.

6.6 NIC/NOC란 무엇인가?

"NIC"는 Network Information Center를 의미한다. 이것은 Network에 의하여

제공되는 Service들에 관한 정보를 Network사용자에게 제공하는 기관이다.

"NOC"는 Network Operations Center를 의미하며 Network 유지보수에 책임을

지는 기관이다.

많은 Network들,  특히 보다 소규모의, local networks에  있어서는  NIC와

NOC의 기능이 결합되어 있는 경우가 많다.보다 큰 중간 규모의 Backbone Net-

work에서는 NIC와 NOC의 기능이 분리되어있으며 그들이 충분히 제기능을 발휘

하기위하여 서로간에 상호 작용할 필요가 있다.

6.7 "The NIC"란?

"The NIC"는 일반적으로 지금은  Network Solutions, Inc.인  Defense Data

Network의 Network Information Center (DDN NIC)를 의미한다. The DDN NIC는

RFC와 Internet Draft들을 배포, 관리하는 역할을 당하고 있다.Host name은

NIC.DDN.MIL이다.RFC와 Internet Draft들의 Shadow Copy가 NIS.NSF.NET과 FTP

.NISC.SRI.COM을 포함한 몇몇 다른 Host들에서도 유지,관리되고 있다.

DDN NIC는 또한 DDN 사용자들에게 다양한  보조 서비스들을 제공하고 있다.

보다 자세한 정보가 필요하다면 NIC@NIC.DDN.MIL 또는 전화 1-800-365-3642을

이용할 수 있다. 아울러, DDN NIC는 root Domain과 몇몇 Top 및 second level

domain에 대한 등록 권한을 가지고 있으며 Network 사용자, Host,Domain,Net-

work 그리고 접촉창구등의 WHOIS database를 유지, 관리한다.

6.8 IR이란 무엇인가?

Internet Registry(IR)는 Network에 IP Network number와 autonomous system

number와 같은 식별자를 부여하는 기관이다. IR은 또한 그러한 부여된 정보를

수집하고 저장한다.

7. Service들에 대한 질문들

7.1 E-mail Address를 알아 내려면?

Internet에는 몇개의 - 완전한 것에는 거리가 있지만 - Directory들이 있다.

가장 큰 Directory는 DDN NIC의 WHOIS database, PSInet White Pages, 그리고

KNOWBOT등이 있다.   일반적으로 원하는 사람에게 그사람의 E-mail Address를

물어보는 것이 여전히 필요하다.

7.2 DDN NIC에서 WHOIS 프로그램 사용법

DDN NIC에 있는 WHOIS database를 검색하는 WHOIS program을 사용하기 위해

NIC host인 NIC.DDN.MIL에 TELNET으로 연결하여야 한다.이 때 login은 필요치

않으며 정보 검색 프로그램을 실행시키기 위하여 "whois"라고 타자하면 된다.

그런 다음 당신이 원하는사람, host, domain, network 또는 mailbox의 이름을

타자하면 된다. 도움말이 필요한 경우는 "help"를 치면 된다.  문제점이 있는

경우에는 NIC@NIC.DDN.MIL로 메시지를 보내거나 1-800-365-3642로 전화를걸면

된다.

7.3 DDN NIC의 WHOIS database에 등록하는 방법

만약 WHOIS database에 자기를 등록하고 싶다면,Internet으로부터 엑세스가

가능한 전자사서함의 mailbox를 가지고 있어야만 한다.먼저 netinfo/user-te-

mplate.txt를 입수하라.이 file은 anonymous FTP를 이용하여 NIC.DDN.MIL에서

입수할 수 있다.그 File내에 있는 신청서를 작성한 후 REGISTRAR@NIC.DDN.MIL

로 돌려 보내라. 그러면 당신의 명단이 그 WHOIS database에 등록될 것이다.

7.4 PSI에서 White Page 사용법

Performance Systems International,Inc.(PSI)는 회원기관으로 부터의 개별

적인 정보를 수집하여 database화하고  그 data를 online으로 제공하는 White

Pages Pilot Project의 스폰서이다.이러한 노력들은 OSI X.500 Directory표준

에 기반을 두고 있다.

그 data를 이용하기 위해서는, WP.PSI.COM에  TELNET으로 연결한 후 "fred"

로 login(password는 필요 없음)하면된다.그러면 기관에 관한 정보들을 볼 수

있게된다. White Page 프로그램은 사용도중 도움말 기능을 제공한다.예를들어

"help"라고 치면 명령어 list를 "manual"이라고 치면 상세한 documentation이

그리고 "whois"는 사람에 대한 참고자료를 어떻게 찾는지에 관한 정보를 제공

할 것이다. 그들 회원에 관한 정보를 제공 함으로써  pilot project에 참가한

기관들의 list를 얻기 위해서는 "whois-org *"라고 타자하면 된다.

더 상세한 정보를 얻기 위해서는 WP-INFO@PSI.COM으로 메시지를 보내면 된다.

7.5 Knowbot Information Service 사용법

Knowbot Information Service는  Internet에서 이종의 white pages service

에 대하여 일정한 인터페이스를 제공하는  white  pages "mets-service"이다.

Knowbot Information Service를사용하여 당신은 NIC WHOIS service,PSI White

Pages Pilot Project, 그리고 MCI Mail, 기타 다른  것들을  포함한 것중에서

검색하도록하는 단일 질의를 만들 수 있고, 그 응답들이 단일의, 일정한 포맷

으로 Display되도록 할 수 있다.

현재, Knowbot Information Service는 host nri.reston.va.us와 sol.bucknell.

edu 상의  185번  Port에 TELNET을 통하여 사용할 수 있다.  UNIX를 사용하는

Host에서, "telnet nri.reston.va.us 185"를 사용하여라. nri.reston.va.us나

sol.bucknell.edu.상에 존재하는 netaddress로 mail을 보낼 수 있는 전자우편

인터페이스 또한 존재한다.

7.6 USENET이란?  Netnews란?

USENET은 공식적인 이름이며,  Netnews는 Internet상의 몇몇 host들이 사용

하는 분산된 컴퓨터정보서비스에 대한 일반화된 비공식적인 이름이다. USENET

은 오로지 news만을 다루며 mail은 취급하지 않는다.  USENET은 전송매체로서

Internet의 한부분과,UUCP, BITNET 그리고 다른 Network들을 포함하는 방대한

Network들을 이용한다. 엄밀히말해서, USENET은 Internet의 일부분이 아니다.

Netnews는 mail로 전송되야했을  traffic을 경제적으로 전송하기 위한 유용한

도구가 될 수 있다.

7.7 USENET에 접속하려면?

USENET에 접속하기 위해서는 몇몇 anonymous FTP site들의 몇몇 host로부터

무료로 얻을수 있는 소프트웨어가 필요하다. 그리고 당신의 컴퓨터를 연결하는

것을 기꺼이 도와줄 USENET site들을 찾아야한다.그러한 소프트웨어를 위한 잘

알려진 anonymous FTP site로 ftp.uu.net가 있다. 거기에 있는 "news" Direct-

ory에 소프트웨어 배포에 관한 많은 정보가 있다.

7.8 Anonymous FTP란?

Anonymous FTP란 Internet상의 한 컴퓨터에 접속하여 특별히 공개된 file을

복사해 올 수 있도록 해주는 전통적인 방법이다. 몇몇 site들은 소프트웨어와

다양한 종류의 정보들을 배포하기 위하여 anonymous FTP를 제공한다.  당신은

그것을 여느 FTP와 마찬가지로 사용할 수 있으며, 단지 username만 anonymous

로 하면 된다.대부분의 시스템에서 password는 아무것이나 통용되며,password

로서 당신의 userid를 요구하기도 한다. 만약 이런 것들이 실패하면,일반적인

password는 "guest"이기 십상이다.

7.9 "archie"란 무엇인가?

archie system은 Montreal에 있는 McGill University의 한 group에 의해 만

들어졌는데 그것은 anonymous FTP archive site들을 자동적으로 추적하기위한

것이며 아직도 그것은 archie의 주된 기능이기도 하다.

Archie's User Access component는 이러한 filename들에 대한 database에서

"file"을 찾도록 해주며 맞는 것이 발견되면, 그에 합당한 archive site name,

IP address, 그 archive를 포함하고 있는 장소 그리고 기타 다른 유용한 정보

들을 보게된다. 당신은 또한 그 server에 알려진 모든 archive site들의 list

를 얻거나 또는 site의 전체 list를 통하여 흥미있는 정보를 검색하기 위하여

"browse"하는데 archie를 사용할 수도 있다. archie server는 또한  "package

descriptions" (or "whatis") database를 제공한다.이것은 다양한 정보원으로

부터 수집된 name과 description들의 모임이며  다른 유용한 정보들 만큼이나

Internet 전반에 걸쳐 file들의 위치를 규정짓는데 사용될 수 있다.

7.A archie에 연결하려면?

여러가지 방법으로 archie에 연결할 수 있다.전통적인 TELNET 인터페이스와

전자우편 인터페이스 그리고 다양한 client 프로그램들이 사용 가능하다.현재

전 세계적으로는 9군데에 archie server가 존재하고 있다. ( 이 문서의  작성

시기에 비추어 통계 수치는 다를 수 있음 ) archie를 이용하기 위하여 TELNET

인터페이스를 사용하려면 host ARCHIE.MCGILL.CA에 TELNET한 후 user "archie"

로 login하라. (password는 필요없음)  "archie@archie.mcgill.ca"로  mail을

보냄으로써 전자 우편 인터페이스에 대한 보다 자세한 사항을 얻을 수 있는데

이 때 메시지의 내용은 제목이나 본문내용에 "help"라는 단어를 써야한다.

archie에관한 Documentation은 ARCHIE.MCGILL.CA에 anonymous FTP를 사용하여

"archie/doc"이라는 subdirectory에서 가져올 수 있다. "archie/clients"에는

무수한 사용 가능한 client 프로그램들이 사용 가능하다.문의사항이나 코멘트

또는 제안 사항이 있는 경우는 archie 개발 group인 "archie-group@archie.mc

gill.ca"로 amil을 보내면 된다.

7.B "TELNET"이란 무엇인가?

"TELNET"이란 용어는 TELNET 프로토콜때문에 Internet상에서 가능한 remote

login을 언급하는 것이다. 이 말을 동사형으로 사용하게되면,즉,"어떤 host에

telnet한다"라는 말이 의미하는것은 한 host로부터 또다른 host로 Internet을

통하여 연결이 이루어짐을 의미한다. 보통, 원거리에 있는 host로 TELNET으로

login하기 위해서는 그 host상에 계정을 가지고 있어야한다.그러나 몇몇 공개

서비스(white page directory제공 등)를 제공하는 host들은  개인적인 계정을

갖지 않아도 무방하다.

8. Mailing Lists와 Mail 보내기

8.1 mailing list란 무엇인가?

mailing list란 복수개의 목적지를 갖는 별명에 불과하다. mailing list는

일반적으로 특정 주제에 대한 토론등을 위해서 만들어진다.그 주제에 관심이

있는 어느 누구든지 그 List에 등록하여도 무방한것이 일반적이다.   몇몇의

mailing list들은 회원자격에 대한 제한을 가지고, 또 다른  mailing list는

메시지의 내용에 대한 제한을 가지기도 한다.가장 큰 "public" mailing list

인 IETF와 TCP-IP는 mailing List에 등록하거나 삭제하는것을 요청하는 별도

의 mail address를 가지고 있다.

host ftp.nisc.sri.com에는 그들의 주요 topic과 그 mailing list에 어떻게

등록하는가를 설명한 주요한 mailing liste들의 목록을 사용할 수있는 file인

"list-of-lists"가 있다. 그 file은 anonymous FTP로 얻어올 수 있으며 Dire-

ctory는 netinfo/interest-groups이다. 그 file은 전자우편을 통해서도  얻어

올 수 있는데 "mail-server@nisc.sri.com"에다 본문내용을 "Send netinfo/in-

terest-groups"라고 하여 메시지를 보내면 된다.  그러면 적당한 file 크기로

분리된 메시지를 전자우편으로 받을 수 있다.

8.2 Mailing List의 관리자와 접촉하는 방법

"interest-groups" file에 언급된 모든 mailing list에는 그 list에 어떻게

합세할 것인지 또는 그 list의 책임자에게 또 다른 관리적인 메시지를 어떻게

보낼 것인지를 기술한 것이 있다.  일반적으로, "ListName-request@domain"의

형태로된 address에 메시지를 보낼 수 있다고 가정하는 것이 안전하다.

"-request"의 형태에 부합하는 mailbox를 갖는  조항은  매우  널리 따르는

것이다. 모든 관리에 관계된 메시지는 list에 등록된 전체에게 전달되는 것이

아니라 그 mailbox("-request"가 붙은)로 전달이 되는 것이다.

8.3 쓸만한 mailing list는 어떤 것인가?

Internet을 처음 사용하는 사람에게있어 가장중요한 mailing list는 TCP-IP,

IETF, 그리고 RFC 배포 list이다. 처음의 두가지는 비개방적이며, 마지막것은

RFC Editor에 의해 사용되는 announcement 서비스이다.

8.4 TCP/IP Mailing List에 등록하려면?

TCP-IP-REQUEST@NIC.DDN.MIL에 메시지를 보내면 된다.

8.5 IETF Mailing List에 등록하려면?

IETF-REQUEST@ISI.EDU에 메시지를 보내면 된다.

8.6 RFC 배포 List에 등록하려면?

RFC-REQUEST@NIC.DDN.MIL에 메시지를 보내면 된다.

이 list에 공개되는 내용은 IETF list에도 공개되므로 만약, IETF에 등록

되어 있다면 여기에 따로 등록할 필요는 없다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 45번

제  목:[강좌] 초보 인터넷 FAQ (3)

올린이:pey1    (박은영  )    97/06/27 02:21    읽음:3358 관련자료 없음

-----------------------------------------------------------------------------

41, 44 번에 이어 올리겠습니다.

____________________________________________________________________________

9. 기 타

9.1 잡다한 "전통적인 Internet 지식"에 관한 질문

9.1.1 :-)의 의미는?

대부분의 전자 우편 메시지에 있어서 메시지의 일부가 익살스러울때 그것이

때때로 유익할 때도 있다. 이러한  뉘앙스를 제공하기 위해 "smiley faces"를

아래에 모아 두었다.

:-)  smile                                   (미소)

:)   also a smile                       (역시 미소)

:-D  laughing                                (폭소)

:-}  grin                 (이를드러내고 히죽 웃다.)

:-]  smirk                          (능글능글 웃다)

:-(  frown                        (눈살을 찌푸리다)

;-)  wink                                (윙크하다)

8-)  wide-eyed     (눈을 크게 뜬, 깜짝놀란, 순진한)

:-X  close mouthed      (말이없는, 속을 터놓지않는)

:-o  oh, no!

9.1.2 "btw", "fyi", "imho", "wrt", "rtfm"의 의미는?

종종 일상적인 표현들은 비공식적인 network posting에서 약어로 사용된다.

그 중 몇가지를 소개하면 아래와 같다.

o. btw : by the way

o. fyi : for your information

o. imho : in my humble [ 또는 honest ] opinion

o. wrt : with respect to

o. rtfm : read the f*ing manual

(독자의 열정에 따라 변화하는 "f"라는 낱말을가진)

9.1.3 "FAQ" List란?

이 list는 다양한 USENET newsgroup에  종종  나타나는  "Frequently Asked

Questions"에 대한 답변을 제공한다. 이 list는 news를 어떻게  사용하는지를

배우는 초보자에게 배경지식을 제공하는 경향이 있다.

USENET에서 제공되는 몇가지의 일반적인 정보posting의 제목이 아래에 나열

되어 있다.

Answers to Frequently Asked Questions  (the "FAQ" list)

Introduction to news.announce

What is Usenet?

Rules for posting to Usenet

How to Create a New Newsgroup

How to Create a New Trial Newsgroup

A Primer on How to Work With the Usenet Community

Emily Postnews Answers Your Questions on Netiquette

Hints on writing style for Usenet

USENET Software: History and Sources

List of Active Newsgroups

Alternative Newsgroup Hierarchies, Part I

Alternative Newsgroup Hierarchies, Part II

How to Construct the Mailpaths File

Regional Newsgroup Hierarchies, Part I

Regional Newsgroup Hierarchies, Part II

Regional Newsgroup Hierarchies, Part III

List of Moderators

Publicly Accessible Mailing Lists, Part I

Publicly Accessible Mailing Lists, Part II

Publicly Accessible Mailing Lists, Part III

List of Periodic Informational Postings

How to Get Information about Networks

A Guide to Social Newsgroups and Mailing Lists

여기에 있는 모든 article들은 보통 pit-manager.mit.edu의 /pub/usenet/n-

ews.announce.newusers에서 FTP로 얻을 수 있다.

9.2 읽을 거리 추천

Internet과 Internet 프로토콜에 관한 보다 상세한 정보가 필요하다면

아래의 사본을 읽어 보도록하라.

Bowers, K., T. LaQuey, J. Reynolds, K. Roubicek, M. Stahl, and A.

Yuan, "Where to Start - A Bibliography of General Internetworking

Information", RFC 1175, FYI 3, CNRI, U Texas, ISI, BBN, SRI,

Mitre, August 1990.

Comer, D., "Internetworking with TCP/IP: Principles, Protocols,

and Architecture", Prentice Hall, New Jersey, 1989.

Krol, E., "The Hitchhikers Guide to the Internet", RFC 1118,

University of Illinois Urbana, September 1989.

9.3 참고도서

[1] Reynolds, J., and J. Postel, "Assigned Numbers", RFC 1060,

USC/Information Sciences Institute, March 1990.

[2] Postel, J., Editor, "IAB Official Protocol Standards", RFC 1280,

Internet Activities Board, March 1992.

[3] Postel, J., and J. Reynolds, "File Transfer Protocol (FTP), RFC

959, USC/Information Sciences Institute, October 1985.

[4] Postel, J., "Internet Protocol - DARPA Internet Program Protocol

Specification", RFC 791, DARPA, September 1981.

[5] Postel, J., "Transmission Control Protocol - DARPA Internet

Program Protocol Specification", RFC 793, DARPA, September 1981.

[6] Leiner, B., R. Cole, J. Postel, and D. Mills, "The DARPA Internet

Protocol Suite", IEEE INFOCOM85, Washington D.C., March 1985.

Also in IEEE Communications Magazine, March 1985.  Also as

ISI/RS-85-153.

[7] Cerf, V., "The Internet Activities Board" RFC 1160, CNRI, May

1990.

[8] Postel, J., "Simple Mail Transfer Protocol", RFC 821,

USC/Information Sciences Institute, August 1982.

[9] Postel, J., and J. Reynolds, "TELNET Protocol Specification", RFC

854, USC/Information Sciences Institute, May 1983.

[10] Postel, J., "Request for Comments on Request for Comments -

Instructions to RFC Authors", RFC 1111, USC/Information Sciences

Institute, August 1989.

[11] Malkin, G., A. Marine, and J. Reynolds, "FYI on Questions and

Answers: Answers to Commonly Asked 'Experienced Internet User'

Questions", FYI 7, RFC 1207, FTP Software, SRI, USC/Information

Sciences Institute, February 1991.

[12] Postel, J., "Introduction to the STD Notes", RFC 1311,

USC/Information Sciences Institute, March 1992.

10. 용어풀이

[ A ]

ACM   Association for Computing Machinery

A group established in 1947 to promote professional

development and research on computers.

address  There are two separate uses of this term in internet

networking: "electronic mail address" and "internet

address".   An electronic mail address is the string

of characters that you must give an electronic mail

program to direct a message to a particular person.

See "internet address" for its definition.

AI      Artificial Intelligence

The branch of computer science which deals with the

simulation of human intelligence by computer systems.

AIX     Advanced Interactive Executive

IBM's version of Unix.

ANSI    American National Standards Institute

A group that certifies organizations which develop U.S.

standards for the information processing industry.  ANSI

accredited groups participate in defining network protocol

standards.

ARP     Address Resolution Protocol

An Internet protocol which runs on Ethernet and all IEEE

802.X LANs which maps internet addresses to MAC addresses.

ARPA    Advanced Research Projects Agency

The former name of what is now called DARPA.

ARPANET Advanced Research Projects Agency Network

A pioneering long haul network funded by ARPA.  It

served as the basis for early networking research as

well as a central backbone during the development of

the Internet.  The ARPANET consisted of individual

packet  switching computers interconnected by leased lines.

AS      Autonomous System

A collection of gateways (routers) under a single

administrative authority using a common Interior Gateway

Protocol for routing packets.

ASCII   American (National) Standard Code for Information Interchange

[ B ]

B       Byte

One character of information, usually eight bits wide.

b       bit - binary digit

The smallest amount of information which may be stored

in a computer.

BBN     Bolt Beranek and Newman, Inc.

The Cambridge, MA company responsible for development,

operation and monitoring of the ARPANET, and later,

the Internet core gateway system, the CSNET Coordination

and Information Center (CIC), and NSFNET Network

Service Center (NNSC).

BITNET  Because It's Time Network

BITNET has about 2,500 host computers, primarily at

universities, in many countries.  It is managed by

EDUCOM, which provides administrative support and

information services.  There are three

main constituents of the network: BITNET in the United

States and Mexico, NETNORTH in Canada, and EARN in

Europe.  There are also AsiaNet, in Japan, and

connections in South America.  See CREN.

bps     bits per second

A measure of data transmission speed.

BSD     Berkeley Software Distribution

Term used when describing different versions

of the Berkeley UNIX software, as in "4.3BSD

UNIX".

[ C ]

catenet A network in which hosts are connected to networks

with varying characteristics, and the networks

are interconnected by gateways (routers).  The

Internet is an example of a catenet.

CCITT   International Telegraph and Telephone

Consultative Committee

core gateway

Historically, one of a set of gateways (routers)

operated by the Internet Network Operations Center

at BBN.  The core gateway system forms a central part

of Internet routing in that all groups had to advertise

paths to their networks from a core gateway.

CREN    The Corporation for Research and Educational Networking

BITNET and CSNET have recently merged to form CREN.

CSNET   Computer + Science Network

A large data communications network for institutions doing

research in computer science.   It uses several different

protocols including some of its own.  CSNET sites include

universities, research laboratories, and commercial

companies.  See CREN.

[ D ]

DARPA   U.S. Department of Defense Advanced Research Projects Agency

The government agency that funded the ARPANET and later

started the Internet.

Datagram

A self-contained, independent entity of data carrying

sufficient information to be routed from the source

to the destination data terminal equipment without

reliance on earlier exchanges between this source

and destination data terminal equipment and the

transporting network.

DCA     Defense Communications Agency

Former name of the Defense Information Systems Agency

(DISA).  See DISA.

DDN     Defense Data Network

Comprises the MILNET and several other DoD networks.

DDN NIC The network information center at Network Solutions, Inc.

It is the primary repository for RFCs and Internet Drafts,

as well as providing other services.

DEC     Digital Equipment Corporation

DECnet  Digital Equipment Corporation network

A networking protocol for DEC computers and network devices.

default route

A routing table entry which is used to direct any data

addressed to any network numbers not explicitly listed

in the routing table.

DISA    Defense Information Systems Agency

Formerly called DCA, this is the government agency

responsible for installing the Defense Data Network

(DDN) portion of the Internet, including the MILNET

lines and nodes.  Currently, DISA administers the

DDN, and supports the user assistance services of the

DDN NIC.

DNS     The Domain Name System is a mechanism used in

the Internet for translating names of host computers

into addresses.  The DNS also allows host computers

not directly on the Internet to have registered

names in the same style, but returns the electronic

mail gateway which accesses the non-Internet network

instead of an IP address.

DOD     U.S. Department of Defense

DOE     U.S. Department of Energy

dot address (dotted address notation)

Dot address refers to the common notation for Internet

addresses of the form A.B.C.D; where each letter represents,

in decimal, one byte of the four byte IP address.

Dynamic Adaptive Routing

Automatic rerouting of traffic based on a sensing and analysis

of current actual network conditions.  NOTE: this does not

include cases of routing decisions taken on predefined

information.

[ E ]

EARN    European Academic Research Network

EBCDIC  Extended Binary-coded Decimal Interchange Code

EGP     Exterior Gateway Protocol

A protocol which distributes routing information to the

gateways (routers) which connect autonomous systems.

Ethernet

A network standard for the hardware and data link levels.

There are two types of Ethernet: Digital/Intel/Xerox (DIX)

and IEEE 802.3.

[ F ]

FDDI    Fiber Distributed Data Interface

FDDI is a high-speed (100Mb) token ring LAN.

FIPS    Federal Information Processing Standard

FTP     File Transfer Protocol

The Internet standard high-level protocol for

transferring files from one computer to another.

[ G ]

gateway See router

GB      Gigabyte

A unit of data storage size which represents 10^9 (one

billion) characters of information.

Gb      Gigabit

10^9 bits of information (usually used to express a

data transfer rate; as in, 1 gigabit/second = 1Gbps).

GNU     Gnu's Not UNIX

A UNIX-compatible operating system developed by the

Free Software Foundation.

[ H ]

header  The portion of a packet, preceding the actual data,

containing source and destination addresses and

error-checking fields.

host number

The part of an internet address that designates which

node on the (sub)network is being addressed.

HP      Hewlett-Packard

[ I ]

I/O     Input/Output

IAB     Internet Activities Board

The IAB is the coordinating committee for Internet

design, engineering and management.

IBM     International Business Machines Corporation

ICMP    Internet Control Message Protocol

ICMP is an extension to the Internet Protocol.  It

allows for the generation of error messages,

test packets and informational messages related to IP.

IEEE    Institute for Electrical and Electronics Engineers

IETF    Internet Engineering Task Force

The IETF is a large open community of network designers,

operators, vendors, and researchers whose purpose is to

coordinate the operation, management and evolution of

the Internet, and to resolve short- and mid-range

protocol and architectural issues.  It is a major source

of proposed protocol standards which are submitted to the

Internet Activities Board for final approval.  The IETF

meets three times a year and extensive minutes of the

plenary proceedings are issued.

internet

internetwork

Any connection of two or more local or wide-area networks.

Internet

The global collection of interconnected local, mid-level and

wide-area networks which use IP as the network layer

protocol.

internet address

An assigned number which identifies a host in an internet.

It has two or three parts: network number, optional subnet

number, and host number.

IP      Internet Protocol

The network layer protocol for the Internet.  It is a packet

switching, datagram protocol defined in RFC 791.

IRTF    Internet Research Task Force

The IRTF is a community of network researchers,

generally with an Internet focus.  The work of the IRTF

is governed by its Internet Research Steering Group (IRSG).

ISO     International Organization for Standardization

[ K ]

KB      Kilobyte

A unit of data storage size which represents 10^3

(one thousand) characters of information.

Kb      Kilobit

10^3 bits of information (usually used to express a

data transfer rate; as in, 1 kilobit/second = 1Kbps = 1Kb).

[ L ]

LAN     Local Area Network

A network that takes advantage of the proximity of computers

to offer relatively efficient, higher speed communications

than long-haul or wide-area networks.

LISP    List Processing Language

A high-level computer language invented by Professor John

McCarthy in 1961 to support research into computer based

logic, logical reasoning, and artificial intelligence.  It

was the first symbolic (as opposed to numeric) computer

processing language.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 46번

제  목:[참고] 커널 컴파일에서

올린이:stoneonl(김석기  )    97/06/27 15:06    읽음:5378 관련자료 없음

-----------------------------------------------------------------------------

여러분 안녕하세요

오랜만에 적여 봅니다.

제가 이 초보강좌란에 매달려 살수 없어서

제 글이 늦게 올리는 점에 대단히 죄송합니다.

물론 좋은 글을 찾아서 캡처하는데도 제 게으른

성격 때문에 혹은 밤새 리눅스와 씨름한다고 새벽가는 줄

모르겠습니다. 지금도 새벽 4시 10분이네요

오늘 간단하게

프로그램 세게 4월호에 실린 글을 인용할 까 합니다.

장호준씨가 썼는데 필요한 부분만 캡처하겠습니다.

그리고 제가 슬렉웨어를 쓰고 있어서 REDHAT에

대한 부분이 좀 미흡하다고 생각됩니다.

다음주에 집에 갔다가 레드햇을 깔아보고 조금이나마

도움이 될 만한 내용을 찾아서 올리겠습니다.

그리고 좋은 글이 발견했거나 추천될 만한 내용이

있다면 제게 알려주십시오 아니면 자기가 초보에

대한 관심이 지대해서 강좌라도 적으셔도 괜찮습니다.

올린분의 아이디와 이름은 반드시 명시하겠습니다.

그리고 보낼 실대 /LINUX/라고 말머리를 지켜 주십시오

그래야 제가 읽으니까요

오늘 적을 내용은 커널 컴파일 할 때 컴파일 명령에

대한 내용을 잘 알 지 못하다는 것입니다. 저도 이글을

읽기 적에도 몰랐습니다.

그래서 장호준씨가 쓴 내용을 그대로 적겠습니다.

커널 컴파일

일단 커널 컴파일을 하기 전에 커널이 무엇인가를 알아야 할 것이다.

커널이라는 것은 하드웨어를 제어해주는 일종의 제어기 같은 것이다.

즉, 하드웨어와 운영체계 사이에 원할한 소통을 해주는 것이다.그러므로

커널 컴파일을 하지 않는다면 리눅스를 설치하고도 제대로 활용하지 못하는

것이 당연하지 않겠는가? 그럼 커널 컴파일의 과정을 간단히 살펴보기로

하자.

일단 커널 컴파일은 다음과 같은 다섯 개의 명령어로 실행된다.

make mrproper

make config

make dep

make clean

make zlilo 또는 make zImage

이 명령은 리눅스의 커널 소스가 깔려있는 곳에서 실행시키도록 한다.

(주의: 대부분 /usr/src/linux에 있으며 초기에 커널 소스를 설치하지

않았다면 소스를 설치해야 한다.)

각 명령이 하는 역할은 다음과 같다.

make mrproper

이 명령을 시행함으로써 커널 컴파일의 초기화 과정으로 들어갈 수 있다.

만약 자신이 이전에 커널 컴파일을 시도했다면 make config의 과정에서

그대로의 세팅이 남아있게 되고 여러 가지를 설정할 때에 이전에 컴파일된

파일들이 남아 있기 때문에 이를 이용하여 깨끗이 해주는 것이다.

이 명령은  꼭 실행시켜야 할 필요는 없다.

make config

여러 가지 설정을 □□추어 주는 과정이다. 커널 컴파일에 있어서 가장 중요한

과정이며 이를 통해서 세팅이 □□추어지게 된다. 자신의 하드웨어를 잘 파악

해서 이 과정에 들어 가도록 하자.

make dep

하드웨어와의 의존성 관계에 관련된 것들을 컴파일한다.

make config과정이 끝나게 되면  make dep ; make clean'라고

동시에 실행시키라고 나오는데 기왕이면 이처럼 따로 따로 실행시킬

수 있도록 하자.

make clean

커널의 이미지 파일을 만들기 위한 준비작업에 들어가기 전에 정리를

해주는 과정이다.

make zlilo 또는 make zImage

어느 명령을 써도 관계는 없으나 기본적으로는 make zlilo를 쓰길 바란다.

이 명령을 쓰게 되면 부팅할 커널의 이미지를 만듬과 동시에 압축시켜서

lilo라는 프로그램과 이어질 수 있도록 해준다.

이과정이 끝나면 루트 디렉터리에 vmlinuz라는 파일이 생기거나 리눅스의

커널 소스가 깔려있는 디렉터리에 vmlinux라는 파일이 생기게 된다.

/etc/lilo.conf파일을 살펴서 부트이미지가 제대로 연결되었는지 꼭 확인하도

록 하자.이 과정은 주의를 기울여서 해야 한다. 잘못 컴파일된 부팅이미지를

이용하며 부팅을 하게 될 경우 kernal panic과 같은 에러를 만나 멈추기 때문이다.

이러한 것을 막기 위해서 loadlin을 이용한 부팅으로 미리 체크해보는 습관을

기르도록 하자.

모듈 컴파일

커널 컴파일 도중에 Y나 N대신에 M이 나오는 것을 볼 수 있을 것이다.

이것은 모듈이라는 것으로 도스의 구동 드라이버들과 비슷한 역할을

한다. 컴파일 하는 법은 간단하다.

make modules

make modules_install

-------------------------------------------------------------------

그럼 안녕히

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 47번

제  목:[강좌] X-windows의 배경그림 만들기

올린이:stoneonl(김석기  )    97/06/27 15:07    읽음:5708 관련자료 없음

-----------------------------------------------------------------------------

제가 여러분께 유용한 팁을 알려드리겠습니다.

X-windows를 뛰우면 배경화면을 바꾸고 싶은

충동을 많이 느겼죠

바꾸는 방법은 여러 가지 있지만 제가 하는

방법을 알려드리겠습니다.

그리고 Xmanage가 hfvwm2입니다.

cd /var/X11R6/lib

cd hfvwm2

ls -a

vi .hvwm2rc ( 점을 꼭 붙이세요,vi와 joe , emacs이든 알아서 쓰세요

제가 vi를 쓰는 편이라)

그럼 죽 내려가다 보면 다음과 같은 부분이 있을 겁니다.

#############################################################################

# Stuff to do at start-up

# X 윈도우를 처음 시작할 때 실행될 화일들

AddToFunc "InitFunction"

+               "I" Exec exec xv -root -quit /usr/include/X11/pixmaps/raindrop.

x

+               "I" Module FvwmBanner

+               "I" Wait FvwmBanner

+               "I" Module FvwmPager 0 0

+               "I" Module FvwmAudio

여기서

+               "I" Exec exec xv -root -quit /usr/include/X11/pixmaps/raindrop.

x

이 부분을 고치면 됩니다.

+               "I" Exec exec xv -root -quit 패스/배경그림

배경그림은 jpg,gif,bmp를 다 배경으로 쓸 수 있으니 win95에서 쓰는

배경그림을 그대로 리눅스 배경으로 쓴다고 예를 들면

+               "I" Exec exec xv -root -quit /dosc/win95/plus!.jpg

하면 되겠죠

만약에 이런 줄이 보이지 않으면

AddToFunc "InitFunction"

다음라인에 위와 같이 추가 하면 되겠습니다.

그리고 자기 X-windows가 8비트만 지원한다면 8비트 그림이 났겠죠

그리고 다음과 같은 옵션도 있습니다. -rmode와 같은 옵션이 있습니다.

xv -root -quit -rmode 숫자

다음은 황보진호님이 쓴글을 발췌했습니다.

rmode 는 10개가 있습니다. 아래와 같습니다. 3 번을 사용하면 원하는 배경이

나올 듯 합니다. default 는 0 입니다.

0 - 일반적인 타일형태

1 - 그림의 갯수가 정확히 들어간(integer) 타일형태

(직접해 보세요.)

2 - 상하좌우 미러링된 타일형태

3 - rmode 1 과 같으나 미러링된 타일형태

4 - 그림을 중앙에 둔 타일형태

----------------------------------

5 - 그림을 중앙에. 배경은 검정

(배경색은 -rbg 옵션으로 변경가능)

6 - 그림을 중앙에. 배경은 선(?)   (직접해 보세요.)

7 - 그림을 중앙에. 배경은 블록모양

----------------------------------

8 - 좌우 대칭된 타일형태

9 - 좌우 대칭과 미러링된 타일형태

'xv -root -quit -rmode 3 파일명' 이라고 명령을 주면 됩니다. 그리고 그림

형태가 어떻게 나오는지 테스팅하기 위해서는 xv -root -quit -rmode ? 해서

확인하시기 바랍니다.

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 48번

제  목:[참고] 리눅스의 유용한 팁

올린이:stoneonl(김석기  )    97/06/27 15:08    읽음:5616 관련자료 없음

-----------------------------------------------------------------------------

제가 알고 있는 유용한 명령어를 사용하면

보다 쉬운 리눅스를 즐길 수 있을 겁니다.

세연이나 콘솔에서 사용하다 보면 지나간 화면을

볼 수 없어 어려움이 많았을 겁니다.

shift + pageup

shit  + pagedown

을 누르면 올라갔다 할 수 있습니다.

그러나 이것은 페이지 단위로 볼 수 있어 안타갑네요

X-windows에서 콘솔로 빠져나가거나

X-windows 의 화면상태가

어떤가를 확인 하기 위해서 유용한 명령어가 있습니다.

Alt+Ctrl+F1(기능키)를 누르면 X-windows상태나

메뉴에 있는 내용하나를 실행시켰을 때 에러날 경우

그 내용을 보여 줍니다.

그리고 Alt+Ctrl+F2(or F3~F6)까지 콘솔이 가능합니다.

그러니까 WIN95의 도스창이 5개정도 되는 거죠

그럼 X-windows 로 돌아올려면 어떻게 해야 하느냐

진잠하셔겠지만 Alt+Ctrl+F7를 누르면 됩니다.

한글 X-windows에서는 Alt+Ctrl+F7이고

영문일때는 alt+ctrl+F5입니다.

그리고 X-windows를 안 뛰었을 때도

alt+ctrl+F1부터 F12까지 열 수 있습니다.

다음에 말씀할 내용은

파일 찾기 입니다.

find 패스 -name 찾을내용

Linux 를 사용하다 보면

자기가 쓰고자 파일이 어디있는지

모를 때가 있습니다. 이럴 때 좀 유용할겠죠

예를 들어 X-windows의 설정화일인 XF86Conf

를 찾고자 할 때

find / -name XF86Conf

하면 되겠네요 찾고자 파일이 불분명할 때도

find / -name XF86C*

라고 하면 되겠지요

파일의 정보를 알고 싶을 때가 있습니다.

그럴대는 file라는 명령어를 사용하십시오

file 파일명

그럼 이 파일에 대한 정보가 나옵니다.

file *

라고 해서 속한 서브디렉토리에 있는

모드 파일에 대한 정보를 보여 줍니다.

커널 컴파일을 하고 나면

무언가 하드용량이 작아진걸 알 수 있습니다.

확인은

df

그 이유는 커널이미지화일을 백업해 놓기 때문입니다.

전에 시스템 커널이미지를 저장해놓아 커널이 잘못 됐을 때

대비하기 위해서죠

cd /

ls

vmlinuz.old와 vmlinuz의 두 개의 파일이 있습니다.

vmlinuz.old는 삭제 하셔도 되니

rm vmlinuz.old하십시오

리눅스라는 운영체제가 멀티미디어를 지원하지 못한다고

생각하시는 분들이 있는데 그렇지 않습니다.

xanim이라는 유용한 유틸이 있습니다.

이 건 인터넷에서 오브젝트 파일을 받아오고

컴파일을 해야 하는데 우리동호회 시삽께서

컴파일해서 실행화일을 자료실에 올려놓으셨더군요

그걸 받아서 압축풀고 mov와 avi, mpg를 돌릴 수 있습니다.

실행하는 방법은

xanim *.mov

xanim *.avi

xanim *.mpg

입니다. xanim를 패쓰가 되어 있는 /usr/local/bin

로 카피해서 언제든지 사용하시기 바랍니다.

그리고 xanim은 X-windows에서 실행해야 합니다.

오늘은 대충 이정도 적겼습니다.

무작정 적을려니까 생각이 나지 않네요

그럼 안녕히

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 49번

제  목:[참고] 리눅스 웹 사이트

올린이:stoneonl(김석기  )    97/06/27 15:09    읽음:4192 관련자료 없음

-----------------------------------------------------------------------------

이번에는 리눅스에 많은 도움을 주고

한글 웹사이트를 알려드리겠습니다.

다음 사이트들은 자주 업그레이드를 하는 편은

아니지만 우리에게 많은 도움을 주는 곳입니다.

다음은 마이크로 소프트웨어 별책부록에서 발췌했습니다.

http://ftp.zigzag.co.kr/linuxinfo/osbs.html

OS 부트 멀티 셀렉터 관리(boot multi selector manager)를

이용한 리눅스와 윈도우95 멀티부팅

http://www.postech.ac.kr/~cessi/html/gnu.html

GNU 선언문 한글 번역문

http://www.postech.ac.kr/~cessi/htmls/redhat.html

레드햇 설치하기

http://www.postech.ac.kr/~cessi/htmls/sound.html

리눅스에서 사운드 설정하기

http://www.postech.ac.kr/~cessi/htmls/intro.html

리눅스에 대한 전반적인 소개

http://www.postech.ac.kr/~cessi/beginner/begin.html

리눅스를 시작하기에 앞서 기본적으로 알아야 할

사항에 대한 소개

http://soback.kornet.nm.kr/~whambam/linux002.html

리눅스를 사용하는 이유에 대해 설명

http://juno.kaist.ac.kr/linux/linuxer/text/linuxer.html

리눅스 전자잡지인  The Linuxer"의 홈페이지

http://moworld.yonsei.ac.kr:80/~radio/bbs/bbs3.html

연세대학교 전파공학과의 홈페이지 내의 리눅스 관련사항

http://www.chonju-tc.ac.kr/~computer/topaz/tig.html

리눅스 설치를 위한 하드 디스크 파티션 나누기에 대한 정보

http://www.infoage.co.kr/maso/9607/osa.html

리눅스 레드햇에 대한 전반적인 기능 설명

http://infoserv.kordic.re.kr/~sywon/linux/linux-faq/index.html

한글 리눅스 FAQ 사이트 영문으로 된 리눅스 관련문서를

한글화 시켜 놓은 사이트

http://infoserv.kordic.re.kr/~sywon/linux/linux-faq/boot.html

플로피 디스크를 이용한 리눅스 부팅 방법소개

http://bio.lge.goldstar.co.kr/docs/linux.html

리눅스 설치와 기본 명령어 및 vi 에디터 사용법 등을 소개

http://pclab.kangnung.ac.kr/bbs/linux/hack1.html

리눅스란 무엇인가에 대한 간단한 소개

http://flower.comeng.chungnam.ac.kr/sharon/linux/

충남대학교 리눅스 홈페이지

ftp://juno.kaist.ac.kr/pub/linux/

리눅스용 다양한 프로그램을 구할 수 있는 사이트

http://pec.etri.re.kr/mbone-wg/archive/0016.html

리눅스 시스템을 Mbone 라우터로 사용하기 위한

방법 소개

http://www.comin.co.kr/bsdi/linux/hack3.html

리눅스 부트 매니저인 lilo에 대한 자세한 설명을

하고 있다.

http://moworld.yonsei.ac.kr/~radio/bbs/message3/30.html

X윈도우에 대한 소개

리눅스의 대표적인 영문 사이트

http://www.craftwork.com/

(Crafworks)Linux/AXP v2.2 홈페이지

http://www.debian.org/

데비안 GNU LINUX 홈페이지

http://www.delix.de/

DLD(Deutsche Linux Distribution) 홈페이지

http://www.redhat.com/

레드햇 리눅스 홈페이지

ftp://ftp.loria.fr/pub/linux/minilinux.fr/

미니 리눅스 사이트

http://www.ssc.com/lj/index.html

'Linux Journal' 잡지 홈페이지

http://www.linux.org

리눅스 홈페이지

http://thehamptons.com/anders/netatalk/

리눅스 운영에서 애플톡 파일 서버에 대한

사용 정보를 제공

http://sunsite.unc.edu/mdw/

리눅스 도큐먼테이션 프로젝트

(The Linux Documentation Projects)의 홈페이지

http://www.li.org/linux-int/

리눅스에 관한 정보를 담고 있는 리눅스 인터내셔널의

홈페이지

http://www.parnasse.com/java.shtml

리눅스에서 자바를 사용하기 위한 여러 가지 팁과

힌트를 제공

http://www.cs.utexas.edu/users/kharker/linux-laptop/

노트북이나 랩탑 컴퓨터에서 리눅스에서 리눅스를 사용하기

위한 정보를 제공

리눅스 관련 뉴스그룹

hans.sys.linux : 한글 뉴스그룹

alt.os.linux

comp.os.linux.admin

comp.os.linux.advocacy

comp.os.linux.announce

comp.os.linux.answers

comp.os.linux.development

comp.os.linux.development.apps

comp.os.linux.development.system

comp.os.linux.hardware

comp.os.linux.help

comp.os.linux.misc

comp.os.linux.networking

comp.os.linux.setup

comp.os.linux.x

-stoneol-

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 50번

제  목:[참고] 리눅스 버젼 알아내기

올린이:stoneonl(김석기  )    97/06/27 15:10    읽음:4353 관련자료 없음

-----------------------------------------------------------------------------

우리가 사용하는 시스템에 대해서

정확한 버전을 잘 모르고 있다.

커널을 업그레이드를 할 때도

프로그램을 컴파일을 하거나 설치할 때도

자신의 시스템의 버전을 중요할 때도 많다.

버전을 알아보는 방법을 알아보겠습니다.

kernal : uname -a

GNU CC: gcc -v OR gcc --version

PPP : pppd -h

libc : ls -l /lib/libc.so.5

libc++ : ls -l /usr/lib/libg++.so

binutils : ld -v

ldd : ldd -v and ldd -V

termcap: ls -l /lib/libtermcap.so.*

modules: insmod -V

procps: ps --version

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 52번

제  목:[강좌] 초보 인터넷 FAQ (4)

올린이:pey1    (박은영  )    97/07/04 21:00    읽음:3794 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

3장에 이어서 계속 올리겠습니다.

----------------------------------------------------------------------------

[ M ]

MAC     Medium Access Control

For broadcast networks, it is the method which devices use

to determine which device has line access at any given

time.

Mac     Apple Macintosh computer.

MAN     Metropolitan Area Network

MB      Megabyte

A unit of data storage size which represents

10^6 (one million) characters of information.

Mb      Megabit

10^6 bits of information (usually used to express a

data transfer rate; as in, 1 megabit/second = 1Mbps).

MILNET  Military Network

A network used for unclassified military production

applications.  It is part of the DDN and the Internet.

MIT     Massachusetts Institute of Technology

MTTF    Mean Time to Failure

The average time between hardware breakdown or loss of

service.  This may be an empirical measurement or a

calculation based on the MTTF of component parts.

MTTR    Mean Time to Recovery (or Repair)

The average time it takes to restore service after a

breakdown or loss.  This is usually an empirical measurement.

MVS     Multiple Virtual Storage

An IBM operating system based on OS/1.

[ N ]

NASA    National Aeronautics and Space Administration

NBS     National Bureau of Standards

Now called NIST.

network number

The part of an internet address which designates the

network to which the addressed node belongs.

NFS     Network File System

A network service that lets a program running on one

computer to use data stored on a different computer on

the same internet as if it were on its own disk.

NIC     Network Information Center

An organization which provides network users with

information about services provided by the network.

NOC     Network Operations Center

An organization that is responsible for maintaining

a network.

NIST    National Institute of Standards and Technology

Formerly NBS.

NSF     National Science Foundation

NSFNET  National Science Foundation Network

The NSFNET is a highspeed "network of networks" which is

hierarchical in nature.  At the highest level is a

backbone network currently comprising 16 nodes connected

to a 45Mbps facility which spans the continental United

States.  Attached to that are mid-level networks and

attached to the mid-levels are campus and local

networks.  NSFNET also has connections out of the U.S.

to Canada, Mexico, Europe, and the Pacific Rim.  The

NSFNET is part of the Internet.

NSFNET  Mid-level Level Network

A network connected to the highest level of the NSFNET that

covers a region of the United States.  It is to mid-level

networks that local sites connect.  The mid-level networks

were once called "regionals".

[ O ]

OSI     Open Systems Interconnection

A set of protocols designed to be an international standard

method for connecting unlike computers and networks.  Europe

has done most of the work developing OSI and will probably

use it as soon as possible.

OSI Reference Model

An "outline" of OSI which defines its seven layers and

their functions.  Sometimes used to help describe other

networks.

OSPF    Open Shortest-Path First Interior Gateway Protocol

A proposed replacement for RIP.  It addresses some

problems of RIP and is based upon principles that have

been well-tested in non-internet protocols.  Originally

acronymed as OSPFIGP.

[ P ]

packet  The unit of data sent across a packet switching network.

The term is used loosely.  While some Internet

literature uses it to refer specifically to data sent

across a physical network, other literature views

the Internet as a packet switching network

and describes IP datagrams as packets.

PC      Personal Computer

PCNFS   Personal Computer Network File System

PPP     Point-to-Point Protocol

The Point-to-Point Protocol (PPP) provides a method for

transmitting datagrams over serial point-to-point links.

protocol

A formal description of message formats and the rules

two computers must follow to exchange those messages.

Protocols can describe low-level details of

machine-to-machine interfaces (e.g., the order in

which bits and bytes are sent across a wire)

or high-level exchanges between allocation

programs (e.g., the way in which two programs

transfer a file across the Internet).

[ R ]

RFC     The Internet's Request for Comments documents series

The RFCs are working notes of the Internet research and

development community.  A document in this series may be on

essentially any topic related to computer communication, and

may be anything from a meeting report to the specification of

a standard.

RIP     Routing Information Protocol

One protocol which may be used on internets simply to pass

routing information between gateways.   It is used on many

LANs and on some of the NSFNET intermediate level networks.

RJE     Remote Job Entry

The general protocol for submitting batch jobs and

retrieving the results.

router  A special-purpose dedicated computer that attaches to

two or more networks and routes packets from one

network to the other.  In particular, an Internet

router forwards IP datagrams among the networks it

connects.  Gateways route packets to other

gateways until they can be delivered to the final

destination directly across one physical network.

RPC     Remote Procedure Call

An easy and popular paradigm for implementing the

client-server model of distributed computing.

[ S ]

server  A computer that shares its resources, such as printers

and files, with other computers on the network.  An

example of this is a Network Files System (NFS)

Server which shares its disk space with one or more

workstations that may not have local disk drives of

their own.

SLIP    Serial Line Internet Protocol

SLIP is currently a defacto standard, commonly used for

point-to-point serial connections running TCP/IP.  It is

not an Internet standard but is defined in RFC 1055.

SMTP    Simple Mail Transfer Protocol

The Internet standard protocol for transferring

electronic mail messages from one computer to another.

SMTP specifies how two mail systems interact and the

format of control messages they exchange to transfer mail.

SNA     System Network Architecture

IBM's data communications protocol.

SNMP    Simple Network Management Protocol

The Simple Network Management Protocol (RFC 1157) is the

Internet's standard for remote monitoring and management

of hosts, routers and other nodes and devices on a network.

subnet  A portion of a network, which may be a physically independent

network, which shares a network address with other portions

of the network and is distinguished by a subnet number.  A

subnet is to a network what a network is to an internet.

subnet number

A part of the internet address which designates a subnet.

It is ignored for the purposes internet routing, but is

used for intranet routing.

[ T ]

T1      A term for a digital carrier facility used to transmit a

DS-1 formatted digital signal at 1.544 megabits per second.

T3      A term for a digital carrier facility used to transmit a DS-3

formatted digital signal at 44.746 megabits per second.

TCP     Transmission Control Protocol

A transport layer protocol for the Internet.  It is a

connection oriented, stream protocol defined by RFC 793.

TCP/IP  Transmission Control Protocol/Internet Protocol

This is a common shorthand which refers to the suite

of application and transport protocols which run over IP.

These include FTP, TELNET, SMTP, and UDP (a transport

layer protocol).

Telenet A public packet-switching network operated by US Sprint.

Also known as "SprintNet".

TELNET  The Internet standard protocol for remote terminal

connection service.  TELNET allows a user at one site

to interact with a remote timesharing system at

another site as if the user's terminal was connected

directly to the remote computer.

Token Ring

A type of LAN.   Examples are IEEE 802.5, ProNET-10/80 and

FDDI.  The term "token ring" is often used to denote 802.5

Tymnet  A public character-switching/packet-switching network

operated by British Telecom.

[ U ]

UDP     User Datagram Protocol

A transport layer protocol for the Internet.  It is a

datagram protocol which adds a level of reliability and

multiplexing to IP datagrams.  It is defined in RFC 768.

ULTRIX  UNIX-based operating system for Digital Equipment Corporation

computers.

UNIX    An operating system developed by Bell Laboratories that

supports multiuser and multitasking operations.

UUCP    UNIX-to-UNIX Copy Program

A protocol used for communication between consenting

UNIX systems.

[ V ]

VMS     Virtual Memory System

A Digital Equipment Corporation operating system.

[ W ]

WAN     Wide Area Network

WHOIS   An Internet program which allows users to query a database of

people and other Internet entities, such as domains,

networks, and hosts, kept at the DDN NIC.  The information for

people shows a person's company name, address, phone number

and email address.

[ X ]

XNS     Xerox Network System

A data communications protocol suite developed by Xerox.  It

uses Ethernet to move the data between computers.

X.25    A data communications interface specification developed to

describe how data passes into and out of public data

communications networks.  The public networks such as

Sprintnet and Tymnet use X.25 to interface to customer

computers.

------------------------------------------------------------------------

여기가 끝입니다..

구럼......

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 54번

제  목:[강좌] 리눅스 구경 1 (기본명령,관리등등)

올린이:pey1    (박은영  )    97/07/07 06:07    읽음:8448 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

하이텔에서 퍼 왔습니다 =)

이번 장에는 기본 명령, vi, 쉘, 관리 등이 있습니다.

주욱~~~읽어 보셔요 ^^:

----------------------------------------------------------------------

제목 : [강좌] 리눅스 처음 구경하기

#194/647  보낸이:이선중  (HLFTO   )    10/23 19:57  조회:4011

-----------------------------------------------------------------------

제  목 : [9509]리눅스 사용에 무한한 자유를(1).

● 글 \ 이 선 중 (하이텔 리눅스 동호회 부회장)

리눅스 사용에 무한한 자유를

리눅스를 탐험하기로 결정을  내린 독자 여러분의 현명한  판단을 진심으로

환영한다. 현재  PC의 운영체계는  도스와 윈도우즈, OS/2가 화려한 선점을

하고 있지만 "컴퓨터 전반에서 가장 강력한 운영체계는 뭐니뭐니해도 유닉스다"

라는 사실은 두말하면  잔소리이다. 만일 유닉스 종류를  다른 운영체계보다

먼저 배웠다면 아무런 불편은 없겠지만  도스나 윈도우즈에서 생긴 문제를 잘

해결할 수 있었던 독자일지라도 리눅스에서는 그 상황이 좀 다르다. 아마도

리눅스라는 운영체계에 끙끙거리는 일이 자주 찾아오리라 예상된다. 이런

문제를 다 도와 드릴 수는 없다. 하지만 빈도 수가 큰 끙끙거림에 대해 조언을

하기로 약속드리며 기회가 닿을  때마다 다양한 팁을 제공하고자 한다. 끙끙거림에서

해방되는 포인트는 익숙해지는 것이다! 자주 쓰면  자기도 모르는 사이에 능숙한

사용자가 된다. 잘  안된다고 그만두면 영영 배우지 못한다.  언제나 단점은

크게 보이고 장점은 잘 보이지 않는다. 어떤 일이든지 리눅스로 처리하다 보면

유닉스의 합리적이고 과학적인 모든  환경을 누리는 셈이 된다.

이 글은 유닉스를  처음 구경하는 사람을 위해  쓴 것이다. 이런 분들께 진정

새로운 운영체계를 접한다는 호기심에  얘써가며 실행해놓고 사용하기 어렵다는

이유로 지웠던 경험이 있을 것이다. 그렇다면 차근차근 하나씩 배워보자. 수퍼

유저가 될 수 있고 나만의 워크스테이션에서 인터네트를 접하게 된다.

"리눅스라는 것이 도스와 비교해서 이러한 장점이 있구나"를 실감할 수 있도록

쉽고 자세하게 설명하기란 쉽지  않다. 또 최소한 도스만큼 리눅스를 쓸 수

있도록 설명하기에 지면도 충분치 않다. 글의 매끄러운 진행을 위해서 생략한

부분도 있다. 미처 빠진 부분은 다른 문서를 통해서 더욱 자세한 정보를 얻기

바란다.

이 글은  단지 '리눅스 구경하기'와 다른  상세한 정보들을 쉽게 이해하기

위한 길잡이의 역할을 충실히 하려고 한다.

리눅스 구경하기I

리눅스 컴퓨터 끄기(shutdown 명령)

=================================

유닉스는 많은  사람들이 많은  일을 동시에 처리하도록 설계된 운영체계이다.

컴퓨터를 꺼야 될  시간이 되어도 아직 사용하고 있는 사람이 있을 수 있고 또

아직 수행 중인 작업이 있을 수 있다.

'shutdown' 명령은 사용자들에게는  컴퓨터를 이제 끈다는 것을 알려주고 또

처리 중인  작업들은 강제로 종료시킨다. 또한 유닉스는 디스크에 쓰기 요청이

발생한 순간에 바로  디스크에 쓰기 작업을 하지 않는다.

메모리의 속도에 비해서  보조 기억 장치의 속도는 대단히  느리기 때문에

동시에 수행되고 있는 여러 작업(process)에서 개별적으로 요청하는 쓰기 작업을

요청되는 그 순간마다 기록하기보다는 모아서 한꺼번에 기록하는게 더

효율적일 것이다. 하지만 최소한 전원을  내리기 전에는 메모리에 남아 있는  내용이

디스크에 기록되어야 할 것이다.

'shutdown' 명령의 간단한 사용법은 다음과 같다.

shutdown -h  now     (컴퓨터 전원을 내리기 전에  이 명령을 준다)

shutdown -r now   (단순히 리부팅을 하려면 이 명령을 준다)

주 의

컴퓨터의 전원을 내리기 전에는 반드시 "shtudown -h now"라는

명령을 주자!

디렉토리, 홈 디렉토리

=====================

리눅스가 부팅 되면  화면에 'login:'이라고 물어 본다. 여기다가 root라고

써서 수퍼 유저(super user or  root)로 로긴한다. 자 이제부터 리눅스 여행이

시작된다.

darkstar:/root#

화면에 위와 같은  글씨가 나타난다. 이것을 프롬프트(prompt)라고 한다.

도스의  C:\>  형식의   프롬프트와  같은   성격이다.

'darkstar'라는 것은 예로 드는 컴퓨터의 이름이다. 마음에 드는 이름으로 바꿀

수 있다.  '/root'라는 것은 내가 지금 가장 상위의 디렉토리(/) 바로  밑에

있는 root라는  디렉토리에 있다는 의미이다. 도스로 표현하면 C:\ROOT\>가 될

것이다. 도스에서는 '\'로 디렉토리를, 유닉스에서는 '/'로  디렉토리를 구분

한다. 이 차이를 제외하면 상위 디렉토리  밑에 하위 디렉토리들이 존재하는

트리(tree)구조는 동일하다. 도스에서는  부팅을 하면 루트 디렉토리(C:\>)로

들어간다. 유닉스에서는 부팅  후 로긴이라는 절차가 또 있다(유닉스는 한 사람만

사용하는 운영체계로 개발되지 않았다는 것을 기억하자) 특정한 사용자로 로긴

하면(이 경우에는 root라는 사용자) 그 사용자에게 할당된 특별한 디렉토리로

자동으로 이동한다. 이 디렉토리를 홈 디렉토리라고 부른다. 자신의 홈 디렉

토리에 필요한 여러 설정 파일을 두게 되고 또 홈 디렉토리와 그 밑의 디렉토리

는 독자 여러분 맘대로 쓸 수 있는 공간이 된다.

디렉토리 바꾸기, 만들기, 없애기(cd, mkdir, rmdir, ls)

====================================================

이제 최초로 배우게 되는 유닉스 명령이다.  도스에서는 dir을 처음 배운다.

도스의  dir처럼 디렉토리 안에 있는 파일의  목록을 보는 유닉스 명령어는

'ls'이다. 'ls'라고 쳐보자!

darkstar:/root# ls

INSTALL@     linux@     lodlin15.txt  lodlin15.zip

darkstar:/root#

그 다음으로  배운 명령어는 'cd'  명령이다. 유닉스에서도  cd는

도스와 같다. 여러 디렉토리들을 돌아다니면서 'ls'  해보자. 필자는

최상위 디렉토리만 가 보기로 한다.

darkstar:/root# cd /

darkstar:/# ls

bin/   cdrom@  etc/   lib/   proc/   sbin/  usr/   vmlinuz

boot/  dev/   home/  mnt/   root/   tmp/   var/

darkstar:/#

도스의 cd와 다른 점 몇 가지는 'cd..' 대신에 'cd ..'이라고 써야

만 한다거나, 아무런 인자  없이 그냥 'cd'라고 만 치면 자신의  홈

디렉토리로 돌아온다는 점이다. 여기서는  할 일도 없고 하니 cd로

홈 디렉토리로 돌아와 보도록  하자. 이제 디렉토리를 바꾸는 명령

어를 알았으니 디렉토리를  생성하고 소멸시키는 명령을 알아보자.

도스의 md에  해당하는 명령은 유닉스에서는 'mkdir'이다.  도스의

rd에 해당하는 명령은 유닉스에서는 'rmdir'이다.

darkstar:/# cd

darkstar:/root# mkdir tmp

darkstar:/root# ls

INSTALL@     linux@     lodlin15.txt  lodlin15.zip  tmp/

(tmp 디렉토리가 새로 생긴 것을 확인할 수 있음)

darkstar:/root# cd tmp

darkstar:/root/tmp#

파일 복사하기, 내용 보기, 이름 바꾸기, 지우기 (cp,cat,more,less,mv,rm)

======================================================================

유닉스에서 파일을 복사하는 명령은 'cp'이다. 도스의 copy와 다른 점은 copy

명령은  만일 다른 디렉토리에 있는 파일을 현재 내가 있는 디렉토리로 복사할

때 'copy \dir\file'처럼 현재 있는 디렉토리를 생략할 수 있지만 유닉스에서는

그럴  수  없다.  'cp /dir/file .' 처럼  복사가 이루어지는  디렉토리도

적어 주어야  한다('.'은 현재의 디렉토리 '..'은 상위 디렉토리를 대표하는 것은

돕봇□ 마찬가지임).

darkstar:/root/tmp# ls

darkstar:/root/tmp# (아무런 결과도 안 나왔음)

darkstar:/root/tmp# cp /etc/passwd .

(/etc 디렉토리의 passwd 란 파일을 현재의 디렉토리로 복사)

darkstar:/root/tmp# ls

passwd            (passwd 파일이 복사된 것을 확인)

darkstar:/root/tmp#

파일이 문서 파일인 경우 그 내용을 보려면 'cat'이란 명령을 사용한다.

만일 문서 파일의 내용이 너무 길면 cat 명령으로는 문서의 뒷부분밖에 확인을

못할 수도 있다. cat이 문서 파일을 그냥 화면에 뿌려 주는데 비해 'more'라는

명령은 한 화면만  보여주고 스페이스바를  눌러야 다□  화면을 보여준다.

더  편리한 것으로 'less'라는 명령은 상하 화살표 키로 화면을  다시 볼 수

있다(탈출은 ESC가 아닌 Q).

darkstar:/root/tmp# cat passwd

root::0:0:root:/root:/bin/bash

ip::65534:65534:root:/:/bin/tcsh

(중간 생략)

ftp:*:404:1::/home/ftp:/bin/bash

guest:*:405:100:guest:/dev/null:/dev/null

darkstar:/root/tmp#

darkstar:/root/tmp# cat passwd | more (more 사용 예)

darkstar:/root/tmp# less passwd       (less 사용 예)

파일을 지울 때는 'rm'이라는 명령을 사용한다.  'mv' 명령은 파일의 이름을

바꾸어 준다. 사용자가 보기에는cp로 다른 이름의 파일로 복사한 다음 원래의

파일을 rm으로 지우는 것과 동일한 기능으로 보일 수도 있다(실제로는 그렇지

않지만 그렇게 이해하는 것이 더 쉽다는 이야기임).

darkstar:/root/tmp# mv passwd passwd.old

darkstar:/root/tmp# ls

passwd.old        (passwd가 passwd.old로 바뀌었다)

darkstar:/root/tmp# rm passwd.old

darkstar:/root/tmp# ls

darkstar:/root/tmp# (아무런 결과도 안 나왔음)

주 의

유닉스에서는 한 번 지운 파일을 복구할 수 없다.

문서 파일 만들기(vi)

====================

유닉스에서는 수많은 에디터가  있다. Emacs처럼 거대하고 많은 기능을 가진

에디터도 있고, 또  joe처럼 도스의 Q- 에디터와 흡사한 에디터도 있다.

하지만 가장 많이 쓰이는 에디터는 'vi'이다. 이 절에서는 vi에서 가장 기초적인

시작하기와 끝내기 그리고 입력하기만 설명하기로 한다.  vi를 시작하려면 'vi' 또는

'vi 파일 이름'로 시작한다. vi는 두 가지 모드가 있다. '명령  모드'와 '편집

모드'이다. 처음 시작은 명령 모드로  시작한다. 명령 모드에서 편집 모드로

들어갈 때는 'i'  키(insert의 의미)를 누르면 된다. 다시 명령 모드로 돌아올

때는 ESC 키를 누른다.

저장할 때는  우선 명령  모드이어야 한다. 만일  편집 모드라면  ESC 키를

눌러서 명령  모드로 돌아와야만 한다. 그리고 ':w 파일 이름' 또는 ':w'라고

입력한다. vi를 종료할 때면  ':q'라고 입력한다. 종료하기 전에는  반드시 저장

해야 한다. 만일 저장을  하지 않고 종료하려면 ':q!' 처럼 '!'를 붙여 준다.

만일 잘못 쓴 내용을 지우고 싶다면 명령 모드에서 d 명령을 이용할 수 있다.

지우고 싶은 글자 위에 커서를  위치시키고 'd'를 누른 다음  화살표 키로

지울 수 있다. 이상이 vi의 가장 기초적인 내용이다. 이제 실습을 해보도록 하자.

darkstar:/root/tmp# vi what_files_in_top

(vi 가 시작되었다)

i

(이제 편집 모드로 바뀌었다)

#!/bin/bash

cd /

ls

ESC 키

(이제 다시 명령 모드로 돌아왔다)

:w

darkstar:/root/tmp# ls

what_files_in_top

darkstar:/root/tmp# cat what_files_in_top

#!/in/bash

cd /

ls

darkstar:/root/tmp#

주 의

vi는 백업 파일을 만들지 않는다.

실행 파일, 접근 허가(ls, chmod)

===============================

도스에서는 .exe나 .com, .bat의 확장자가 붙은 파일들은 실행 파일이다.

유닉스에서는 어떨까? 아마 눈치 빠른 독자들은 /sbin 디렉토리의 shutdown이나

halt, reboot 혹은 /bin 디렉토리의  ls, cat, cp, mv, rm 같은 파일들이 녹색

으로 보이고 또  이름의 끝에 '*'표가 붙어 있는 것을 눈치챘을 것이다.

그리고 이 파일들이 여태까지 우리가 배워 온  명령어들 이였다. 그럼 녹색이고 '*'

표시가  붙은 것이 실행 파일이라는 걸 짐작할 수 있을 것이다.

한편 디렉토리에는 '/' 표가 붙어 있었다. 이렇게 파일의 종류에 따라서 이름의

끝에 특별한 표가 붙는 것은 ls의 -F 옵션 때문이다. 깔려 있는 리눅스 시스템에

'ls'는 언제나 'ls -F'라고  자동으로 지정이 되어 있다(이러한 지정을

alias라고 한다. 무시하고 싶으면 '\'를  명령어 앞에 붙여 쓴다).  ls에서 많이

쓰이는 다른  선택 옵션은 '-a' 나 '-l'이다. 합쳐서 '-al'로 쓰기도  한다. '-a'는

히든 파일도 볼 수 있게  해주는 옵션이다. 유닉스에서는 '.'으로 시작하는

파일은  히든  파일이다. 보통은  보이지  않는다.  예를  들면 '.login'이나

.Xdefault'같은 파일은  히든 파일이다. -l은 보통보다 더 많은 정보를 보여주는

옵션이다.

darkstar:/root/tmp# ls -al

total 3

drwxr-xr-x  2 root root   1024 Aug   5 17:23 ./

drwxr-x--x  5 root root   1024 Aug  4 06:03 ../

-rw-r--r--  1 root root   40 Aug   5 18:22 what_files_in_top

darkstar:/root/tmp#

파일의 크기와 날짜, 시간, 그리고 이름을  나타내는 부분은 쉽게 구분할 수

있을 것이다.  그 앞의 'root root'란 무슨 뜻일까? 처음의 root는 이 파일의

주인의 이름이 'root'라는 것을 뜻한다. 다음의 root는 root라는 사용자가 속한

그룹 이름이다. 유닉스는 많은 사용자들이 같이 사용하는 운영체계로 개발된

것을 다시 한번 상기하기 바란다. 같이 연구를 한다거나 하는 사용자들은 같은

그룹으로 묶어서 관리한다면  편리할 것이다. 이제 맨  앞에 붙어 있는

'drwxrwxrwx' 문자열을 설명한다. 이 10자리 문자열은 그  파일의 상태를 표시하는

것으로 해당 사항이 없을 때에는 '-' 표시가 붙게된다. 앞의  'd'는 디렉토리라는

의미이다.  '.'과 '..'에는 d가 붙어 있고 'what_files_in_top' 파일에는 d

대신에 -이 붙어 있다. 10자리 중 첫째 자리를 뺀 나머지 9자리는 각각 3자리

씩으로 나뉜다. 앞의 세 자리는 파일의 주인에게  해당하는 사항이다 다음의

세 자리는 이 파일의 주인이 속한 그룹의  다른 사용자에게 해당되는 사항이다.

나머지 세 자리는 주인과 그룹이 아닌 다른 사람들에게 해당되는 사항이다.

'r'은  읽기가 가능하다는 의미다. 'w'는 쓰기가 가능하다는 이야기이다.

그리고 'x'는 만일 파일이면 실행 파일이라는 의미이고 디렉토리이면 들어갈 수

있다는 뜻이다.

예에서 '.'(즉 현재의 디렉토리)는 디렉토리이고(d), 주인이 읽고 쓰고 들어

갈 수 있고(rwx), 같은 그룹 사람과 관계없는 다른 사람이 읽고 들어갈 수는

있어도 쓸 수는 없다(r-x)는 것을 알 수 있다. '..'(즉 상위 디렉토리)는 디렉

토리이고(d),  주인이 읽고 쓰고 들어갈  수 있고(rwx), 같은 그룹의 사람이 읽고

들어갈 수 있지만 쓰기는 불가능하고(r-x), 관계없는 사람은  들어갈 수만 있을

뿐 다른 것은  할 수 없음(--x)을 알 수 있다.

what_files_in_top은 디렉토리가 아니다(-).  (즉 파일이라는 의미이다.)

그리고 주인이 읽고 쓰기가 가능하지만 실행시킬 수는 없다(rw-).  같은 그룹의

사람과  관계없는  사람은 읽기만  가능하다(r--).

이 10자리 문자열로  표시되는 파일의 특성을 그 파일의  모드라고 부른다.

그리고 각각의 사용자에게 읽기, 쓰기, 실행하기가 허가되었는가 안되었는가를

접근 허가라고 한다. what_files_in_top이란 파일의 내용을 보면 지금까지

배운 명령어가 들어가 있다. 아마도 도스의 .bat 파일을 연상할 수 있을  것이다.

그런데 어떤 사용자에게도 실행은 허용되지  않았다. 모드를 바꾸어 도스의

.bat 파일처럼 실행시킬 수 없을까? 모드를 바꾸는  명령은 'chmod'이다.

허가는 '+'로, 금지는  '-'로 표시한다. 그리고 주인은  'u', 그룹은 'g', 관계

없는 사람은 'o'로 표시한다. 그리고 모든 사람들을  전부 표시할 적에는

'a'라고 한다('ugo'는 'a'와 같다). 예를 들어 주인과 그룹에게 읽기와 쓰기를

허가하려면 'chmod ug+rw 파일 이름'이라고 하면 된다.

darkstar:/root/tmp# chmod a+x what_files_in_top

darkstar:/root/tmp# ls

what_files_in_top*        ('*'이 붙은 것을 보라!)

darkstar:/root/tmp# what_files_in_top

bin/  cdrom@  etc/   lib/   proc/   sbin/   usr/    vmlinuz

boot/   dev/     home/   mnt/    root/    tmp/    var/

darkstar:/root/tmp#

셸(Shell)이란 무엇인가?

=======================

최상위  디렉토리(/)의 파일 목록을 보는 what_files_in_top이란 배치 파일을

만들어 보았다. 유닉스에선 배치 파일을 Shell Script(셸 스크립트)라고 부른다.

그런데 도스의 배치 파일과 다르게  맨 위에 '#!/bin/bash'란  줄이 있었다.

확인해 보면 /bin  디렉토리에 'bash'란 실행 파일도 있음을 알 수 있다

('cd  /bin; ls | more'라고 해 보라). bash는  Shell이다. 도스로 치면

command.com과 비슷한 명령 해석기이다. 도스에서도 command.com 대신에

4dos.com 같은 다른 명령 해석기를 구해서 쓸 수 있다. 유닉스에서는 도스보다

많은 명령 해석기가  있다. 각각의 Shell은 주로 Shell  Script의 제어 구문

형식에서 차이가 있다. 도스의 .bat 파일에서도  if나 goto같은 제어문을 쓸 수

있다는 것을 기억하라. Shell마다 이런  제어 구문을 쓰는 법이 다르다. 물론

각각 다른 독특한 장점들도 있다.

Shell은 크게 Bourne Shell(본 셸)과 C Shell(시 셸) 계열로 나눌 수 있다.

Bourne Shell은 유닉스의 기본 Shell로  sh란 이름을 가진다. 수퍼 유저

(= root)는 이 Shell을 써야 한다.  C Shell은 csh란 이름을 가지는데 Shell

Scrpt의  제어 구문이 C 언어와 많이 닮아서 일반 사용자들이 선호한다.

리눅스에서는 sh와 호환되면서 더 뛰어난 bash를 csh보다 낳은 tcsh를

제공한다.

'what_files_in_top' 스크립트에서 '#!/bin/bash'라는 줄을 적어  준 것은 이

스크립트의 명령 해석은 bash로  하겠다고 선언해 준 것이다.  예에서 이 줄을

what_files_in_top 스크립트에 적어 줄 필요가 없었다. 제어문이 하나도 없기

때문이다. 그런데 적어 준 것은 관례와 안전을 위해서이다. root라는 유저는

bash를 Shell로 쓴다. 만일 C Shell의  제어문을 쓰는 스크립트를 root라는

유저가 실행시킨다면 제어문 부분에서 에러□ 날 것이다. 만일 이 C Shell의

제어문을 쓰는 스크립트의 첫머리에 '#!/bin/tcsh'란 줄이 있으면 아무리 지금

이 스크립트를 실행시키는 root의  Shell이 bash라도 이 스크립트는 tcsh로 해

석된다. 따라서 아무런 에러가 나지 않는다. 그래서 Shell Script를 만들 때에는

어떤 Shell을  쓸 것인가(다른 말로 하면 어떤 제어문을 쓸 것인가)를 꼭 선언

하도록 하자.

그럼 root가 기본 Shell로 bash를 쓰는 것은 어디에 정의되어 있을까? 컴퓨터

모든 사용자의 정보는 /etc 디렉토리에 있는 passwd라는 파일에 기록되어 있다.

'/etc/passwd'라고 쳐보자.

'root::0:0:root:/root:/bin/bash'라는  □悶□□ 바로  수퍼  유저를 정의한

부분이다. 다른 줄도 전부 한  명씩의 사용자들을 정의한다. 하지만 실제로

로긴하여 움직일 수 있는  사용자는 현재 root뿐이다. 다른 사용자들은 컴퓨터가

움직이는 기능상 필요해서 만들어진 사용자일 뿐이다. 다음으로는 실제의 다른

일반 사용자를 만들어 보기로 하자.

새로운 계정 만들기 (adduser)

============================

지금까지는 root만이  유일한 사용자였다. 도스에서는 수퍼 유저와 일반 유저의

구분이 없다. 도스의 사용자는 모두 수퍼 유저이다. 만일 도스에서 command.com을

지웠다면  어떻게 될까? 만일 도스에서  dos 디렉토리  이름을 dos.bin이라고

바꾸어 놓았는데 autoexec.bat에 정의된 패스에는 아직도  dos라고 되어 있다면?

dos.bin 안의  명령어, 예를 들어  xcopy가 실행될까? 수퍼 유저가 어떤 실수를

하면 컴퓨터가 부팅이 안될 수도  원하는 기능을 발휘 못할 수도 있다(수백 명이

사용하는 시스템을 한 사람이  날려 버릴 수도 있다).

유닉스에서도 수퍼 유저는 모든 일을 다할 수 있다. 모든 파일을 다 지울 수도

있고 모든 디렉토리의 이름을 다 바꾸어  놓을 수도 있다(만일 여러분이

하이텔이나 나우누리의  수퍼 유저라고 상상해 보라). 매력적이지만 위험한

사용자이다. 일반 유저는 자기  홈 디렉토리 아래의 파일이나 디렉토리를 날릴

수는 있다. 하지만 절대로 시스템을 망쳐 놓을 수  없다. 아니, 망칠 수도 있다.

일반 유저로 그렇게 할 수 있는 사람을 부르는 말이  있다. '해커(Haker)' 만

이 그렇게 할 수 있다.  안전을 위해서라도 가능한 한 수퍼 유저는사용하지

말기를 권고한다. 그러면  평소에 내가 사용할 일반 유저를 만들기로  하자.

우선 생각할  것은 일반 유저의  로긴 명(login name)이다. ID라고 생각하면

편하다. 예를 들어서 'sunjoong'이라고 하자. sunjoong의 홈 디렉토리는

/home/sunjoong으로 Shell은 tcsh를 쓴다고 하자.

darkstar:/root/tmp# adduser

Enter login  name for new account  (^C to quit): sunjoong

(ID)

Full Name: Sunjoong Lee (성과 이름을 적어 줄 것. 그냥

리턴해도 됨)

GID [100]: (/etc/group 파일에 100번은 users라고

되어 있다. 그냥 리턴)

UID [501]: (그냥 리턴할 것을 권함)

Home Directory [/home/sunjoong]:

Shell [/bin/bash]: /bin/tcsh

Password [sunjoong]:

(그냥 리턴하면 암호는 sunjoong이 된다)

Is this correct? [y/N]: y

darkstar:/root/tmp#

이제 새로운 일반 사용자 'sunjoong'이 만들어졌다. 평소에는 이 사용자로

리눅스를  쓰기로  한다(sunjoong은  필자의 이름이다).

/etc/passwd 파일을 다시 한 번 보자. 이번에는 'less'를 사용해 보자.

'less /etc/passwd'라고 입력한다.

"sunjoong:dQke6/v.qwxga:501:100:Sunjoong

Lee:/home/sunjoong:/bin/tcsh"라는 문자열이 보일 것이다. 만일 로긴 시에

passwd를 물어 볼 것이 귀찮게 생각되면 dQke6/v.qwxga(아마도 독자들의 컴퓨터

에선  다른  문자열이겠지만) 이라는 문자열을 지운다. 'vi /etc/passwd'라고

입력해서 편집한다.  이제 새로  만든  sunjoong이란 일반 유저로 login해본다.

'logout'이라고 쳐서  현재 사용하고  있는 root  사용자를 떠난다.

'login:'이란 문자열이 나오면 sunjoong이라고 쳐주고,  'passwd:'라고 암호를

물어 오면 (암호를 없애지 않았다면) sunjoong이라고 입력하면 로긴할 수 있다.

주 의

가급적 root는 쓰지 말자!

어떨 때는 수퍼 유저가 되어야만 할 때가 있다.(su, sudo, visudo).

===============================================================

다른 많은 유닉스 사용자가 그러하듯이 이제 일반 유저로 사용하기로 마음을

먹었는데 곤란한  일이 생겼다. 컴퓨터를 끄기로 하고 앞에서 배운 'shutdown'

명령을 내렸는데 그런 명령이 없다고 한다. Path가 안 잡혀 있어서 그런가?

그럼… '/sbin/shutdown -h now' 이번에는 root가 아니라고 실행할 수 없다고

한다.

리눅스 사용이 보통의  유닉스 사용보다 어려운 것은 시스템 관리도 함께 해야

한다는 것이다. 보통 유닉스 기계들은 컴퓨터에 대해서 잘 아는 전문가가

시스템을 관리하고 일반  사용자는 그저 기계를 빌려서 한정된 작업만을 수행할

뿐이다. 일반 사용자는 컴퓨터를 끌 수도 없고(당연히 불가능하다! 여러 명이

사용하는데 어떤 사람이 맘대로 컴퓨터를  끈단 말인가?), 설치 안된 새로운

장치를 설치해서 이제부터 사용하게  할 수도 없고 시스템의 구성을  바꿀 수도

없다(일반 유저는  보통 자신의 홈 디렉토리에서만 할  수 있다). 시스템 관리에

관한 업무를 할 때에는 일반  유저에서 logout하고 root로 login해야 한다.

그런데 아주 잠시만 수퍼 유저의 권한이 필요한 경우는 어떨까? 다시 수퍼 유저로

로긴했다가 또 일반 유저로 돌아오는 것은 번거로울 것이다. 다른 사용자의

권한을 잠시 얻는 명령이 있다.  바로 'su' 명령이다. 'su 로긴? 해서 다른

사용자의 권한을 얻는다. 'su' 만을 적으면 수퍼 유저의 권한을  요구한다.

만일 요구되는 사용자가  암호를 가지고 있으면 그 암호를 물어 본다. 다시 원래의

사용자로 돌아오려면 'exit'라고 입력하면 된다.

또 다른  유용한 명령어로는 sudo가  있다. sudo는 인자로  받은 명령어를 수퍼

유저의 권한으로  실행시킨다. 예를  들어서 'sudo /sbin/shtudown -h now'

명령을 주면 'shutdown'을 'root'의 권한을 가지고 실행시킨다. sudo에서는

암호를 물어 본다. 이때의  암호는 sudo를 실행시키는 본인의 암호이다.  만일

암호가 없다고 해서 그냥 리턴키를 누르면 shutdown은 실행되지 않는다.

스페이스 바(Space Bar,  사이띄개)라도 한 번 누르고 리턴키를 눌러야 한다.

'sudo'는 '/etc/sudoers'라는 파일에 등록되어 있는 사용자만 쓸 수 있다.

이 등록은 수퍼 유저만이  할 수 있다.  다시 'logout'  하여 root로 다시 로긴

하자. 그리고 'visudo'라고 명령한다. 그러면  자동으로 'vi'가 /etc/sudoers

파일을 편집할 것이다. 저장하고  나올 때는 정확한 형식에 맞게 작성되었는지를

자동으로 검사한다. 나머지는 vi 사용법과 같다. 필자는 sunjoong이라는 유저에게

'shutdown'과 'mtools'라는  명령어를 수퍼 유저의 권한으로  실행시킬  수

있도록  허가했다.   "sunjoong  ALL=/sbin/shutdown, /usr/bin/mtools"란 줄을

추가하면 된다. 명령어는 지정할 명령어가 있는 디렉토리까지 적어 주어야

한다(Full Path를 적어 준다고 말한다).

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 55번

제  목:[강좌] 리눅스 구경 2 (시스템관리,기본명령등등)

올린이:pey1    (박은영  )    97/07/08 02:48    읽음:6876 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

리눅스 구경하기(퍼온 글 ^^;) 계속 이어집니다.

이번장의 순서는 다음과 같습니다.

-------------------------------------------------------------------------

# 유닉스에서는 autoexec.bat 파일이 없나?

# 통신도 해야죠 !!

# 새로운 패키지 설치하기(gzip, tar, pkgtool)

# 콘솔에서 한글을(han)

# 리눅스용 통신 에뮬레이터 (minicom)

# 다른 리눅스 부팅 방법(loadlin)

# 새로운 커널 컴파일

# 가상 콘솔과 백그라운드 작업 (bg, fg, jobs, kill, ps)

# 리눅스에서 프린트하기(lpr, gs)

# 도스 에뮬레이터(dos)

--------------------------------------------------------------------------

제  목 : [9509]리눅스 사용에 무한한 자유를(2).

유닉스에서는 autoexec.bat 파일이 없나?

======================================

도스의 autoexec.bat 파일에는  컴퓨터가 켜졌을 때 자동으로 실

행이 되어야 할 명령들을  적어 준다. 리눅스에서 컴퓨터가 켜졌을

때 하는 일을 적어 주는 것은 rc 파일들이다(/etc/rc.d  디렉토리 아

래에 있는  파일들). 그러나 rc  파일들은 리눅스 컴퓨터가  부팅될

때 자동으로 실행되는  명령들을 적어 놓은 중요한팎일이긴  해도

일반 사용자는 로긴 시에 자동으로 실행되는 파일이  더 중요해 보

일 것이다. 오히려 이러한  파일이 몇몇의 명령을 실행시키고 사용

자의 환경을 설정하는 면에서 볼 때 도스의 autoexec.bat과 비슷하

다 하겠다. 이러한 파일들은  각각의 사용자의 홈 디렉토리에 히든

파일로  존재한다.  csh(또는  tcsh)를   쓰는  사용자의  경우에는

'.login'(로긴할 때 한 번만 사용됨)  파일과 '.cshrc'(csh을 쓸 때마

다 실행됨. tcsh의 경우는 '.tcshrc'를 쓴다) 파일이 이러한 일을 한

다. sh(또는 bash)를  쓸 경우에는 '.profile' 파일이  담당한다(bash

의 경우에는 '.inputrc'라는 환경 파일도 있음). 만일 홈 디렉토리에

이런 파일이 없는 경우에는 시스템 디폴트 환경이 설정된다.

통신도 해야죠 !!

================

아직 리눅스용 통신 프로그램을 쓸 줄 모르는데

리눅스에서 뿐  아니라 컴퓨터를  배우려 하는 사람에게  통신은

거의 필수이다. 문제가  생겼을 때 물어 볼  친절한 친구들이 있고

또 새로운 프로그램을  쉽게 얻을 수 있다.  아마도 도스 환경에서

여러분은 이미 훌륭한 통신인  일 것이다. 하지만 리눅스 환경에서

는? 한글 문제도 있고……

그럼 우선은 도스에서 통신하도록 하자. 도스의 통신 프로그램으

로라도 통신망에 들어가서 리눅스의 궁금한 점을 물어 볼 수 있다.

하지만 새로 구한 리눅스 프로그램들은 어떻게  리눅스 시스템으로

옮길 수 있을까?

우선 도스용 파티션을 대신할 디렉토리를 만들도록 하자. 'mkdir

/dosc; chmod a+rwx /dosc' 해주면 된다. 그리고 'vi /etc/fstab'해

서 편집을 해주도록  하자. 만일 내가 도스에서  쓰는 하드 디스크

파티션이 첫 번째 IDE  하드디스크의 첫 번째 파티션이라□ 그 이

름은  /dev/hda1이다.  fstab   파일에  '/dev/hda1  /dosc  msdos

umask=000 0 0'란  줄을 추가하면 다음 번 리눅스  컴퓨터를 켰을

때부터는 내  도스 파티션(예에선  /dev/hda1)은 /dosc가 대신하게

된다. 이것은 시스템 구성을  바뀌게 하는 시스템 관리의 문제이므

로 root로 로긴해서  처리해야 한다. 예를 들어서 도스의  이야기에

서   C:\IYAGI\DOWN\>  디렉토리에   han-bin.tgz라는   파일과

han-font.tgz라는 파일, 그리고 hterm302.tgz라는 파일을 다운 받아

놓았다면 리눅스에서는 /dosc/iyagi/down/ 디렉토리에서 그 파일을

찾을 수 있다. 만일 리눅스에서  도스 쪽의 config.sys를 고치고 싶

으면 'vi /dosc/config.sys'하면 된다.

새로운 패키지 설치하기(gzip, tar, pkgtool)

==========================================

통신으로 새로운  파일들을 받았으면  그 파일들을 설치해야  쓸

수 있다. 어떤 파일들은  소스의 형태로 제공되어 컴파일이라는 과

정을 거쳐야 한다.  어떤 파일들은 그냥 풀어놓기만 하면  된다. 또

풀어놓고 알맞은 장소로 옮겨야  하는 파일들도 있다. 대부분의 파

일들은 압축되어 있다. 리눅스에선 .zip이나 .arj같은 도스에서도 익

숙한 압축 파일을 풀 수 있다. 하지만 보통 보는 압축 파일의 형태

는 .tgz  파일이다. .tgz 파일은  원래의 이름이  .tar.gz라는 형태의

파일이다. 도스와 달리 리눅스에서는 파일 이름을 135자나 적을 수

있다. 도스처럼 '.' 하나만 찍거나 '.' 다음에는 3자밖에 올 수 없다

는 제약도 없다. 하지만  대형 통신망에서는 도스에서 안되는 것을

지원할 수 없으니까 .tar.gz을 .tgz으로 표기하게 된 것이다.

.tar.gz이라는  이름은우선  tar라고 하는  프로그램으로  묶어서

.tar 파일을 만들고  gzip이라는 프로그램으로 압축해서 .gz 파일을

만들었다는 것을 보여준다. 도스에서는 한꺼번에 처리하는 것을 좋

아하지만 일반적으로  유닉스에서는 사소한  기능들을 가진(그리고

많은 옵션을 가진) 명령어들이  많다. 압축도 이 두 개의 명령어들

을 합쳐서 행하게  된다. 파일을 압축하는 명령어인 gzip은  .gz 파

일과 .z 파일,  .Z 파일의 압축을 풀  수 있다. 파일을 푸는  명령은

'gzip -d 파일 이름' 이다. .gz나 .z같은 확장자도 물론  써 줘야 한

다. 파일을 압축할  때는 'gzip -9 파일  이름'이다. 아직 확장자는

붙어 있지 않을 것이다.

파일을 하나의 파일로 묶는 명령어인 tar는 .tar란 확장자가 붙은

파일을 생성하거나 풀 수 있다. 파일을 푸는  명령은 'tar xvf 파일

이름'이다. 당연히 .tar 확장자도 들어가야  한다. 파일을 묶는 명령

은 "tar cvf 원하는 파일 이름 묶일  파일들(혹은 디렉토리들)"이다.

생성되기를 바라는 파일  이름에는 .tar란 확장자도 들어가야 한다.

gzip과는 다르다. 그 다음에는 묶일 파일 이름을 쓰거나 단순히 디

렉토리만을 써도  된다. 만일  /home/sunjoong/ 디렉토리의  .login

파일과  .tcshrc 파일을  묶는다고 하자.  "cd /;  tar  cvf test1.tar

/home/sunjoong/.login /home/sunjoong/.tcshrc;  gzip -9 test1.tar;

mv test1.tar.gz test1.tgz"라고 묶은 것과 "cd  /home/sunjoong; tar

cvf  test2.tar .login  .tcshrc;  gzip -9  test1.tar;  mv test2.tar.gz

test2.tgz"라고 묶는  것을 생각해 보자(유닉스에서는 ;로  구분해서

한 줄에 여러 명령을 쓸 수 있다). 분명 묶는 것은 'test2.tgz'가 쉬

울 것이다.  그런데 푸는 것은  어떨까? 'test1.tgz'는 단순히  '/'로

'cp'한 다음 그 자리에서 풀면 원하는 자리로 들어갈  것이다. 이것

이 그냥 풀어만 놓으면  제자리로 들어가는 파일이다. 'test2.tgz'는

알맞은 장소로  찾아가서 풀던가  아니면 풀어놓고 알맞은  장소로

옮겨야  한다.  배포되는  리눅스  패키지에 들어  있는  파일들은

'test1.tgz'과 같이 '/'에서 풀어만 주면 알맞은 곳에 들어가게 압축

되어 묶여  있다. 이러한 패키지는 'pkgtool'같은  명령어를 사용해

서 푸는 것이 더 효과적이다. pkgtool 명령어의 install 기능은 이러

한 컥溝湧□ 자동으로  풀어 주고 또 압축 파일에 담겨  있는 다른

정보를 이용하여  알맞은 처리를 해준다.  또 '/var/adm/packages'

디렉토리에 이렇게  설치한 파일들의 정보를  기록한다. 한 번  "ls

/var/adm/packages" 해보자.  이미 리눅스 설치 시  이렇게 설치된

여러 패키지들의 정보를  볼 수 있다. pkgtool의 이점은 만일  설치

한 패키지가  필요 없다고 생각될 경우  pkgtool의 remove 기능을

이용하여 다른 부분에는  아무런 피해 없이 깨끗하게 그  패키지만

을   지울  수   있다는   것이다.  위의   예에서   han-bin.tgz와

han-font.tgz는 이러한 형식으로 묶여  있다. 하지만 묶어서 압축하

는데 편리하기 때문에 대부분의  파일들은 test2.tgz와 같은 형태로

묶여 있다. 이러한 파일을 푸는 방법은 우선 알맞은 디렉토리로 이

동하고 'gzip -d'를  써서 .tar 파일을 만든 다음  'tar xvf'를 써서

풀어내야 한다.

콘솔에서 한글을(han)

====================

리눅스에서 한글을 사용하는 방법은 4가지이다. 리눅스 시스템에

터미널을 달아서 한글이 되는 도스용 통신  에뮬레이터로 접속하는

방법과 X-window에서 한글이  되는 터미널 에뮬레이터 프로그램,

또 X-window  라이브러리의 한글이 되는  대용품을 사용하는 법,

마지막으로 지금 소개할 'han'을 사용하는 방법이다.

han이란 과학원의 오성규님과 노남석님이 일본의 'KON'을 기반

으로 만든 프로그램으로 리눅스 텍스트 콘솔에서  한글의 입출력을

가능하게 해준다. han은  han-bin.tgz라는 파일과 han-font.tgz라는

파일로 일반적인  슬랙웨어 패키지의  형식을 따르고 있기  때문에

'/'에  cp하고  'pkgtool'로 설치하면  좋다.  단순히  설치를  하고

'han'이라고 입력하는  것만으로 한글 입출력 기능을  쓸 수 있다.

만일 한글 기능을 그만 쓰고 싶으면  exit라고 입력하면 된다. 한글

과 영문 입력 상태의 변환키는 ctrl+_ 키(^_)이다.  대부분의 비디오

카드에서 /etc/han.cfg에 정의된 수치로 han이  동작한다. han을 써

서 한글 입출력□  가능해졌는데 약간의 추가 작업으로 한글을  더

욱  자유롭게 쓸  수  있다. tcsh을  쓰는  유저는 '.login'  파일에

'setenv LANG  korea'란 줄과 'setenv LESSCHAESET  latin1'이

란  줄을 추가하고  bash을  쓰는  유저는 '.inputrc'  파일에  'set

meta-flag On'이란  줄과 'set convert-meta  Off'이란 줄, 그리고

'set output-meta On'이란 줄을 추가한다. vi 대신에 helvis처럼 한

글화된 프로그램들을 구해서 쓰면 더 편리하다.

리눅스용 통신 에뮬레이터 (minicom)

==================================

한국의 리눅스 사용자에게 가장 유명한 통신  에뮬레이터는 세연

(seyon)이다. 하지만  세연은 X-window용  프로그램으로 X에서만

쓸 수 있다.  그리고 여러 이유로 세연을 싫어하는  사람들이 많다.

세연 대신에 쓰는 프로그램들은 kermit, XC, 그리고 minicom이 있

다. 이 중  minicom은 슬랙웨어 리눅스에 기본으로 들어  있으므로

따로   구하지    않아도   된다는   장점이   있다.    minicom은

'/var/lib/minicom/minicom.users' 파일에  등록된 사용자만이 사용

할  수  있다.  root로   로긴해서  이  파일을  편집하자.  그리고

'minicom -s'로 minicom을  실행시켜 여러 설정을 올바르게 하자.

특히 'Serial port setup'에서 모뎀의 속도를 맞춰야 빠르게 통신할

수 있다. 기본 설정치는 2400 BPS이다. 이제  다시 일반 유저로 로

긴해서 minicom을 실행시킨다.

옵션은 -l로 주어야 한다. 즉  'minicom -l'로 minicom을 실행시

킨다. minicom에서 모든  기능 명령어는 'ctrl+a'로 시작한다. 이야

기에서 F10 키를  누르는것과 비슷하게 'ctrl+a 그리고는 z'  키를

누르면 된다. minicom을 끝낼  때는 'ctrl+a 그리고는 q'를 누른다.

전화를  끊을 때는  'ctrl+a 그리고는  h'를  누른다. 이야기에서는

ctrl+F9이다.  이야기에서 전화번호부를  부르는  명령은 alt+d이고

minicom에서는 'ctrl+a  그리고 d'를 누른다. 전화번호부를  편집할

때 이것만은 알아두어야 한다.  기본 설정 터미널 에뮬레이션 모드

는 VT102이지만  터미널 에뮬레이션 모드가 'ANSI'  이어야 한글

을 볼 수 있다.

다른 리눅스 부팅 방법(loadlin)

==============================

리눅스 시스템을  부팅하는 방법은 플로피 디스크로  부팅하거나

LILO라는 프로그램을  이용하여 하드 디스크로 부팅하는  것이 일

반적이다. 만일  독자들이 도스와 리눅스를  같은 컴퓨터에서 쓰고

있다면 'loadlin' 사용을 권한다. loadlin은  도스 프로그램으로 리눅

스를 부팅시켜 준다. 즉 기본적으로 도스로 부팅 후 리눅스를 부팅

한다. loadlin의 장점은  LILO처럼 MBR(master boot record)을 변

형시키지 않는다. LILO를  쓰는 사람들은 나중에 리눅스를 제거하

게 되었을 때  MBR을 다시 깨끗하게 하지  않으면 컴퓨터를 부팅

시킬 수 없다. 그리고 커널을 다시 컴파일 하였을 때 새 커널을 시

험하기가 좋다. LILO의 경우 잘못 컴파일된 커널이 설치되었을 때

처리하기  곤란하다.  슬랙웨어  설치  시 loadlin을  설치하였다면

'/root' 디렉토리에 'lodlin15.zip'이라는 도스용 프로그램이 들어 있

게  된다.  이 프로그램을  도스  파티션으로  cp하자.  예를  들어

'/dosc'로 cp했다고  하면 이제 'unzip lodlin15.zip'이란  명령을 내

려 주면 LOADLIN'이란 디렉토리가 생긴다. 이 디렉토리로 cd 한

후 'cp /vmlinuz .' 명령을 준다.

LOADLIN 디렉토리의 'linux.bat' 파일을 편집한다. 이 파일에서

는 부트 커널의 이름을 'zimage'로 쓰도록 되어 있다. 우리의 부트

커널의 이름인 'vmlinuz'로  바꿔 준다. 'vga=3'도 'vga=normal'로

바꿔 주자. 만일 고용량의  하드디스크를 쓴다면 'hd=c, h, s'의 하

드 디스크 정보도 추가해야 한다. 이  때 c는 실린더, h 는 헤드, s

는 섹터를 의미한다. 리눅스 루트 파티션의 이름도 실제로 쓰는 파

티션 이름과 같도록 바꾸어 야 한다. 'loadlin.exe' 프로그램을 쓰기

위해서는 원래의 바이오스 정보를 가지고 있어야 한다. 이 정보를

파일로 기록하는  프로그램이 loadlin 디렉토리에 존재하지만  설명

의   편의를   위해서   메모리를   소비하지만   설명하기   쉬운

'biosintv.sys'를 쓰기로 한다.

config.sys의 맨 윗줄에 "DEVICE=C:\LOADLIN\BIOSINTV.SYS"라는  줄을

넣도록  한다.

이제 도스로 부팅해서 linux.bat 파일을  실행시키면 리눅스로 다시

부팅하게 된다. 만일  도스 6.0 이상을 사용한다면 도스의  멀티 부

팅 기능을 이용할 수 있다.

이미 멀티 부팅 기능을 이용하고 있는 독자들은  다음 파일의 내

용을 이해할 것이다. 'vi /dosc/config.sys'로 편집할 수 있다.

도스 멀티 부팅을 이용한 loadlin 사용을 위한 config.sys의 예

DEVICE=C:\LOADLIN\BIOSINTV.SYS

SWITCHES=/F

[MENU]

menuitem=DOS, DOS boot

menuitem=LINUX, LINUX boot

[DOS]

device=c:\dos\himem.sys

device=c:\dos\emm386.exe 2048 ram

DOS=HIGH, UMB

SHELL=C:\COMMAND.COM C:\ /e:1024 /p

rem 기타 원래의 config.sys의 내용

[LINUX]

shell=c:\loadlin\loadlin.exe  c:\loadlin\vmlinuz   vga=normal

root=/dev/hdb2 ro

[COMMON]

rem    Here  we put  any other  "common" configuration

stuff ....

자신의 환경에 맞게 변형해서 사용하기  바란다. 'linux.bat' 파일

에서 설명했듯이  만일 고용량의 하드디스크를 쓴다면  하드디스크

의 정보도 추가해 주어야 한다.  또 리눅스 루트 파티션 이름도 현

재 사용하고 있는 실제의 리눅스 루트 파티션 이름으로 고쳐 준다.

이제 'shutdown  -r now'로 리부트해서 도스로  부팅한다. 멀티

부팅 환경이 뜨는가(도스 6.0 이상이면 뜰 것이다)?  리눅스 부팅이

가능한가? 다시 도스로  부팅해서 linux.bat을 실행시켜 본다. 리눅

스로 부팅할 수 있는가? 이제 MBR에서  LILO를 제거하자. 깨끗한

도스  시스템 디스크로  부팅한다. 이  시스템  디스크에는 최소한

msdos.sys, io.sys,  command.com, fdisk.exe는  들어 있어야 한다.

물론 msdos.sys와 io.sys는 눈에 보이지 않는다. 'fdisk /mbr'를 하

면 이 이후로는  LILO가 뜨지 않을 것이다. 실제로 loadlin  디렉토

리에서 사용하는 것은  .sys 파일과 .exe 파일, 그리고 .bat  파일과

리눅스의 커널뿐이다. 나머지는  설명 파일과 소스이다. 설명  파일

은 프린트하고(특히 manual.txt) 필요 없는 파일은 지워도 된다.

새로운 커널 컴파일

===================

커널이란 도스로  비유하면 'msdos.sys'와 'io.sys'  비슷한 것이

다. 리눅스는  이 커널의 소스까지  공개되어 있다. 만일  도스에서

도스 커널을 만들 때 존재하지 않았던 외부  장치를 사용하려면 어

떻게 해야 할까? 바로 장치 구동 파일을 메모리에 띄워야 한다. 리

눅스에서는 커널 소스를 고쳐서 그 장치를 사용할 수 있도록 한?

새로운 커널이 발표되는 것은 커널을 좀더  안정화시키거나 새로

운 기능, 또는 새로운 장치를 사용할 수  있게 하기 위해서이다. 그

러면 이 새로운 기능, 새로운 장치를 다 사용할 수 있으면 좋은 커

널일까? 대답은 '아니다'이다. 새로운 기능, 새로운 장치를 많이 사

용하면 사용할수록 커널의 크기가 커지고 메모리를 많이 사용한다.

그래서 최근에는  꼭 필요한  부분만 컴파일하고 나머지는  도스의

장치 구동  파일처럼 필요할  때마다 메모리에 적재시키는  방법도

시도되고 있다. 사용자가 새로운  커널이 필요할 때는 현재의 커널

로 불가능한 기능이 필요할  때이다. 새로운 커널은 완전한 소스의

형태나 바뀐 점만  포함하는 패치(Patch) 파일의 형태로  배포된다.

완전한 소스의 형태는 '/usr/src'  디렉토리에 풀어놓고 컴파일하면

된다. 패치 파일로  배포되는 것은 예를 들어  커널 1.2.9 패치라면

커널 1.2.8의 소스를 커널 1.2.9로  바꾸어 준다. 즉 패치 파일은 가

지고 있는 커널  소스로부터 원하는 커널 패치까지 빠짐없이  가지

고 있어야 한다.  패치 파일을 '/usr/src' 디렉토리에 놓고(물론  압

축 등은 다 풀려 있어야 한다),  "patch -s -p0 < 패치_파일 이름"

형식으로 커널의 소스를 변형시킨 후 컴파일한다.

새로운 커널을  설치하거나 또는  시스템을 새로 설치했을  때는

커널을 컴파일해 준다.  시스템에 가장 적합하게 컴파일해야  한다.

너무 많은 기능을 사용하면  메모리를 과다하게 사용하게 된다. 커

널을  컴파일할  때는  커널   소스가  있는  디렉토리(예를  들어

'/usr/src/linux')로 이동하여  다음과 같은  명령을 순서대로  내려

준다.  'make  mrproper',  'make  config',  'make  dep',  'make

zImage'. 만일  LILO를 사용하는  독자들은 'make  zImage' 대신

'ake zlilo'라는 명령을 내려 준다.

'make config'  부분이 새로운  커널에 들어갈 기능들을  정의해

주는 부분이다. 대개의 경우 디폴트로 되어 있는 부분을 따르는 것

이 안전하다(즉, 리턴키만 누르면  된다는 의미). 하지만 잘 생각하

기 바란다. 예를  들어 디폴트는 PCI bios 지원을 하게  되어 있다.

하지만 PCI를 사용하지 않는 사용자에게는 필요 없는  기능이다(다

시 한번 메모리를 생각하자). 만일 386SX를 써서  코프로세서가 없

는 경우(DX는  코프로세서가 포함됨)  디폴트로 되어 있는  'math

emulation'을 안하는 것을  택한다면 나중에 문제가 생길 수  있다.

스커지(SCSI) 장치나, 네트워크 장치,  CD 롬, 그리고 사운드 카드

는 실제로 가지고 있는 것만  지원하도록 하자. 이 글의 다음 부분

에 설명할 PPP를 이용하기 위해서는  PPP 기능도 컴파일 시 들어

가야 한다(Network  device support 설정 시  이것은 Dummy Net

device를 가능하게 해야 선택할 수 있다). 파일  시스템 설정 시 꼭

필요한 것은 'ext2'와  'msdos'뿐이다. '/proc'는 선택하는 것이 좋

다. 내가 다른 컴퓨터와 네트워크를 통해서 하드디스크를 공유하지

않는다면 'NFS'를  선택하는 것은  낭비이다. CD롬을  사용한다면

'iso9660'을 선택해야 한다.  디폴트로는 프린터 지원이 안된다.  이

것도 고쳐준다. 커널  해킹은 지원하지 않는 것이 더  좋다. 사운드

카드 설정 시 옥소리와 사블 프로는 지원하지만  사블 16은 지원하

지 않는 것을 기억하기 바란다.  이상으로 몇 가지 혼동할 수 있는

사항을 알아보았다. 나머지 사항에 대해서는 메모리와 기능의 관계

를 생각하여 될  수 있는 대로 시스템에 최적화 하도록  선택해 준

다.

'make dep' 해준  후 LILO 사용자는 'make zlilo'  해준다. 다음

부팅부터는 새로운 커널로 부팅될 것이다. 하지만 정확한 컴파일이

아니면 부팅되지  않는다. 'loadlin'  사용자는 'make zImage'한다.

'/usr/src/linux/arch/i386/boot'  디렉토리에  'zImage'라는  새로운

커널이 생겼을 것이다. 이  새로운 커널을 '/docs/loadlin' 디렉토리

에 복사한다.  '/usr/src/linux'에서 'make clean'하여  컴파일 도중

생긴 여러  파일들을 지운다.  도스로 부팅하여 'linux.bat'  파일의

커널 이름을 zimage로 고치고 실행시켜  보자. 리눅스로 부팅이 되

는가? 만일 부팅이  안된다면 vmlinuz로 부팅하여 커널을 다시 컴

파일한다.

가상 콘솔과 백그라운드 작업 (bg, fg, jobs, kill, ps)

====================================================

유닉스는 다중 사용자 다중 작업을 지원하는 운영체계이다. 리눅

스 역시 그렇다. 도스에 비해서 엄청난 이 기능을 활용하지 않는다

면 재미없을 것이다. 다중 작업에서 가장 기본적인 것이 바로 백그

라운드 작업(background  job)이다. 백그라운드 작업이란 사용자의

눈에는 실행되는  모습을 보이지  않으면서도 실제로는 일을  하는

것을 말한다. 반대의  개념은 포그라운드 작업이다. 백그라운드  작

업은 '명령어&'로 명령어 다음에 '&' 표시를 붙여서 백그라운드로

실행시킨다. 만일 지금 실행시키고 있는 작업을 백그라운드로 바꾸

고  싶으면  우선  'ctrl+z'를   눌러서  이  작업을  잠시  멈춘다

(suspend). 그리고는 'bg' 명령으로 백그라운드로 실행되도록 하는

것이다. 만일 백그라운드로 실행되던 작업을 다시 포그라운드로 실

행시키고 싶으면 'fg' 명령을 준다. 한  번에 실행되고 있는 백그라

의 번호를 확인하고 'fg  %번호'로 포그라운드로 돌린다. 백그라운

드로 하던 일을 도중에  멈추고 싶으면 'kill %번호', 또는 'kill -9

PID'한다. 'PID'는 'ps'로 확인할  수 있다. 'ps' 명령은 내가 행하

고 있는 작업(procss)을 보여주는 명령어이다.

리눅스에 있는 다중 작업을 위한 다른 기능으로  가상 콘솔 기능

이 있다. 가상 콘솔이란 'alt+기능키'로 다른 콘솔을 열 수 있는 기

능이다. 기능키는 F1에서 F6까지  쓸 수 있다. 'alt+F2'를 해 보라.

'login:' 프롬프트가 뜰  것이다. 가상 콘솔을 이용하여 한 번에  컴

퓨터를 여러 대 쓰는 효과를 얻을 수 있다. 또는 각 가상 콘솔마다

다른 사용자로 로긴할 수 있다. 한쪽 가상 콘솔에서는 일반 사용자

로 다른  쪽 가상 콘솔에서는 root로  로긴해 보자. 커널  컴파일은

시간이 오래 걸린다.  root로 로긴한 가상 콘솔에서는 커널을  컴파

일하고 일반 사용자로로긴한 가상 콘솔에서는 통신을 할 수 있다.

가끔 'alt+기능키'로 다른  가상 콘솔에서는 원하는 작업을  제대로

하는지 확인한다.

만일 엑스 윈도를 쓸 때는 'ctrl+alt+기능키'로 가상 콘솔을 연다.

다시 첫  번째 엑스 윈도로 돌아올  때는 F7 기능키를  쓴다. 가상

콘솔을 이용하여 엑스  윈도도 여러 개 띄울 수  있다(그렇게 사용

할 사용자는 거의 없으리라고 생각한다).

리눅스에서 프린트하기(lpr, gs)

==============================

커널이 프린터를 지원하는 경우 리눅스에서  프린트 명령은 'lpr'

이다. lpr은 '/etc/printcap'이란 파일에 설정된 프린터  설정을 따른

다. 기본 설정은  'Generic Printer'라고 되어 있고 이 부분을  제외

한 다른 부분은  '#'로 막혀 있다. 프린터의 기능을  완벽하게 쓰고

싶으면 자신의 프린터에 맞는 'printcap' 파일을 만들어야 한다.

'lpr' 명령에서 알아두어야 할 것은 일단 이  명령을 내리면 프린

터를 끄거나 컴퓨터를  끄더라도 다시 부팅하고 다시 프린터를  켜

기만 하면  예전에 프린트하던  것을 계속 찍어  나간다는 것이다.

'lpr 파일 이름'  해보자. 전부 찍어내거나 'lprm'으로 없애기  전에

는 결코  프린트를 멈추지 않을 것이다.  'lprm 작업 번호'로  멈출

수 있다. 무엇을 프린트하고 있는지 보는 명령은 'lpq'이다.

유닉스에서는 많은  문서 파일이 Post  Script의 형태로 배포된

다. ps 문서는 일반  text 문서와 달리 글자의 크기 조절이나  그림

등도 지원한다. ps  문서는 ps 지원의 프린터로(이 경우 'printcap'

을 수정하여야 함) 출력하거나 'gs'라는 프로그램을 통해 프린킹□

출력한다.  "/usr/lib/ghostscript/examples/tiger.ps" 파일을  출력해

보자. 'tiger.ps' 파일은 포효하고 있는 호랑이를 그린 그림이다. 우

선  이  파일을  홈  디렉토리로  복사한다.   "gs  -q  -dSAFER

-dNOPAUSE        -sDEVICE=bj10e         -sPAPERSIZE=a4

-sOutputFile=/dev/lp1  tiger.ps"라고   명령을  내려보자.  이  때

'bj10e'는 캐논  버블젯 프린터를  의미한다. 만일 데스크젯  500을

쓴다면 'dj500'이라고 쓰면 된다. 거의  모든 프린터가 호환하는 엡

슨을 쓰려면 'epson'이라고  쓴다. 프린터에 따라서 해상도 차이가

있다. 자신에게 맞는 프린터 디바이스를 쓰기  권한다. 명령을 내리

기 전에 '/dev/lp1' 파일  모드를 모든 사람들에게 '쓰기' 허용하라

(chmod 참고). 호랑이 그림이 프린터로 출력되었는가? gs는 ps  형

태의 파일만을 출력한다. 만일 일반 text 파일을 gs로 출력하고  싶

으면 '-- gslp' 옵션을 준다. '/usr/bin' 디렉토리의 gsbj라는 Shell

script가 이러한 예이다(gslj 등 다른 프린터에 대한 예도 있음). 한

글 파일의 프린트는  'hpscat'이나 'hps'를 이용하여 ps 파일로 바

꾸어 인쇄한다('hpscat'는 CD  부록에 들어 있다). 'lpr'로 찍을 수

있는 일반 text 파일도 gs를  통하거나 hpscat을 통해 찍으면 훨씬

더 예쁘게 찍힌다.

도스 에뮬레이터(dos)

====================

간단한 도스 프로그램을 실행시키기 위해서 리눅스를  끄고 도스

로 부팅할 필요가 없다.  안되는 프로그램도 있지만 간단한 프로그

램의 경우에는 도스 에뮬레이터로  실행시킬 수 있다. 도스 에뮬을

실행시키기 위한 명령어는 'dos'이다. 도스 에뮬을 마치기  위한 명

령어는 'exitemu'이고  미리 'exitemu.com' 프로그램이  도스 쪽에

들어  있어야  한다.  도스  에뮬에서 가상  콘솔을  부를  때에는

'ctrl+alt+기능키'로 부른다. 여러 가상  콘솔에서 각각 도스 에뮬을

실행시켜 도스 멀티태스킹(?)도 할 수 있다.

도스 에뮬은 소스의 형태로 배포된다. 다른 컴퓨터에서 컴파일된

바이너리는 자신의  컴퓨터에선 실행되지 않고 자신의  컴퓨터라고

하더라도 엿括□ 버전업  등 시스템 구성이 변하면 다시  컴파일해

야 한다. 도스 에뮬을 컴파일하기  전에 'QuicStart'라는 파일의 내

용을 살펴보자. 어떻게 도스  에뮬을 설치하여야 하는가와 그 배경

이 되는 정보를 담고  있다. 앞으로는 소스로 배포되는 프로그램들

설치하기 전에는 설치 설명서를  읽어보는 습관을 들이는 게 좋다.

보통 설치  설명서는 'INSTALL'이라는 파일이나  'QuicStart'라는

파일로  존재한다.  이런 파일이  없는  경우에는  'README' 나

'README.1st' 같은 파일이  설치 설명서일 수 있다. 영어 문서가

싫더라도 읽어보지  않으면 안된다. 대강  제목이라도 읽어서 설치

부분만은 꼭 읽어야 한다. 설치 설명이 없는 프로그램은 대개 그냥

'make'라고 명령하는 것만으로 컴파일된다.

도스 에뮬에서는 'make  most'라고 명령한다. 'error(s)!'란 말이

들어가는 문장으로 컴파일이 끝나지 않으면 컴파일이  성공한 것이

다. 다시 'make  install' 명령을 내려 준다. 물론  새로운 프로그램

의 설치는 root가  해주어야 한다. 컴파일과 설치가 무사히  끝나면

보통 'make clean'로 불필요한 파일들을 지워 준다.

'examples/config.dist' 파일을 '/etc/dosemu.conf' 파일로  복사한

다. 이제 'dosemu.conf'를  편집하자. 잘 읽어보고 알맞은 줄에 '#'

를 없앤다.  이 파일 안에도  'QuicStart'라는 부분이  있어서 많은

조언을 주고  있다. 특히 'Misc' 부분에서는  486 컴퓨터 사용자나

수치 연산 코프로세서가 있는 사람들이(DX는 다 있다.)  그 기능을

제거하고 사용하기  쉬우므로 주의한다.  또 부팅은  'A'가 아니라

'C'로 하도록 하자. 하드 디스크 부분에서는 디스크 이미지를 사용

하도록 하고 도스 에뮬 부트  부분에서는 EMU 파일을 사용하도록

정의한다. 그리고 플로피 디스크  부분도 국내의 사정과는 맞지 않

는 부분이니 고쳐 주도록 한다.

'/etc/dosemu.users' 파일을 만들어  준다. 내용은 'all'이라고 적

어 준다. 'all' 대신  도스 에뮬을 사용할 사용자를 적어 두면  지정

된 사용자(들)만 도스 에뮬을 사용할 수 있다.

'hdimage.dist' 파일을 '/var/lib/dosemu/hdimage' 파일로 복사한

다. 미리 만들어 둔 도스  시스템 디스크를 A: 드라이브에 넣고 도

스 에뮬을 부팅한다. 'dos -A'라고 명령을 주면 된다. 도스 시스템

디스크는  도스로  부팅하여 'sys  a:',  'copy  command.com a:',

'copy fdisk.exe a:',  'copy sys.com a:', 'copy sbst.exe  a:' 하여

만든다. 'config.emu'와  'autoexec.emu' 파일도  미리 작성하여 a:

드라이브에 저장해 놓아야 한다.

config.emu

FILES=30

STACKS=0, 0

FCBS=1

SHELL=C:\COMMAND.COM /P /E:512

autoexec.emu

@ECHO OFF

SET COMSPEC=C:\COMMAND.COM

PROMPT DosEmu_$P$G

PATH C:\;C:\DOS;C:\DOSEMU;C:\....기타 등등

SUBST E: C:

LREDIR D: LINUX\FS\${home}

LREDIR C: LINUX\FS/dosc

도스 에뮬로  부팅한 다음 c: 드라이브를  살펴보면 자신이 쓰던

c:가 아니다. 이것은  'hdimage'라는 디스크 이미지이다. a: 드라이

브에 있는 'config.emu'와  'autoexec.emu' 그리고 'command.com'

과 'subst.exe'를 c:로 복사한다.  c:에 있던 .exe 파일과 .com 파일

그리고 .sys 파일을 a:로 복사한다. 'fdisk /mbr' 명령을  내려 주고

'sys c:' 명령을 내려  준다. 'exitemu' 명령을 내려 도스 에뮬에서

빠져 나온다.

다시 도스로  부팅하여 DOSEMU란  디렉토리를 만들고  디스크

이미지에서 a:로 복사한 명령어들을 이 디렉토리 안에 복사해 넣는

다. C:\에  'autoexec.emu' 파일을 만들어  놓는다. 내용은 '@echo

off' 한 줄이면 된다. 다시 리눅스로 부팅하여 'dos'라는 명령을 내

려보자. 'dir c:'해  보자. 원래 자신의 c:  인 것을 확인할 수  있을

것이다. d:는 내 홈 디렉토리가 되었다. 하드 디스크  이미지는 e:이

다.  'hwp86'로 꼬마  한글을  써 보자.  도스  에뮬을  나갈 때는

'exitemu' 명령을 내리면 된다.

--------------------------------------------------------------------------

계속 이어서 올리 겠습니다 =)

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 56번

제  목:[강좌] Netscape 4.01b6 받아서 설치하기

올린이:pey1    (박은영  )    97/07/11 12:21    읽음:5845 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

네스케잎을 받아서 설치하는 법을 간단히 적어보겠습니다.

네스케잎 버견은 4.01b6 이며, 네스케잎 홈페이지에서 긁어 왔고, 루트에서

작업 한다 가정하고 글을 올리겠습니다.

그럼 시작합니다 =)

우선 모질라( =네스케잎)를 받아야 설치를 하겠죠 ^^

네스케잎사 ftp로 갑시다.

리눅스에는 ftp 보다 발전된 ncftp 라는 프로그램이 있습니다.

차이점은 나중에 설명 하기루 하고..궁금한 분들은 man ncftp 해 보셔요.^^

다음과 같이 네스케잎 사에 접속 합니다.

Sahron:~# ncftp ftp.netscape.com

그러고 조금 있으면 아래와 같은 화면이 나타나고 netscape> 라는 프롬프트가

생기면서 접속이 됩니다.

___________________________________________________________________________

Tip: You can get the newest version of NcFTP from ftp.probe.net, in the

/pub/ncftp directory.  NcFTP is FREEware!

Trying to connect to ftp.netscape.com...

Welcome to the Netscape Communications Corporation FTP server.

If you have any odd problems, try logging in with a minus sign (-)

as the first character of your password.  This will turn of a feature

that may be confusing your ftp client program.

Please send any questions, comments, or problem reports about

this server to ftp@netscape.com.

Guest login ok, access restrictions apply.

__________________________________________________________________________

ftp.netscape.com                                                      /

--------------------------------------------------------------------------

netscape>

자...이제 접속이 되었으니 모질라를 긁어 옵시다.

영어가 나왔다구 쫄쥐 마시구 ftp 사이트 구경 해 보셔요.

(( netscape> 이 프롬프트에서 ls 라구 치면 리눅스에서 ls 라 치는 것과 같은

일을 합니다. ))

우리가 받을 모질라 4.01b6 은

/pub/communicator/4.01/4.01b6/english/unix/other 이라는 디렉토리에 있습니다.

디렉토리 이동명령 cd 기억 나시죠? =)

자...그 디렉토리로 갑시다.

netscape> cd /pub/communicator/4.01/4.01b6/english/unix/other

이동 하셨으면 이 디렉토리 안에 뭐가 있는지 ls 로 살펴 보셔요.

많은 자료들이 있지만 우리가 받아갈 것은

communicator-v401b6-export.x86-unknown-linux2.0.tar.gz 라는 아주 길다란

이름을 가진 놈입니다. 찾으셨나요?

ncftp 에서 화일을 긁어 오는 명령은 "get 화일명" 입니다.

그럼 다음과 같이 해서 찾은 걸 긁어 옵시다.

netscape> get communicator-v401b6-export.x86-unknown-linux2.0.tar.gz

성공 하셧는지요 ^^;

위의 내용을 갈무리 해 뿌려보면 다음과 같습니다.

------------------------------------------------------------------------

Tip: You can get the newest version of NcFTP from ftp.probe.net, in the

/pub/ncftp directory.  NcFTP is FREEware!

Trying to connect to ftp.netscape.com...

Welcome to the Netscape Communications Corporation FTP server.

If you have any odd problems, try logging in with a minus sign (-)

as the first character of your password.  This will turn off a feature

that may be confusing your ftp client program.

Please send any questions, comments, or problem eports about

this server to ftp@netscape.com.

Guest login ok, access restrictions apply.

> cd /pub/communicator/4.01/4.01b6/english/unix/other

> get communicator-v401b6-export.x86-unknown-linux2.0.tar.gz

__________________________________________________________________________

ftp.netscape.com         /pub/communicator/4.01/4.01b6/english/unix/other

--------------------------------------------------------------------------

netscape> get communicator-v401b6-export.x86-unknown-linux2.0.tar.gz

긴 시간에 절쳐서 받으셨으면 이제 설치를 하셔야지요

설치 순서는 다음과 같습니다.

1.임시 디렉토리를 만들어 받은 모질라를 거기루 옮긴다

2.압축을 푼다

3.설치한다

4.링크 시킨다

5.임시 디렉토리를 지운다. (압축화일을 보관할 분은 보관)

6.즐겁게 웹써핑을 한다 ^^;

1. 모질라를 풀 임시 디렉토리를 temp 라는 이름으로 만듭시다.

Sahron:~# mkdir temp

그리고 모질라를 새로 만든 temp 디렉토리로 옮겨야 겠죠.

Sahron:~# mv communicator-v401b6-export.x86-unknown-linux2.0.tar.gz temp

2. 모질라를 옮겼으면 temp 디렉토리 안으로 들어가서 제대로 모질라가 옮겨졌는지

확인(ls로 ^^;)한 다음 압축을 풉니다(tar xvfz 화일명).

Sahron:~# cd temp

Sahron:~/temp# ls

communicator-v401b6-export.x86-unknown-linux2.0.tar.gz

Sahron:~/temp# tar xvfz communicator-v401b6-export.x86-unknown-linux2.0.tar.gz

3. 압축을 푸시고 그대로 temp 디렉토리 안에서 ./ns-install 라고 치면 아래와

같은 설치 화면이 뜨면서 설치가 됩니다.

Sahron:~/temp# ./ns-install

여기서 디렉토리를 물어오는데 기냥 엔터만 치시면 기본적으로 설치가 되니

영어라 쫄쥐 마시고 만약 설치될 기본적인 디렉토리가 없으면 그 디렉토리

마져도 만들어 줍니다. 엔터 치셔요 ^^;;

==================================================================

NETSCAPE Platform-Independent Software Installation

For Communicator release 401b6

Copyright (c) 1997 by Netscape Communications Corp.

==================================================================

Please specify the directory path under which the software will be

installed.  The default directory is /usr/local/netscape.

Location for Communicator software [/usr/local/netscape]:

/usr/local/netscape: No such directory.  Do you wish to create it?

(y/n)[y]

Installing Communicator files...

Installing Communicator Java files...

Installing additional component files...

Registering Communicator 401b6...

The Netscape Communicator software installation is complete.

---------------------------------------------------------------------------

흠.  /usr/local/netscape 에 모질라가 성공적으로 설치가 되었다고 나오네요.

4. 이제 모질라가 설치된 /usr/local/netscape 으로 가서 잘 됐나 살펴 봅시다.

Sahron:~/temp# cd /usr/local/netscpe/

Sahron:/usr/local/netscape# ls

LICENSE           ifc11.jar         jio40.jar         movemail-src

Netscape.ad       iiop10.jar        jsd10.jar         nethelp

README            jae40.jar         libjsd.so         netscape

XKeysymDB         java              libnullplugin.so  vreg

bookmark.htm      java40.jar        movemail

자..그럼 이제 할일은 다음과 같이 링크를 시키는 일입니다.

/usr/local/netscape 디렉토리에 있는 netscape를 /usr/local/bin/netscape

으로 링크 시킵니다.

Sahron:/usr/local/netscape# ln -s /usr/local/etscape/netscape /usr/local/bin/netscape

5. 이제는 설치도 다 됐으니 임시 디렉토리(temp)를 지웁시다.

지우기 전에 압축 화일을 보관하실 분들은 맘에 드는 곳으로 옮겨서 보관하셔요.

제 경우는 /temp 라는 디렉토리를 만들어 거기다 압축화일을 보관 했습니다.

Sahron:~# mkdir /temp

Sahron:~# mv temp/communicator-v401b6-export.x86-unknown-linux2.0.tar.gz /temp

** 여기서 왕주의점~!!  temp 와 /temp 를 헷갈리지 마셔요. ^^; **

압축화일도 /temp 로 옮겨서 보관했으니 잘 옮겨졌나 확인한 후 미련 없이 temp

라는 임시 디렉토리를 지웁시다.

Sharon:~# ls /temp/

communicator-v401b6-export.x86-unknown-linux2.0.tar.gz

Sahron:~# rm -rf temp

6. 이제는 모질라를 띄우셔서 웹써핑 즐기시면 됩니다 ^^;

=샤론박(pey1)=

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 57번

제  목:[강좌] password를 잊어 버렸을때

올린이:stoneonl(김석기  )    97/07/17 10:40    읽음:5315 관련자료 없음

-----------------------------------------------------------------------------

우리는 리눅스를 사용하다 보면 비밀 번호를 잊어 버리는

경우가 있습니다. 특히 root의 비밀번호를 잊어 버리는 경우는

정말 큰일이 아닐 수 없습니다. 일반사용자라면 root로 로긴해서

다음과 같이 고치면 됩니다. 그리고 root사용자라면 다음과 같은

방법으로 고치면 되겠습니다.

그래서 다음의 글을 프로그램 세계 5월호에서 인용하겠습니다.

레드햇 사용자라면 리로 프롬프트에서 linux single이라고 입력하고

들어갑니다. 그러면  로그인 과정을 거치지 않고 단일 사용자

모드로 로그인해 들어가게 됩니다. 그리고 나서 /etc/passwd파일의

root 사용자 패스워드를 지워버립니다.

cd /etc

vi passwd

root:JzvRWa.LiXqku:0:0:root:/root:/bin/bash

→

root::0:0:root:/root:/bin/bash

첫 번째 콜론(:)과 두 번째 콜론 사이의 암호화된 패스워

드를 지워서 공백으로 만들고 난 뒤 다시 부팅해서 들어오면

됩니다. 슬렉웨어 사용자라면 부트 디스켓과 비상용 복구

루트 디스켓을 이용하여 플로피만으로 리눅스 부팅한 후에

여러분이 하드에 설치한 리눅스 루트 파티션을 아무 곳에나

마운트한 다음 마찬가지로 /etc/passwd 파일을 수정하면 됩니다.

-stoneonl-

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 58번

제  목:[강좌] sound를 플레이 해보자

올린이:stoneonl(김석기  )    97/07/17 10:42    읽음:5090 관련자료 없음

-----------------------------------------------------------------------------

오랜만에 글을 올리네요

제가 요즘에 공부한다는 핑계삼아서 글을 자제하고 있네요

이번에는 여러분이 리눅스를 사용하면서 소리를 제대로

듣지 못하는 불상사가 많이 있을 겁니다.

이번에 소리를 듣는 방법을 알려 드리겠습니다.

제가 소개하고 싶은 것은 tk3play입니다.

여기에는 웬만한 플레이가 들어 있어서

이거 하나만 자료실에 받아서 설치하시면 간단 합니다.

물론 커널 컴파일해서 소리가 나야 하겠죠

우선 자료실에 가서

lt tk3play를 하십시오

아마 여러개 나올건데 그냥 stactic 버전을 받으세요

그리고 다운하고 나면 파일명이 tk3plays.tgz

일 겁니다.

이걸 임시디렉토리를 만들어서 옮기고

tar xvzf tk3play.tgz

그럼 tk3play-static1.00b라는 디렉토리가 생깁니다.

이 디렉토리 이동후

그냥 간단하게

make

라고 치면 컴파일이 될 겁니다.

그럼 다 카피가 되어 있습니다.

그리고

mp3는 플레이를 할려면 X-windows에서는

tk3play를 치면 됩니다.

그리고 wav화일을 플레이를 하고 싶으면

wav화일을 플레이하고 싶으면

bwavplay *.wav

wavplay *.wav

하면 됩니다.

그리고 mp3는

maplay *.mp3

mp3play *.mp3

하면 되고

au화일은

play *.au

하면 됩니다.

기타 mp2도 tk3play로 하면 됩니다.

그리고 tk3play는 윈도우의 쥬크박스처럼

mp3 자동 플레이를 지원합니다.

우선 tk3play를 실행시킵니다.

그리고 오른쪽 아래에서 왼쪽으로 보면 playlist

라는 작은 글자가 보입니다.

그걸 실행시키면

먼저 해야 할 일이 있습니다.

자기 홈디렉토리에 보면

ls -a

를 해보세요

그럼 .tk3play가 보입니다.

거기다가 mp3모든 파일을 카피합니다.

cp *.mp3 ~/.tk3play

이렇게 하면 될 겁니다.

그럼 playlist를 실행시키면

상단 오른쪽에 보면 mp3화일들이 보입니다.

그리고 자기 하고 싶은 mp3화일에 마우스 포인터를

가리키면서 ctrl키와 같이 누릅니다. ctrl를 누른상태에서

마우스 왼쪽버튼을 누르세요

mp3화일들이 반전되어 있습니다.

그러면서 하나하나 지어하십시오

그리고 나서

Append V를 누릅세요

그럼 밑에 선택된 mp3화일들이 나옵니다.

그리고 Save to Tk3play를 누르고 Close

하면 플레이 버튼을 누르세요 자동적으로

플레이가 될 겁니다. 그리고 다음에도 이와 같은 순서대로

플레이 하고 싶으면 위와 같은 과정을 거친후에

Playlist에 리스트 이름을 적고 난 후에

Save to Disk를 합니다.그럼 다음에 Filename에 리스트이름을

선택후 Save to Tk3play를 누르고 Close를 한 후에

플레이하면 자동적으로 플레이 됩니다.

직접 해보시면 이해가 될겁니다.

우리나라사람이 만든 sbplay가 있는데

이걸 한글 설명이 되어 있기 때문에

직접 받아서 해보시기 바랍니다.

그리고 요즘 mp3저작권 문제로 인해

*.ra를 많이 플레이 하게 되는데

리눅스에도 realaudio 3.0이 있습니다.

이것도 자료실에 있으니 압축풀어서 실행을 하기만

하면 됩니다. 그리고 realaudio 실행화일은 raplayer인데

이걸 /usr/local/bin 에 카피해서 실행하십시오

그렇지 않으면 구버젼이 실행이 되어 문제가 생길 수도 있습니다.

그리고 netscape에 등록해서 사용하시면 좋겠죠

raplayer3.0의 하위디렉토리에 보면 Mime.types라는 파일이 있는데

netscape의 등록할때의 파일 타입이 있습니다.

netscape의 application에 파일을 등록해서 사용하세요 다른 파일도

마찬가지 입니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 59번

제  목:[강좌] 리눅스의 잡다한 명령어

올린이:stoneonl(김석기  )    97/07/17 10:42    읽음:7231 관련자료 없음

-----------------------------------------------------------------------------

우리는 리눅스의 통신 프로그램인 미니컴이나 세연으로

문서를 다운 받은 경우 그 내용을 살펴보면

^M 이라는 글자를 자주 보게 됩니다.

예를 들어 여기에 있는 초보란을 글을 다운한다고

합시다.

DN 1.CAP

을 해서 다운하고 나서

VI 1.CAP

하면 분명히 ^M이라는 글자를 많이 보게 될 겁니다.

이걸 해결 하는 방법이 있습니다.

fromdos < 현재의 문서 > 현재의 문서.new

이런 형식을 사용하면 됩니다.

위의 경우를 사용하면

fromdos < 1.CAP > 1.new

하면 됩니다. 꼭 1.NEW라는 것을

안 지켜도 됩니다.

하여간 확장자 NEW가 있어야 합니다.

그리고 나서

vi 1.new를 해보세요 아마 전과 달라져 있을 겁니다.

세연에 사용하다 보면

글자의 크기가 크다고 할 수 있고

자다고 생각할 수 있습니다.

이럴때는 CTRL+ 마우스 오른쪽 버튼을

눌려서 마음대로 조절할 수 있습니다.

물론 세연화면을 대고 하셔야 합니다.

CTRL+오른쪽 버튼을 계속 누른 상태여야 합니다.

거기서 위아래로 움직여서 선택하십시오

크기는 Default Unreadable Tiny Small Medium Large Huge

내용은 이해하시리라 생각됩니다.

오른쪽으로 갈수록 글자 크기가 커집니다.

세연의 다이얼 리스트를 고치려고 할 때

또 다른 방법이 있습니다.

자기 홈디렉토리에 보면

ls -a

를 하면

.seyon/

이 보일 겁니다. cd .seyon

ls

해보면 phonelist가 있는데

이걸 vi phonelist

해서 에디트 하면 되겠습니다.

저난번에 말씀드렸는데 다시 한 번 얘기 하겠습니다.

세연에서 지나간 화며을 보기 위해서는

shift+pageup

shift+pagedown

하면 됩니다.

세연의 화면색과 글자색을 서로 바꾸려 할 때는

ctrl+왼쪽버튼을

누르면

secure keybored를 누르면 됩니다.

그리고 에러가 발생하여 닫을 때는

send kill signal

을 하면 되고

정지 신호를 보낼때는

send stop signal

를 하면 될 겁니다.

사전 찾아서 뜻을 이해하면서 실행해보시기 바랍니다.

리눅스를 사용하면서

길게 명령을 내리는 경우가 많습니다.

그래서 간단하게 한 단어로 배치화일을 만들면 편하게 사용할 수

있을 겁니다.

예를 시디롬을 마운트를 하기 위해서

mount -t iso9660 /dev/cdrom -o ro /cdrom

라는 길게 적을려면 좀 비효율적일 겁니다.

그래서

vi mountcd

를 하고

mount -t iso9660 /dev/cdrom -o ro /cdrom엔터

를 하고

나서 저장하면 됩니다.

cp mountcd /usr/local/bin

으로 옮겨서 어디서든 실행시키면 되겠죠

그리고 그냥 실행시키면 퍼미션이 거부가 되기 때문에

실행이 안됩니다.

그래서

chmod 777 mountcd

이렇게 하면 될 겁니다.

그리고 umount /cdrom를 umountcd로 배치화일을

짜면 편하겠죠

다른 실행화일명도 마찬가지 입니다.

예를 들어

/usr/local/netscape/netscpe

가 있다면

/usr/local/bin(패쓰가 지정되어 있어서 여기에 있는 파일은 어디서든

실행이 됩니다.)

에서

vi netscape

를 하고

/usr/local/netscape/netscape엔터

저장하고 난 후에

chmod 777 netscape

아니면

cd /usr/local/bin

ln -s /usr/local/netscape/netscape /usr/local/bin/netscape

를 하면 어디서든 netscape를 실행하면 됩니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 60번

제  목:[강좌] 사운드카드에 ide 포트가 연결되어 있을 때

올린이:stoneonl(김석기  )    97/07/17 10:48    읽음:3150 관련자료 없음

-----------------------------------------------------------------------------

이자료는 사운드블래스터의 경우 시디롬 연결케이블이

사운드카드에 연결되어 있어서 설치를 하는데 어려움이

있었습니다.이런 경우는 다음과 같은 글을 읽어서

참고 하시기 바랍니다. 이자료는 9번 리눅스 비법

나눔터에 있는 자료입니다.

[1512] 제목 : [팁] 사운드 카드 IDE 포트와 IDE 시디롬

올린이 : geoman  (이만용  )    97/02/15 18:31    읽음 : 800  관련자료 없음

-----------------------------------------------------------------------------

-

요즘 사운드 카드들은 사운드 카드 자체에 IDE 포트를 달고 나타나는 경우가 많습

니다. 예전에 사운드 블래스터 카드들은 2 배속 AT-BUS 형 시디롬을 장착할 수 있

는 인터페이스를 제공해왔는데( 제가 현재 구식 사블16 VE 사용 중, 물론 아주 행

복하게... ^^ ) 이제는 IDE 시디롬( ATAPI 라고도 부름 )을 연결할 수 있는 IDE

인터페이스를 제공하고 있습니다.

보통 리눅스는 기본적으로 메인보드 또는 I/O 카드의 IDE 0 번, 1 번을 인식합니다.

따라서 최신 리눅스 커널을 사용하는 경우 별 무리없이 IDE 채널에 연결한 IDE 장

치들( 하드디스크, 시디롬 )을 인식합니다.

그런데 종종 조립제품을 사다 보면 멀쩡히 메인보드의  IDE 인터페이스가 남는데도

불구하고 사운드 블래스터 32 와 같은 카드에 달린 IDE 인터페이스에 떡 하니 연결

해서 주는 경우가 있습니다. 이 때부터 리눅스 설치에 골치가 아프게 되죠.

일단 초보자들에게는 사운드 카드에 달린 IDE 시디롬을 뽑아서 메인보드 또는 I/O

카드에 연결하도록 권장합니다.

하지만 사운드 카드에 IDE 시디롬을 달고 리눅스에서 사용할 수는 있습니다.

편법이 필요하죠.( 정확히 말하면 편법은 아님... ^^ )

많은 분들이 사운드 카드에 달아서 잘 쓰고 있다는 말을 듣고 역시나 거의 모든 해

결책이 적혀 있을 것이라 예상되는 커널 소스 안의 문서들을 읽어보기 시작했습니

다.

Documentation/ide.txt 문서를 읽어보니 해답이 있더라구요.

테스트해본 사운드 카드와 IDE 시디롬은 각각 사운드 블래스터 32IE, LG-8 배속

시디롬입니다.

일단 LG 8 배속 시디롬을 사운드 블래스터 32IE의 IDE 인터페이스에 연결하였습니

다.

그리고 다음과 같이 LILO 설정 화일인 /etc/lilo.conf 에 적어주었습니다.

append="hdg=cdrom ide3=0x168,0x36e,10"

그리고 나서 /sbin/lilo 한 번 실행

그리고 리부팅...

부팅시 메세지가 이렇게 나옵니다.

ide_setup: hdg=cdrom

ide_setup: ide3=0x168,0x36e,10

<...중략...>

hda: SAMSUNG WNR-31601A (1.6GB), 1536MB w/109kB Cache, LBA, CHS=780/64/63

hdb: SAMSUNG WNR-31601A (1.6GB), 1536MB w/109kB Cache, LBA, CHS=780/64/63

hdg: probing with STATUS instead of ALTSTATUS

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

hdg: GCD-R580B, ATAPI CDROM drive        <-- 인식했죠?

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

ide3 at 0x168-0x16f,0x36e on irq 10

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/dev/hdg 라는 장치명으로 시디롬이 인식되었습니다.

자, ide.txt 의 설명을 들어보도록 하죠.

지금 현재 리눅스 IDE 지원은 총 4 개의 IDE 인터페이스를 지원합니다.

보통은 14, 15번 IRQ 를 사용하는 ide0, ide1 인터페이스를 기본적으로 인식합니다.

나머지 ide2, ide3 가 남았지요?

Primary:    ide0, port 0x1f0; major=3;  hda is minor=0; hdb is minor=64

Secondary:  ide1, port 0x170; major=22; hdc is minor=0; hdd is minor=64

Tertiary:   ide2, port 0x1e8; major=33; hde is minor=0; hdf is minor=64

Quaternary: ide3, port 0x168; major=34; hdg is minor=0; hdh is minor=64

프라이머리, 세컨더리, 터셔리, 쿼터너리 4 개이고 ATA-2 스펙에 따라 각 인터

페이스마다 2 개의 IDE 장치가 마스터/슬레이브 설정으로 연결될 수 있습니다.

ide0 -------------> /dev/hda, /dev/hdb

ide1 -------------> /dev/hdc, /dev/hdd

ide2 -------------> /dev/hde, /dev/hdf

ide3 -------------> /dev/hdg, /dev/hdh

ide2, ide3 에 대해서는 LILO 설정화일이나 또는 커널 명령행 옵션에서 명시해주어

야만 인식합니다.

보통 표준적인 설정은 다음과 같습니다.

ide0=0x1f0,0x3f6,14

ide1=0x170,0x376,15

ide2=0x1e8,0x3ee,11

ide3=0x168,0x36e,10

전자는 포트(port) 번호, 맨끝은 IRQ 번호입니다.

여러분의 사운드 카드가 달고 있는 IDE 인터페이스가 ide2 인지 ide3 인지는 구입

시 함께 오는 매뉴얼을 보고 주소와 IRQ 를 비교하여 결정하시거나 무작정 해보는

것이 상책입니다. ^^

커널 명령행에서 hdg=cdrom 이라고 한 것은 글자 그대로 /dev/hdg 가 시디롬이라고

커널에게 명시해주는 일입니다.

아직 사운드 카드 IDE 채널에 하드디스크를 연결해보지는 않았습니다.

보통의 보드와 IDE 채널을 단 사운드 카드를 사면 총 6 개의 IDE 장치를 달 수 있

는 것 맞나요? 시험해봐야겠군요. ^^

참고로 사운드 블래스터 IDE 채널이 IRQ 10 번을 우리 몰래 쓰고 있었기 때문에

랜카드 3Com 509b 같은 것과 같이 사용할 때 상당히 애 먹습니다. 주의하세요.

이렇다 하더라도 잘 모르시는 분들은 처음 리눅스 설치시 꼭 메인보드나 I/O 카드

에 연결하여 설치하십시요.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 61번

제  목:[강좌] 데비안 총정리

올린이:stoneonl(김석기  )    97/07/17 10:58    읽음:4331 관련자료 없음

-----------------------------------------------------------------------------

제 친구가 데비안을 까는데 많은 어려움이

있었습니다. 이와 같은 경우를 방지하기 위해서는

kokids(박주연)님의 강좌가 필수가 되겠습니다.

이자료는 리눅스 배움터,리눅스 강좌/연재란에 있습니다.

뒤에 가면 글자가 깨집니다. 강좌란에 li kokids하면

찾을 수 있습니다.

[409] 제목 : [강좌] 데비안/GNU 리눅스 - 한묶음(끝)

올린이 : kokids  (박주연  )    97/02/22 00:55    읽음 : 525  관련자료 없음

-----------------------------------------------------------------------------

-

데비안 GNU/리눅스 1.2 플로피 디스크 설치법

저작권과 소프트웨어 라이센스에 관하여

대부분의 소프트웨어와 함께 오는 라이센스를 당신이 읽었을 것으로 생각

합니다. - 당신은 한 컴퓨터에 한 카피의 소프트웨어만을 사용할 수 있다

고 명시되어 있습니다. 데비안 GNU/리눅스 시스템은 그렇지는 않습니다.

우리는 당신의 학교 혹은 회사에서 모든 컴퓨터에 한 카피를 갖고 사용하

는 것에 대해 개의치 않습니다. (오히려 장려합니다.) 친구들에게 빌려주

고, 친구들 컴퓨터에 설치하도록 도와주십시오. 당신은 수천 카피를 만들

어서 팔수도 있습니다. - 단, 몇 가지 제한이 있습니다. 이렇게 할 수 있

는 이유는 데비안은 공개 소프트웨어(free software)이기 때문입니다.

공개 소프트웨어가 저작권이 없다는 것을 의미하는 것은 아닙니다. 또한,

이 소프트웨어가 담긴 이 CD를 무료로 배포한다는 의미도 아닙니다. 그것

은 단지 소프트웨어를 복사해서 사용할 권리에 대해 반드시 금전적  지불

을 할 필요가 없다는 것을 의미합니다. 당신이 소프트웨어를 카피하는 방

법에는 몇 가지 제한이 있는데, 시스템에 인스톨할때마다 그에 관한 것들

을 읽을 수 있습니다. 예를 들어, 시스템에 설치된 수많은  프로그램들은

GNU GPL(General Public License), 혹은 GPL하에 라이센스되어 있습니다.

GPL은 프로그램 한 카피를 배포할 때 마다 프로그램의 소스코드를 포함하

도록 하고 있습니다. 그러므로, 우리는 데비안 시스템에 있는 프로그램모

두에 소스코드를 포함하였습니다. 데비안에서는 프로그램들에   사용되는

저작권과 소프트웨어 라이센스에 약간 다른 형태가 있습니다. 당신의  시

스템에 데비안이 설치되면 /usr/doc/프로그램이름/copyright  디렉토리에

서 모든 프로그램들의 저작권과 라이센스들에 대한 자료를 얻을 수  있습

니다.

가장 중요한 법적 사항은 이 소프트웨어는 어떠한 보증도 없다는  것입니

다. 공개 소프트웨어를 만드는 사람들은 당신이 고소해도 보상해 줄 능력

이 없습니다.

시스템 요구사항

CPU

당신은 386, 486, 펜티엄, 펜티엄 프로 프로세서 혹은 이 Cyrix, AMD, TI

IBM 등의 회사에서 만든 이 프로세서들의 클론(clone)프로세서가  있어야

합니다. 당신이 가진 프로세서가 "sx", "sl", "slc" 등의 글자를 가진 것

들("386sx"안에서처럼 숫자 뒤에 붙는 것들)이라면 됩니다. 시스템은 286

이하의 시스템에서는 동작하지 않습니다.

입출력 버스(I/O Bus)

당신의 컴퓨터는 ISA, EISA, PCI, 혹은 VL 버스 방식을 사용해야만 합니

다. VL 버스는 VESA 로컬 버스 혹은 VLB로 알려져 있는 것들입니다. PCI

나 VLB 방식의 컴퓨터들은 일반적으로 ISA나 EISA 슬롯 같은 것들을  갖

고 있습니다. 리눅스는 IBM PS/2에서 사용되는 마이크로 채널(Micro-Cha

-nnel)버스에 대해 어느 정도 지원하지만, 이것은 데비안 응급 디스크(D

-ebian rescue disk)에는 포함되어 있지 않습니다.

램과 하드디스크

적어도 4MB이상의 램과 40MB이상의 하드디스크가 필요합니다. 체스 게임

에서 회로 기판 디자인 소프트웨어(printed-circuit design software)까

지 모두(!) 설치하려면 하드디스크는 300MB이상 필요합니다. MFM,  RLL,

IDE 혹은 ATA라 보통 불리는 AT 방식의 하드디스크 인터페이스를 에뮬레

이션해주는 디스크 인터페이스가 지원됩니다. 많은 회사에서   생산되는

SCSI 디스크 컨트롤러도 지원됩니다. [1] 리눅스 하드웨어 호환  하우투

(Linux Hardware Compatibility HOWTO)문서에 자세한 사항이 있습니다.

플로피 디스크

리눅스를 인스톨할 시스템에는 1.2MB나 1.44MB 플로피 디스크가  있어야

합니다. 1.2MB와 1.44MB 디스크 드라이브가 둘다 있다고 할 때,  1.44MB

드라이브를 "a:" 드라이브로 설정할 수 있으면 그렇게 하십시오.

디스플레이

콘솔 터미널(console terminal)을 위해 VGA호환 디스플레이  인터페이스

를 사용해야 합니다. 요즘 나오는 거의 모든 디스플레이 카드들이 VGA와

호환됩니다. CGA, MDA 혹은 HGA(허큘리스 그래픽 어뎁터)도 텍스트를 위

해서는 문제 없습니다. 그렇지만, X 윈도우 시스템과 함께   작동하지는

않습니다. 그리고, 그것들에 대해 테스트해 보지 못했습니다. 콘솔에 대

한 시리얼 터미널의 사용은 아직 지원되지 않습니다.

다른 하드웨어

리눅스는 너무나도 다양한 마우스, 프린터, 스캐너, 모뎀, 네트웍  카드

등을 지원합니다. 그렇지만, 시스템을 설치하는 동안에는 이런 장치들은

필요치 않습니다.

시작하기 전에

백업하십시오!

시작하기 전에, 지금 시스템에 있는 모든 파일들을 백업하십시오.  인스

톨 작업 도중 하드디스크의 모든 데이터가 손실될 수 있습니다.

당신에게 필요한 정보들

이 문서 이외에도, 당신은 [2]cfdisk  메뉴얼 페이지(cfdisk manual pag

-e), [3]Dselect 사용설명서(Dselect Tutorial),  [4] 리눅스  하드웨어

호환 하우투(Linux Hardware Compatibility HOWTO), 그리고 [5] US-키보

드를 사용하지 않는 유저들을 위한 X11 릴리즈 노트(X11 Release note f

-or non-US-keyboard users)가 필요합니다.

컴퓨터가 네트웍에 연결되어 있다면, 이 정보에 대해 네트웍 시스템  관

리자에게 문의하십시오.

* 당신의 호스트(host) 이름(당신 자신이 결정할 수도 있습니다.).

* 당신의 도메인 이름(domain name).

* 당신 컴퓨터의 IP 어드레스(IP address).

* 당신의 네트웍에서 사용할 수 있는 넷마스크(netmask).

* 당신 네트웍의 IP 어드레스(IP address).

* 당신의 네트웍 상의 브로드캐스트 어드레스(broadcast address).

* 당신의 네트웍이 게이트웨이를 갖고 있다면, 당신이 라우팅해주어

야할 시스템의 디폴트 게이트웨이의 IP 어드레스 (The IP address

of the default gateway).

* 네트웍 상에서 DNS (Domain Name Service) 서버로 사용해야  하는

시스템의 IP 어드레스(IP address).

* 당신이 이더넷(Ethernet)을 사용하여 네트웍에 연결하는지에 대한

여부, 그리고 당신의 이더넷(Ethernet)인터페이스가 PCMCIA  카드

인지에 대한 여부

시스템 설정하기

디스크

당신이 봐야 할 하드웨어의 자세한 사항이 있습니다. 우선, 리눅스를 어

느 디스크에 위치시키고 싶은지 결정하십시오. 이미 다른 디스크들은 백

업을 마쳤겠지요?

바이오스(BIOS) 셋업 메뉴

당신의 마더보드(motherboard)는 아마도 바이오스 셋업 메뉴를   제공할

것입니다. 몇몇 시스템은 시스템이 부팅(booting)되는 동안 DEL키를  누

르면 이 메뉴가 시작됩니다. 혹은 어떤 시스템은 SETUP 디스크를 필요로

하거나, 바이오스 셋업 메뉴가 나오도록 하는 다른 방법을 갖고  있습니

다. 당신이 이 메뉴를 시작할 수 있으면, 앞으로 언급되는 부분들을  바

이오스 셋업 메뉴에서 조정해 주십시오.

부팅될 장치 선택(Boot device selection)

많은 바이오스 셋업 메뉴에서 시스템을 부팅할 때 사용되는 장치를 선택

하는 부분이 있습니다. 부트할 운영체제(operating sysstem)를 찾는  순

서를 a: (첫번째 플로피 디스크를  의미합니다.)를 우선 찾고 나서,  c:

(첫번째 하드디스크를 의미합니다.)를 찾도록 해주십시오. 리눅스를  설

치하는 동안 플로피로 리눅스를 부팅할 것이기 때문에, 바이오스가 플로

피로 부팅하게 하는 것은 매우 중요한 일입니다.

Extended 대 Expanded 메모리

시스템이 extended 와 expanded 메모리를 모두 지원할 때에는, 가능하면

expanded 메모리는 적게 설정하고, extended 메모리는 많이 설정해 주시

기 바랍니다. 리눅스는 extended 메모리를 요구하며, expanded 메모리는

사용하지 못합니다.

바이러스 방지(Virus Protection)

바이오스가 제공하는 바이러스 경고 (virus-warning)를 모두 끄십시오.

만약 바이러스 방지(virus-protection)보드나 다른 특별한   하드웨어를

사용한다면, 그 기능을 끄거나(disabled) 리눅스가 실행되는   동안에는

물리적으로(하드웨어적으로) 제거해 주십시오. 이것은 리눅스와  호환되

지않으며, 리눅스는 바이러스로부터 당신을 보호하는데에 더 나은  방법

을 제공합니다.

셰도우 램(Shadow Ram)

마더보드가 아마도 셰도우 램을 지원할 것입니다. "Video BIOS Shadow",

"C800-CBFF Shadow" 등이 그것입니다. 모든 셰도우 램(shadow RAM)을 끄

십시오.(Disabled) 셰도우 램은 마더보드 상이나 몇몇 컨트롤러  상에서

롬(ROM) 억세스를 빠르게 하는 역할을 합니다. 리눅스는 롬 안에 16비트

프로그램들 대신에 더 빠른 32비트 소프트웨를 제공하기 때문에  부트될

때마다 이 롬을 사용하는 것을 피합니다. 셰도우 램을 끄는 것은 프로그

램이 이 램들을 평범한 메모리로 쓰도록 할 수 있게 합니다. 셰도우  램

을 사용하도록 해놓으면 리눅스가 하드웨어 장치를 억세스하는 것을  방

해할 수도 있습니다.

고급 전원 관리 기능(Advanced Power Management)

마더보드가 고급 전원 관리 기능(Advanced Power Management (APM))  을

지원한다면, APM이 전원 관리를 하도록 설정해 주십시오. doze,standby,

suspend, nap, 그리고 sleep modes를 끄시고, hard-disk power-down tim

-er도 끄십시오. 리눅스는 이 모드들의 제어를 할 수 있고,  바이오스보

다 전원 관리 기능이 뛰어납니다. 하지만, 설치 플로피의 커널   버젼이

고급 전원 관리 기능(APM)을 사용하지 않으면 APM을 사용하십시오. 왜냐

하면 리눅스 APM 드라이버가 설정되었을 때 랩톱 시스템이 작동하지  않

는 경우가 발견되었기 때문입니다. 리눅스를 설치하면, 당신은 커널  소

스 패키지를 설치할 수 있고, APM과 다른 내역들을 사용하도록   설정한

사용자 설정 형태의 커널을 컴파일하여 만들 수 있습니다.

터보 스위치(Turbo Switch)

많은 시스템들이 CPU의 속도를 제어하는 터보 스위치를 갖고 있습니다.

high-speed로 셋팅하십시오. 바이오스가 터보 스위치를  소프트웨어으로□

끌 수 있는 기능을 지원한다면, 그렇게 하고, high-speed로 시스템을 고

정해 놓으십시오. 우리는 특정 시스템에서 리눅스가 하드웨어 장치를 찾

아내는 동안(auto-probing) 터보 스위치의 소프트웨어 제어 부분을 우연

히 건드릴 수 있다는 내용을 보고 받았습니다.

CPU의 오버 클럭킹(Over-Clocking)

많은 사람들이 90MHz CPU를 100MHz로 동작시키는 등의 시도를  해왔습니

다. 보통 작동하긴 하지만, 온도나 다른 조건에 CPU가 민감해지고, 시스

템이 실제로 위험할 수 있습니다. 이 문서를 쓴 원 필자는 1년 동안  그

의 시스템을 오버 클러킹했는데, 그리고 나서는 시스템의 gcc(GNU C Com

-piler)가 시스템 커널을 컴파일 하는 동안 예기지 못했던 일이  나타나

기 시작 했습니다. CPU의 스피드를 원래대로 되돌려 놓으니 문제가 해결

되었습니다.

불량램

gcc 컴파일러는 종종 불량램(혹은 예측불허로 데이터를 변화시키는 다른

하드웨어 문제)때문에 죽어버리곤 하는데, 이는 gcc가 반복적으로  왔다

갔다하면서 얽혀진 소스와 오브젝트 파일 사이에서 큰 데이터 구조를 만

들어내기 때문입니다. 이러한 데이터 구조 내부에서 발생한 에러는 잘못

된 명령을 수행하거나 존재하지도 않는 어드레스의  억세스를  유발합니

다. 이러한 것들로 인해 gcc가 죽어버리게 됩니다.

최상의 성능을 발휘하는 마더보드는 패리티 램(parity RAM)을 지원하고,

실제로 램 안에 단일 비트 에러를 갖고 있는지를 체크하여 그 이상 유무

를 당신에게 알려줍니다. 하지만 불행하게도, 이 에러를 수정할  방법은

없기 때문에 일반적으로 불량램에 대해 당신에게 알리고는 즉시  시스템

을 다운시킵니다. 사실 따지고 보면 데이터에 조용히 에러를 갖고  있는

것보다는 메모리 불량을 당신에게 경고하는 게 오히려 낫습니다. 그러므

로, 최적의 시스템은 패리티와 실제 패리티 SIMM을 지원하는 마더보드입

니다.

가짜 패리티 램 혹은 ("가상의") 패리티 램

컴퓨터 가게에서 패리티 램을 사면, 아마도 실제 패리티 램 대신에 가상

패리티 램을 얻을 겁니다. 가상 패리티 램(SIMM)은 보통 (항상 그런  것

은 아닙니다.) 비패리티 램 보다 하나 이상의 칩이 더 있기 때문에 구별

할 수 있고, 그 특별한 칩은 다른 것들보다 크기가 작습니다. 가상 패리

티 램은 비 패리티 램처럼 정확히 작동합니다. 그런데, 이 램은 실제 패

리티 램이 마더보드 상에서 단일 비트 에러가 있을 때 당신에게 경고 하

는 것처럼 똑같이 경고하지는 않습니다. 비 패리티램보다 가상 패리티램

에 돈을 들이지는 마십시오. 8비트 모두에 대해 한 개의 특수 비트를 실

제로 사기 때문에 실제 패리티 램에 조금 더 돈을 들이는 게 낫습니다.

실제 패리티 램을 가졌고, 마더보드가 지원한다면, 메모리 패리티  에러

에 대해 인터럽트를 걸게 하는 옵션을 바이오스 설정에서 반드시 켜두십

시오.

사이릭스(Cyrix) CPU와 플로피 디스크 에러

사이릭스 CPU를 가진 사람들은 시스템의 캐시를 꺼놓지 않으면 인스톨도

중 플로피 디스크 에러를 내기 때문에 캐시를 꺼놓아야했습니다. 당신이

사이릭스 CPU를 가졌고, 그렇게 해서 설치를 마쳤다면, 설치 후  캐시를

다시 켜놓으십시오. 특별한 이유라기 보다는 그래도 이상이 없으며,  캐

시를 꺼놓으면 시스템이 느리기 때문입니다.

사이릭스 CPU의 문제점이라고 반드시 생각하지는 않습니다. 리눅스는 그

래도 잘 돌아갑니다. 기술적으로 이 부분에 대해 우리들은 관심이  있기

때문에, 문제에 대해 계속적으로 살펴볼 것입니다. 현재로서는 16비트코

드에서 32비트코드로 이식 후 그러한 문제가 문제가 발생하는 것으로 추

측하고 있습니다.

다중 프로세서(Multiple Processors)

똑같은 마더보드에 펜티엄 프로 프로세서 두개를 갖고 있는  시스템에서

데비안이 문제없이(또한 매우 빠르게) 동작한다는 자료를 갖고   있습니

다. 다중 프로세서를 활용하기 위해서, 당신은 커널 소스 패키지를 설치

하고, 대칭형 다중 프로세싱(symmetric multiprocessing)지원 옵션을 선

택한 후 재컴파일하십시오. 커널 버젼 2.0.27의 이번 버젼에서 다중  프

로세싱 지원을 하기 위해서는 커널 소스를 풀어놓은 곳에서(보통 /usr/s

-rc/linux)의 Makefile의 "SMP = 1"이라는 부분의 주석 처리를 해제  하

십시오.(un-comment) 당신이 다중 프로세서 시스템에서 소프트웨어를 컴

파일한다면, "make"상의 문서에서 "-j" 옵션을 찾아서 참고 하십시오.

살펴봐야 할 바이오스 설정

바이오스가 "15-16 MB Memory Hole" 같은 메뉴를 지원한다면,  꺼놓으십

시오.(disable) 리눅스는 램이 많으면 거기서 메모리를 찾으려 합니다.

현재 우리들에게는 "LFB" 혹은 "Linear Frame Buffer"라는 옵션이  있는

Intel Endeavor 마더보드에 대한 자료가 있습니다. 이것은 "Disable" 과

"1 Megabyte"라는 두 가지 설정을 지원합니다. "1 Megabyte"라고 이  때

에는 설정하십시오. disable로 설정, 즉 꺼놓으면 플로피 디스크 드라이

브(FDD)가 설피 플로피를 제대로 읽지 못하고, 시스템이 갑자기 죽어 버

립니다. 이런 특별한 장치를 갖고 제대로 작동해나간다고 볼 수는  없습

니다. - 위에서 처럼 설정을 하면 작동하고, 없이는 작동하지 않습니다.

살펴봐야 할 하드웨어 설정

어떤 카드들이 "mapped memory"를 제공하면, 메모리는 0xA0000에서 0xFF

-FFF사이(640K에서 1M 사이), 혹은 시스템 안의 총 램의 양보다  적어도

1메가바이트 더 큰 메모리 주소 어디에선가 매핑되어야 합니다.

마이크로소프트 윈도우에 맞춰진 하드웨어

현재의 이상스런 추세는 윈도우즈 전용 모뎀과 프린터가 우후죽순  처럼

증식하고 있다는 것입니다. 어떤 면에서 이는 마이크로 소프트 윈도우즈

라는 운영체제에 맞게 특별히 맞춰진 것이고, "WinModem" 혹은 " 윈도우

기반의 컴퓨터를 위해 특별히 만들어진 제품"이라는 표제를 갖고 있습니

다. 일반적으로, 이 제품들은 당신 컴퓨터에 있는 CPU상에서   돌아가는

윈도우용 드라이버 위에서 작동하는 것으로, CPU와는 무관하게 돌아갑니

다. 이러한 정책(역자주:원문에서는 strategy, 즉 음모, 책략이라고  표

현하였다.)은 하드웨어 가격을 내렸지만, 절약된 만큼의 가격이  사용자

에게 환원되는 것은 아닙니다. 드라이버 기능도 포함한 하드웨어와 드라

이버의 기능이 포함안된 윈도우 전용 하드웨어를 비교할 때 오히려 윈도

우 전용 하드웨어의 가격이 비싸기까지 합니다. (역자주:이에 대한 이해

는 다음과 같이 생각하면 된다. MS사는 PnP기능이 있는 하드웨어를 탄생

시키는 배경을 낳았지만, 그런 하드웨어는 드라이버의 기능을  윈도우에

넣고 있으므로 사실상 드라이버의 기능은 하드웨어에 없는 것이다. 따라

서 그러한 드라이버의 기능이 빠진 만큼 가격도 그만큼 내려야  하는데,

오히려 더 비싸기까지 하다는 이야기이다.)

당신은 두 가지 이유때문에 윈도우 전용 하드웨어의 사용을 금해야 합니

다. 첫째, 하드웨어 생산자는 일반적으로 리눅스용 드라이버를 만들어내

지 않습니다. 일반적으로, 하드웨어와 소프트웨어의 연결 드라이버는 저

작권이 있고, 문서는 하드웨어의 내부적 사항에 대한 비공개 동의가  없

이 허락되지 않습니다. (문서가 모두 나와 있다면) 이는 공개  소프트웨

어의 저자가 소스코드를 모두 공개하기 때문에 공개 소프트웨어의  사용

을 못하게 방해할 수도 있습니다. (역자주:다시 말하면, 리눅스용  드라

이버는 나와 있지 않기 때문에 리눅스용 드라이버는 하드웨어를  분석한

후 만들어지거나 하드웨어 업체의 문서들을 참조 후 만들어지기  때문에

하드웨어 업체가 그 하드웨어에 대한 내부 사항의 공개 동의가   없다면

드라이버를 만들어도 소스는 내부 사항이 그대로 드러나게 되므로  배포

될 수 없다는 점을 이야기하고 있는 것이다.) 두번째, 이같은 장치가 드

라이버의 기능이 있는 프로세서를 제거했을 때, 운영체제는 이 드라이버

의 기능이 있는 프로세서의 역할을 종종 실시간 우선 순위(real-time pr

-iority)에 따라 수행해야 하므로, CPU는 이 장치를 돌리는 동안 당신이

작동시킨 프로그램을 수행시킬 여력이 없습니다. 전형적인 윈도우  사용

자는 리눅스 유저처럼 완벽한 다중처리(multi-process)를 할 수 없기 때

문에, 하드웨어 제조업자들은 윈도우 사용자가 그들이 만든  하드웨어가

CPU사용률의 주범이라는 것을 알지 못하길 바랍니다. 그렇기 때문에, 주

변장치제조업자들이 그들의 하드웨어의 처리 능력을 아낄 때마다 윈도우

나 NT같은 어떠한 다중 처리(multi-processing)운영 체제라도 CPU에  부

하를 많이 받기 때문에 그 수행 능력이 저하되어 버립니다.

당신은 우리가 하드웨어제조업자들의 하드웨어를 지원하기 위해  필요한

문서나 다른 자원들을 하드웨어 제조업자들이 공개하도록 업자들을 독려

하는 것으로 우리를 도와줄 수 있지만, 제일 좋은 방안은 [6]리눅스  하

드웨어 호환 하우투(Linux Hardware Compatibility HOWTO)문서에 지원되

는 하드웨어라고 명시될 때까지 이런 종류의 하드웨어의 사용을 단지 피

하는 게 좋습니다.

다른 폐쇄적인 하드웨어

몇몇 하드웨어 제조업자들은 그들이 만든 하드웨어의 드라이버를 만드는

방법을 가르쳐주지 않거나, 우리가 리눅스 소스 코드를 배포하는   것을

방해하게 하는 '비공개 동의'조항에 따라 문서를 참조하는 것을  허락하

지 않기도 합니다. 한 예는 IBM 랩톱 DSP 사운드 시스템(IBM laplop DSP

sound system)에 대한 것인데 이는 IBM사의 ThinkPad 시스템에 최근  사

용되는 것입니다. - 이 시스템의 몇몇은 모뎀에 사운드 시스템을 결합한

것입니다. 우리는 이 장치에 대한 문서를 참조할 권리를 얻지 못했기 때

문에, 리눅스에서는 이 장치가 그런 이유로 작동하지 않습니다.  당신은

그런 하드웨어 제조업자들에게 문서를 배포할 것을 요청함으로써 우리를

도와줄 수 있습니다. 충분한 사람들이 요청해준다면, 그들은   리눅스가

무시하지 못할 중요한 시장임을 알게 될 것입니다. [7]리눅스  하드웨어

호환 하우투 문서(Linux Hardware Compatibility HOWTO)에는 어떤  장치

가 리눅스에서 현재 지원되는지 그에 대한 정보가 명시되어 있습니다.

플로피 디스크에 플로피 디스크 이미지 써넣기

리눅스를 설치할 시스템 상에서 a: 드라이브가 1.44MB 플로피  디스크를

사용하면, 다음의 파일들이 필요합니다.: [8]rsc1440.bin, [9]drv1440.b

-in, [10]base14-1.bin, [11]base14-2.bin, [12]base14-3.bin, [13]base

14-4.bin 만약 램이 5MB 이하이면, rsc1440.bin대신에 [14]rsc1440r.bin

이 필요합니다. 그리고, 이 파일들과 [15]root.bin이 필요합니다.

혹시 a: 드라이브가 1.2MB 플로피 디스크 드라이브라면, [16]rsc1200r.b

in, [17]root.bin, [18]drv1200.bin, [19]base12-1.bin, [20]base12-2.b

in, [21]base12-3.bin, [22]base12-4.bin이 필요합니다. 이 문서를 읽을

때 네트웍에 연결된 컴퓨터에서 웹 브라우저를 사용한다면, 아마도   웹

브라우저 상에서 파일들의 이름을 클릭해서 파일을 얻을 수 있을 것입니

다. 또는, ftp://ftp.debian.org/debian/rex/disks-i386/current/ 나 데

비안 FTP 미러 사이트(Debian FTP mirror sites)들에서 이와 유사한  디

렉토리를 찾을 수 있으며, 여기에서 파일들을 구할 수 있습니다. 이  파

일들은 압축 등으로 가공하지 않은(raw)형태로 된 플로피 디스크 이미지

파일입니다. 이 디스크 이미지를 플로피 디스크에 써넣기 위해서는 특별

한 프로그램들이 사용됩니다.

7개의 포맷된 디스크를 준비하십시오. 이 디스크들에 다음의 이름을  각

각 써넣으시기 바랍니다. "응급복구디스크(Rescue)", "장치 구동 드라이

버(Device Drivers)", "부트 이미지(Custom Boot)", "기본 시스템  파일

#1(Base 1)", "기본 시스템 파일 #2(Base 2)", "기본 시스템 파일 #3(Ba

se 3)", "기본 시스템 파일 #4(Base 4)"

대응되는 파일과 디스크 이름들 :

rsc1440.bin 혹은 rsc1440r.bin 혹은 rsc1200r.bin:

"응급복구디스크(Rescue Floppy)"

drv1440.bin 혹은 drv1200.bin:

"장치 구동 드라이버(Device Drivers Floppy)"

base14-1.bin 혹은 base12-1.bin: "기본 시스템 파일 #1(Base 1)"

base14-x.bin등은 번호에 맞게 붙여 주시면 됩니다. (x는 숫자)

1.2MB 플로피 드라이브가 첫 번째 드라이브이거나, 램이 5MB이하라면 추

가로 "루트 디스크(Root Floppy) "가 하나 더 필요합니다. (root.bin)

이 디스크를 "루트 디스크(Root)"라고 이름 붙여서 만드십시오. 이런 경

우, rsc1440r.bin이나 rsc1200r.bin을 "응급복구디스크(Rescue Floppy)"

로 사용하여야 합니다.

부트 이미지(Custom Boot) 플로피 디스크에는 아무 것도 기록하지  마십

시오. 이 디스크는 데비안이 인스톨 되는 동안 사용합니다.

DOS, Windows 혹은 OS-2 시스템에서 디스크 이미지 써넣기

플로피 디스크 이미지들이 있는 디렉토리에 [23]rawrite2.exe  프로그램

이 있습니다. 자세한 사항은 같은 디렉토리 내의 [24]rawrite2.txt 파일

을 참조하십시오.

플로피 디스크에 이미지를 써넣으려면 다음 명령을 사용합니다.

rawrite2 [파일명] [드라이브명]

[파일명] 은 플로피 디스크 이미지 파일들의 이름 중 하나이고,  드라이

브는 a: 나 b: 입니다.

리눅스나 유닉스 시스템에서 써넣기

몇 웍스테이션들은 드라이브에 플로피 디스크를 넣으면 자동으로 마운트

(mount)를 시도합니다. 웍스테이션에서 플로피 이미지를 써넣기 전에 이

기능을 미리 꺼놓으십시오. 하지만, 당신이 가진 특별한   웍스테이션에

서 그 기능을 끄는 명령을 우리는 알지 못합니다. 그에 대한 자세한  사

항은 당신의 시스템 관리자에게 문의하시기 바랍니다.

플로피 디스크 이미지 파일을 플로피 디스크에 써넣기 위해서 다음과 같

은 명령을 사용합니다.

dd if=[파일명] of=/dev/fd0 bs=512 conv=sync ; sync

파일명은 플로피 디스크 이미지 파일들 중의 하나입니다. /dev/fd0는 일

반적인 플로피 디스크 장치의 이름으로 사용되는 것입니다. 당신의 웍스

테이션에서는 다를 수 있습니다. 유닉스가 플로피 디스크에 쓰기를 마치

기 전에 프롬프트가 뜰 수 있습니다. 반드시 플로피 디스크에 있는 디스

크 드라이브 사용중 램프가 꺼졌는지 확인하고, 드라이브에서  플로피를

빼내기 전에 드라이브가 완전히 멈추었는지 확인하십시오. 몇몇  시스템

에서는 플로피 디스크를 빼기 위해 명령어를 입력해야 하는 경우도 있습

니다.

시스템에 설치하기

플로피 디스크의 신뢰성(Reliability)

데비안을 처음 인스톨하는 동안, 사람들이 가장 많이 묻고, 가장   쉽게

부딪히는 문제는 플로피 디스크의 신뢰성에 관한 문제입니다.

응급 복구 디스크(Rescue Floppy)는 설치하는 사람들을 가장   괴롭히는

문제들을 가진 것인데, 이는 리눅스가 부트되기 전에 바이오스로부터 플

로피를 읽기 때문입니다. 바이오스는 리눅스 플로피 디스크 드라이버 만

큼 신뢰성 있게 디스크를 읽지 못하는 것 같습니다. 그리고, 잘못된  데

이터를 읽어도 에러 메시지를 출력하지 않고 멈춰버리기도 합니다. 이뿐

아니라, 드라이버 플로피와 기본 시스템 파일 플로피에서도 문제가 일어

나기도 합니다. 보통 이 때의 에러 메시지는 'disk I/O errors'가  잔뜩

납니다.

만약 어떤 특정한 플로피에서 인스톨이 멈췄다면, 가장 먼저 할 일은 플

로피 디스크 이미지를 다시 다운로드 받고, 다른 플로피에 써넣는  것입

니다. 이미 포맷된 디스크이고, 에러가 없이 써진다고 해서 쓰던 플로피

디스크를 재포멧하는 것만으로는 충분치 않습니다. 이럴 경우, 다른  시

스템에서 디스크 이미지를 써넣는 것이 나을 때도 있습니다.

어떤 사용자는 한 플로피가 제대로 작동할 때 까지 3장의 부트 플로피를

써댔고, 그리고 나서야 세번째에 모두 끝마칠 수 있었다 합니다.

응급 복구 디스크(Rescue Floppy)

응급 복구 디스크(Rescue Floppy)를 a: 플로피 드라이브에 넣으십시오.

그리고나서, reset키를 누르거나, Control-Alt-Del키를 눌러   시스템을

재시작하십시오. 플로피가 액세스되어야 하고, 그리고 나서  응급  복구

디스크에 대한 소개가 나온 후, "boot:"라는 프롬프트가 뜨는 것을   볼

수 있을 것입니다. 이 디스크는 하드디스크가 부트되지 않는 문제가  있

으면, 복구하고, 당신의 시스템을 부팅시킬 때 사용하기 때문에 응급 복

구 디스크(Rescue floppy)라고 부릅니다. 그러므로, 데비안 인스톨 후에

이 디스크를 잘 보관하여야 합니다.

"boot:" 프롬프트가 떴을 때, 두 가지 일을 할 수 있습니다. F1에서 F10

키까지의 기능키를 누르면 유용한 정보를 보거나, 시스템을 부팅시킬 수

_release_note.txt. ftp:cfdisk.txt  28. ftp:dselect.beginner.6.html  29. ftp:X1.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 62번

제  목:[강좌] Xpaint를 써보자

올린이:stoneonl(김석기  )    97/07/17 11:05    읽음:3114 관련자료 없음

-----------------------------------------------------------------------------

이것도 리눅스 배움터 ,강좌/연재란에 있습니다.

포토샵보다 미흡하고 강좌도 깊지 않지만

기본을 다지는데는 좋을 것 같습니다.

그리고 전 한 일 주일간 부재라서 메일

받기가 힘들것 같네요

[411] 제목 : [강좌] Xpaint 메뉴얼..

올린이 : pollute (심길보  )    97/02/25 16:23    읽음 : 354  관련자료 없음

-----------------------------------------------------------------------------

-

---             Xpaint 메뉴얼             ---

제작자 : 이국현 (Lonely Wolf)  "아오우우~"

/* 끄으흑.. 메뉴얼을 만들던 도중 시스템을 날렸슴다..

흑흑.처음 만드는 메뉴얼인데...윽..

다시 쓰려고 하니 눈물이 앞을 가리네요...흑..

Xpaint하기전에 간단히. 읽어보시고..하면 도움이 될겁니다.

이번에는 꼭 완성해야지...   -2월의 어느 추운밤 -    */

/* 메뉴얼은 제 경험을 바탕으로 씌여 있어서 많이 틀릴수도 있습니다.

그점 양해 바랍니다... */

1. 소개

제가 사용한..Xpanit 2.1.1 은 Xwindows에서 사용되는 간단한(?) 그림 편

집기 입니다. DOS나 MS windows 등의 그림 편집기와 비교한다면 미흡한 면

도 있겠지만 그런데로 쓸만한 프로그램입니다.

지원하는 FORMAT은 TIFF,PPM,GIF,XBM,XPM,XWD 등을 지원하고, 시스템만 좋

다면야 한꺼번에 여러개의 그림도 그릴수 있습니다.

Xpaint를 사용해 보시면, 지금까지 다른 프로그램과 사용법이 많이 다르고

특이한 점을 발견하실수 있을겁니다.

참 만든 회사? 사람? 은 David Koblas 임다..^^;

2. 메뉴설명

짜안~!!! 하고 Xpaint를 실행시키면(실제는 소리안남),File Line Font Hel

p 메뉴가 보이고 밑에 정사각형에 그림이...21개가 있죠?

한번쯤 그림 편집기를 다뤄본 분이라면 설명 없이도 다 사용하실수 있겠지

만.그럼 메뉴얼을 뭐터러 만들겠습니까...후...그래도 사용의 편의를 위해

다 설명해 드리겠습니다.

File  을 선택하면 5가지 메뉴가 나옵니다.

New Canvas : 새로운 도화지.그러니까 그림그릴수 있는 화면을 부릅니다

선택하시면 대형(?) 윈도우가 뜹니다.거기다가 그림을 그

리는 겁니다. (지정한한경우 640*480의 도화지 뜸)

New with Size : 도화지 크기등을 결정합니다.

Open : 그림화일을 불러 옵니다.Format을 설정해야 하는데 Best Guess를

선택하면 자동으로 골라 줍니다. 지원안하는 FORMAT일 경우 에러

메세지가 나오면서 그림은 당연히 안뜹니다..

Load Clipboard : Open과 같은 화면이지만, 그림을 선택하면 그림은 로

드 되지 않고 그림이 가진 정보 (파렛,해상도등) 만을

불러옵니다.

Quit : Xpaint를 끝냅니다.모든 윈도우가 닫힙니다.

## 화일등을 불러오거나 Help메뉴를 사용할때.목록을 아래로 내릴때는 ##

## 마우스왼쪽 버튼을 누르시고, 목록을 위로 올릴때는 오른쪽 버튼을 ##

## 누르세요..필자의 경우 목록이 안올라가서 버그라 판단하고. 다시  ##

## 실행 시키거나 Help같은경우 Previous를 무쟈게 눌렀던 경험이 ^^; ##

Line   을 선택하면  1 2 4 6 8 Select 가 나오죠?

그런 그림 그릴때 붓의 굵기를 말하는 겁니다.

연필이나..도형등의 굵기에 사용됩니다.

Font   Xpaint 윈도우 그림중에서  A 라고 그려진(?) 그림이 있죠?

그것을 선택하면 그림에 영문글씨를 쓸수 있습니다.

Font는 그 글자의 Font를 결정하는것인데..

Browser을 사용하면 외부 Font도 선택해 사용할수 있는데 한글은

제가 엄청난 시도를 해보았지만 아예 안나오거나, 기역,니은,작은

기역,미음,큰미음 등..낱개로 이상하게 나오더라구요.

암튼..아직 풀리지 않는 수수께끼 입니다.

Help   About,He쉼甄求?

이해하기 쉽게요.흐흐...

-Painting Tools-

그림이 21개 있다고 전에 말씀드렸죠?

대충 그림이 뭘 뜻하는건지 아실겁니다.

그래도 설명은 해야겠죠?^^;

## 모든 그림들은 마우스오른쪽 키를 누르면 크기조절등이나 ##

## 사용자가 정할수 있는 메뉴가나옵니다..                 ##

페인트칠하는그림(Brush)

: 페인트 칠하는겁니다.후후. 마우스 왼쪽키를 더블클릭 하거나,오른쪽

키를 눌러 메뉴에서 고르면 그 붓의 모양,크기를 정할수 있습니다.

이것은 Line의 굵기에 영향을 받지 않습니다.

ERASE

: 지우개 기능 입니다. Brush와 같은 모양,크기를 사용하고,원래 바탕으

로 만들거나, 사용자가 정한 바탕으로 만들수 있습니다.음?말이 이상한

가? 지우는게 어짜피 처음 바탕색으로 돌아가는거라고 이해하세요.^^;

점선네모(Select Box) , 가위그림(Select Area)

: 둘다 기능이 같습니다. 점선 네모는 사각형만큼의 부분을 떼어네어 이

동 , 삭제 하는 것이고.. 가위그림은 떼어낼 부분을 대충 그려주면. 그

부분을 다 포함하는 사각형이 생겨서 이동,삭제 하는것입니다.

마우스 오른쪽 키를 눌러서 모든 칼라를 떼어낼것인지, 바탕만? 등등을

결정 할수 있습니다.

연필로줄긋는거(Pencil) , 연필로 점선긋는거(Dot pencil)

: 말그대로 입니다.설명이 필요없음.후후.. 이것은 Line메뉴에서 선택한

굵기데로 그려집니다..

스프레이뿌리는그림(Spray)

: 말그래도 이고요.이것도 마우스오른쪽버튼클릭해서.. 스프레이의 범위,

얼마나 고르게 뿌릴것인가,얼마나빠르게 분출될것인가.. 3가지를 결정

할수 있습니다.

물감들이붓기(Fill)

: 색칠하는 것입니다.이것도 마우스오른쪼옥버튼 꾹 누르시면 fill과

change가 나와요.. fill은 그냥 그공간을 지정한 색으로 채우는 것이고

change는 그색을 지정한 색으로 바꾸는 것입니다. 직접 사용해 보세요.

A 그림(Text)

: 영문글씨 쓰는거요.^^;

옆으로 그은 사선(Line)

: 직선을 그릴때 사용합니다.

한점에서 뻗어나오는 선(Ray)

: 말그대로 입니다.^^;

곡선(Arc)

: 사용하기 불편한것입니다.^^;(내가 멍청해서 그런건가..)

원을 4등분 한다고 생각하시고..

원을 만드는것입니다.그러나 한번 클릭할때마다 패턴이 변하기 때문에

사용하기가 불편합니다... 직접사용해 보시면..알겁니다.후후

사각형(Box) , 색칠된사각형(Filled Box)

원(Oval) , 색칠된원(Filled Oval)

: ## 마우스 오른쪽 버튼을 클릭하여 center를 선택하면, 정사각형 ##

## 이나 원형이 나옵니다.. 그리고 처음에 도화지에 그릴때 마우 ##

## 스 왼쪽 버튼을 눌러서 이동하면 크기가 변하죠? 이때 처음부 ##

## 분이 정사각형이나 원의 중심 부분을 나타내게 됩니다...     ##

## 하지만! center를 선택하지 않은경우는 원중심,사각형중심이  ##

## 없기때문에... 사용하시기 불편할 것입니다...               ##

음..이름 그래돌 이고..색칠된사각형,원은... 도화지에서..밑부분을 보

보시면 파렛이 두개 있죠? 왼쪽것은 테두리 색.. 오른쪽것은 안쪽부분

의 색깔을 정하는것입니다....

지그재그 선(Connected Line)

: 이것은 지그재그로 이어진 직선을 그립니다.

저는 옜날 초등학교3학년때 (닥터할로) 이기능만 사용하여 둘리,괴물,

등등을 그렸던게 생각남..^^;

오각형(Polygon), 색칠된오각형(Filled Polygon)

: 음..별로 쓸모있는기능은 아닌거 같아요.

Connected Line과 다른점도 없고...색칠된오각형에서 도형이 겹치는 부

분은 색칠이 안된다는것..만 다름...^^;

땅콩모양(Shape), 색칠된땅콩(Filled Shape)

: 이건 대충 틀만 잡아노으면 도형이 만들어집니다.

Xpaint만의 특이한 기능 같아요..해보세요.잼있어요.후후..

## 그밖의 기능들.. ##

*그림그리다가 실수한경우. .오른쪽버튼을 누르신후 Undo(운도?) 를 선택하

시면 그전 상황으로 되돌아 갑니다.

*ZOOM기능 : 도화지의 메뉴중에서 Image를 선택 한후 Fat bits를 선택하면

부분을 확대할수 있습니다.확대 비율도 정할수 있습니다..

확대한부분은 연필로 그릴수 있습니다..

*파렛변경 : 도화지의 밑 파렛트에서 한색을 선택한후 마우스 오른쪽버튼

클릭후 edit를 눌러서.. 딴색으로 바꿀수 있습니다.

!모양은 변경불가능인듯!

/* 드디어 다 썼습니다... 여기까지 읽어 주셔서 감사합니다.. */

/* 이것들만 아셔도 그림그리시는데 불편은 없을것입니다..    */

/* 그럼...Xpaint로 멋진 그림을 그려보세요..!               */

/*                      1997.2.23   시리우스 이국현 씀..   */

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 63번

제  목:[강좌] 도스에서 리눅스로 부팅하기

올린이:stoneonl(김석기  )    97/07/24 21:13    읽음:7426 관련자료 없음

-----------------------------------------------------------------------------

리눅스로 부팅하기 위해서

재부팅을 하고 하는 일이 많이 귀찮을 겁니다.

그러나 loadlin을 사용하면 모든 문제가 해결됩니다.

이 loadlin은 자료실이나 root로 로긴하면

root의 홈 디렉토리에 lodlin16.zip가 있을 겁니다.

그리고 이걸 도스로 카피하십시오

cp lodlin16.zip /dosc

그리고

cd /

로 하면 vmlinuz가 있을 겁니다. 이걸 도스로 카피하십시오

cp vmliuz /dosc

그리고 리눅스 시스템이 어느 부분이 있는지 확인 해야합니다.

대부분 알고 있을 테지만

fdisk

하고 난 후에

p

를 누르면 하드 장치화일을 알려줍니다.

그리고

q

로 하고 빠져 나옵십시오 이 과정을 보여주면 다음과 같습니다.

darkstar:~# fdisk

Using /dev/hda as default device!

Command (m for help): p

Disk /dev/hda: 64 heads, 63 sectors, 1023 cylinders

Units = cylinders of 4032 * 512 bytes

Device Boot   Begin    Start      End   Blocks   Id  System

/dev/hda1   *        1        1      121   243904+   6  DOS 16-bit >=32M

/dev/hda2          122      122      460   683424    5  Extended

/dev/hda3          461      461      806   697536   83  Linux native

/dev/hda4          807      807     1023   437472    7  OS/2 HPFS

/dev/hda5          122      122      460   683392+   6  DOS 16-bit >=32M

Command (m for help): q

darkstar:~#

제 리눅스 장치화일은 /dev/hda3인 것을 알 수 있습니다.

(참고적으로 /dev/hda4는 한글 윈도우 NT 4.0인데 OS/2로 인식하고 있습니다.

그리고 제 시스템의 램이 64메가라서 SWAP을 만들지 않았습니다.)

재부팅해서 도스로 부팅을 합니다.

그리고 도스로 COPY한 lodlin16.zip을 압축을 풉니다.

그럼 C:\LOADLIN라는 디렉토리가 만들어지고 파일들이 풀어져 있을

겁니다.

그리고 아까 카피한 vmlinuz를 C:\LOADLIN으로 카피해야 합니다.

CD LOADLIN

으로 들어가 보면 LINUX.BAT이 있을 겁니다.

LINUX.BAT를 에디트 해야 합니다.

LINUX.BAT는 다음과 같이 되어 있습니다.

--------------------------------------------------

rem  Sample DOS batch file to boot Linux.

rem  First, ensure any unwritten disk buffers are flushed:

smartdrv /C

rem  Start the LOADLIN process:

c:\loadlin\loadlin  c:\loadlin\zimage  root=/dev/hdb2  ro  vga=3

-----------------------------------------------------

c:\loadlin\loadlin  c:\loadlin\zimage  root=/dev/hdb2  ro  vga=3

이걸 다음과 고치기 바랍니다.

c:\loadlin\loadlin c:\loadlin\vmlinuz  root=/dev/hda3 ro

여기에서 vmlinuz는 리눅스의 커널을 사용하는 것이고

root=/dev/hda3는 리눅스의 장치화일입니다.

vga=3는 영어폰트의 크기를 나타내는 겁니다. 넣어줘도 되고

안되도 되나 그냥 안넣은게 좋습니다.

또 이러한 것을 사용하면 LILO를 사용하지 않아도 됩니다.

도스 6.22이하 버전에서 멀티부팅을 이용해서 LINUX항목을

첨가해서 AUTOEXEC.BAT에 마지막에

LINUX.BAT를 넣어주고 도스로 부팅후 LINUX로 부팅할 수

있습니다.

그리고 자세한 정보나 옵션이나 자기나름대로 사용하고 싶으면

C:\LOADLIN\DOC\MANUAL.TXT

에 자세하게 나와 있습니다. 이것을 참고 하면 되겠습니다.

-stoneonl-

-추신

전 슬렉웨어를 씁니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 64번

제  목:[강좌] 프린트 설정과 출력하기 (1)

올린이:pey1    (박은영  )    97/07/26 05:14    읽음:5766 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

이번 강좌는 프린트에 대한 것입니다.

____________________________________________________________________________

제  목 : [활용강좌04] 리눅스로 워드프로세싱,프린팅을 하자

올린이 : seyon   (이윤수  )

----------------------------------------------------------------------------

리눅스에서 프린팅하기

리눅스 쓰시다가 프린팅 때문에  고생하셨던분  많을겁니다. 제가 모를때

는 그냥 파일을  도스 파티션으로 보내서  도스에서 프린트 하곤 했는데.

리눅스상에서 프린터를 쓰니까  편하군요. :) 문서를 편집했으니 이제 프

린트두 해야 컴퓨터를 제대로 쓰는게 되겠죠?

리눅스 상에서 프린팅을 하려면 우선 프린터를 점검 해야 합니다.

터미널 상에서

cat 문서화일 >/dev/lp1 (혹은  lp0)

( 0인지 1인지는  해봐야 압니다. 혹은 부팅할때 화면을  유심히 살펴

보시던가..)

이렇게 해서 문서가 프린트가 되면 우선은 성공한겁니다.

프린터를 쓰려면 커널 컴파일 시에 pararell  printer에서 yes를

선택한다음에 커널  컴파일을 해줘야 합니다.  음.. 다 되었다고 치고  위

명령을 치면 텍스트가 프린트 되는걸로 믿고 계속 나가겠습니다.

/usr/local디렉토리에 보면 apsfilter라는 디렉토리가 있습니다.

이 디렉토리에서 SETUP 프로그램을   실행 시키면 여러 가지 물어봅

니다 postscript프린터인가

deskjet인가 postscript를 지원하지 않는 프린터 인가..

For which printer type do you want to setup apsfilter...

1 - for a Postscript printer

2 - for HP Deskjets

3 -  for another  printer who doesn't  support the  Postscript language

3 -  for another printer who  doesn't support  the  Postscript

languageFor which printer

type do you want to setup apsfilter...

데스크젯인경우는 2번을 택하면  되겠고  postscript카드가 있는 프린터

는 1번 나머지는 3번을 택하면 되겠네요.

Do you need a more verbose description of the printer drivers ? y/n ?

y를 누르면  프린터에대한 정보들이 나옵니다.  자신과 맞는프린터를  잘

찾아보세요

q를 누르고 프린터 드라이버 맞는걸 선택합니다.

[ appledmp bj10e bj200 declj250 eps9high epson epsonc escp2

ibmpro jetp3852 la50 la75 laserjet lbp8 lj250 ljet2p ljet3

ljet4 ljet4l ljetplus ln03 m8510 necp6 nwp533 oki182 paintjet pj

pjxl pjxl300 r4081 sparc t4693d2 t4693d4 t4693d8 tek4696  ]

pjxl pjxl300 r4081 sparc t4693d2 t4693d4 t4693d8 tek4696  ]

저같은경우는 hp lazerjet   6p인데 드라이버가 맞는게  없네요. 저같은경

우는 ljet4로   선택했습니다.  (ljet4l로 선택하면  300dpi밖에 안나오는군

요.)

Is your printer a  (c)olor printer

or a  (m)onoprinter ?

칼라인지 모노인지 선택하세요

What paper form do you use (i.e.: a3, a4, letter,...)

See /usr/local/apsfilter/doc/paper for valid sizes...

Note: enter the paper form in lowercase letters:

Note: enter the paper form in lowercase letters:

용지의 크기를 선택한후에

Do you have a (s)erial or a (p)arallel printer interface ?

parallel프린터라고 설정해준 다음

디바이스를 설정해줍니다. 아까 말한  /dev/lp1 혹은 /dev/lp0을 선택하면

됩니다.

저장을 하면 우선은 OK

/etc/printcap이란 파일에 지금의 내용이 저장이 됩니다.

보통의 파일은   lpr명령으로 출력할수 있습니다.  출력은  보통  spool에

싸였다가 들어온  순서대로 하나씩  출력을 하게 되는데 만약 이상한 문

자가 찍힌다거나 해서 출력을 멈추고 싶을때는 lprm이란 명령을 쓰면 됩

니다. 프린터에 무엇이 출력되고   있는지 혹은 출력 될것인지는 lpq라는

명령을 쓰면되는데 lprm이란 명령을 쓰면 lpq했을 때 나오는 출력물들이

모두 취소가 됩니다.

(참고로 lprm이란 명령을 쓰지   않으면 리눅스가 돌아가는 상태에서 프

린터를 켜놓는다면 이것이 끝날 때  까지 계속 프린터가 작동할 것입니

다. 프린터에 있는 취소 버튼을  눌러봤는데 그걸로는 어림도 없더군요..)

□글에서 프린팅

□글로 들어갑니다. 한글에서  프린트 할  때 적절한  드라이버를 선택

해야 합니다. 6p드라이버가 도스용은 있으나 리눅스용은 없는  관계로 이

걸로  프린트가 안될겁니다.   따라서  다른 걸로  선택하세요. 저는  lj4

pcl5e.pdr로 선택했습니다. 전송포트에서 표준명령(lpr)을   선택하고 프린

터 이름은 raw라고 칩니다. 그러면..  제대로 프린트가 될것입니다.( 저의

경우만 나열해서.. 다른경우는 잘 모르겠네요. 아마도 비슷할겁니다.)

XV에서 프린팅

print버튼을 치면  xv prompt 창이  뜨는데 lpr이라고 기본적으로  써

있을겁니다.  여기서   color  grayscale   b/w  등의   버튼이   있는데

흑백 프린터의 경우(제 경우)  b/w(black/white)만 선택하지 않으면 좋은

이미지를 얻을수 있습니다. color나 grayscale이나 찍는 그림은 똑같아요.

이를 선택하면 그다음 용지 선택을 합니다.

세로로 찍을것인가  (portrait) 가로로  찍을것인가 (landscape)  그다음

크기를 어느정도로  할것인가 용지 크기 등등..을  맞춰주고 ok를 누르면

알아서 찍어줍니다.  600dpi로 찍으니까 선명하게 나오는 군요..

ps 파일

ghostview로 혹은 gv라는 프로그램을 ps화일을   볼수 있습니다. 대표

적인 예가 호랑이  그림(이거 아시는분만 아시는건가?)  아무튼..  s화일

로 찍으시면.. 정말  환상적인  그림을 볼수 있습니다.  또한 tex같은걸로

만든 화일도 ps화일로 변환해서 프린트 하면.. 선명하게 나오겠죠?

호랑이 한번찍어보세요..흐흐..

정말 감탄사의 연속이었습니다.

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

제목 : [강좌] 리눅스 처음 구경하기

#280/649  보낸이:이선중  (HLFTO   )

----------------------------------------------------------------------------

I. 프린터로 출력 재지향

1. Text File 의 인쇄

컴퓨터가 처음 개발되었을때는, 단순한 수치 계산만을 위한 기계였다. 다양한

자료들을 저장하고 처리하게되면서, 본래의 목적 이외의 용도로도 많이 쓰이게

되었다. 현대의 많은 사람들은 수치 계산 이외의 목적을 주 목적으로 하여

컴퓨터를 쓰기도 한다. 이번회에는 컴퓨터 활용의 큰 부분중 하나인 문서의

편집에 대해서 알아보기로 한다.

우선 가장 간단한 문서의 모양이 무엇인지 생각해보자. 그리고 그것은

컴퓨터에서 어떻게 구현될까? 자료는 파일의 형태로 저장된다는것을 이미 알고

있을것이다. 읽을 수 있는 문자들로 구성된 파일, 그 문자들로 원하는 글들만을

소박하게 담고 있는 파일, 그것이 가장 간단한 문서의 모습일것이다.

이러한 Text File 은 간단히 vi 나 emacs 같은 에디터로 만들 수 있다. 또는

리다이렉션(재지향, redirection)을 이용한 cat 명령어로 만들 수 있다.(본지

11월호 참고.) 리다이렉션을 다시 한번 생각해보자. 만일 출력방향이 일반적인

파일이 아니라 다른것이라면 어떻게될까?

/dev 디렉토리 밑에는 특수한 파일들이 모여있다. 이 디렉토리 밑의

파일들은 각각 실제의 장치들을 의미한다. 하나의 장치는 하나의 파일로 대치될

수 있다. 예를들어 hda 는 첫번째 ide 하드 디스크를 뜻한다. hda1 은 첫번째

ide 하드 디스크의 첫번째 파티션을 뜻한다. sda 는 첫번째 SCSI 하드 디스크를

뜻한다. fd0 는 첫번째 플로피 디스크를, fd1 은 두번째 플로피 디스크를,

fd0h1200 은 5.25" 첫번째 플로피 디스크를 뜻한다. (5.25" 디스크는 1.M 의

용량을 가진다. 포멧 명령인 fdformat 에서 특수하게 쓰인다.) cua0 는 COM1

포트를 말한다. 이런식으로 컴퓨터의 모든 주변 장치들은 대응돼는 각각의 장치

파일을 가지고 있다. 각각의 장치들을 직접 조작하는것보다 이런 장치 파일들을

통해서 간접적으로 조작하는것이 더욱 쓰기가 쉬운 방법이다. 도스에서도

유닉스의 이러한 개념을 도입해서 쓰고 있다. 어떤 장치 파일들은 다른 편한

의미를 가지는 이름으로 링크되어있다. cdrom 이나 modem 이나 mouse 같은 편한

이름들로 링크된것들이 있다.

프린터를 가리키는 장치 파일의 이름은 lp1 이다. 이제 가장 간단한 문서를

가장 간단한 방법으로 출력해보려한다. 바로 그것은 cat 을 이용한 방법이다.

알고 있듯이 cat 은 파일을 읽어서 화면에 출력해주는 명령이다. 우리는 이미

cat 과 리다이렉션을 이용해서 화면이 아닌 파일로 출력해본 경험이 있다. 만일

일반적인 파일이 아니라 특별한 파일인 장치파일로 출력한다면? lp1 으로

출력해보자. "cat file1 > /dev/lp1" 이란 명령을 내린다. 미리 file1 이라는

Text File 이 있어야한다. 시험을 위해서 다음과 같은 파일을 만들었다고

가정하자.

This is TEST file for printing.

This file name is file1.

I'm using 'cat' command and redirection.

Like This; cat file1 > /dev/lp1

파일이 프린터로 출력되는가? 원하는 그대로 출력되는가? 프린터의 전원을

넣었는지 미리 확인해본다. 물론 프린트 용지도있어야한다. 만일 슈퍼유저인

root 가 아니면 인쇄되지 않는다. (일반 사용자가 이 방법으로 인쇄를 하려면

lp1 에 쓰기 허가를 해 주어야한다. chmod 명령을 참고할것.)

This is TEST file for printing.

This file name is file1.

I'm using 'cat

(~빈줄)

이런식으로 출력되는 프린터가 있을 수 있다. 이것은 도스와 유닉스간의

Text File 형식의 차이에서 생긴다. 파일이라는것도 정보를 저장하는 하나의

단위이다. 사용자의 눈에는 보이지 않는 많은 표시들이 있을 수도있다.

대표적인것으로 한 줄의 끝을 나타내는 문자와 하나의 파일을 나타내는 문자는

눈으로 보이지 않는다. 대신 화면이나 프린터에서 그렇게 나타나게한다. 그런데

도스와 유닉스에서 한 줄의 끝을 나타내는 방식이 다르다. 유닉스에서는 새로운

줄임을 표시하는 문자로만 한 줄의 끝을 나타내지만, 도스에서는 이와 함께

커서를 (또는 프린터 해드를) 줄의 처음으로 이동시키라는 문자와 함께

쓰여야지만 한 줄의 끝을 표시할 수 있다. 그래서 도스의 Text File 을

유닉스에서 읽으면 줄의 끝마다 ^M 이 붙어서 나오게되고, 유닉스의 Text File

을 도스에서 읽으면 여러줄이라도 한줄로 보이게 된다. 어떤 프린터들은 디폴트

모드가 오로지 도스 Text File 만을 찍을 수 있도록 되어있는것들도있다.

이러한 프린터의 경우에 새로운 줄로 떨어졌지만, 프린터 해드가 첫 칼럼으로

이동하지 않으므로 이러한 "계단 현상"이 생길 수 있다. 이러한 프린터를 쓰는

경우에는 프린터 메뉴얼을 참고하여 유닉스에서 인쇄할때는 모드를 바꾸어서

출력하거나, 어떤 특별한 문자를 (제어 코드) 프린터에 보내서 모드를

바꾸어주어야 한다. 데스크젯 프린터의 경우 "echo -ne \\033\&k2G > /dev/lp1"

이라는 명령을 인쇄하기 전에 수행하여 계단현상을 막을수 있다.

2. 그림 파일의 인쇄

그림 파일을 인쇄할때는 PostScript (이하 ps) 파일로 바꿔서 인쇄한다. ps

파일은 파일의 내부에 폰트라던가, 그림의 모양같은것을 적어넣은 일반적인 Text

File 이다. (물론 사람이 한눈에 이해할 수 있는 그런 모양은 아니다.) 키보드에

존재하는 문자들로만 이루어진 파일이므로 호환성이 뛰어나며, ps 모듈이 있는

프린터에서 대한히 뛰어난 품질의 인쇄물을 얻을 수 있다. 다른 형식의 그림

파일은 xv 등을 이용해서 미리 ps 파일로 만들어 인쇄하도록한다. 우리는

/usr/lib/ghostscript/examples/tiger.ps 파일을 예로들어 설명하도록한다.

그림 파일이라면, 인쇄하□ 전에 어떤 파일인지 보는것이 좋을것이다. 엑스

윈도우상에서 ps 파일을 보여주는 유틸리티가 ghostview 이다. 엑스 윈도우의

메뉴에 등록시켜놓고 사용하던지, xterm 상에서 "ghostview &"나 "ghostview

file.ps &"로 부른다. 물론 file.ps 는 내가 보고 싶은 파일의 이름이다. 왼쪽

상단에 조작할 수 있는 기능창이있다. 다른 파일들을 찾아 불러오거나, 또는

여러장으로된 파일의 다음장을 볼 수도 있다. 우선 FILE 창에서 우리가

작업하기를 원하는 파일을 찾아 불러오기로하자. 마우스로 클릭하는 방법으로

디렉토리와 파일을 선택할 수 있다. 파일을 선택했으면 OK 창을 눌러서

불러오도록한다.

포호하는 호랑이가 보이는가? 만일 ps 모듈을 가지고 있는 프린터가 있다면,

위와 같이 단순한 cat 명령으로 인쇄할 수 있다. 만일 ps 모둘을 가진 프린터가

없다면 ps 모듈을 흉내내주어야한다. 이것이 바로 GhostScript (이하 gs) 이다.

만일 내가 캐논 버블젯 10e 나 그와 호환되는 프린터를 가지고 있다면, 그리고

tiger.ps 를 a4 용지에 찍기를 원한다면, "gs -q -dSAFER -dNOPAUSE

-sDEVICE=bj10e -sPAPERSIZE=a4 -sOutputFile=/dev/lp1 tiger.ps" 라고 명령을

내린다. 이미 인쇄가 다 끊났는데도 gs 를 벗어나지 못한다면 quit 라는 명령을

기억해두자. 프린터의 종류에따른 다바이스 드라어버들을 몇개 보인다.

드라이버  프린터

appledmp  Apple Dot Matrix Printer (Imagewriter)

bj10e     Canon BubbleJet BJ10e

bj200     Canon BubbleJet BJ200

cdeskjet  H-P DeskJet 500C with 1 bit/pixel color

cdjcolor  H-p DeskJet 500C with 24 bit/pixel color and

high-quality color (Floyd-Steinberg) dithering

cdjmono   H-P DeskJet 500C printing black only

cdj500    H-P DeskJet 500C (same as cdjcolor)

cdj550    H-P DeskJet 550C

declj250  alternate DEC LJ250 driver

diskjet   H-P DeskJet and DeskJet Plus

dfaxhigh  DigiBoard, Inc's DigiFAX software format

dfaxlow   DigiFAX low (normal) resolution

djet500   H-P DeskJet 500

djet500c  H-P DeskJet 500C

epson     Epson-compatible dot matrix printers (9- or 24-pin)

eps9high  Epson-compatible 9-pin, interleaved lines

(triple resolution)

epsonc    Epson LQ-2550 and Fujitsu 3400/2400/1200 color printers

escp2     Epson ESC/P 2 language printers, includeing Stylus 800

ibmpro    IBM 9-pin Proprinter

jet3852   IBM Jetprinter ink-jet color printer (Model #3852)

laserjet  H-P LaserJet

la50      DEC LA50 printer

la75      DEC LA75 printer

lbp8      Canon LBP-8II laser printer

ln03     DEC LN03 printer

lj250     DEC LJ250 Companion color printer

ljet2p    H-P LaserJet IId/IIp/III* with TIFF compression

ljet3     H-P LaserJet III* with Delta Row compression

ljet4     H-P LaserJet 4 (defaults to 600 dpi)

ljetplus  H-P LaserJet Plus

m8510     C.Iton M8510 printer

necp6     NEC P6/P6+/P60 printers at 360 x 360 DPI resolution

Nwp533    Sony Microsystems NWP533 laser printer [Sony only]

okil82    Okidata MicroLine 182

paintjet  H-P PaintJet color printer

pj        alternate PaintJet XL driver

pjxl      H-P PaintJet XL color printer

pjxl300   H-P PaintJet XL300 color printer

r4081     Ricoh 4081 laser printer

sparc     SPARCprinter

t4693d2   Tektronix 4693 color printer, 2 bits per R/G/B component

t4693d4   Tektronix 4693 color printer, 4 bits per R/G/B component

t4693d8   Tektronix 4693 color printer, 8 bits per R/G/B component

tek4696   Tektronix 4695/4696 inkjet plotter

trufax    TruFax facsimile driver  [Unix only]

gs 는 ps 파일의 출력뿐만 아니라 ps 파일을 다른 형태의 그림 파일로

바꾸는데도 사용될 수 있다. 이때는 OutputFile 을 새로운 파일이름으로 정하고,

DEVICE 는 그림형식으로 정해준다. 많은 그림 형식으로 변환할 수 있지만,

bmp16, gif8, pcx16 등이 대표적이다. "gs -q -dNOPAUSE -sDEVICE=pcx16

-sOuputFile=tiger.pcx tiger.ps" 라고 해보자.

3. Text File 을 가지런히 인쇄하기

cat 을 사용하여 Text File 을 인쇄해보면 아무런 가공 없이, 큼지막한

글자들이 프린터에 찍힌다. 일반적으로 문서에는 들어간다고 생각되는 위,

아래의 마진도 있을 수 없다. 이번에는 이런 형식들을 넣어서 이쁘게 문서를

출력하는 방법이다.

pr 명령은 cat 명령처럼 파일을 읽어서 화면으로 출력한다. cat 명령과

다른점은 가공을 한다는점이다. pr 은 문서의 한장이 66개의 줄로 이루어져

있다고 가정한다. 이 66개의 줄중 아래의 5개 줄은 공백으로 남겨 아래 마진을

준다. 위의 2개줄을 공백으로 남기고, 3번째줄에 파일의 이름과 현재의 날자

그리고 현재의 페이지 번호가 찍힌다. 다시 2줄의 공백이 있고, 56개줄의 내용이

찍힌다. 이 66줄이라는것은 -l66 이라는 옵션이 디폴트이기 때문이다. 만일 -d

를 쓴다면 더불 스페이스로 찍히게되어 문서가 깨끗하게 보이게된다. -n 을

사용하면 매 줄마다 번호가 찍힌다. 그 외에 여려 옵션이 있다. "pr -d -n file1

> /dev/lp1" 해보자.

문서를 가지런히 인쇄하는 다른 방법은 gs 를 이용해서 Text File 을

인쇄하는것이다. gs 는 ps 파일만을 찍는다. 그래서 gs 에게 이것이 Text Tile

이니 그에 알맞는 준비를 시키는 과정이 추가되게된다. 예를 들면 "gs -q

-dSAFER -dNOPAUSE -sDEVICE=bj10e -sPAPERSIZE=a4 -sOutputFile=/dev/lp1 --

gslp file1" 와 같이 '-- gslp' 를 넣으면 된다. gs 로 처리된 문서는 대단히

좋은 품질을 가진다.

II. 정상적인 방법

1. lpr

출력 재지향에의해 인쇄를 하는 방법은 정상적인 출력법이 아니다. 다시

한번 유닉스라는것은 다중 사용자를 위한 운영체제로 개발되어왔다는것을

기억하기바란다. 만일 리다이렉션에의해 출력을 한다면 어떤 문제점이 생길까? A

라는 사용자가 프린터에 A-FILE 이란 문서를 보냈다고 하자. 그런데

우연히도같인 시간에 (물론 약간의 시차는 있을것이다.) B 라는 사용자가

B-FILE 을

프린터로 보냈다면 어떻게될까? 프린터는 A-FILE 을 조금 찍다가 B-FILE 을 조금

찍고, 또 다시 A-FILE 을 조금 찍고... 이렇게 될것이다. 결국 A-FILE 과 B-FILE

은 섞여버려서 A 도 B 도 만족하지 못할것이다.

이렇게 동시에 작업을 해서는 A 도 B 도 만족하지 못하므로, 먼저 들어온 A

의 문서를 다 인쇄하고는 다시 B 의 문서를 인쇄하는것이 좋을것이다. 일단

A-FILE 을 어느 특정한 디렉토리에 넣어둔다. (이 디렉토리를 스풀 디렉토리라고

한다.) 그리고는 지금 프린터를 사용하고 있다는것을 나타내기위해 정해진

이름의

파일을 하나 만든다. (이 파일을 락 파일이라고한다.) 이 파일이 있으면

장치를

사용하고 있는것이므로 다른 사람은 이 장치를 사용할 수 없다. A-FILE 을 다

인쇄했으면 A-FILE 과 락 파일을 지운다. 그리고 살펴보니 스풀 디렉토리에

B-FILE 이라는것이 들어있다. 다시 락 파일을 만들고는 B-FILE 인쇄한다. 이 때

살펴보는 프로그램을 데몬이라고 부른다.

프린팅을 할 수 있는 리눅스 시스템은, 우선 커널이 프린터를 지원하도록

컴파일 되어있어야하고, lpd 라는 데몬이 실행되고 있어야한다. 부팅시

살펴보거나, dmesg 로 부팅시의 메세지를 다시 보거나, ps -aux 로 lpd 가

실행되고 있는지 확인해보도록하자. "lpr file1" 이란 명령을 내리면 (물론

일반사용자도 가능한 명령이다.) ile1 의 내용이 스풀 디렉토리로 들어가면서,

프린터를 다른 사람이 쓰고 있지 않을때 인쇄가 시작된다. 인쇄를 중간에 멈추고

싶으면 "lprm p-job" 이라는 명령을 내린다. p-job 은 "lpq" 라는 명령으로

확인해 볼 수 있는, 인쇄중인 또는 인쇄를 기다리는 파일의 내용을 구분하는

이름이다.

2. printcap

/etc/termcap 이 터미날의 특성을 정의한 파일이듯이, /etc/printcap 은 lpr

이 어떻게 동작해야할지를 정의한 파일이다. 한번 살펴보기 바란다. 거의

대부분의 내용이 # 로 주석처리 되어있고, Generic Printer 라고 정의된 곳의 lp

만 유효하게 되어있다. 만일 HP 레이저젯 프린터를 가지고 있다면, 그 뒤의

새로□ 정의들을 대신 사용할 수도 있을것이다.

# Generic printer:

lp:lp=/dev/lp1:sd=/usr/spool/lp1:sh

ps:lp=/dev/lp1:sd=/usr/spool/lp1:sh:mx#0:if=/usr/bin/gslpr:

여러분의 설정과 달리 나는 lp 밑에 ps 라는 설정을 또 두었다. 이 설정은

gs 파일을 lpr 로 인쇄할 수 있도록 하기 위한것이다. 원래 lpr 명령은 Text

File 만을 인쇄할 수 있다. 만일 tiger.ps 파일을 인쇄하고자한다면 "lpr -Pps

tiger.ps" 라고 명령한다. -Pps 는 ps 라는 설정을 이용하도록 선언한것이다.

아무런 선언이 없으면 lpr 은 lp 설정을 사용하게된다. 각 항목의 세세한 설명은

하지 않겠다. lp 설정과 ps 설정이 무었이 다른가? mx#0 는 아무리 큰

파일이라고해도 인쇄할 수 있다는 뜻이다. /usr/bin/gslpr 을 보자. 이것을

프린트 필터라고 한다. (필자가 만든 파일이다.)

#!/bin/sh

gs -q -sDEVICE=bj10e -dNOPAUSE -sOutputFile=- -

이와 같은 내용으로, 미리 "chmod a+x gslpr" 로 실행 가능한 상태로 만들어

놓았다. 필자는 캐논 버블젯 10e 호환기종의 프린터를 쓰므로 이렇게 설정해

놓았다. 독자는 자신의 프린터 드라이버를 사용하도록 하자. 이 프린트 필터가

무슨 작용을 하는지 짐작할 수 있는가? OutputFile 을 표준 출력(-)으로

선언하고, 대상파일을 표준 입력(-)으로 선언하였다. 리다이렉션을 이용해서

tiger.ps 를 찍을 수 있다. "/usr/bin/gslpr < tiger.ps > /dev/lp1"

하면된다.

printcap 파일에서 lp=/dev/lp1 으로 정의해 놓았고, lpr 명령에서 tiger.ps 를

인자로 준다면, 즉 "lpr -Pps tiger.ps" 라면, 위의 리다이렉션에의한것과

비슷한 효과를 얻는다. 그리고 그것이 오히려 더 정상적인 방법이다.

이제 ps 설정에 대해 알아보았다. 기본으로 되어있는 lp 설정은 필터를 쓰지

않을경우 그냥 cat 명령과 리다이랙션을 이용한것과 비슷하게 동작한다. 앞

절에서 살펴보았듯이 계단 현상을 일으키는 프린터, 예를 들어 데스크 젯

프린터를 가지고 있다면 어떻게 해야할까? 단순한 cat 명령만으로는 원하는

결과를 얻을 수 없었다. 이때는 lp 설정에도 필터를 써야한다.

#!/bin/sh

echo -ne \\033\&k2G

cat

위의 내용과 같은 필터를 만든다. 여기서 두가지 문제를 내겠다. 독자들은

꼭 이 문제를 풀어보기 바란다.

1) lp 프린터의 설정에서 pr 을 사용한 필터를 만들어본다. 리다이렉션에

의한 방법과 차이가 나는가?

2) 새로운 이름의 프린터 설정을 하나 만든다. 예를 들어 tps 프린터

설정이라면 "lpr -Ptps file1" 이란 이름으로 인쇄하여야 할 것이다. 이

새로운 프린터 설정은 Text File 을 gs 를 사용하여 인쇄하도록 해보자.

3. 한글 문서의 인쇄

한글 모듈이 있는 프린터를 가지고 있다면, 한글로 작성된 Text File 도

cat 과 리다이렉션이나 lpr 명령을 통해서 인쇄할 수 있다. 하지만 한글 모듈이

없다면 프린터를 통해서는 이상한 문자들밖에 볼 수 없을것이다. 이때는 hps 나

hpscat 이라는 명령어를 통해서 한글 Text File 을 ps 파일로 변환시켜

인쇄한다. hps 나 pscat 은 슬랙웨어 기본 패키지에는 들어있지 않다. 이

글에서는 hpscat 만을 설명하도록 하겠다.

hpscat 을 쓰기 위해서는 우선 hcode 라는 명령어가 있어야 한다. 이

프로그램 또한 따로 구해야 한다. hpscat 은 내부적으로 hcode 를 사용한다.

hcode 는 다양한 종류의 한글 코드들을 변환시켜준다. 예를 들어 file1.cap

이라는 조합형 문서를 file1.ks 라는 완성형 문서로 변환하고 싶으면 "hcode -tK

file1.cap file1.ks" 라고 명령을 내려준다. 설치하는 방법은 hcode-2.1 을 구한

다음 이것의 압축을 gzip 과 tar 를 이용하여 풀고, 단순히 make 명령을

내려주면 된다. 이때 생긴 hcode 라는 명령어를 패스가 걸려있는 디렉토리에

옮긴다.

hpscat 이 사용할 폰트를 구한다. 이것은 hpscat 패키지에 들어있지 않을

수도 있다. 폰트의 이름은 Gotic, Header, Munjo, MunjoBold, PCMunjo 이다.

만일 폰트들이 포함되지 않은 패키지를 구했다면 이 폰트들을 따로 구해서

/usr/lib/ghostscript 디렉토리에 넣어두고, 같은 디렉토리에 있는 gs_init.ps

파일에 다음을 추가로 써 넣어 이 폰트들을 쓸 수 있도록 한다. (폰트가

들어있는 패키지라면 할 필요가 없을것이다.)

QUIET not { (Loading Hangul Header.\n) print } if

(Header) run

QUIET not { (Loading Munjo font(MunjoHan1, MunjoHan2).\n) print } if

(Munjo) run

QUIET not { (Loading MunjoBold font(MunjoBh1, MunjoBh2).\n) print } if

(MunjoBold) run

QUIET not { (Loading PCMunjo font(PCMunjoHan1, PCMunjoHan2).\n) print

} if

(PCMunjo) run

QUIET not { (Loading Gotic font(GoticHan1, GoticHan2).\n) print } if

(Gotic) run

flush

hpscat-1.3.1 의 소스 디렉토리에서 "make" 명령을 내좋娩? 그리고는

"make install" 명령을 내려준다. 이제 한글 Text File 은 "hpscat file1 >

file1.ps" 로 ps 파일로 만들 수 있다. 영문 Text File 도 hpscat 을 이용하여

ps 파일로 만들면 아주 깔끔한 출력을 얻을 수 있다.

hpscat 은 프린트 용지 1장에 2면을 찍고, (당연히 글자 크기가 1/2 로

줄어든다.) 줄 번호를 출력하고, 파일의 이름과 인쇄일, 그리고 용지 번호를

출력하는것이 기본설정이다. 이 기본설정은 물론 다른 옵션을 사용해서 다양하게

바꿀 수 있다. 자세한것은 README 파일을 읽어보고, "hpscat --help" 해서

알아보기 바란다.

-----------------------------------------------------------------------------

다음에 계속 ^^;

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 65번

제  목:[강좌] 무한대전 머드(MUD)를 돌려보자

올린이:stoneonl(김석기  )    97/07/30 07:51    읽음:6392 관련자료 없음

-----------------------------------------------------------------------------

여러분 안녕하세요

전 리눅스를 사용하면서 리눅스의 막강한 기능에 더욱

빠져들고 있습니다. 한 예를 들면 X-windows에서

tk3play로 mp3를 돌려놓고 콘솔로 넘어와서 퀘이크를

한다. 이런일 윈95에서는 가능할까요 전 mp3의 음악을

들으면서 리눅스용 퀘이크를 했습니다. 물론 제 시스템이

높은 사양이어서 가능했지만요 참고적으로

펜티엄200 램 64메가입니다.

그리고 더욱 막강한 기능이 머드를 돌릴 수 있다는 겁니다.

이걸 모르는 사람들은 생돈 들이면서 밤새도록 하는 사람들

많을 겁니다. 머드(MUD)를 모르느 사람들은 GO MUD로

가서 알아 보시면 될 겁니다. 쉽게 말해 텍스트형 룰플레잉

겜입니다.

우선 공개자료실에 5번으로 가서 88번 전체보기로 가서

lt 무한대전 혹은

li croaky

을 치면 나올 겁니다.

무한대전이 공개용이라 다운 받아서 쓸수 있는 겁니다.

즉 GNU 정신에 입각한 거죠

주의 사항

제가 하는대로 하시면 에러없이 단번에 됩니다.

대부분 포트가 어쩌니 디렉토리가 어쩌니 운영자 이름이 어쩌니

하는데 밑에 하는 대로 하시면 아무 문제가 없습니다.

그리고 슬렉웨어,레드햇,데비안 모든 리눅스 배포판은 다 됩니다.

그리고 자기 컴퓨터가 랜이나 네트워크에 연결이 안되어 있다고

가정하고 인스톨을  하려고 합니다. 연결되어 있거나 없거나

마찬가지 겠지만, 그리고 전 슈퍼유저(root)로 로긴해서 깔았습니다.

그리고 아래에 있는 내용은 DM.DOC의 내용의 각색 편집해서

적였습니다.

다음글을 보기전에 muhan12.tgz에 있는 DM.DOC를 반드시 읽어

보시기 바랍니다. 읽어서 이해가 안되시면 다음글을 읽어보세요

무한대전을 다운 받아서 /home 디렉토리로 카피합니다.

전 하이텔에서 다운받아 파일이 틀릴 겁니다.

하이텔에는 muhan12.tgz 나우누리는 muhan.tgz 둘다 1.3메가

cp muhan12.tgz /home

cd /home

tar xvzf muhan12.tgz

하면 파일이 많이 풀릴겁니다. muhan이라는 디렉토리가 생깁니다.

cd muhan

cd src

그리고 다음과 같이 make로 컴파일 하면 좀 오래 걸릴 겁니다.

make

명령을 내리고 나면 frp.new가 만들어 집니다.

ls frp.new

이걸 /home/muhan/bin에다가 frp라는 파일으로 카피합니다.

cp /home/muhan/src/frp.new /home/muhan/bin/frp

그럼 이제 50% 정도는 된 겁니다.

이제 각종 유틸리티를 컴파일 하면 됩니다.

cd /home/muhan/util

italk.c를 컴파일 해야 합니다.

---------------------------------------------------------------------------

이제 컴파일 하는 방법을 알아봅시다.

linux에서 *.c를 컴파일하는 컴파일러는 gcc이다.

자세한 내용은 강좌란에 gcc에 대한 글이 여러 있으니

살펴보기 바란다.

gcc italk.c -O2 -s -o italk

여기서 -O2는 영어의 대문자 O이다.

-O는 실행코드를 최적화하는 것이다.

-O0 -O1 -O2가 있는데 -O2가 가장 최적화 하는 옵션이다.

-s는 컴파일하면 필요이상으로 실행화일이 커진다. 그 필요없는

부분이 심볼 테이블인데 -s가 심볼 테이블을 제거해준다.

-o 는 영어의 소문자 o이다.

이 옵션은 -o라는 것을 넣지 않으면 a.out라는 실행화일이 생기기

때문에 임의로 우리가 정하고자 하는 실행화일을 지정할 때

쓰인데 위의 italk라는 실행화일을 만들 때 일 것이다.

-----------------------------------------------------------------------

gcc italk.c -O2 -s -o italk

italk라는 실행화일을 /home/muhan/bin으로 카피합니다.

cp italk /home/muhan/bin

컴파일해서 /home/muhan/bin으로 카피해야하는 것은

italk, ed, list, startm입니다.

cd /home/muhan/util/ed

여기에는 Makefile이 있기 때문에 그냥

make

를 치면 컴파일 된다. 그럼 editor가 생긴다. 이것도 카피한다.

cp editor /home/muhan/bin

cd ..

cd list

gcc list.c -O2 -s -o list

cp list /home/muhan/bin

cd ..

cd startm

gcc startm.c -O2 -s -o startm

그리고 마지막 단계가 남았습니다.

cd /home/muhan/src

make finger

make auth

이제 끝입니다.

실행을 할려면

cd /home/muhan/bin

frp -r

italk localhost 4000

혹은

italk 0 4000

가능하면 X-windows에서 실행하세요 그리고 반드시 한텀에서

실행하시기 바랍니다.

그리고 한텀에서 하다보면 환경이 마음에 들지 않을 수 도 있습니다.

배경색깔을 파란색으로 글자색을 흰색으로 하고 싶으면

hanterm -bg blue -fg white

먼저 실행하시고

italk 0 4000을 하면 되겠습니다.

그럼 위에 4000이 왜 4000이 되어야 하는 이유는

/home/muhan/src/mtype.h의 내용에 보면

--------------------------------------------------

/*

* MTYPE.H:

*

*      #defines required by the rest of the program

*

*      Copyright (C) 1991, 1992, 1993 Brett J. Vickers

*

*/

int Port;

/* socket port number */

#define PORTNUM         4000

/* DM's name */

#define DMNAME          ""

#define DMNAME2         ""

:

:

-----------------------------------------------------------------

#define PORTNUM   4000으로 되어 있기 때문입니다.

italk localhost 5000으로 하고 싶으면

맨 처음에  컴파일 하기 전에 (frp.new를 생성하기 전에)

#define PORTNUM  5000

으로 바꾸면 됩니다.

그리고 자기가 하고 싶은 디렉토리에 인스톨 하고 싶으면

마찬가지로

/home/muhan/src/mtype.h의 내용에서

#define MUDHOME                 "/home/muhan"

^^^^^^^^^^^^^^^^^^^

위의 부분을 바꾸어서 맨 처음에 컴파일(frp.new를 생성하는 과정)를

하면 됩니다.

-----------------------------------------------

#define DMNAME7                 ""

/* I/O buffer sizes */

#define IBUFSIZE        1024

#define OBUFSIZE        8192   /* 원래 8192 */

/* File permissions */

/*#define S_IWRITE      00660 */

/*#define S_IREAD       00006 */

#define O_BINARY        0

#define ACC             00660

/* merror() error types */

#define FATAL           1

#define NONFATAL        0

/* pathnames */

#define MUDHOME                 "/home/muhan"

#define ROOMPATH        MUDHOME"/rooms"

#define MONPATH         MUDHOME"/objmon"

#define OBJPATH         MUDHOME"/objmon"

-----------------------------------------------------

그리고 자기가 운영자가 되기 위해서는 임의의 이름으로

예를 들어 슈퍼보이라고 하면

/home/muhan/src/mtype.h의 다음 부분을

/* DM's name */

#define DMNAME          ""

#define DMNAME         "슈퍼보이

로 바꾼후에 컴파일(frp.new를 생성하는 과정) 하면 된다.

위에서 UTIL의 아래에 있는 화일을 컴파일해서

BIN디렉토리로 카피하는 것은

머드를 하면서 문제가 발생했을 때 해결할 때

쓰입니다.

그럼 이제 머드를 쓰면서 밤새지 마시고 자기 컨트롤

잘 하시기 바랍니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 66번

제  목:[강좌] 사운드를 정복하자

올린이:stoneonl(김석기  )    97/08/07 03:07    읽음:9639 관련자료 없음

-----------------------------------------------------------------------------

이 강좌는 하이텔 리눅스 동호회(go linux)의 22번

강좌란에서 받아 온 것입니다.

사운드에 대해서 많은 정보가 포함되어 있더군요

제가 모든 걸 살펴보지 않았지만 괜찮아 보여서

여기에 올립니다.

다음은 강좌 번호입니다.

번호  이름     ID      날짜 조회 Pg       제  목

552 이재용   yusumi   02/10 722  5 [강좌]리눅스와 사운드 카드 9

545 이재용   yusumi   01/30 542  5 [강좌]리눅스와 사운드 카드 VIII

543 이재용   yusumi   01/27 539  5 [강좌]리눅스와 사운드 카드 VII

542 이재용   yusumi   01/27 683  2 [강좌]리눅스와 사운드 카드 VI

536 이재용   yusumi   01/24 483  4 [강좌]리눅스와 사운드 카드 V

535 이재용   yusumi   01/24 503  7 [강좌]리눅스와 사운드 카드 IV

532 이재용   yusumi   01/22 624 12 [강좌]리눅스와 사운드 카드 III

528 이재용   yusumi   01/22 810  9 [강좌]리눅스와 사운드 카드 II

527 이재용   yusumi   01/22 1681  9 [강좌]리눅스와 사운드 카드 I

번호/명령(H,P,T,M,N,A,GO,PF,ME,MM,SAY,Z,X)

>>

#527   이재용   (yusumi  )

[강좌]리눅스와 사운드 카드 I                 01/22 01:27   134 line

<<리눅스와 사운드 카드 I >>

먼저 저의 부족함을 밝히고 시작하지요. 지금 이 강좌는 사운드

카드에 대한 것인데 제가 사용하는 카드가 Sound Blaster이므로

옥소리나 시너비트 그외에 다른 사운드카드에 대해서 저의 경우와

다를 수 있음을 먼저 밝힙니다. 인터넷에서도 국산 사운드 카드에

대한 정보를 구할 수 없군요. 만약  Sound Blaster이외에 다른

사운드 카드를 사용하시는 분은 저에게 자세한 사항(커널버젼과

사운드 카드의 종류)을 메일로 보내 주시면 다음 강좌에서 큰

도움이 될 것입니다.

리눅스에서 사운드 카드를 사용하는 경우는 윈도우95의 경우처럼

X윈도우하에서 사용합니다. 가장 단순한 경우는 윈도우 관리자를

사용할 때  응용 프로그램의 시작이나 끝을 알리는 것입니다.

자세한 내용은 바로 다음 강좌에서 볼 수 있읍니다.

다음으로 오락의 소리 효과를 위해서 사용합니다. 이 부분은 잘

알지 못합니다. 따라서, 그냥 넘어가지요. 한가지만 말하면 위에서

윈도우 관리자에서 소리가 나오면 오락에서도 소리를 쓸 수가 있으니

제대로 설명을 못한다고 실망하지 마세요. 제가 성공하는데로

강좌에 추가하지요.

우선 컴파일이란 과정을 거쳐야 사운드카드를 사용할 수 있지요.

처음 리눅스를 설치한 경우라면 아마 사운드카드 드라이버가 이미

설치되었을 것입니다. 확인을 해보시려면

%cat /dev/sndstat

이라고 하면 사운드카드에 대한 정보를 보여줄 것입니다.

--------------------------------------------------------------

Sound Driver:3.5.2-960330 (Sat Jan 18 19:17:24 KST 1997 root,

Linux KATIE 2.0.0 #1 Mon Jun 10 21:11:56 CDT 1996 i586)

Kernel: Linux KATIE 2.0.0 #1 Sat Jan 18 19:20:04 KST 1997 i586

Config options: a80012

Installed drivers:

Type 1: OPL-2/OPL-3 FM

Type 5: Roland MPU-401

Type 2: SoundBlaster

Type 6: SoundBlaster 16bit

Type 7: SB MPU

Card config:

SoundBlaster at 0x220 irq 5 drq 1,5

(Roland MPU-401 at 0x330 irq 9 drq 0)

OPL-2/OPL-3 FM at 0x388 irq 0 drq 0

Audio devices:

0: SoundBlaster 16 4.13

Synth devices:

0: Yamaha OPL-3

Midi devices:

Timers:

0: System clock

Mixers:

0: SoundBlaster

---------------------------------------------------------------

다음으로

%cat /proc/devices

라고 하면 다음과 같은 것을 보여 줍니다.

---------------------------------------------------------------

Character devices:

1 mem

2 pty

3 ttyp

4 ttyp

5 cua

6 lp

7 vcs

10 misc

14 sound                <-------- Notice "sound"

30 socksys

Block devices:

2 fd

3 ide0

--------------------------------------------------------------

위에서 사운드라고 된 부분이 있으면 O.K.

또 다른 방법이 있읍니다. 이것은 컴퓨터를 부팅한 경우 모니터에서

나타나는 정보를 보는 것입니다. 여기에는 컴 내부에서 쓰이고 있는

하드웨어에 대한 정보도 나오는데 여기서 사운드카드에 대한 정보도

나타나면 사운드카드를 쓸 수 있다는 것입니다. 아니면

%dmesg | more

라고 해서 다시 볼 수도 있읍니다.

마지막으로 /dev에서 직접 사운드카드 드라이버를 살펴보는 것입니다.

%ls -l /dev | more

하면 사운드카드와 관련된 디라이버를 직접 눈으로 확인할 수 있읍니다.

제 경우는 다음과 같읍audio

crw-r--r--   1 root     root      30,   0 Jul 19  1994 pcmixer

....................

..............

.....................

brw-r-----   1 root     disk      25,  0 Jul 19  1994 sbpcd

brw-r-----   1 root     disk      25,   0 Jul 19  1994 sbpcd0

brw-r-----   1 root     disk      25,   1 Jul 19  1994 sbpcd1

brw-r-----   1 root     disk      25,   2 Jul 19  1994 sbpcd2

brw-r-----   1 root     disk      25,   3 Jul 19  1994 sbpcd3

.................

.......

..............

crw-rw-rw-   1 root     root      14,   1 Jul 19  1994 sequencer

crw-r--r--   1 root     root      14,   6 Jul 19  1994 sndstat

----------------------------------------------------------------

다음은 소리를 들어보는 순서입니다.

자신이 가지고 있는 소리파일을 이용해 보세요. 없다면 자료실(리눅스

자료실에는 별로 없으니 top을 한후 자료실방에서 멀티미디어에서

소리에 관한 파일을 가져오시는 것은 알지요.) 가져오시거나 저처럼

윈도우 관리자(Afterstep)의 디렉토리 밑에 있는 .au파일을 가지고

살펴봅시다. 저는 Afterstep을 사용하는 데 이 프로그램이 들어있는

디렉토리 아래에 bong.au라는 파일이 있군요. 이 소리를 들으려면

%cat bong.au /dev/audio

이렇게 하면 소리가 나내요. 하하하...

참 스피커에 연결하는 것을 잊지마세요.

다음 강좌에서는 윈도우 관리자에서 소리를 내는 방법을 알아봅시다.

#528   이재용   (yusumi  )

[강좌]리눅스와 사운드 카드 II                01/22 01:28   142 line

<< 리눅스와 사운드 카드 II >>

이번에는 윈도우 관리자에서 소리를 내는 방법을 알아보지요.

fvwm이나 Afterstep같은 윈도우관리자에는 소리를 내는 모듈이

들어 있읍니다. 예제 소리들이 Afterstep을 사용하신다면 아마

/sounds라는 디렉토리 밑에 확장자가 .au라는 여러 개의 파일들로

있을 것입니다. fvwm의 경우는 처음부터 들어 있는 것 같지는 않아요.

각각의 윈도우 관리자에서 소리를 내는 방법을 살펴봅시다.

먼저 fvwm의 경우를 살펴보지요. 자신의 홈디렉토리에서 .fvwm2rc가

있는지 확인하시고 없으면 fvwm이 있는 디렉토리안에 system.fvwm2rc

나 sample.fvwm2rc가 있지요. 이것을 자신의 홈디렉토리에 가져와서

.fvwm2rc로 파일이름을 바꾸세요.

먼저 소리를 낼 수 있게 하는 모듈을 등록해야 합니다. .fvwm2rc안에

AddToFunc InitFunction 을 찾아서 아래와 같이 등록하세요.

########################Initialization Functions ######################

AddToFunc InitFunction          "I"     Module tkgoodstuff

+                               "I"     Module FvwmAudio

+                               "I"     exec xsetroot -solid black

AddToFunc RestartFunction       "I" Module tkgoodstuff

+                               "I" Module FvwmAudio

+                               "I" exec xsetroot -solid black

#######################################################################

이렇게 하면 윈도우 관리자를 시작할 땔부터 FvwmAudio라는 모듈을 쓸 수

있읍니다. 그 후에 다음과 비슷한 것이 있으면 됩니다. 없으면 이것을

참고로 하나 만들어 붙히면 됩니다.

##########################FvwmAudio####################################

# Obtained and compiled wavplay_021 w/ patch from

# sunsite.unc.edu /pub/Linux/apps/sound/players

*FvwmAudioPlayCmd       /usr/local/sound/vplay

*FvwmAudioDir           /usr/local/sound

*FvwmAudioDelay 0

*FvwmAudio      startup         charge.wav

*FvwmAudio      shutdown        applause.wav

*FvwmAudio      iconify         eeeooop.wav

*FvwmAudio      deiconify       wooeep.wav

*FvwmAudio      destroy_window  bwaaang.wav

*FvwmAudio      delete_window   bwaaang.wav

*FvwmAudio      add_window      notes.wav

*FvwmAudio      new_desk        charge.wav

*FvwmAudio      unknown         doink.wav

*FvwmAudio      toggle_paging   twip.wav

#*FvwmAudio     new_page         doink.wav

#*FvwmAudio     focus_change    twip.wav

#*FvwmAudio     raise_window    pop.wav

#*FvwmAudio     lower_window    doink.wav

#*FvwmAudio     configure_window        laser.wav

###############################################################

아이템을 하나하나씩 조사해 봅시다.

*FvwmAudioPlayCmd       /usr/local/sound/vplay

이것은 소리파일을 들려주는 프로그램을 등록하는 것입니다.

이 프로그램을 선택할 때는 자신이 가지고 있는 소리파일을

연주할 수 있는 것이어야 하겠지요. 하하..

제가 선택한 것은 vplay 라는 것인데 sunsite 에 가면 얻을 수

있다는 주석문이 보이는군요.

*FvwmAudioDir           /usr/local/sound

여기서는 소리파일이 있는 디렉토리를 지정해 놓는군요.

소리파일을 얻을 수 있는 인터넷 사이트는 모르지만 윈도우95

같은데서 .wav같은 것은 쉽게 얻을 수 있지요. 저는 개인적으로

plus에 있는 sonic 테마가 제일 좋아요. 아마 자료실에서

윈도우95방에 가면 얻을 수 있으니 받아서 소리파일만 써 보세요.

*FvwmAudioDelay 0

이것은 실행 명령을 한 시간과 소리를 내는 시간 차이를 지정하는

것입니다. 0으로 했으니 소리가 즉시 나지요. 시간차를 두고

싶으시면 1이상의 값을 지정하세요.

그 다음에 나오는 것은 소리를 낼 수 있는 실행 명령와 그에

대응하는 소리를 등록한 것입니다. 주의할 점은 각 소리 파일이

위에서 지정한 디렉토리밑에 있어야 한다는 것입니다.

이제 Afterstep에서 소리를 내는 모듈을 쓰는 방법을 살펴봅시다.

Afterstep도 fvwm과  유사합니다. Initial Function에 다음과

같은 줄을 추가해서 모듈을 등록합니다. 모듈 이름이 Audio입니다.

fvwm에선 FvwmAudio였지요.

#/////////////////////////#

# Initialization Function #

#/////////////////////////#

Function "InitFunction"

Exec    "I"     Module Audio

EndFunction

Function "RestartFunction"

Exec     "I"     Module Audio

EndFunction

#//////////////////////////#

다음은 이 모듈에 대한 세부 사항입니다.

#///////////////////////////////////////////////////////////#

# Start the Audio player

Module Audio

# Select your normal audio player

*AudioPlayCmd /usr/bin/showaudio

# Select the directory containing your sounds

*AudioDir /home/frank/mac/sounds

*AudioDelay 1

# Attach sounds to window manager events...some don't appear to function

# as well as they could

*Audio startup gong.au

*Audio shutdown clink.au

*Audio add_window bong.au

*Audio raise_window drip.au

*Audio lower_window drip.au

*Audio focus_change drip.au

*Audiodestroy_window crash.au

*Audio iconify ploop.au

*Audio deiconify ploop.au

*Audio toggle_paging fwop.au

*Audio new_page beaming.au

*Audio new_desk beam_trek.au

*Audio configure_window huh.au

*Audio window_name bong.au

*Audio icon_name beep.au

*Audio res_class bong.au

*Audio res_name beep.au

*Audio end_windowlist twang.au

#//////////////////////////////////////////////////////////////////#

사용법은 fvwm에서와 동일합니다. 하지만 먼저 모듈을 선언하는 것은

다릅니다. 그리고, FvwmAudio대신에 Audio라고 쓰는 것 뿐입니다.

이것으로 이번 강의는 끝내고 다음에는 사운드와 관련된 커널 컴파일에

대해서 알아봅시다. 하하하..

#532   이재용   (yusumi  )

[강좌]리눅스와 사운드 카드 III               01/22 16:50   178 line

<< 리눅스와 사운드 카드 III >>

이번 강좌는 사운드 카드와 관련된 리눅스 커널 컴파일에

대해서 알아봅니다. 우선 제가 쓰고 있는 커널의 버전은

2.0.0 입니다.  우선 사운드블라스터 AWE32를 사용하시는

분은 커널의 버젼이 2.1.6 이후부터 AWE 드라이버가

내장된다고 합니다. 조금만 참으시면 좋은 소리를 들을 수

있을 것입니다. Just wait for a while.

제가 사용하는 사운드 카드는 사운드블라스터16과 호환되는

것입니다. 따라서, 사운드 카드의 종류에 따라서 약간씩

다를 수 있음을 밝힙니다. 또한, 국산 사운드 카드를 리눅스에서

훌륭하게 쓰시는 분들은 제게 메일을 주세요. 자onfig.h

Readme.aedsp16   g.

이제 시작합니다. 사운드 카드를 지원하도록 커널을 컴파일하려면

먼저 root로 로긴한 후 커널 소스가 있는nd_timer.c

Readme.linux     gus_linearvol.h  pas2_card.c      soundcard.c버의 디렉토리에

가서 소스 파일들이

제대로 들어있는지 ?dvers.h

Readme.v30       gus_vol.c        pas2_mixer.c     sscape.c

ad1848.c         gus_wave.c       pas2_pcm.c       sinux/drr.c

ad1848_mixer.h   hex2hex.h        patmgr.c         trix.c

adlib_card.c     ics2101.c        pss.c            tuning.h

aedsp16.c        local.h          sb.h             uart6850.c

audio.c          mad16.c          sb16_dsp.c       ulaw.h

configure.c      mad16_sb_midi.c  sb16_midi.c

coproc.h         maui.c           sb_card.c

cs4232.c         midi_ctrl.h      sb_dsp.c

커널을 컴파일하는 프로그램은 설치할 다바이스 드라이버와 옵션을

물어보지요. 그리고 [ ]표시에는 옵션이 있는데 대부분 [Y/n] 이런

식으로 되어 있읍니다.  y 또는 Y 는 드라이버 설치 질문에 yes 라는

것이고 n 또는 N 는 no 라는 것입니다. 그리고 먼저 나오는 것은

대문자로 되어 있는데 이것은 지금 사용하는 커널의 디바이스

드라이버에  대한 상테입니다. 잘 읽어보시고 답하세요. 그냥

Enter키를 치면 대문자를 선택하는 것입니다.

사운드와 관련된 질문은 맨 나중에 나옵니다. 처음 나오는 것이

Sound card support? (CONFIG_SOUND)  [Y/m/n/?□ 것이 아니라 사용자가 임의로 load

하거나 unload

할 수 있읍니다. 저는 m옵션은 추천하지 않겠읍니다. n옵션은 Y의

반대이므로 사운드 드라이버를 설치하지 않는다는 것입니다.

다음으로 물어보는 것은

Configuring Sound Support

Old configuration exists in '/etc/soundconf'. Use it [Y/n/?]

이것은 이미 존재하는 사운드 드라이버를 이용하겠냐는 것입니다.

Y라고 하면 더 이상의 질문이 나오지 않고 컴파일 대화과정이

끝납니다. 다시 지정하고 싶으시면 n로 선택해야 합니다.

다음으로 물어보는 것은

ProAudioSpectrum 16 support [N/y/?]

인데 ProAudioSpectrum 16, ProAudio Stuio 16, Logitech SoundMan 16

을 사용하는 분은 y를 아니면 N를 선택하세요. 저는 이런 사운드□ 구경한 적이 없어

서 하하하...

SoundBlaster (SB, SBPro, SB16, clones) support [N/y/?]

이제 사운드블라스터가 보이네요. 물론 저는 6을 사용하므로 이것을 선택했읍니다.

아직까지 AWE32는 지원을

못하므로 처음에 말씀드린 것처럼 커널 2.1.6을 기다리세요. 그리고,

국뻠綢□□ 어떤지 모릅니다. 제가 아는데로

추가하지요. 국산을 애용해야 하는데 ...

Generic OPL2/OPL3 FM synthesizer support [N/y/?]

여amaha OPL-3가 들어 있어요. 사블16에도

OPL이란 칩이 있는데 japan이라고 쓰여진 것을 보니 Yamaha사의 칩일 것입니다.

따라서 y를 치면 되지요. 사운드 블라스터와 호환되는 국산 카드는 어떤지

모르겠네요. 국산 카드를 사용하시는 분은 제에게 어떤 칩이 들어있는지

메일 주세요.

Gravis Ultrasound support [N/y/?]

Advanced Gravis사의 GUS, GUS MAX 를 사용하면 y를 선택합니다.

MPU-401 support (NOT f/]

MPU401인터페이스는 거의 대부분의 카드에서 지원합니다. 하지만,

특별한 카드에서는 자신만의 고유한 드라미버를 가지고 있다고

하할 것 같아요. 제가 y를 선택하니까

midi devices 가 없는 것을 발견했으니까요. 국산 카드도 옵션을

다르게 해서 조사해 보셈막涇다바이.

/dev/dsp and /dev/audio support (usually required) [N/y/?]

물론 y를 해야 합니다. /dsp는 A/D converter 디바이스이고

/audio는 D撰□ 꼭 필요합니다.

디바이스에 대한 설명은 다음으로 미루지요.

MIDI interface support [N/y/?]

midi와 관련된 프로그램을 쓸려면 당연thesizer (YM3812/OPL-3) support [N/y/?]

y를 선택합니다.

Do you wnat support for mixer of Sg NX Pro [N/y/?]

Do you want support f SoundMan Games [N/y/?]

각각 자신이 사용하는 카드가 있으면 y를 선택하시고 없으면

N를 선택합니다.

/dev/sequencer support [N/y/?]

ncer 디바이스를 사용하려면 y를 선택합니다. 사블은 반드시

선택하세요.

다음에 나오는 것은 사운드 카드에서 설정해야 하는 configura가지고 있는 설명서를

자세히 읽고나서

질문에 답하세요. 또한 점퍼로 기본 설정 값을 조정하신 분은

고친 값을 기억하고 계셔야 합니□ 도스나 윈도우95를 사용하신다면  거기서 사운드

카드에

대한 configuration 을 기록해서 사용하세요.

하나만 예를 들면

I/O base forare: Check from manual of the card

The default value is 220

Enter the value: 220

I/O base for SB  set to 220.

............

.....다.

마지막으로 지금 설정한 것을 저장할 것인가를 물어봅니다.

The sound driver is now configured.

Save copy of th쳬爛求?

이제 컴파일을 해야지요.

% make dep

% make clean

이렇게 하면 끝납니다.

사운드 드라이버가 성공했는지는 저의 강좌 I을 보시謬뵈□□

수 있읍니다. 부디 성공을 빕니다.

또한 국산 사운드 카드의 컴파일에 성공하신 분은 저에게

사운드 카드의 종류와 커널버젼, 그뼉笭면다음 강좌에 큰 도움이 될 것입니다.

#535   이재용   (yusumi  )

[강좌]리눅스와 사운드 카드 IV                01/24 01:28   1드 IV >>

이번 강좌에서는 컴파일할때 사블 계열의 configuratuion을

살펴봅니다. 이 내용은 사블과 호환되는 카드에 대해서도

유용하리뗐 때의 configuration옵션이 모두 같더군요.

따라서 제가 언급하지 않은 다른 사블 카드에 대해서도

같은 configuration이라고 믿습니다. 단, 사용자가 자신에게

맞게 다시 설정한 것에 대해서는 스스로 비교하면서 따라하세요.

저는 디폴트 설정을 그대로 따랐읍니다.

사블 계열은 종류가 다양한 데 각각의 특징을 살펴봅시다.

처음 나온 것이 사운드 블라스터인데 8비트예요.

그 다음이 사운드 블라스터 프로인데 이것도 8비트예요.

그후 16비트인 사운드 블라스터16, 사운드 블라스터16IE,

사운드 블라스터32, 사운드 블라스터AWE32, 사운드

블라스터AWE64까지 나왔지요. EMU8000칩이 내장된 AWE칩이

카드에 장착되어 있읍니다. AWE란 Advanced Wave Effects의

앞문자만 따온 것입니다.□□ 저도 몰라요.

아무튼 이 AWE드라이버는 커널버젼 2.1.6 이상부터 공식적으로

지원한다고 합니다. 그런데 아직 사블AWE64에 대한 언급VIBRA16을 쓰고 있읍니다.

우선 Audio의 I/O 어드레스를 물어보는 문장이 나옵니다.

I/O base for SB16

Possible values are: Check fromual of the card

The default value is 220

Enter the value: 220

I/O base for SB16 set to 220

사블카드는 I/O 어드레스를 점퍼를 이용 220이 아닌 새롭게 정한 값으로 지정합니다.

다음은 인터럽트 번호 (IRQ)를 입력하라는 것입니다.

SoundBlaster IRQ

Possible values are default value is 7

Enter the value: 5

SoundBlaster IRQ set to 5.

사블의 경우 디폴트 값이 5입니다.

만약 pnp 모뎀등으로 IRQ 5를 다시

설정하고 그 값을 입력합니다.

다음은 DMA 채널을 지정하는 것입니다. DMA는 Direct Memory Access

우리말로 하면 직접 메모리 제어서

시스템 메모리에 CPU중개를 거치지 않고 직접 데이타를 전송하는 것을

말합니다. 16비트 사운드 카드에는 8비트의 Low 채널과 16비트□ 쓰입니다. 먼저 Low

채널을 물어 봅니다.

SoundBlaster DMA

Possible values are: 0, 1 or 3

The default value is 1

Enter the value: 1

soundBlaster DMA set to 1.

사블의 경우는 디폴트 값이 1입니다.

SoundBlaster 16 bit DMA(_REQUIRED_for SB16, Jazz16,SMW)

Possible values are: 5, 6 or 7

The default value is 5

Enter the value: 5

soundBlaster 16 bit DMA(_REQUIRED_for SB16, Jazz16,SMW) set to □ 5입니다.

만약 8비트 카드를 사용한다면 16비트는 사용할 수 없읍니다.

다음은 MPU-401 UART 포트의 어드레스를 적는 것입니다.

이것은 I/O base of SB16, Jazz16 or ES1688)

Possible values are: Check from manual of the card

(0 disables this feature)

nter the value: 330

사블의 경우는 디폴트 값이 330입니다. 이것은 점퍼로 새롭게

지정할 수 있읍니다.

다음은  MPU-401의 IRQ를 지정하16 or Es1688)

Possible values are: Check from manual of the card

(-1 disables this feature)

The default value is -1

Ente우는 MPU401의 IRQ 가 없어요. 따라서 이런 기능을

지원하지 않는 -1을 선택합니다.

다음으로 DMA버퍼의 사이즈를 지정하는 것입니다.

대메모리를 가지고 있을 것이므로

가장 큰 65536을 선택합니다.

Audio DMA buffer size

Possible values are: 4096, 16384, 32768 or 65536nter the value: 65536

The DMA buffer size set to 65536

지금까지 사블 카드에 대한 configuration 을 살펴보았읍니다.

다음에는 X윈도暈

알아보고자 합니다.

#536   이재용   (yusumi  )

[강좌]리눅스와 사운드 카드 V                 01/24 06:05   55 line

<< 리눅스와 뮤□ 강의까지 왔군요.

이번 강의는 리눅스에서 CD 플레이어를 설치하는 것입니다.

여러분이 지금까지 저의 강좌를 따라 오시는데 문제가

갈 것입니다.

먼저 CD 플레이어 프로그램들을 소개해야 합니다.

Sunsite에 있는 CD 플레이어 중에서 쓸만한 것을

찾아보아야 하겠지요. 척求?

ftp sunsite.unc.edu/pub/Linux/X11/xutils/cdplayers/

밑에 있읍니다. 우리나라의 미러 사이트는

ftp ftp.nuri.net/pub/Linux 로 틤맑셀?

그안에는 여러 개의 CD플레이어가 있는데 workman은 XView

라이브러리를 쓰기 때문에 만약 xv 시리즈를 안 깐 분들은

다른 것을【□ 라이브러리 부분을 깔아야 합니다.

까는 방법은 슬렉웨어는 pkgtool을 이용해서 라이브러리만

설치하면 됩니다. 모르시는 분은 제게 .

다음은 xmcd인데 이것은 Motif라이브러리가 있어야 함으로

모티프가 없으신 분은 완전히 포기하세요. 이 플레이어는

가장 멋진 모양을 가지고 있을 것입니다. 저는 모티프를 가지고

있지만 하드가 모자라서 하드에 깔지 않았읍니다.

다음은 xworkbone입니다. 이 플레이어는 리눅스에서 사용하던

workbone의 X윈도우 버젼이라고 할 수 있읍니다. 기능이나

모양면에서는 형편없는 편이지만 프로그램의 크기를 비교맨□ 플레이어입니다. 저는

이것을 추천합니다.

설치 방법은 적당한 곳에서 tar와 gzip으로 푼 다음 make라고

치면 xworkbone이라는 바이퀁/local/bin/에 카피해서 쓰세요. 사용법은 영문으로 된

버튼을 보면 쉽게 알 수 있읍니다.

다음으로 xcdplayer라는 것이 있는데 xworkbo 제가 좋아합니다. 덩치는 xworkbone보

다

큽니다. 설치 방법은 tar와 gzip을 푼 후 make이라고 친후

make install;  make clean이라고 하□ 보면 이해할 수 있을 것입니다.

이외에도 인터넷을 찾아보면 더 있을 것입니다.

그리고, CD를 열기 위해서는 먼저 /cdrom을 닫아야 하뉩疫萱□ /cdrom/이나 그 아래□

□

디렉토리에서 부터 빠져나와서 다른 디렉토리에서  프레이어를

불러야지요. 확인을 해 보시려면 mount라는야 爛求?

이것으로 이번 강쨍□ 마칩니다.

다음 강좌는 오락에서의 소리효과에 관한 것입니다.

기대해 주세요.

기대해 주세요.슷할 것입니다.오늘 강좌는 이것으로 마칩니다.다음 강좌에 계속해□

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 67번

제  목:[강좌] 프린트 설정과 출력하기 (2)

올린이:pey1    (박은영  )    97/08/13 19:23    읽음:5121 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

프린트에 관한 얘기를 더 하겠습니다.

우선 들어가기 전에 두가지. ^^;

만약 프린터기가 제대로 설정 됐는지 알아 볼려면(설정은 64번에서 설명 했지요)

프린팅의 가장 기초적(?)인 명령을 실행시켜 봅니다.

eun-young:~# cat print.txt > /dev/lp1 (lp0,lp2 일수도 있습니다)

이래서 찍힌다면 일단 한단계는 설공 한 것입니다.

만약 계단현상등이 바생한다면 해결책은 64번이나 아래부분에 있으니 참고 하셔요

또한 문서를 찍으려면 ps 화일로 바꾸는데 그 방법은 다음과 같습니다.

eun-young:~# hpscat print.txt > print.ps

그러면 print.txt 하는 텍스트 문서가 print.ps 라는 ps 화일로 변환 됩니다.

만약 hpscat이 없다는 메세지가 나오면 자료실에 가셔서 hpscat 받으셔요 ^^;

ps 화일은 고스트뷰(gv)로 보시면 됩니다.

그럼 잡담은 이만 마치고 본격적인 글로 들어가서...

9번 팁란에 있는 이만용님의 "고스트뷰에서 ps 화일" 이라는 글을 올리겠습니다.

____________________________________________________________________________

오늘 사용담으로 쓰고자 하는 것은 전혀 새로운 내용이 아닙니다. 바로 리눅스

프린팅에서 중요한 화일인 /etc/printcap 화일에 대해서 약간 알아보고자 하는

겁니다. 여러분도 아시다시피 리눅스는 멀티유저 시스템이므로 도스에서와 같이

문서 프린팅시에 프린터 포트에 직접 자료를 보내는 방식을 사용하지 않습니다.

서버/클라이언트 체계를 가지는 리눅스 프린팅 시스템은 lpd 라고 하는 프린팅

서버가 작동하는 상황에서 lpr 이라는 클라이언트의 요청을 받아 적절하게 프린

팅을 해냅니다. 멀티유저/멀티태스킹 상황에서 여러 사용자와 여러 프로그램의

프린팅 요청이 서로 꼬이지 않고 원활하게 이루어지도록 하는 것이지요.

리눅스에 대한 감을 잡기가 힘들었던 초보 시절에는 요놈의 프린팅이 너무도 힘

든 일이었습니다. 특히 저와 같은 HP 데스크젯 사용자들은 PCL 모드 하에서 "계단

현상" 같은 것을 만났을 때는 어찌 할 줄을 몰라했을 겁니다. 도대체 엄청나게

많은 셋팅 화일에 어떤 것을 건드려야 할 지도 무서울 지경이었죠.

그래서 프린팅을 할 때는 항상 도스로 부팅해야 하는 우스꽝스러운 짓을 매번 반

복할 수 밖에 없었습니다.

리눅스를 쓰다보면 도스 시절에는 만나기 어려웠던 고급 문서 스타일들을 만나게

되는데요, 그 중에 하나가 바로 포스트스크립트 화일(ps)입니다. 이 문서로 되어

있는 프로그래밍 매뉴얼을 많이 찍는 편인데요, 데스크젯 500 정도에서도 아주 깔

끔한 문서를 얻을 수 있습니다. 제본을 해서 책으로 쓰고 있을 정도니까요航.

또 말이 길어졌군요. 오늘은 X 윈도우에서 포스트스크립트 문서를 볼 수 있는 고

스트뷰(Ghostview)에서 File 메뉴의 Print 항목을 통해서 프린트하는

방법에 대하여 말씀드리겠습니다. 원하실 때는 한 장 한 장씩 프린트를 할 수도

있지요. 한참 동안을 엄두도 못내고 관심도 못져가졌던 printcap 화일이지만, 요

즘에 들어서야 뭔가 조금 알 수 있게 된 것 같습니다.

------------------------------------------------------------------------------

[ printcap 이란? ]

-----------------------------------------------------------------------------

여러분의 /etc 디렉토리로 한 번 가보십시요. 그러면 수많은 화일들 중에서 print-

cap이라는 화일을 찾으실 수 있을 겁니다. 이 화일은 여러분의 프린팅에 관한 모든

사항을 기재하고 있는 녀석입니다.  이 화일의 목적은 "일관성"입니다.

예를 들어 아래한글 화일은 아래 한글에 들어가서 프린팅하고, 워드 문서는 워드

프로그램에 들어가서 프린팅하는 것이 일반적입니다. 그래픽 화일은 또 그 나름의

프로그램을 써서 프린팅을 하지요. 하지만 리눅스에서는 이와 같은 사용법을 별로

좋아하지 않습니다. 아래한글 화일 프린팅에 대한 <논리적 프린터명 : 예를 들어서

hwpprn>을 정의하고, 워드 문서 프린팅에 대한 <논리적 프린터명>을 wordprn 이런

식으로 정의해놓고, 실제 프린팅시에는 lpr -P<논리적 프린터명> <문서화일명>

이런 식으로 사용하는 것을 좋아합니다.

처음에는 신경써주어야 할 것이 좀 많지만, 일단 printcap 화일을 제대로 만들어

만 준다면 항상 lpr 명령을 가지고 손쉽게 프린팅할 수 있어 좋습니다.

하나의 물리적인 프린터를 가지고 여러 가지 작동 방식에 대한 논리적 프린터명

과 알맞는 동작을 설정해줌으로써 여러분의 프린터를 요술지팡이로 만들어 드립니

다.

------------------------------------------------------------------------------

[ printcap에서 프린터 정의하기 ]

------------------------------------------------------------------------------

printcap 화일을 한 번 살펴 보십시요. 뭐 이런게 다 있어! 할 정도로 인간이 알

아볼 수 없을 만한 형식으로 프린터를 정의하고 있습니다. 하지만 알고 나면 별 것

아닙니다.

<!-- 형 식 -->

NAME1|NAME2|NAM3:STRING_CAPABILITY=STRING:\

:NUMERIC_CAPABILITY#NUMBER:BOOLEAN_CAPABILITY:

자, 처음 NAME1, NAME2, NAME3 는 논리적 OR 기호 "|"로 분리하여 설정합니다.

이는 lpr -P<NAME> 에서 쓰실 바로 그 이름입니다. NAME1 또는 NAME2 또는 NAlME3

는 모두 같은 논리적 프린터를 지칭하는 말입니다. 하나만 지정해주셔도 되고 3개

까지 지정하실 수 있습니다. 만약 첫번째 이름이 lp 라면 -P 옵션을 주지 않으셨

을 때의 기본 프린터입니다. 다음의 예를 보시죠.

lp|Deskjet500|Oh my sexy printer: ... 어쩌구 저쩌구

이 때 lp, Deskjet500, Oh my sexy printer 는 모두 같은 프린터를 지칭하는 이름

이 됩니다. lpr -Plp 또는 lpr -PDeskjet500 또는 lpr -P"Oh my sexy printer" 이

렇게 사용하시면 됩니다. 마지막 이름에는 빈 칸이 있으므로 옵션 지정시에 따옴표

로 묶어주셔야겠죠?

그 다음으로 아셔야 할 사항은 콜론(:)의 사용입니다. 이는 앞으로 모든 셋팅을

서로 구분해주는 구분자(delimeter)의 역할을 합니다. <셋팅1>:<셋팅2>:<셋팅3>

이런 식으로 구분합니다. 꼭 콜론을 하나만 쓰란 법은 없고, 여러번 사용해도 괜찮

습니다. 그리고 프린터 정의를 여러 줄에 걸쳐 작성할 때는 \ 문자를 사용합니다.

이런 건 많이 보셨겠죠?

1. STRING_CAPABILITY

여기에 해당하는 것은 lp 옵션과 같이 프린터 포트명 등의 문자열을 지정하는 셋팅

을 말합니다. 문자열로 셋팅하는 경우에는 모두 lp=/dev/lp1 이런 식으로 = 문자를

써주시고 그 뒤에 문자열을 써주십시요.

2. NUMERIC_CAPABILITY

여기에 해당하는 것은 mx 옵션과 같이 프린트 작업의 크기를 블럭 숫자!로 나타내

는 경우입니다. 숫자와 관련된 것은 모두 mx#0 뭐 이런 식으로 # 문자 다음에 숫자

를 써줍니다.

□ 3. BOOLEAN_CAPABILITY

이것은 논리값에 해당하는 것으로서 그냥 써주면 True 안써주면 False 이므로,

그 셋팅을 써기만 하면 됩낟. sh 나 sf의 경우 그냥 :sh: 또는 :sf: 이런 식으로

말입니다.

뭐든지 실전이 중요하겠지요?

------------------------------------------------------------------------------

[ printcap 실전 ]

------------------------------------------------------------------------------

저의 HP 데스크젯 500 프린터를 가지고 설명드리기로 하겠습니다. 이 녀석은 텍스

트를 출력할 때 도스 스타일로 LF(Line Feed)와 CR(Carriage Return)을 둘 다 보내

주어야 다음 줄에서 정상적으로 찍힙니다. 그런데 Un*x 텍스트 문서는 오로지 LF

만을 가지고 있기 때문에 그냥 프린트하면 Carriage Return을 하지 않고 Line Feed

만 하므로 어떻게 되겠습니까? 다음과 같이 찍히게 됩니다.

I'm every woman.

It's all in me.

를 출력하면

I'm every woman.

It's all in me.

이걸 바로 "계단현상" (Staircase Effect)이라고 말합니다.

이 문제를 해결하기 위해서는 HP 프린터 더러 짜샤! 앞으로 LF는 몽땅 CR+LF로 생

각해! 라고 제어문자를 보내주면 됩니다. 이것이 첫번째 해결방법이지요. 하지만

이런 것이 들어먹지 않는 놈은 sed 등을 이용해서 각 줄마다 CR 문자를 강제로 넣

어서 출력하게 하는 겁니다. 이런 짓을 매번 프린트할 때마다 해준다는 것은 좀

문제가 있죠? 그래서 "필터(filter)"라는 개념이 있습니다. if 라는 셋팅에서 해줄

것인데, 필터라는 것는 lpr 프린팅에서 아주 중요한 개념입니다. if 필터를 지정해

주면 프린트 시작 전에 문서에 대한 적절한 사전작업과 가공작업을 해낼 수 있습니

다. 실제로 lpr 은 문서에 대한 적절한 처리를 하는 것이 아니라 적절한 처리를 할

수 있는 필터를 불러내서 쓰는 것에 불과하죠. 그 녀석은 프린팅 작업의 전체적인

관리인일 뿐입니다. 다른 노가다는 필터들이 합니다.

lp|Deskjet500:lp=/dev/lp1:\

:sd=/var/spool/lp1:\

:sh:\

:sf:\

:mx#0:\

:lf=/var/spool/lp1/HPLog:\

:if=/var/spool/lp1/LFasCRLF:

저는 여기서 아주 많이 쓰이는 몇 가지 셋팅에 대해서만 논하겠습니다.

자세한 것은 HOWTO 문서(Printing-HOWTO)를 참고하시기 바랍니다.

1. lp=/dev/lp1

lp 는 프린터 포트를 지정하는 것입니다. 여러분의 프린터는 대부분 병렬 포트에

물린 프린터겠죠? 시리얼 프린터는 여기서 설명을 생략합니다. 장치명은 /dev/lp0

/dev/lp1, /dev/lp2 이런 식으로 나갑니다. 어떤 프린터가 작동하는지는

cat README > /dev/lp1 이런 식으로 짧막한 문서를 cat 명령을 통해서 실험해보십

시요. 프린터가 작동하는 장치명이 바로 우리가 사용할 프린터 포트명입니다.

저는 /dev/lp1 이더군요.

아! 커널에서 패러렐 프린터 지원을 yes 로 하셨겠지요? :)

/dev/null로 하시면 어떤 일이 벌어질까요? 생각해보세요.

네트워크 프린터의 경우에는 포트라는 개념이 좀 이상하죠? lp= 이라고만 써주셔야

합니다. 자세한 것은 HOWTO 문서를 참고하세요. 중고등학생들을 위해서 누구 멋지

게 번역해주실 분 안계십니까?

2. sd=/var/spool/lp1

sd 는 Spool Directory, 스풀 디렉토리를 지정해주는 겁니다. lpr 에 의한 프린팅

은 당연히 멀티태스킹 하에서 작동하므로 스풀링을 합니다. 보통 /var/spool

디렉토리의 하부 디렉토리에 지정해줍니다. root 권한으로 적절한 디렉토리를 만들

어서 사용하세요. 그 디렉토리는 다음과 같은 사용자 권한을 갖게 만드세요.

사용자 root 그룹 daemon

사용자권한 chmod ug=rwx,o=rx 이런 식으로 말입니다.

3. sh

lpr 은 다중 사용자 환경에서 쓰이는 멋진 프린터 클라이언트입니다. 따라서 여러분

이 단일 사용자라 할 지라 할지라도 그런 걸 알 리가 있나요? 보통 한 사람의 작업

이 시작했음을 알리기 위해서 맨 첫 장은 그 사람의 계정명이 찍혀 나옵니다.

이런 일은 필요가 없겠지요? 바로 sh 즉 Suppress Header 라는 셋팅을 주시면

sh가 True 가 됩니다.

4. sf

프린팅 작업이 끝난 후 보통 FormFeed 를 함으로써 종이를 내보냅니다. 이런 일이

필요없다면 sf 즉 Suppress ForeFeed 를 설정하세요. 도트 프린터에서 유용하게

쓰이겠군요. 연속용지에서요.

5. mx#0

mx 셋팅은 스풀 데이타의 크기를 제한하는 겁니다. 0으로 지정하면 제한이 없어집

니다. 보통의 경우 그냥 0으로 해주십시요. 왜 스풀 데이타 크기를 제한하는지는

여러분이 생각해보세요. 1K 단위로 지정을 하는데, 만약 지정된 스풀 데이타보다

큰 경우가 발생하면 에러 메세지를 보내고 프린팅을 중지합니다.

6. lf=/var/spool/lp1/HPLog

프린팅에 대한 log 상황을 기록하는 화일입니다. 만약 그 화일을 만드시지 않으면

아무런 기록도 생기지 않습니다. 미리 만들어 주셔야 합니다.

7. 윽! 드디어 필터가!!! if=/var/spool/lp1/LFasCRLF

자, 이제 중요한 필터가 나왔습니다. 이 녀석이 중요한 일을 해주는 스크립트 화일

입니다. /var/spool/lp1/ 디렉토리에 LFasCRLF 라는 스크립트를 다음과 같이 작성

해주십시요.

#!/bin/sh

# Filter for HP printers to treat LF as CRLF

# the ``echo -ne'' assumes that /bin/sh is really bash

echo -ne \\033\&k2G

cat

echo -ne \\f

if 는 Input Filter라는 의미입니다. if 가 있는 경우에는 lpd 는 자료를 직접

프린터 포트에 전송하는 것이 아니라 요놈의 입력 필터를 실행시켜서 그 녀석에게

자료를 stdin 으로 보내줍니다. 그러면 필터는 stdin 으로부터의 입력에 대하여

적절한 처리를 한 후 그 자료를 stdout으로 보내줍니다. 아주 중요합니다. lpd는

필터에게 stdin으로 리다이렉트시켜주고 필터는 stdout으로 자료를 내보냅니다.

stdout으로 나오는 자료를 lpd가 포트에다 써주는 겁니다.

바보 도스에서는 리다이렉트 기능이 보잘 것 없지만, Un*x에서는 정말로 강력한

기능입니다. 비교가 안되지요.

위 필터는 cat 명령으로 자료를 stdout으로 보내기 전에 echo 명령을 통해서

stdout에다 프린터 제어 문자열을 보냅니다. 물론 HP 데스크젯이 알아듣는 제어 문

자열이겠지요?

앗! 스크립트는 물론 chmod를 이용하셔서 실행가능하게 만드셔야겠죠? :)

사용자 root, 그룹 daemon, 퍼미션은 -rwxrwxr-x 입니다.

이 필터를 어떻게 만드는가는 여러분의 상상력에 달려있습니다.

------------------------------------------------------------------------------

[ printcap 이용하여 Ghostview에서 낱장 PS 찍기 ]

------------------------------------------------------------------------------

다음과 같은 새로운 논리적 프린터 정의를 printcap에 추가해줍니다.

Deskjet|Ghostview Print|:lp=/dev/lp1:\

:sd=/var/spool/lp1:\

:lf=/var/spool/lp1/GhostviewPrintLog:\

:if=/var/spool/lp1/IF_for_ghostview:\

:mx#0:\

:sh:

IF_for_ghostview 스크립트의 내용은 다음과 같습니다.

#!/bin/sh

gs -q -dSAFER -sPAPERSIZE=a4 -dNOPAUSE -r300 -sDEVICE=djet500

-sOutputFile=- -

아주 간단하죠? 그냥 gs를 이용해서 찍는 것에 불과하죠. 모든 일은 사실 gs가 해

주는 거니까요. 다른 프린터 기종을 쓰시는 분들은 적절히 바꾸어주시면 됩니다.

-sDEVICE 부분을 바꾸어 주셔야겠죠? -q 와 -dNOPAUSE를 꼭 넣어주시고요.

중요!!! 필터는 lpd 에 의해 stdin으로부터 자료를 제공받습니다. 그리고는 stdout

으로 자료를 출력해주어야 합니다. 따라서 명령줄의 맨 마지막 줄의 - 는 아주

중요합니다. 그리고 -sOutputFile=- 또한 강제적입니다! :)

이렇게 하시고 나면 X 윈도우용 어플 고스트뷰에서 원하시는 페이지를 찍으실 수

있습니다. 원하는 페이지 한 장 또는 마크(Marked)한 페이지만 찍을 수 있는데,

File 메뉴의 Print marked pages... 뭐 이런 메뉴를 클릭하시면 프린터명을 물어

옵니다. 그 때 Deskjet 이라고 적어주세요. 그러면 지잉! 하고 멋진 포스트스크립

트 문서가 찍힐 겁니다.

-----------------------------------------------------------------------------

그럼 다음에 뵙겠습니다 ^^;

=샤론박(pey1)=

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 69번

제  목:[HOWTO] 리눅스가 지원하는 하드웨어(1)

올린이:pey1    (박은영  )    97/08/21 16:16    읽음:9014 관련자료 없음

-----------------------------------------------------------------------------

제  목 : [HOWTO] H/W Compatibility HOWTO (97.2)

올린이 : k2linux (엄기성  )

---------------------------------------------------------------------------

Linux Hardware Compatibility HOWTO

저      자 : Patrick Reijnen, <patrickr@bart.nl>

버      전 : 97. 2

최종수정일 : 1997년 6월 14일

번  역  자 : 엄기성 <nowlinux@soback.kornet.nm.kr>

이 문서는 리눅스(Linux)가 지원하는 하드웨어 일반에 대해서 나열하고

필요한 드라이버(driver)를 구하는 것을 도와준다.

0.  주의 및 경고

이 문서(Linux Hardware Compatibility HOWTO)의 내용 중  상당수가 지난

버전(v6969, 95년 11월 14일판)을 그대로 담고 있기에 많은  부분이 재검토

되어야 할 것이다. (특히 Video card의 경우 XFree86 3.3이 발표되었으므로

상당힌 많은 신제품들이 XFree86에서 추가로 지원되고 있다.)

그리고, 원문에 대한 번역으로 발생할 수 있는 어떠한  유,무형의 손실에

대해서도 번역자는 책임지지 않는다는 점에 대해서 유념하기 바란다.

1.  소개(Introduction)

1.1.  Welcome

"Linux Hardware Compatibility HOWTO"를 읽으려는 분들을 환영한다. 이

문서에서는 리눅스가 지원하는 하드웨어 대부분이 나열되어  있으므로 자세

히 읽고 난 다음 여러분의  리눅스 박스에 적합한 제품을 선택할  수 있다.

다음의 주소를 통해서 "Build Your Own PC" 사이트에 접속해 보라

<http://www.verinet.com/pc/>

"기타(Others)"라는 항목에서는 표준커널에 포함되어 있지 않는

드라이버나 알파, 베타 수준의 드라이버를 가지고 있는 하드웨어를

나열한다. 일부 드라이버의 경우 알파 버전의 커널(역자주: 소위 개발

자用 커널버전. 1.3.x나 2.1.x등 홀수 버전으로 구분)에만 있기 때문에

지원된다고 알려진 어떤 하드웨어를 당신의 리눅스 커널버전에서 찾

을 수 없는 경우, (커널)업그레이드를 하라.

이 문서의 가장 최신판을 구하려면 다음의 주소로 접속하면 된다.

<http://users.bart.nl/~patrickr/hardware-howto/Hardware-HOWTO.html>

또는 Sunsite나 기타 리눅스 미러 사이트를 이용하면 된다. (역자주:국내에

서는 sunsite를 미러링하는 http://sunsite.kren.nm.kr를 이용하는 것이 무

난하다.)

이 문서상에서 언급되지는 않았지만, 리눅스와 (비)호환되는 하드웨어

를 알고 있다면 저자에게 e-mail로 가르쳐 달라. 미리 감사드린다.

1.2.  저작권(Copyright)

표준LDP(Linux Documentation Project)저작권이 적용된다. 당신이  이 문

서나 기타 리눅스 HOWTO문서들을 상업적인  배포본(distribution)에서 사용

한다면 저자에게 제품의 복사 본을 무료로 보내는 것이 바람직할 것이다.

1.3.  시스템 구조(System architectures)

이 문서에서는 인텔 기반의 리눅스(i386이상)만을 다룬다. 그 밖의

h/w 플랫폼에 대해서는 다음을 참고하라.

-  ARM Linux

<http://whirligig.ecs.soton.ac.uk/~rmk92/armlinux.html>

-  Linux/68k

-  Linux/8086

<http://www.linux.org.uk/Linux8086.html>

-  Linux/Alpha

<http://www.azstarnet.com/~axplinux/>

-  Linux/MIPS

<http://www.fnet.fr/linux-mips/>

-  Linux/PowerPC

<http://www.linuxppc.org/>

-  Linux for Acorn

<http://www.ph.kcl.ac.uk/~amb/linux.html>

-  Linux for PowerMac

<http://ftp.sunet.se/pub/os/Linux/mklinux/mkarchive/info/index.html>

2.  컴퓨터/메인보드/바이오스(BIOS)

ISA, VLB, EISA, PCI 모두 지원된다.

PS/2와 MCA(Microchannel)버스는 표준 커널 2.0.7에서  지원한다. 커널

2.1.16과 그 이후의 버전에서 MCA를  지원하지만, 어느 정도 버그가  있다.

자세한 자료를 구하려면 Micro Channel Linux Home Page 를  접속해서 살펴

보라. <http://glycerine.itsmm.uni.edu/mca/>

2.1.  특정 컴퓨터 시스템

-  IBM PS/2 MCA systems

<ftp://ftp.dcrl.nd.edu/pub/misc/linux/>

3.  랩탑, 노트북

리눅스와 노트북에 관한 자료를 알아 보기 위해서, 다음의 사이트를 참고

할 것을 추천한다.

-  Linux Laptop Homepage

<http://www.cs.utexas.edu/users/kharker/linux-laptop/>

-  전원관리(Avanced Power Management)

<ftp://ftp.cs.unc.edu/pub/users/faith/linux/>

-  노트북의 배터리 상태

<ftp://sunsite.unc.edu/pub/Linux/system/power/>

-  비점멸 커서(non-blinking cursor)

<ftp://sunsite.unc.edu/pub/Linux/

kernel/patches/console/noblink-1.7.tar.gz>

-  기타 일반적인 정보

<ftp://tsx-11.mit.edu/pub/linux/packages/laptops/>

3.1.  특정 노트북 제품

-  Compaq Concerto (pen driver)

<http://www.cs.nmsu.edu/~pfeiffer/>

-  Compaq Contura Aero

<http://domen.uninett.no/~hta/linux/aero-faq.html>

-  IBM ThinkPad

<http://peipa.essex.ac.uk/tp-linux/tp-linux.html>

-  NEC Versa M and P

<http://www.santafe.edu:80/~nelson/versa-linux/>

-  Tadpole P1000

<http://www.tadpole.com/Support/linux.html>

-  Tadpole P1000 (another one)

-  TI TravelMate 4000M

<ftp://ftp.biomath.jussieu.fr/pub/linux/

TM4000M-mini-HOWTO.txt.Z>

-  TI TravelMate 5100

-  Toshiba Satellite Pro 400CDT

<http://terra.mpikg-teltow.mpg.de/~burger/T400CDT-Linux.html>

3.2.  PCMCIA(역자주 : 흔히 PC Card라고 부른다)

-  PCMCIA

<http://hyper.stanford.edu/~dhinds/pcmcia/>

최근의 PCMCIA  드라이버는 일반적인  PCMCIA  컨트롤러를 모두  지원한다.

Databook TCIC/2, Intel i82365SL, Cirrus PD67xx, Vadem  VG-468등을 포함

하고 있다. 일부 현대(Hyundai) 노트북에서 사용된 모토톨라의 6AHC05GA 컨

트롤러는 지원되지 않는다. 현재 리눅스에서 지원되는 PCMCIA제품의 리스트

가 부록 B에 나와 있다.

4.  CPU/FPU

Intel/AMD/Cyrix,386SX/DX/SL/DXL/SLC,486SX/DX/SL/SX2/DX2/DX4,Pentium.

(역자주: 686급인 Pentium Pro도 지원한다). 기본적으로는 i386이나 그

상위기종에서    리눅스는    작동한다.    수치연산    보조프로세서(math

coprocessor)가 없는 cpu를 위해서 리눅스 커널에서는  FPU(Floating Point

Unit)에뮬레이션을 지원한다.

실험적인 SMP(mutiple CPU)지원이 커널 1.3.31이후부터 포함되었다.

자세한 것은 Linux/SMP Project 홈페이지를 참고하라.

-  Linux/SMP Project

<http://www.linux.org.uk/SMP/title.html>

AMD 486DX CPU중 초기의 일부모델은 특정한 상황에서 문제를 일으킬

가능성이 있다. 최근의 칩들은 아무런 문제가 없으며 약간 오래되었다고 해

서 CPU교환을 고려할 필요는 없다.

ULSI Math*Co 제품군은 보호모드(protected-mode)를 지원하는 모든 OS

에서 "FSAVE"와 "FRSTOR"명령어 사용시 문제가 발생하는 버그를 가지고

있다. 일부 오래된 "IIT"와 "Cyrix"의 칩에서도 이러한 문제를 가지고 있을

기능성이 있다.

1.1.x대의 커널에서 TLB가 UMC U5S chips에서 flushing하는 경우 문제가

발생한다.

-  Cyrix cpu에서 cache 활성화(enable)

<ftp://sunsite.unc.edu/pub/Linux/kernel/patches/CxPatch030.tar.z>

-  Cyrix software cache 제어

<ftp://sunsite.unc.edu/pub/Linux/kernel/patches/linux.cxpatch>

-  Cyrix 5x86 CPU 레지스터 세팅

<ftp://sunsite.unc.edu/pub/Linux/kernel/patches/cx5x86mod_1.0c.tgz>

5. 비디오 카드(Video cards)

리눅스 환경의 텍스트 모드인 경우 모든 비디오 카드가 작동한다. 아래의

목록에서 빠져 있는 vga카드는 아마도 모노 VGA나 표준 vga  드라이버를 제

작하고 있는 것이다.

X를 사용하기 위한 저가형 그래픽 카드를 찾는다면 가속기능을 가진 제품

(ATI Mach, ET4000/W32p, S3)등이 그렇지 못하거나  부분적으로만 가속기능

을 가진 제품(Cirrus, WD)에 비해 상당히 빠르다는 점을 유념해야 한다.

S3 Trio64에 2메가 Dram을 장착한 제품은 US$868에서 구할 수 있으며 S3

868에 2메가 Dram 제품은 US$200에 구할 수 있다.(역자주: 이  가격은 현재

의 시점에서 전혀 맞지 않는 내용이라는 점에서 주의하라)

``32 bpp''란 32비트 경계로 구분한 24비트 컬러를 의마한다.  이는 해당

그래픽 카드가 32비트 컬러를 표현할 수 있다는 의미가 아니며 실제로는 24

비트 컬러(16,777,216)를 표현할 뿐이다. 24비트 압축  픽셀모드는 XFree86

에서 지원되지 않는다. 그래서 다른 OS(예컨대 윈95, OS/2)에서  24비트 컬

러와 고해상도를 지원하는 제품을 XFree86에서  사용할 수 없는 경우가  있

다. 이들 제품으로 Mach32, Cirrus 542x, S3 801/805/868/968, ET4000 등이

있다.

5.1  다이아몬드 비디오 카드(Diamond video cards)

최근의 다이아몬드 제품은 XFree86(3.3)에서 모두 지원된다. 초기의 다이

아몬드 제품은 공식적으로 XFree86에서  지원할 수 없었지만, 그런  제품을

작동할 수 있도록 도와주는 방법이 있다. 다이아몬드사는  현재 적극적으로

XFree86 프로젝트를 지원하고 있다.

5.2.  SVGALIB (콘솔상의 그래픽 처리)

-  VGA

-  EGA

-  ARK Logic ARK1000PV/2000PV

-  ATI VGA Wonder

-  ATI Mach32

-  Cirrus 542x, 543x

-  OAK OTI-037/67/77/87

-  S3 (limited support)

-  Trident TVGA8900/9000

-  Tseng ET3000/ET4000/W32

5.3.  XFree86 3.1.2

(역자 주 : XFree86 3.3이 발표되었으므로 아래의 내용은 무시해도 됨.)

5.3.1.  가속기능을 지원하는 제품

-  ATI Mach8

-  ATI Mach32 (16 bpp (모든 Mach32 cards제품이 지원되는 것은 아님))

-  ATI Mach64 (16/32 bpp (RAMDAC의 종류에 따라 지원여부 결정))

-  Cirrus Logic 5420, 542x/5430 (16 bpp), 5434 (16/32 bpp), 62x5

-  IBM 8514/A

-  IBM XGA, XGA-II

-  IIT AGX-010/014/015/016 (16 bpp)

-  Oak OTI-087

-  S3 911, 924, 801, 805, 928, 864, 964, Trio32, Trio64, 868, 968

-  부록 A에서 지원되는 S3 제품의 목록을 살펴보라.

-  Tseng ET4000/W32/W32i/W32p

-  Weitek P9000 (16/32 bpp)

-  Diamond Viper VLB/PCI

-  Orchid P9000

-  Western Digital WD90C31/33

5.3.2.  가속기능이 지원되지 않는 제품

-  ARK Logic ARK1000PV/VL, ARK2000PV

-  ATI VGA Wonder 제품군

-  Avance Logic AL2101/2228/2301/2302/2308/2401

-  Chips & Technologies 65520/65530/65540/65545

-  Cirrus Logic 6420/6440

-  Compaq AVGA

-  Genoa GVGA

-  MCGA (320x200)

-  MX MX68000/MX68010

-  NCR 77C22, 77C22E, 77C22E+

-  Oak OTI-067, OTI-077

-  RealTek RTG3106

-  Trident TVGA8800, TVGA8900, TVGA9xxx (TGUI는 지원 안 됨)

-  Tseng ET3000, ET4000AX

-  VGA (standard VGA, 4 bit, slow)

-  Video 7 / Headland Technologies HT216-32

-  Western Digital/Paradise PVGA1, WD90C00/10/11/24/30/31/33

5.3.3.  Monochrome

-  Hercules mono

-  Hyundai HGC-1280

-  Sigma LaserView PLUS

-  VGA mono

5.3.4.  기타

-  EGA (ancient, from c. 1992)

<ftp://ftp.funet.fi/pub/Linux/BETA/Xega/>

5.3.5.  지원 작업 중(Works in progress)

-  Compaq QVision

-  Number Nine Imagine 128

이들 제품에 대한 지원이 언제 끝날 것인가에 대해서 전혀  알 수 없으므

로 질문하지 말라. 이들 제품에 즉시 지원받기를 원한다면 Accelerated-X를

구입하라.

5.4   상용 엑스 서버(Commercial X servers)

상용 엑스  서버들은  XFree86에서 지원하지   못하는 제품도  지원하며,

XFree86에서 지원하는 제품이라도 (상대적으로)  높은 성능을 제공할  것이

다. 일반적으로 XFree86에 비해 상용 서버들은 보다 많은 제품을 지원한다.

그러므로 XFree86에서 지원되지 않는 제품만을 나열하겠다.  자세한 정보를

원하면 판매업자에게 문의하거나 Commercial HOWTO를 참고하라.

5.4.1.  Accelerated-X 1.2

-  Chips & Technologies 82C45x, 82C48x, F655xx

-  Compaq QVision 2000

-  Matrox MGA, Millenium

-  Number Nine I-128 / I-128 Pro

-  Weitek P9100

X Inside, Inc. <info@xinside.com>

Accel-X는  16bpp, 32bpp를 지원하며 24비트 압축 픽셀 모드를 지원한다.

ATI Mach32, Mach64 (1280x1024@24bpp), ET4000/W32p,S3-866/868/968  등의

제품들이 여기에 속한다. 또한 graphics tablet이나 터치스크린  등의 입력

하드웨어를 지원한다.

Accel-X는 XVideo(Xv) 확장안 (Matrox Comet, Marvel-II,  SPEA ShowTime

Plus), PEX, XIE를 지원한다.

5.4.2.  Metro-X 2.3

Metro Link <sales@metrolink.com>

Metro-X는 Accel-X에는 못 미치지만 XFree86보다 많은  제품을 지원한다.

자세한 정보를 모르기 때문에 그들(Metro-X 판매업자)에게 직접 문의하라.

6.  제어기 (하드디스크)

리눅스는 표준 IDE, MFM, RLL 제어기를 지원한다. MFM/RLL 제어기를 사용

하는 경우, 디스크 포맷시 ext2fs을 선택하고 배드 블록 검사에  대한 옵션

을 반드시 선택해야 한다.

EIDE(확장 IDE;Enhanced IDE)도 지원된다. 2개의 IDE인터페이스와 최대 4

개의 HDD/CD-ROM을 리눅스에서 인식한다.

-  CMD-640

-  DTC 2278D

-  FGI/Holtek HT-6560B

-  RZ1000

-  Triton (82371FB) IDE (with busmaster DMA)

ST-506을 에뮬레이트하는 ESDI 제어기도 리눅스에서  작동한다. 마찬가지

로 배드 블록 검사에 대한 옵션을 사용해야 한다.

표준 8비트 XT 제어기도 작동한다. :)

7.  Controllers (SCSI)

SCSI 제어기를 신중하게 선택해야 한다. 많은 저가형 ISA  제품은 CD-ROM

연결만을 위해서 설계되었다. 이들 저가형 제품은 IDE에 비해 나은 점이 전

혀 없다. SCSI HOWTO를 읽어 본 다음 SCSI 제품을 구입하기 전에 효율성 값

을 살펴보라.

7.1.  지원

-  AMI Fast Disk VLB/EISA (BusLogic 호환)

-  Adaptec AVA-1505/1515 (ISA) (Adaptec 152x 호환)

-  Adaptec AHA-1510/152x (ISA) (AIC-6260/6360)

-  Adaptec AHA-154x (ISA) (모든 제품)

-  Adaptec AHA-174x (EISA) (enhanced mode)

-  Adaptec AHA-274x (EISA) / 284x (VLB) (AIC-7770)

-  Adaptec AHA-2940/3940 (PCI) (AIC-7870) (커널 1.3.6부터 지원)

-  Always IN2000

-  BusLogic (ISA/EISA/VLB/PCI) (전 제품)

-  DPT PM2001, PM2012A (EATA-PIO)

-  DPT Smartcache (EATA-DMA) (ISA/EISA/PCI) (전 제품)

-  DTC 329x (EISA) (Adaptec 154x 호환)

-  Future Domain TMC-16x0, TMC-3260 (PCI)

-  Future Domain TMC-8xx, TMC-950

-  Media Vision Pro Audio Spectrum 16 SCSI (ISA)

-  NCR 5380 generic cards

-  NCR 53c400 (Trantor T130B) (일반적인 NCR 5380 SCSI 지원)

-  NCR 53c406a (Acculogic ISApport / Media Vision Premium 3D SCSI)

-  NCR 53c7x0, 53c8x0 (PCI)

-  Qlogic / Control Concepts SCSI/IDE (FAS408) (ISA/VLB)

-  Seagate ST-01/ST-02 (ISA)

-  SoundBlaster 16 SCSI-2 (Adaptec 152x 호환) (ISA)

-  Trantor T128/T128F/T228 (ISA)

-  UltraStor 14F (ISA), 24F (EISA), 34F (VLB)

-  Western Digital WD7000 SCSI

7.2.  기타

-  AMD AM53C974, AM79C974 (PCI) (Compaq, HP, Zeos onboard SCSI)

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/scsi/AM53C974-0.3.tgz>

-  Adaptec ACB-40xx SCSI-MFM/RLL bridgeboard

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/scsi/adaptec-40XX.tar.gz>

-  Always Technologies AL-500

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/scsi/al500-0.2.tar.gz>

-  BusLogic (ISA/EISA/VLB/PCI) (new beta driver)

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/scsi/BusLogic-1.3.0.tar.gz>

-  Iomega PC2/2B

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/scsi/iomega_pc2-1.1.x.tar.gz>

-  Qlogic (ISP1020) (PCI)

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/scsi/isp1020-0.5.gz>

-  Ricoh GSI-8

<ftp://tsx-11.mit.edu/pub/linux/ALPHA/scsi/gsi8.tar.gz>

7.3.  非지원

-  병렬포트(Parallel port)로 연결하는 SCSI 장치들

-  Adaptec과 호환되지 못하는 DTC 제품(327x, 328x)

8.  입/출력 제어기 (I/O)

리눅스는 표준 직렬(serial)/병렬(parallel)/조이스틱/콤보카드를 지원한

다. 8250, 16450, 16550과 16550A UART를 지원한다.非표준 IRQ (irq > 9)를

지원하는 제품도 사용할 수 있다.

Martin S. Michael이 쓴 National 반도체의 ``Application Note AN-493''

를 참고하라.(역자 주: 이 내용은 최근의 I/O가 내장된 Pentium급 보드와는

상관없는 내용이다.) 제 5장에서는 "NS16550"과 "NS16550A"의  차이점을 상

세하게 설명하고 있다. 간단히 설명하면 NS16550은 FIFO 회로에  버그를 가

지고 있으나 NS16550A (그리고 그 이후의 제품들)칩에서 이  버그가 수정되

었다. 그러나, National사가 생산한 NS16550이 극히 적으며 많은 시간이 지

났기 때문에 발견하기란 아주 드문 일이다. 대개의 경우 아주  오래된 40핀

DIP National NS16550을 가지고 있지 않다면 무시해도  된다. (운나쁘게도)

오래된 제품에서 이를 만나는 경우 16550A가 아닌 16450으로 설정해서 사용

하라. - Zhahai Stewart <zstewart@hisys.com>

9.  제어기 (multiport)

9.1.  비지능형(Non-intelligent) 제품

9.1.1.  지원

-  AST FourPort and clones (4 port)

-  Accent Async-4 (4 port)

-  Arnet Multiport-8 (8 port)

-  Bell Technologies HUB6 (6 port)

-  Boca BB-1004, 1008 (4, 8 port) - no DTR, DSR, and CD

-  Boca BB-2016 (16 port)

-  Boca IO/AT66 (6 port)

-  Boca IO 2by4 (4 serial / 2 parallel, uses 5 IRQ's)

-  Computone ValuePort (4, 6, 8 port) (AST FourPort compatible)

-  DigiBoard PC/X (4, 8, 16 port)

-  Comtrol Hostess 550 (4, 8 port)

-  PC-COMM 4-port (4 port)

-  SIIG I/O Expander 4S (4 port, uses 4 IRQ's)

-  STB 4-COM (4 port)

-  Twincom ACI/550

-  Usenet Serial Board II (4 port)

非지능형 카드는 두가지 유형으로 구분된다. 첫 번째는 4개의 IRQ를 사용

하며 표준 com 포트 주소를  사용하는 제품이며 또 하나는  AST FourPort와

호환되면서 선택가능한 주소블록을 사용하며  단일 IRQ를 사용하는  제품이

다. 주소(address)와 IRQ번호는 setserial으로 설정된다) 만약 이들 제품중

한가지를 구하려 한다면 어떤 표준을 따르는 것인지 확인하라. 가격은 중요

하지 않다.

9.2.  지능형(Intelligent) 제품

9.2.1.  지원

-  Cyclades Cyclom-8Y/16Y (8, 16 port) (ISA/PCI)

-  Stallion EasyIO (ISA) / EasyConnection 8/32 (ISA/MCA)

-  Stallion EasyConnection 8/64 / ONboard (ISA/EISA/MCA) / Brumby /

Stallion (ISA)

9.2.2.  기타

-  Comtrol RocketPort (8/16/32 port)

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/serial/comtrol-1.04.tar.gz>

-  Computone IntelliPort II (4/8/16 port)

Michael H. Warfield <mhw@wittsend.atl.ga.us>에게 연락하라

-  DigiBoard COM/Xi

Simon Park <si@wimpol.demon.co.uk>에게 연락하라

-  DigiBoard PC/Xe (ISA) and PC/Xi (EISA)

<ftp://ftp.digibd.com/drivers/linux/>

-  Hayes ESP8

Dennis Boylan <dennis@lan.com>에게 연락하라

-  Moxa C102, C104, C168, C218 (8 port),

C320 (8/16/24/32 expandable)

C320T

<ftp://ftp.moxa.com.tw/drivers/linux/>

-  Specialix SIO/XIO (modular, 4 to 32 ports)

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/serial/sidrv.taz>

10.  네트웍 어댑터(Network adapters)

이더넷 어댑터(Ethernet adapter)는 성능에 따라 아주 다양하다. 일반적으로 신제

품일수록 쓸만하다. 3Com 3C501 등의 아주 오래된 제품은 개당 5달러씩 싼 맛에 쓸

때 유용하다. 호환제품을 구입할 때 신중하라. 일부 제품은 쓸모가 없으며 나쁜 제

품은 리눅스에서 erratic lockup을 일으킨다. 다양한 제품에 대해서 상세한 설명을

원한다면 Ethernet HOWTO를 참고하라.

10.1.  지원

10.1.1.  이더넷(Ethernet)

-  3Com 3C501 - 절대 피할 것(``avoid like the plague'')

-  3Com 3C503, 3C505, 3C507, 3C509/3C509B (ISA) / 3C579 (EISA)

-  AMD LANCE (79C960) / PCnet-ISA/PCI (AT1500, HP J2405A,

NE1500/NE2100)

-  AT&T GIS WaveLAN

-  Allied Telesis AT1700

-  Ansel Communications AC3200 EISA

-  Apricot Xen-II

-  Cabletron E21xx

-  DEC DE425 (EISA) / DE434/DE435 (PCI)

-  DEC DEPCA and EtherWORKS

-  HP PCLAN (27245 and 27xxx series)

-  HP PCLAN PLUS (27247B and 27252A)

-  HP 10/100VG PCLAN (ISA/EISA/PCI)

-  Intel EtherExpress

-  Intel EtherExpress Pro

-  NE2000/NE1000 호환기종이 많으므로 주의 바람.

-  New Media Ethernet

-  Racal-Interlan NI5210 (i82586 Ethernet chip)

-  Racal-Interlan NI6510 (am7990 lance chip)

16메가 이상의 램에서 사용할 수 없다.

-  PureData PDUC8028, PDI8023

-  SEEQ 8005

-  SMC Ultra

-  Schneider & Koch G16

-  Western Digital WD80x3

-  Zenith Z-Note / IBM ThinkPad 300 built-in adapter

10.1.2.  소형 및 이동형 어댑터(Pocket and portable adapters)

-  AT-Lan-Tec/RealTek 병렬포트 어댑터(parallel port adapter)

-  D-Link DE600/DE620 병렬포트 어댑터(parallel port adapter)

10.1.3.  슬롯(slot)이 필요 없는 제품

-  SLIP/CSLIP/PPP (직렬 포트)

-  EQL (serial IP에서 발생하는 부하(load)의 적절한 조절(balancing))

-  PLIP (parallel port) - ``LapLink cable''이나 양방향 케이블을 이용

10.1.4.  접속자원 컴퓨터 네트워크 (Attached Resource Computer Net.)

-  모든 ARCnet cards가 작동한다.

10.1.5.  Token Ring

-  IBM Tropic chipset cards

10.1.6.  Amateur radio (AX.25)

-  Ottawa PI/PI2

-  8530에 기반한 대부분의 HDLC board

10.2.  기타

10.2.1.  이더넷

-  3Com Etherlink III Vortex Ethercards (3C590, 3c592, 3C595, 3c597)

(PCI)

3Com Etherlink XL Boomerang Ethercards (3c900, 3c905) (PCI)

3Com Fast EtherLink Ethercard (3c515) (ISA)

<http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html>

-  DEC 21040/21041/21140/21142 ``Tulip'' / SMC PCI EtherPower 10/100

<http://cesdis.gsfc.nasa.gov/linux/drivers/tulip.html>

-  HP J2585 (PCI) / HP J2573 (ISA) (ATT2MDx1 / 100VG)

<http://cesdis1.gsfc.nasa.gov:80/linux/drivers/100vg.html>

10.2.2.  ISDN(Integrated Services Digital Network)

-  Linux ISDN WWW page

<http://www.ix.de/ix/linux/linux-isdn.html>

-  3Com Sonix Arpeggio

<ftp://sunsite.unc.edu/pub/Linux/kernel/patches/network/sonix.tgz>

-  Combinet EVERYWARE 1000 ISDN

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/network/combinet1000isdn-1.02.tar.gz>

-  ICN ISDN / Teles ISDN / Creatix AVM ISDN cards

<ftp://ftp.franken.de/pub/isdn4linux/>

ISDN 카드는 표준 모뎀(modem)이나 일반 이더넷 어뎁터를 에뮬레이트하므

로 별도의 드라이버가 필요하지 않다.

10.2.3.  PCMCIA 카드(PC 카드)

-  부록 B의 지원 목록을 확인하라.

10.2.4.  ATM

-  Efficient Networks ENI155P-MF 155 Mbps ATM adapter (PCI)

<http://lrcwww.epfl.ch/linux-atm/>

10.2.5.  Frame Relay

-  Sangoma S502 56K Frame Relay card

<ftp://ftp.sovereign.org/pub/wan/fr/>

10.2.6.  무선통신(Wireless)

-  Proxim RangeLan2 7100 (ISA) / 630x (OEM mini-ISA)

<http://www.komacke.com/distribution.html>

10.3.  非지원

-  Xircom사의 PCMCIA/병렬포트용 어댑터는 지원되지 않는다.

11.  음악카드(Sound cards)

11.1.  지원

-  6850 UART MIDI

-  Adlib (OPL2)

-  Audio Excell DSP16

-  Aztech Sound Galaxy NX Pro

-  Crystal CS4232 (PnP) based cards

-  ECHO-PSS cards (Orchid SoundWave32, Cardinal DSP16)

-  Ensoniq SoundScape

-  Gravis Ultrasound

-  Gravis Ultrasound 16-bit sampling daughterboard

-  Gravis Ultrasound MAX

-  Logitech SoundMan Games (SBPro, 44kHz stereo support)

-  Logitech SoundMan Wave (Jazz16/OPL4)

-  Logitech SoundMan 16 (PAS-16 compatible)

-  MPU-401 MIDI

-  MediaTriX AudioTriX Pro

-  Media Vision Premium 3D (Jazz16)

-  Media Vision Pro Sonic 16 (Jazz)

-  Media Vision Pro Audio Spectrum 16

-  Microsoft Sound System (AD1848)

-  OAK OTI-601D cards (Mozart)

-  OPTi 82C928/82C929 cards (MAD16/MAD16 Pro)

-  Sound Blaster

-  Sound Blaster Pro

-  Sound Blaster 16

-  Turtle Beach Wavefront cards (Maui, Tropez)

-  Wave Blaster와 기타 도터(daughter) 보드

11.2.  기타

-  MPU-401 MIDI (지능형 mode)

<ftp://sunsite.unc.edu/pub/Linux/kernel/sound/mpu401-0.2.tar.gz>

-  PC speaker / 병렬포트 DAC

<ftp://ftp.informatik.hu-berlin.de/pub/os/linux/hu-sound/>

-  Turtle Beach MultiSound/Tahiti/Monterey

<ftp://ftp.cs.colorado.edu/users/

mccreary/archive/tbeach/multisound/>

11.3.  非지원

사운드 블래스터 16시리즈와 AWE32의 ASP 칩은 지원되지 않는다. AWE32의

보드상에 장착된 E-mu MIDI synthesizer도 지원되지 않는다.

Nathan Laredo <laredo@gnu.ai.mit.edu>에게 연구용으로 AWE32 제품을 하

나 보낸다면 그는 AWE32 드라이버를 작성할 것이다. 그는 또한 당신이 가지

고 있는 하드웨어중 어떤 한 가지를 무료로 보내 준다면  기꺼이 그 제품의

드라이버를 작성할 것이다.

사운드 블래스터 16중 DSP 4.11과 4.12를 장착한 제품은 미디화일 재생과

디지털 오디오를 동시에 재생하는  경우 죽거나/멈춰 버리는  하드웨어상의

버그를 가지고 있다. 이 문제는 웨이브 블래스터 도터보드를 장착하거나 미

디 포트에 미디 장비를 장착한 경우에도 발생할 수 있다. 현재까지 이 버그

는 수정되지 않았다.

12.  하드디스크(Hard drives)

제어기(Controller)가 지원된다면 모든 HDD는 작동한다.

(SCSI HOWTO에서 인용) 블록의 크기가 256,512, 1024바이트를  가진 직접

접근(direct access)이 가능한 SCSI 제품은 리눅스에서 작동한다.  그 밖의

블록 사이즈인 경우 작동하지 않을  것이다. (이런 경우 MODE  SELECT SCSI

명령을 이용하면 블록이나 섹터 사이즈를 변경해서 문제를 해결할 수 있다)

고용량 IDE (EIDE) HDD는 신버전의 커널에서 잘 작동한다. 부트 파티션은

PC의 바이오스(BIOS)가 가진 한계 때문에 첫 1024 실린더 이내에 놓여 있어

야 한다.

일부 코너 CFP1060S 하드디스크는 리눅스에서 ext2fs로 사용할 때 문제를

일으킬 수 있다. 이 증상으로 e2fsck 사용할 때 inode  에러를 표시하며 화

일시스템에 손상을 입힌다.

코너사에서는 이 문제를  해결하기 위해 업그레이된  펌웨어(firmware)를

내놓았다. 1-800-4CONNER (US)나 +44-1294-315333(유럽)으로 문의하라.  전

화를 걸 때 HDD표면에 적힌  마이크로코드 버전(예. 9WA1.6X)를 손에  쥐고

있도록.

특정 마이크로폴리스(Micropolis)제품은 Adaptec과 Buslogic카드와  함께

사용할 때, 문제를 일으킨다. 문제라고 생각되면 판매업자에게 문의하여 펌

웨어를 업그레이드하라.

-  Multiple device driver (RAID-0, RAID-1)

<ftp://sweet-smoke.ufr-info-p7.ibp.fr/public/Linux/>

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 70번

제  목:[HOWTO] 리눅스가 지원하는 하드웨어(2)

올린이:pey1    (박은영  )    97/08/21 16:35    읽음:4881 관련자료 없음

-----------------------------------------------------------------------------

13.  테이프 드라이브(Tape drives)

13.1.  지원

-  SCSI tape 드라이브

(SCSI HOWTO에서 인용) 블록의 길이가 고정형 또는  변동형이냐에 상관없

이 드라이브의 버퍼크기보다 적은 블록인 경우(배포본 소스에서는 32k로 설

정)지원된다. 가상적으로 모든  드라이브가 지원된다. (非호환되는  제품을

알고 있다면 메일을 보내주기 바란다)

-  QIC-02 drives

13.2.  기타

-  QIC-117, QIC-40/80, QIC-3010/3020 (QIC-WIDE) drives

FDD 제어기를 이용하는 대부분의 테입 드라이브가 작동한다. 다양한 전용

제어기들(Colorado FC-10/FC-20, Mountain Mach-2,Iomega Tape  Controller

II)도 지원된다.

<ftp://sunsite.unc.edu/pub/Linux/kernel/tapes>

13.3.  非지원

-  Emerald and Tecmar QIC-02 tape controller cards - Chris Ulrich

<insom@math.ucr.edu>

-  병렬포트에 연결하는 드라이브들 (예: Colorado Trakker)

-  일부 고속 테입 드라이브 제어기 (Colorado TC-15)

-  Irwin AX250L/Accutrak 250 (not QIC-80)

-  IBM Internal Tape Backup Unit (not QIC-80)

-  COREtape Light

14.  CD-ROM 드라이브

14.1.  지원

-  SCSI CD-ROM 드라이브

(CD-ROM HOWTO에서 인용)  블록 크기가  512 또는  2048을 가진  모든

SCSI CD-ROM 드라이브는 리눅스에서  잘 작동한다. 즉, 시장에서  판매되는

수많은 종류의 CD-ROM 드라이브가 포함된다.

-  EIDE (ATAPI) CD-ROM drives

-  Aztech CDA268, Orchid CDS-3110, Okano/Wearnes CDD-110, Conrad TXC

-  GoldStar R420

-  LMS Philips CM 206

-  Matsushita/Panasonic, Creative Labs, Longshine, Kotobuki (SBPCD)

-  Mitsumi

-  Optics Storage Dolphin 8000AT

-  Sanyo H94A

-  Sony CDU31A/CDU33A

-  Sony CDU-535/CDU-531

-  Teac CD-55A SuperQuad

14.2.  기타

-  LMS/Philips CM 205/225/202

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/cdrom/lmscd0.4.tar.gz>

-  Mitsumi FX001D/F (alternate drivers)

<ftp://ftp.gwdg.de/pub/linux/cdrom/drivers/mitsumi-mcdx>

-  NEC CDR-35D (old)

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/cdrom/linux-neccdr35d.patch>

-  Sony SCSI multisession CD-XA

<ftp://tsx-11.mit.edu/pub/linux/patches/sony-multi-0.00.tar.gz>

14.3.  참고사항

PhotoCD (XA)가 지원된다.

자료를 읽을 때, 모든 CD-ROM 드라이브는 비슷한 과정을  수행한다. 오디

오 CD 재생 프로그램을 이용하여 음악 CD를 재생할 때  몇가지 호환성 문제

가 있다. (특히 최근의 저가형 NEC 제품) 일부 알파 버전의 드라이버에서는

오디오 CD지원이 빠져 있다.

초기의 (1배속) NEC CD-ROM 드라이브는 요즘 사용되는 SCSI  어댑터와 연

결하면 문제가 발생할 수도 있다.

15.  Removable drives

제어기가 지원된다면 모든 SCSI제품  - MO, WORM, floptical,  베르누이,

Zip, SyQuest, PD 등 - 이 지원된다.

-  병렬포트 zip 드라이브

<ftp://gear.torque.net/pub/>

"Removable drive"는 플로피 디스크와 비슷하게  작동한다. fdisk/mkfs를

사용하고 디스크를  마운트하면 된다.  드라이브가 지원한다면  리눅스에서

s/w 잠금 기능을 제공한다.  "mtools"는 디스크가 MS-DOS로 포맷되어  있을

때 사용할 수 있다.

CD-R 드라이브를 사용하려면 별도의 S/W가 필요하다. CD-R  미니 HOWTO를

참고하라.

리눅스에서 512, 1024바이트/섹터가 지원된다.

16.  마우스

16.1.  지원

-  Microsoft serial mouse

-  Mouse Systems serial mouse

-  Logitech Mouseman serial mouse

-  Logitech serial mouse

-  ATI XL Inport busmouse

-  C&T 82C710 (QuickPort) (Toshiba, TI Travelmate)

-  Microsoft busmouse

-  Logitech busmouse

-  PS/2 (auxiliary device) mouse

16.2.  Others

-  세진 J-mouse

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/console/jmouse.1.1.70-jmouse.tar.gz>

-  MultiMouse - 여러개의 마우스 장치를 단일 마우스로 사용

<ftp://sunsite.unc.edu/pub/Linux/system/misc/MultiMouse-1.0.tgz>

16.3.  참고사랑

Alps Glidepoint 등의 터치패드 장치는 다른 마우스 프로토콜과 호환된다

면 지원된다.

최신의 로지텍 마우스(Mouseman은 제외)는 Microsoft  프로토콜을 사용하

며 3버튼 모두 사용할 수 있다. Microsof의 마우스 제품이  2버튼만 가지고

있지만 프로토콜에서는 3버튼을 사용할 수 있다.

ATI Graphics Ultra와 Ultra Pro의 마우스 포트는 로지텍  버스마우스 프

로토콜을 사용한다. (자세한 것은 Busmouse-HOWTO를 참고하라)

17.  모뎀

모든 내장형 또는 외장형 모뎀은 직렬(serial) 포트에 연결되어 있다. 극

소수의 모뎀은 실행시 제어프로그램을 다운로드 받는  도스프로그램을 포함

하고 있다. 이런 제품은 IBM-PC가 아닌 환경에서 사용할 경우  절대 피해야

한다. 모든 PCMCIA 모뎀은 PCMCIA드라이버를 이용하여 사용할 수 있다.

팩스 모뎀은 적절한 팩스프로그램을 이용하여 사용해야 한다.

-  Digicom Connection 96+/14.4+ - DSP code downloading program

<ftp://sunsite.unc.edu/pub/Linux/system/serial/

smdl-linux.1.02.tar.gz>

-  ZyXEL U-1496 series - ZyXEL 1.4, modem/fax/voice control program

<ftp://sunsite.unc.edu/pub/Linux/system/serial/ZyXEL-1.5.tar.gz>

18.  프린터/플로터

병렬포트/직렬포트에 연결된 모든 프린터와 플로터가 작동한다.

-  HP LaserJet 4 series - free-lj4, printing modes control program

<ftp://sunsite.unc.edu/pub/Linux/system/printing/

free-lj4-1.1p1.tar.gz>

-  BiTronics parallel port interface

<ftp://sunsite.unc.edu/pub/Linux/kernel/patches/misc/

bt-ALPHA-0.0.1.module.patch.gz>

18.1.  고스트스크립트(Ghostscript)

많은 리눅스 프로그램들은 PostScript(이하 PS)화일로 출력한다. PS 프린

터가 아닌 프린터는 Ghostscript를 이용하여 PS 레벨 2를 에뮬레이트 할 수

있다.

-  Ghostscript

<ftp://ftp.cs.wisc.edu/pub/ghost/aladdin/>

18.1.1.  Ghostscript를 지원하는 프린터

-  Apple Imagewriter

-  C. Itoh M8510

-  Canon BubbleJet BJ10e, BJ200

-  Canon LBP-8II, LIPS III

-  DEC LA50/70/75/75plus

-  DEC LN03, LJ250

-  Epson 9 pin, 24 pin, LQ series, Stylus, AP3250

-  HP 2563B

-  HP DesignJet 650C

-  HP DeskJet/Plus/500

-  HP DeskJet 500C/520C/550C/850C/1200C color

-  HP LaserJet/Plus/II/III/4

-  HP PaintJet/XL/XL300 color

-  IBM Jetprinter color

-  IBM Proprinter

-  Imagen ImPress

-  Mitsubishi CP50 color

-  NEC P6/P6+/P60

-  Okidata MicroLine 182

-  Ricoh 4081

-  SPARCprinter

-  StarJet 48 inkjet printer

-  Tektronix 4693d color 2/4/8 bit

-  Tektronix 4695/4696 inkjet plotter

-  Xerox XES printers (2700, 3700, 4045, etc.)

18.1.2.  기타

-  Canon BJC600/800 color printers

<ftp://petole.imag.fr/pub/postscript/ghostscript/bjc600/>

19.  스캐너

-  A4 Tech AC 4096 / AS 8000P

<ftp://ftp.informatik.hu-berlin.de/pub

/local/linux/a4scan/a4scan.tgz>

-  Epson GT6000

<ftp://sunsite.unc.edu/pub/Linux/apps/

graphics/capture/ppic0.5.tar.gz>

-  Fujitsu SCSI-2 scanners

Dr. G.W. Wettstein <greg%wind.UUCP@plains.nodak.edu>에게 문의하라

-  Genius GS-B105G

<ftp://tsx-11.mit.edu/pub/linux/ALPHA/scanner/gs105-0.0.1.tar.gz>

-  Genius GeniScan GS4500 handheld scanner

<ftp://tsx-11.mit.edu/pub/linux/ALPHA/scanner/gs4500-2.0.tar.gz>

-  HP ScanJet II series SCSI

<ftp://sunsite.unc.edu/pub/Linux/apps/

graphics/capture/hpscanpbm-0.3a.tar.gz>

-  HP ScanJet IIc, IIcx, IIp, 3c, 4c, 4p, 5p, 5pse, plus

<http://www.tummy.com/xvscan/>

-  Logitech Scanman 32 / 256

<ftp://tsx-11.mit.edu/pub/linux/ALPHA/

scanner/logiscan-0.0.4.tar.gz>

-  Mustek M105 handheld scanner with GI1904 interface

<ftp://tsx-11.mit.edu/pub/linux/ALPHA/

scanner/scan-driver-0.1.8.tar.gz>

-  Mustek Paragon 6000CX

<ftp://sunsite.unc.edu/pub/Linux/apps/

graphics/capture/muscan-2.0.6.taz>

-  Nikon Coolscan SCSI 35mm film scanner

<ftp://sunsite.unc.edu/pub/Linux/apps/

graphics/capture/coolscan-0.2.tgz>

-  UMAX SCSI scanners

Craig Johnston <mkshenk@u.washington.edu>에게 문의하라

20.  기타 하드웨어

20.1.  VESA 전력 절약 프로토콜 (DPMS) 모니터

리눅스 커널에 전력 절약에 관한 지원이 포함되었다. 사용하려면 setterm

을 이용하라.

20.2.  조이스틱(Joysticks)

-  Joystick driver

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/console/joystick-0.8.0.tgz>

-  Joystick driver (module)

<ftp://sunsite.unc.edu/pub/Linux/kernel/

patches/console/joyfixed.tgz>

20.3.  화상 캡쳐 보드 / Frame Grabbers

-  Data Translation DT 2851 Frame Grabber

<ftp://sunsite.unc.edu/pub/Linux/apps/video/dt2851-2.01.tar.gz>

-  Data Translation 3155

<http://krusty.eecs.umich.edu/people/ncowan/linux/welcome.html>

-  Diamond DTV2000 (based on BT848)

-  Dipix XPG1000/FPG

<http://www.thp.Uni-Koeln.DE/~rjkm/linux/bttv.html>

-  Epix Silicon Video MUX series of video frame grabbing boards

<http://www.ssc.com/lj/issue13/npc13c.html>

-  FAST Screen Machine II

<ftp://sunsite.unc.edu/pub/Linux/apps/

video/ScreenMachineII.2.0.tgz>

-  Hauppage Wincast TV PCI (based on BT848)

<http://www.thp.Uni-Koeln.DE/~rjkm/linux/bttv.html>

-  ImageNation Cortex I

<ftp://sunsite.unc.edu/pub/Linux/apps/video/cortex.drv.1.1.tgz>

-  ImageNation CX100

<ftp://sunsite.unc.edu/pub/Linux/apps/video/cxdrv-0.86.tar.gz>

-  ImageNation PX500 (현재 작업중) rubini@linux.it에게 문의하라.

-  Imaging Technology Inc. IC-PCI frame grabber board

<ftp://gandalf.expmech.ing.tu-bs.de/pub/driver

/icpci-0.2.0.tar.gz>

-  Matrox Meteor

<ftp://sunsite.unc.edu/pub/Linux/apps/video/meteor-1.4a.tgz>

-  Miro PCTV (based on BT848)

<http://www.thp.Uni-Koeln.DE/~rjkm/linux/bttv.html>

-  MuTech MV1000 PCI

<ftp://sunsite.unc.edu/pub/Linux/apps/video/mv1000drv-0.33.tgz>

-  Pro Movie Studio

<ftp://sunsite.unc.edu/pub/Linux/apps/video/PMS-grabber.3.0.tgz>

-  Quanta WinVision B&W video capture card

<ftp://sunsite.unc.edu/pub/Linux/apps/video/fgrabber-1.0.tgz>

-  Quickcam

<ftp://sunsite.unc.edu/pub/Linux/apps/video/qcam-0.7c-5.tar.gz>

-  Sensus 700

<http://www.robots.com/s700.htm>

-  Smart Video Recorder III (based on BT848)

<http://www.thp.Uni-Koeln.DE/~rjkm/linux/bttv.html>

-  STB TV PCI Television Tuner (based on BT848)

<http://www.thp.Uni-Koeln.DE/~rjkm/linux/bttv.html>

-  Video Blaster, Rombo Media Pro+

<ftp://sunsite.unc.edu/pub/Linux/apps/video/vid_src-0.6.tgz>

-  VT1500 TV cards

<ftp://sunsite.unc.edu/pub/Linux/apps/video/vt1500-1.0.9.tar.gz>

20.4.  UPS(Uninterruptible Power Supply)

-  APC SmartUPS

<ftp://sunsite.unc.edu/pub/Linux/system/ups/apcd-0.5.tar.gz>

-  APC-BackUPS 400/600, APC-SmartUPS SU700/1400RM

<ftp://sunsite.unc.edu/pub/Linux/system/ups/apcupsd-2.2.tar.gz>

-  UPS's with RS-232 monitoring port (genpower package)

<ftp://sunsite.unc.edu/pub/Linux/system/ups/genpower-1.0.1.tgz>

-  ups에 연결된 상태에서 시스템을 shutdown/up 시키는 daemon. 네트웍

을 지원하며 client/server 모드로 작동한다.

<ftp://sunsite.unc.edu/pub/Linux/system/ups/powerd-2.0.tar.gz>

-  기타 다양한 UPS가 지원된다. the UPS HOWTO를 참고하라.

20.5.  자료 수집(Data acquisition)

"Linux Lab Project site"에서 "data acquisition"을  취급하는 하드웨어

드라이버를 수집하고 있다. 그들은 또한 이 주제를 다루는 여러  개의 메일

링 리스트도 운영하고 있다. 필자는 "data acuiksition"에 관한  경험이 전

무하므로 자세한 정보를 원하면 아래의 사이트에 접속하라.

-  Linux Lab Project

<http://www.llp.fu-berlin.de/>

-  CED 1401

-  DBCC CAMAC

-  IEEE-488 (GPIB, HPIB) boards

-  Keithley DAS-1200

-  National Instruments AT-MIO-16F / Lab-PC+

-  Analog Devices RTI-800/815 ADC/DAC board

Paul Gortmaker <gpg109@anu.edu.au>에게 문의하라

20.6.  기타 잡다한 내용(Miscellaneous)

-  Mattel Powerglove

-  AIMS Labs RadioTrack FM radio card

<ftp://sunsite.unc.edu/pub/Linux/apps/

sound/radio/radiotrack-1.1.tgz>

-  Reveal FM Radio card

<ftp://magoo.uwsuper.edu/docs/radio.html>

-  Videotext cards

<ftp://sunsite.unc.edu/pub/Linux/apps/video/videoteXt-0.6.tar.gz>

21.  관련된 자료를 구할 수 있는 곳

-  Cameron Spitzer's hardware FAQ archive (??)

<ftp://ftp.rahul.net/pub/cameron/PC-info/>

-  Computer Hardware and Software Vendor Phone Numbers

<http://mtmis1.mis.semi.harris.com/comp_ph1.html>

-  Guide to Computer Vendors

<http://guide.sbanetweb.com/>

-  System Optimization Information

<http://www.dfw.net/~sdw/>

22.  감사(Acknowledgments)

다른 HOWTO에 기여한 모든 사람과  저자들에게 감사하며 이 문서의  많은

내용은 그들의 결과물에서  가져온 것에 불과하다:  FRiC, Zane Healy,  Ed

Carp에게 감사하며 update된 자료와 의견을 보내준 많은 이들에게 고마움을

전하고 싶다.

세심하게 점검해 준 Eric Boerner 와 lilo(프로그램이  아닌 사람이름)에

게 특별한 감사를 보내고 싶다. 최초의 SGML 변환에 수고한  Dan Quinlan에

게 감사하고 싶다.

23.  부록 A. XFree86 3.1.2에서 지원하는 S3 카드

CHIPSET  RAMDAC           CLOCKCHIP   BPP   CARD

801/805  AT&T 20C490                   16   Actix GE 32

Orchid Fahrenheit 1280+

801/805  AT&T 20C490      ICD2061A     16   STB PowerGraph X.24

805      S3 GENDAC                     16   Miro 10SD VLB/PCI

SPEA Mirage VLB

805      SS2410           ICD2061A     8    Diamond Stealth 24 VLB

801/805  AT&T 20C490      Ch8391       16   JAX 8231, SPEA Mirage

928      AT&T 20C490                   16   Actix Ultra

928      Sierra SC15025   ICD2061A     32   ELSA Winner 1000 ISA/VLB/EISA

928      Bt485            ICD2061A     32   STB Pegasus VL

928      Bt485            SC11412      16   SPEA Mercury VLB

928      Bt485            ICD2061A     32   #9 GXE Level 10/11/12

928      Ti3020           ICD2061A     32   #9 GXE Level 14/16

864      AT&T 20C498      ICS2494      32   Miro 20SD (BIOS 1.x)

864      AT&T 20C498/     ICD2061A/    32   ELSA Winner 1000 PRO VLB/PCI

STG1700          ICS9161           MIRO 20SD (BIOS 2.x)

864      STG1700          ICD2061A     32   Actix GE 64 VLB

864      AT&T 20C498/     ICS2595      16   SPEA Mirage P64 DRAM (BIOS 3.x)

AT&T 21C498

864      S3 86C716 SDAC                32   ELSA Winner 1000 PRO

Miro 20SD (BIOS 3.x)

SPEA Mirage P64 DRAM (BIOS 4.x)

Diamond Stealth 64 DRAM

864      ICS5342          ICS5342      32   Diamond Stealth 64 DRAM (some)

864      AT&T 20C498-13   ICD2061A     32   #9 GXE64 PCI

964      AT&T 20C505      ICD2061A     32   Miro Crystal 20SV PCI

964      Bt485            ICD2061A     32   Diamond Stealth 64

964      Bt9485           ICS9161A     32   SPEA Mercury 64

964      Ti3020           ICD2061A     8    ELSA Winner 2000 PRO PCI

964      Ti3025           Ti3025       32   #9 GXE64 Pro VLB/PCI

Miro Crystal 40SV

964      IBM RGB                       32   Hercules Terminator 64

868      S3 86C716 SDAC                32   ELSA Winner 1000AVI

968      TVP3026                       32   ELSA Winner 2000PRO/X

Diamond Stealth 64 Video VRAM

968      IBM RGB                       32   Genoa VideoBlitz III AVI

Hercules Terminator Pro 64

STB Velocity 64V

#9 FX Motion 771

732      (Trio32)                      32   Diamond Stealth 64 DRAM SE

764      (Trio64)                      32   SPEA Mirage P64 (BIOS 5.x)

Diamond Stealth 64 DRAM

#9 FX Vision 330

STB PowerGraph 64

24.  부록 B. 지원되는 PCMCIA cards

다음의 PC 카드는 David Hinds의 PCMCIA 패키지에서 지원하며, 이 목록은

그의 홈페이지에서 발췌한 것이다.

24.1.  이더넷 카드

-  SMC, Megahertz and Ositech cards (smc91c92_cs driver 사용)

-  3Com and Faralloncards (3c589_cs driver 사용)

-  Fujitsu, TDK, RATOC, CONTEC and Nextcom cards

(fmvj18x_cs 드라이버 사용)

그외의 카드는 pcnet_cs driver를 사용한다.

이 목록에서 제외된 NE2000호환 제품은 pcnet_cs드라이버에서 잘 작동

할 것이다.

-  3Com 3c589, 3c589B, 3c589C, 3c589D

-  Accton EN2212, EN2216 EtherCard

-  Allied Telesis CentreCOM CE6001, LA-PCM

-  Asante FriendlyNet

-  AST 1082 Ethernet

-  CeLAN EPCMCIA

-  CNet CN30BC, CN40BC Ethernet

-  Compex/ReadyLINK Ethernet Combo

-  Connectware LANdingGear Adapter

-  CONTEC C-NET(PC)C

-  Danpex EN-6200P2 Ethernet

-  Datatrek NetCard

-  Dayna Communications CommuniCard E

-  Digital DEPCM-AA Ethernet

-  Digital EtherWORKS Turbo Ethernet

-  D-Link DE-650

-  Edimax Technology Ethernet Combo

-  EFA InfoExpress 205, 207 Combo

-  Eiger Labs EPX-ET10T2 Combo

-  ELECOM Laneed LD-CDWA, LD-CDX, LD-CDNIA

-  EP-210 Ethernet

-  Epson Ethernet

-  Explorer NE-10000 Ethernet

-  EZLink 4109 Ethernet

-  Farallon Etherwave

-  Fiberline FL-4680

-  Fujitsu FMV-J181, FMV-J182, FMV-J182A

-  Fujitsu Towa LA501

-  Gateway 2000 Ethernet

-  Genius ME3000II Ethernet

-  Grey Cell Ethernet

-  GVC NIC-2000P Ethernet Combo

-  Hitachi HT-4840-11 EtherCard

-  Hypertec HyperEnet

-  IBM CreditCard Ethernet Adapter

-  IC-Card Ethernet

-  Infotel IN650ct Ethernet

-  I-O Data PCLA/T

-  Katron PE-520 Ethernet

-  Kingston KNE-PCM/M, KNE-PC2

-  LANEED Ethernet

-  Lantech Ethernet

-  Linksys EtherCard

-  Logitec LPM-LN10T, LPM-LN10BA Ethernet

-  Longshine Ethernet

-  Macnica ME-1 Ethernet

-  Maxtech PCN2000 Ethernet

-  Megahertz XJ10BT, CC10BT Ethernet

-  Melco LPC-TJ, LPC-TS

-  Micronet Etherfast Adapter

-  NDC Instant-Link

-  Network General ``Sniffer''

-  New Media Ethernet

-  NextCom NC5310

-  Novell/National NE4100 InfoMover

-  Ositech Four of Diamonds

-  Panasonic CF-VEL211P-B

-  Planet SmartCom 2000, 3500

-  PreMax PE-200 Ethernet

-  Proteon Ethernet

-  Ratoc REX-9822, REX-5588A/W

-  Relia RE2408T Ethernet

-  RPTI EP400 Ethernet

-  SCM Ethernet

-  SMC 8020BT EtherEZ (not the EliteCard)

-  Socket Communications Socket EA LAN Adapter

-  Surecom Ethernet

-  SVEC PN605C

-  TDK LAC-CD02x, LAK-CD021, LAK-CD022A, LAK-CD021AX Ethernet

-  Thomas-Conrad Ethernet

-  Trust Ethernet Combo

-  Volktek NPL-402CT Ethernet

24.2.  Token-ring adapters

커널 1.3.72 이상이어야 한다.

-  IBM Token ring Adapter

-  3Com 3c689 TokenLink III

24.3.  무선 네트웍 어댑터(Wireless network adapters)

-  AT&T GIS / NCR WaveLAN version 2.0

-  DEC RoamAbout/DS

-  Xircom creditCard Netwave

24.4.  모뎀 및 시리얼 카드

모든 종류의 모뎀, 시리얼 카드,  디지털 셀룰러 모뎀이 작동한다.  또한

표준 UART를 에뮬레이트하는 ISDN 모뎀도 지윈된다.

-  Advantech COMpad-32/85 dual serial

-  Quatech, IOTech dual RS-232 cards

-  socket Communications dual RS-232 card

24.5.  메모리 카드

모든 SRAM 카드가 지원된다. 지원되지 않는 카드의 경우 읽기만 가능하다

-  Epson 2MB SRAM

-  IBM 8MB Flash

-  Intel Series 2 and Series 2+ Flash

-  Maxtor MobileMax 16MB Flash

-  New Media SRAM

-  TDK Flash Memory SFM20W/C 20 MB

24.6.  SCSI adapters

-  Adaptec APA-1460, APA-1460A SlimSCSI

-  Digital SCSI II adapter

-  Eiger Labs SCSI

-  Future Domain SCSI2GO

-  IBM SCSI

-  Iomega ZIP Card

-  IO-DATA PCSC-II, PCSC-II-L

-  IO-DATA CDG-PX44/PCSC CD-ROM

-  Logitec LPM-SCSI2

-  Logitec LCD-601 CD-ROM

-  MACNICA mPS110, mPS110-LP SCSI

-  Melco IFC-SC2, IFC-DC

-  NEC PC-9801N-J03R

-  New Media Bus Toaster SCSI

-  New Media Toast 'n Jam (SCSI only)

-  Panasonic KXL-D740, KXL-DN740A, KXL-DN740A-NB 4X CD-ROM

-  Pioneer PCP-PR1W CD-ROM

-  Qlogic FastSCSI

-  Raven CD-Note 4X

-  RATOC REX-9530 SCSI-2

-  Simple Technologies SCSI

-  Sony CD-ROM Discman PRD-250

-  Taxan ICD-400PN

-  Toshiba NWB0107ABK, SCSC200B

24.7.  ATA/IDE CD-ROM adapters

커널 1.3.72 이상이어야 한다.

-  Argosy EIDE CD-ROM

-  Caravelle CD-36N

-  Creative Technology CD-ROM

-  Digital Mobile Media CD-ROM

-  EXP CD940 CD-ROM

-  IO-DATA CDP-TX4/PCIDE, CDP/PCIDE, CDP-TX10/PCIDE, CDV-HDN6/PCIDE,

MOP-230/PCIDE

-  H45 Technologies Quick 2x CD-ROM

24.8.  복합형 카드(Multifunction cards)

커널 1.3.72 이상이어야 한다.

-  3Com 3c562, 3c562B, 3c563B, 3c562C, 3c563C

-  IBM Home and Away Card

-  Linksys LANmodem 28.8, 33.6

-  Megahertz EM1144, EM3288, EM3336

-  Motorola Marquis

-  Ositech Jack of Diamonds

24.9.  ATA/IDE card drives

이러한 종류의  ATA/IDE  제품은 커널   1.3.72부터 지원이  시작되었다.

Flash-ATA와 rotating-media card도 지원된다.

24.10.  기타 제품

-  Trimble Mobile GPS (uses serial/modem driver)

24.11.  드라이버 개발 작업 중....

개발자들은 현재 다음의 제품에 대한 드라이버 개발 작업을 하고 있다.

-  Nat'l Inst DAQCard (Eric Gonzalez root@colomsat.net.co)

-  IBM Smart Capture (Koij Okamura oka@nanotsu.kobe-u.ac.jp)

-  Roland SCP-55 MIDI (Toshiaki Nakatsu ir9k-nkt@asahi.net.or.jp)

-  CyberRom CD-ROM (David Rowntree rowntree@dircon.co.uk)

-  IO DATA PCSC-II (Katayama Nobuhiro kata-n@po.iijnet.or.jp)

-  Macnica mPS-1x0 (Katayama Nobuhiro kata-n@po.iijnet.or.jp)

-  FORTEZZA encryption (Rex Riggins rriggins@radium.ncsc.mil)

-  Harris PRISM/AM79C930 (Mark Mathews mark@mail.absoval.com)

-  IBM Etherjet (Danilo Beuche danili@cs.tu-berlin.de).

<http://www.first.gmd.de/~danilo/pc-driver>에서 드라이버를 구할수

있다.

24.12.  지원되지 않는 제품

-  Adaptec/Trantor APA-460 SlimSCSI

-  CanonCompaq PCMCIA floppy drive

-  Motorola Mariner

-  New Media .WAVjammer and all other sound cards

-  All 100baseT ethernet adapters

-  Panasonic KXL-D720, KXL-D745

-  SMC 8016 EliteCard

-  Telxon/Aironet wireless adapter

-  Xircom ethernet and ethernet/modem cards

25.  부록 C. Linux와 호환되지 않는 하드웨어

일부 하드웨어 제조업체에서는 MS-Dos와 윈도95만을 지원하는  제품을 개

발했다. 이런 종류의 제품들에 대한 기술적인  사양(Specification)을 구할

수 없기 때문에 드라이버 작성이 거의 불가능하다. 아래는 리눅스와 호환되

지 않는 것으로 보고된 제품의 목록이다.

-  휴렛 팩커드의 Deskjet 820xx 프린터

--------------------------------------------------------------------------

곧 하드웨어 강좌를 올리도록 하겠습니다

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 74번

제  목:[강좌] 커널 바꾸기와 컴파일

올린이:pey1    (박은영  )    97/08/23 07:57    읽음:10250 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

여러분은 도스나 윈도우를 쓰면서 왜 486이나 펜티엄.....또는 팬티엄 프로가

다른 능력을 가진 시스템임에도 불구하고 같은 환경을 써야 하는지 의문을 가져

보시지는 않았습니까? 486과 펜티엄 프로가 같은 환경의 운영체제를 쓴다는 것은

합당하지 않습니다. 여기서 커널 컴파일의 의미가 보이는 것입니다.

커널 컴파일은 커널에 원하는 기능을 부여하고 불필요한 부분을 제거해서

시스템을 자신에게 최적화 되게 만들어 주는 작업입니다. 그러므로 기본적으로

자신의 하드웨어에 대해서 기본적인 사항은 알아야 합니다.

그럼 이제부터  커널에 대해 알아보도록 하겠습니다.

이 글의 순서는 다음과 같습니다.

*****************순 서*****************

1. 커널 버젼 번호의 의미

2. 내 리눅스의 커널 버젼 알아보기

3. 커널 받아오기전 잠깐~! 주의사항

4. 커널 바꾸기 (소스 받아오기, 패치화일 받아오기)

5. 커널 컴파일 하기

1) 커널 컴파일 준비(링크점검)

2) 커널 설정(Configure)

3) 커널 컴파일 하기

6. 리부팅 하기

************************************************

1. 커널 버젼의 의미

===================

커널 버젼은 버젼 번호와 패치 레벨 두가지로 구성되어 있다.

예를 들어 커널 버젼이 2.0.27 이라면 버젼은 2.0 이며 패치레벨은 27 이다

또한 리눅스 커널 버젼 번호는 독특한 규칙을 갖는데 앞의 예에서 2.0 의

두 부분중 앞에 놓인 2는 주 버젼번호이고, 뒤에 놓인 0은 부버젼 번호라 할

수 있다. 여기서 독특한 의미를 갖는게 두번째 놓인 부버젼 번호이다(예에서 0)

부버젼 번호는 짝수와 홀수로 구분하며 홀수는 개발중인 개발버젼을 의미하고

짝수는 공식적인 안정 버젼을 의미한다. 예를 들자면 2.0.27은 두번째 번호가

짝수이니 안정버젼이며, 2.1.30은 두번째 번호가 홀수이므로 개발버젼이다.

일반적으로 안정 버젼을 사용하는게 좋다.

마지막으로 세번째 번호는 패치 레벨로써, 얼만큼 수정이 되었나를 말해주는

번호이다. 2.0.30은 2.0.0 에서 무려 30번이나 패치가 이루어진 커널인 셈이다

2. 내 리눅스 커널 버젼 알아보기

===============================

부팅시 커널 버젼이 보이지만 커널 버젼을 알아내는 명령은 uname -a 이다.

eun-young:~$ uname -a

Linux eun-young 2.0.30 #1 Sun Jul 6 05:47:55 KST 1997 i586

3. 커널 받아오기전 잠깐~! 주의사항

==================================

만약 지금 자신의 커널이 2.0.0 인데 2.0.27로 커널을 바꾸고 싶다고 가정을

하고 시작하자. 그럼 패치화일 patch-2.0.27.gz 을 받아오면 되느냐.....

절대 아니다. patch-2.0.27.gz 이라는 패치화일은 2.0.26에서 2.0.27로 커널을

바꿀때만 필요한 화일이다. 왜냐하면 패치화일이라는 것이 바로 인접한 커널

소스간의 차이점만을 지정한 화일이기 때문이다.

그러므로 2.0.0에서 2.0.27로 커널을 바꾸는 방법엔 두가지가 있을 수 있다

하나는, 완전한 커널 소스인 linux-2.0.27.tar.gz 을 몽땅 가져와 (거의 6메가)

설치하는 것이고...............

두번째는, patch-2.0.1.gz 에서부터 patch-2.0.2.gz patch-2.0.3.gz...........

patch-2.0.27.gz 까지 27개의 패치 화일을 몽땅 다 받아다가 차례대로 패치를

하는 방법이다. 즉, 2.0.0에서 2.0.1로 패치후 2.0.1에서 2.0.2 로 패치...

이런 과정을 순서대로 반복하면 돼는 것이다.

4. 커널 바꾸기 (소스 받아오기, 패치화일 받아오기)

=================================================

1) 완전한 소스화일 받아오기

커널을 바꿀려면 우선 소스를 받아오는 일부터 해야 할 것이다. 보통 커널

소스는 linux-2.0.XX.tar.gz 이라는 형식의 길다란 이름을 가지고 있다.

허나 나우누리나 하이텔 등의 통신망에서는 도스의 파일명 제한으로 tar.gz 이

아닌 tgz 이라는 형식으로 압축되어 올라와 있을 것이다.

자.......linux-2.0.27.tgz 이라는커널 소스를 받아왔다..

그럼 어떻게 설치할 것인가.

우선 이 작업은 /usr/src 에서 이루어 진다. 그러므로 커널 소스를 이

디렉토리로 옮기는게 우선일 것이다.

eun-young:~# mv linux-2.0.27.tgz /usr/src

그리고 이제 /usr/src 로 이동해 예전의 커널이 링크된 것과 커널을 조심스럽게

지우자.

eun-young:~# cd /usr/src

eun-young:/usr/src# rm linux

eun-young:/usr/src# rm -rf linux-2.0.0

자 이제 압축을 풀자.

eun-young:/usr/src# tar xvfz linux-2.0.27.tgz

이렇게 해주면 linux 라는 디렉토리가 생기면서 풀린다

2) 패치화일 받아오기

위에서 말한 리눅스 커널 소스는 압축이 6메가에 달하며 압축을 풀면 20메가가

넘는 분량이다. 리눅스 커널 개발 속도는 빠르기 때문에 커널을 2.0.27로 바꾸는

순간 Ftp 사이트에는 2.0.28 이 올라와 있는 경우가 있다. 그럼 2.0.27 로 커널을

올린지가 얼마 안 되었는데 또 6메가나 되는 2.0.28 소스를 다시 받아와야 하는가

매번 소스를 받아 커널을 올리는 일은 무의미하다.

사실 마지박 번호의 변화는 패치래밸만 바뀐 것이므로 소스 전체를 받아다 할

필요 없이 patch-2.0.XX.gz 이라는 형식의 패치 화일만 받아다 패치하면 된다.

그럼 패치화일을 받아다 2.0.27 이라는 커널에서 2.0.28 로 어떻게 변화시키나?

우선 2.0.28의 패치화일인 patch-2.0.28.gz 을 받아와서 이것을 /usr/src 라는

디렉토리로 이동 시킨다.

eun-young:~# mv patch-2.0.28.gz /usr/src

그리고는 /usr/src 로 이동해 다음과 같이 해준다

eun-young:~# cd /usr/src

eun-young:/usr/src# gzip -cd patch-2.0.28.gz | patch -p0

이렇게 패치를 하는 동안에 예전의 화일은 XX~또는 XXX.orig 라는 이름으로

백업이 되는데 이 화일들을 지우고 싶다면 다음과 같이 한다.

eun-young:/usr/src/linux# find . -name "*.orig" -exec rm -rf {} \;

또한 패치가 실패할 때는 XXX# 또는 XXX.rej 라는 화일들이 생기므로 주의해서

보기 바란다. 이는 대부분 패치 명령이 잘못 되었거나 버전이 맞지 않아서 일

것이다.

이런것을 일일히 하기 힘들때 좀더 편의성을 추구하기 위해 나온것이 스크립트

이다. 이런 복잡하고 번거로운 과정들은 쉽게 하기 위해 Nick Holloway 라는

사람이 patch-kernel 스크립트를 만들었다. 패치해야 항 화일이 상당히 많은

경우에는 /usr/src/linux/scripts 디렉토리에 패치화일들을 모조리 넣고서

patch-kernel 스크립트를 실행 시키면 자동으로 모든 과정을 해준다.

eun-young:/usr/src/linux/scripts# sh patch-kernel

5. 커널 컴파일 하기

===================

1) 커널 컴파일 준비(링크점검)

커널 컴파일에서 가장 많이 실수하는 부분이 소스를 잘못 설치 했거나 바로

이 링크 점검을 하지 않아서 이다. 커널 소스에 대한 링크는 헤더화일이 있는

/usr/include 에 해 줘야 한다.

다음과 같이 히면 링크가 된다.

eun-young:~# cd /usr/include

eun-young:/usr/include# rm -rf asm linux scsi

eun-young:/usr/include# ln -s /usr/src/linux/include/asm-i386 asm

eun-young:/usr/include# ln -s /usr/src/linux/include/linux linux

eun-young:/usr/include# ln -s /usr/src/linux/include/scsi scsi

자, 이 다음으로 할 일은 다음과 같이 커널 컴파일은 완전히 깨끗히 하기 위해

오래된 .o 화일과 의존관계 설정을 지워줘야 한다.

eun-young:~# cd /usr/src/linux

eun-young:/usr/src/linux# make mrproper

이제 커널이 깨끗히 설치 되었다.

2) 커널 설정(Configure)

여기서 부터가 실질적으로 셋팅을 해주는 부분이다.

설정 방법의 대표적인 세가지는 다음과 같다.

# make config

# make menuconfig

# make xconfig

여기서 가장 썰렁한 것이 make config 이고(^^;),  make menuconfig 는

make config 과 마찬가치로 텍스트 기반이나, 커널 설정별로 나눠져 있어 셋팅이

더 수월하다. 그리고 맨 마지막의 make xconfig 는 엑스 윈도우 기반의 설정으로

마우스 클릭으로 설정할 수 있는 초보에게 권하는 설정 법이다.

그럼 여기서 초보에게 적합한 make xconfig 으로 설정을 시작해 보자

커널 컴파일은 위에서와 마찬가지로 /usr/src/linux 에서 이루어 진다.

다음과 같이 해보자.

eun-young:~# cd /usr/src/linux

eun-young:/usr/src/linux# make xconfig

이러면 창이 하나 뜰 것이다.

그 창 버튼을 마우스로 클릭해 가면서 자신에게 맞는 시스템으로 설정을 하는

것이다. 설정에는 Y/M/N 이 있는데 여기서 M 은 모듈로 설정하는 것이다.

세세한 셋팅에 관해서는 각자의 시스템이 다르므로 설명을 생략 하겠다.

여기서 자기 시스템에 대한 하드웨어 지식이 필요한 것이다.

3) 커널 컴파일 하기

설정이 다 됐으면....그걸로 끝난게 아니다.

다음의 과정을 꼭 해줘야 한다.

eun-young:/usr/src/linux# make dep

eun-young:/usr/src/linux# make clean

eun-young:/usr/src/linux# make zlilo <----리로 설정자에게 필요하다.

eun-young:/usr/src/linux# make modules

eun-young:/usr/src/linux# make modules_install

여기서 위와 같이 일일히 해야 하느냐...........아니다.

한줄에 간단히쓸 수 있다. 구분은 ";" 이다. 아래의 예와 위의 내용은 같은

내용이다.

eun-young:/usr/src/linux# make dep ; make clean ; make zlilo ;

make modules ; make modules_install

이러면 시스템에 따라 다르겠지만 몇십분 후 컴파일이 완료된다.

여기서 위의 의미들을 짚고 넘어가겠다.

make zlilo 는 현재 리로가 설치 되어 있을때 간단히 리로의 작업을 자동으로

해주기 위해서 하는 것이며 리부팅시 새로운 커널로 부팅된다.

make zlmage 는 압축커널 이미지를 만들때 사용된다,

또한 부트 디스크를 만들고 싶다면 A: 드라이브에 디스켓을 넣고 make zdisk

라 하면 된다. (루트화일 시스템이나 리로가 없는 부트 디스크)

make modules 와 make modules_install 은 커널 셋팅시 M 으로 선택한 부분이

있을시(즉, 모듈로 셋팅한게 있을시) 하는 것이다.

6. 리부팅 하기

===============

자......이제 리부팅을 하면 새로운 커널이 멋지게 뜰 것이다.

커널 컴파일은 직접 부딪혀 바야 안다 ^^;; 얼마나 어려운 것인지...

그리고 README 문서는 리눅스의 길이니 꼬옥 읽어 보도록 한다.

=샤론박(pey1)=

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 80번

제  목:[강좌/옮김] WindowMaker 를 써보세요...

올린이:pey1    (박은영  )    97/08/31 15:53    읽음:7344 관련자료 없음

-----------------------------------------------------------------------------

제  목 : WindowMaker 를 써보세요...

올린이 : 나지노  (이진호  )    97/08/31 04:06    읽음 :  49  관련자료 없음

-----------------------------------------------------------------------------

Fvwm에 싫증이 나시는 분들이나, AfterStep에서 HWP/X가 깨지는 분...

등등... WindowManager를 한번 바꿔 보실 생각이 있는 분들은

WindowMaker를 한번 써보세요.

아래 내용은 거의 1주일간 WindowMaker를 설치하려고 고생면서 알게된

WindowMaker 컴파일하는 과정입니다.

(저도 아직 초보라서요 ^^)

>-----------  시작 합니다 ~!  --------------<

******* 먼저 WindowMaker를 자료실에서 받아온다. ^^

자료실에 wmake063.tgz 을 받아와서 압축을 푸세요.

(일반 사용자 권한으로 하셔요 됩니다.)

~ $ tar xvzf wmake063.tgz

WindowMaker-0.6.3라는 디렉토리가 생기면서 많은 화일이 풀릴 꺼에요~

******** 풀어 놓은 파일 중 configure를 실행합니다.

~ $ cd WindowMaker-0.6.3

~/WindowMaker-0.6.3 $ ./configure --enable-kanji

여기서 --enable-kanji 옵션은 한글을 쓰기위한 것입니다.

*******  make 실행

우선 main.c를 수정해야 합니다.

src 디렉토리 밑에 main.c에서 수정할 부분 아니 삭제할 부분은

33, 35-37번째 줄입니다.

33 #ifdef HAVE_XLOCALE_H

34 # include <X11/Xlocale.h>

35 #else

36 # include <locale.h>

37 #endif

를 다음과 같이 고칩니다.

33 #include <X11/Xlocale.h>

그리고 나서

~/WindowMaker-0.6.3 $ make

하세요

*******  Library 디렉토리 카피

~/WindowMaker-0.6.3 $ mkdir ~/gnustep

~/WindowMaker-0.6.3 $ cp -r Library ~gnustep/Library

*******  wconfig.h 수정

위의 make 후에 src디렉토리에 보면 wconfig.h화일이 있는데

289번째 줄에 다음과 같이 되어 있읍니다.

#define PACKAGE WindowMaker

이줄을 다음과 같이 고치세요

#define PACKAGE "WindowMaker"

*******  make install하기

이제 준비는 거의 끝났습니다.

이제 부터는 root권한으로 해야 하는 것들입니다.

~/WindowMaker-0.6.3 $ su

passwd:

~/WindowMaker-0.6.3 # export LINGUAS;LINGUAS="ko"

~/WindowMaker-0.6.3 # export LANG;LANG="ko"

(이설정은 환경변수 LANG가 설정되어있지 않았을 경우에

해주시면 됩니다)

~/WindowMaker-0.6.3 # make install

위의 환경변수 설정은 한글사용을 위한 것입니다.

( 전 bash를 사용하기 때문에 위와 같이 했고, 만일 c-shell을 사용한다면

% setenv LINGUAS "ko" ; setenv LANG "ko"

라고 해주시면 됩니다. :-) )

이제 모든 install과정이 끝났습니다.

각 계정의 사람들이 WindowMaker를 쓸수 있도록 하는 일만 남았죠~

******** wmaker.inst 실행

각 사용자가 WindowMaker를 쓰기위해서는 위 스크립트를 실행해야 합니다.

사용자 계정으로 login 한후 다음과 같이 하세요.

~ $ wmaker.inst

******* .Xclients 화일 수정

지금 까지 쓰고 있던 .Xclients를 백업하고

새로운 .Xclients를 다음과 같은 내용으로 만드는 것이 편합니다.

sh ~/gnustep/Library/WindowMaker/winitrc

exec wmaker

.Xclients는 홈디렉토리에 있구요,

꼭 실행 permition인지 확인하세요~!(이것땜에 반나절 해맸습니다. ^^)

실행 권한이 아니라면 "chmod a+x .Xclients" 로 실행권한을 주시기 바랍니다.

-------------------------------

이제 모든 설치가 끝났습니다.

Xwindow를 실행하면 깔끔한 WindowMaker의 화면을 만나실수 있어요

각종 설정 화일은 ~/gnustep/Library/WindowMaker 에 있습니다.

이런 글은 처음 써보는 거라 좀 어색하네요... 히히

사실 이 모든 내용은 README 나 INSTALL 화일에 거의 나와 있는 내용입니다.

저두 그걸 자세히 읽지 않아서 몇일을 고생한걸 생각하면...쩝

항상 Document를 읽는 습관을 길러야 할것 같아요.

그리고 WindowMaker에 대해 알려주신 많은 분들께 감사합니다.

그럼~

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 81번

제  목:[강좌] 초보자를 위한 화일시스템 관리

올린이:pey1    (박은영  )    97/09/09 20:55    읽음:8020 관련자료 없음

-----------------------------------------------------------------------------

안녕하십니까?

이제 가을인가 봅니다 ^^;

이번에는 하이텔에서 긁어온 강좌 하나 소개 하도록 하겠습니다.

----------------------------------------------------------------------------

#611   김홍철   (zep8988 )

[강좌] 초보자를 위한 화일시스템 관리

----------------------------------------------------------------------------

초보자를 위한 파일 시스템 관리

작성자: 김홍철

작성일: 1997년 5월 20일

copyright (c) 김홍철

이 문서를 사용해서 야기될 수 있는 모든 사태에 대해서 저는 책임을 지지

않습니다.

이 문서를 참조하는 것은 오로지 여러분의 자율 의사에 의한 것입니다.

@ 시작하기에 앞서

요즘의 질문난을 보면 부쩍  화일 시스템 즉, 도스 파티션의 마운팅, 씨디롬

관리, 하드 디스크의 추가와 관련한 글이 상당히 많이 올라오고 있으나 대부분

예전

에 언급되었던 내용들이 주류를 이루고 있습니다. 문제는 그러한 해결책들이

너무

산만하게 흩어져 있다는 것입니다. 이러한 상황에서 저는 보다 체계적이고

명료한

지침서를 작성하고자 이 글을 쓰게 되었습니다. 비록 서투른 내용이

있긴하지만

리눅스를 접한지 얼마 되지않은 분들께 유용한 내용이 되었으면 합니다.

1. 리눅스의 File System에 대하여

화일 시스템이라는 것은 어쩌면 다소 생소한 말일수도 있겠으나, 도스에서도

이러한 계념이 있으며 도스의 화일 시스템은 FAT라고 알려져 있습니다.

도스에서 여러가지 화일시스템 유틸리티가 존재하는 이유는 아마도 이 화일 시스템

자체가 상당히 불안정하기 때분일겁니다.

리눅스에서 현재 채택하고 있는 화일 시스템은 ext2라는 것입니다. 최초의

리눅스는 Minix라는 탄넨바움 교수가 교육용으로 제작한 OS의 화일시스템을 가지고

있었으나 여러가지 제약을 가지고 있었으므로 몇번의 변화 끝에 현재의 ext2를

사용하게 되었습니다. 현재 리눅스 커널이 지원하고있는 화일 시스템중 리눅스의

루트 파티션으로 사용할 수 있는 것은 ext2, ext, xiafs등이 있으나 ext2가

가장

진보된 것입니다. 몇가지 벤치마크를 보면, ext2화일 시스템이 BSD의 FFS등과

비교해

서도 결코 뒤지지 않는다는 것을 확인할 수 있습니다.

2. 리눅스에서 화일시스템 만들기

* 잠깐 *-------------------------------------------------------

아래의 작업을 (즉, 새로운 파티션을 리눅스에서 쓰기 위해서는

하기 위해서는) 리눅스의 fdisk에서

우리가 쓰고자 하는 파티션의 type을 linux native로

바꾸어 놓아야 합니다.

*      --------------------------------------------------------

화일 시스템을 만든다는 말은 도스식으로 말하면 '파티션을 포멧한다'는

것입니다

도스에서 포멧한다고 하는말을 리눅스식으로 말하면 'FAT 화일 시스템을

만든다'라고

할 수 있습니다.

우리가 리눅스에서 하드 디스크를 사용하기 위해서 작업해야 하는 일은 다음의

두가지 입니다.

1. 우리가 사용하고자 하는 파티션에 ext2화일 시스템을 만든다.

2. 마운트 포인트(일반적으로 디렉토리가 됨.)을 생성해서 파티션을

마운트 한다.

여기서 파일시스템을 만드는 프로그램이 mke2fs 입니다. 이름에서도 알 수 있듯이

MaKe Ext2 FileSystem 입니다. 사용법은,

mke2fs 디바이스명

입니다. 여기서 디바이스는 block device로, 첫번째 ide(eide)하드의 두번째 파티

션은 /dev/hda2입니다. 스카시라면, /dev/sda2가 되겠지요...

/dev/hd2와 같습니다. 이러한 사항은 리눅스를 설치할 때 이미 알아야 하는 사항

이므로 더 이상 설명하지 않겠습니다.

옵션중 -c라는 것이 있습니다. 이것은 화일 시스템을 만들때 하드 디스크의 물리적

인 배드 섹터가 있는지 조사를 합니다. 따라서 시간이 걸리더라도 이 옵션을 주는

것이 좋겠습니다. 즉,

mke2fs -c /dev/hda2

이런 식입니다.

마지막으로 한마디, 엉뚱한 파티션을 박살내는 어처구니 없는 일은 없기를

바랍니다.

3. 마운트 하기

많은 초보자들이 처음 리눅스를 접하고 나서 '마운트(mount)'라는 개념을 잘

몰라서 고생을 하고 있습니다. mount 라는 말을 사전에서 찾아보면 '구축하다,

건설하다, 세우다' 이러한 뜻을 가지고 있습니다. '구축하다'는 말이 가장 적당

합니다.

앞서 만든 화일 시스템을 리눅스에서 사용하기 위해서는 이것을 어떤 곳에

마운트 시켜야 합니다. 이 '어떤 곳'을 mount point라고 합니다.

('동남아시아 시장을 뚫기 위해서는 태국이나 말레이시아를 교두보로 삼아야 한다'

는 말에서 '교두보'는 mount point이고, '동남아시아 시장'은 해당 파티션이라고

한번 생각해 보세요. 좀 억지이기는 하지만요. 8-)

여기서 한가지 짚고 넘어가야 할 것은, 유닉스에서는 도스에서와 같은 드라이브

라는 계념이 없습니다. 모두 디렉토리(내지는 화일)로 다룹니다. 지금 우리가 앞서

만든 화일 시스템도 디렉토리에 마운트 시켜서 마치 하나의 디렉토리처럼

사용할

것입니다. 사용법은

mount -t fs_type -o rw_options device_name mount_point

(언마운트 할 때는 umount mount_point라고만 하면 됨.)

이것이 사용법입니다.

fs_type : ext2, dos,iso9660,...

rw_options: ro - Read Only, rw - Read & Write

device_name: /dev/hda2 등과 같은 디바이스.

mount_point: 일반적으로 디렉토리 이름. 비어있는 것이 좋다.

예를 들어 앞서 우리가 만든 화일 시스템을 /hard라는 디렉토리에 마운트 하려면,

mkdir /hard

mount -t ext2 -o rw /dev/hda2 /hard

좀 복잡하지요? 그러나 이 정도는 가뿐하게 타이핑 할 수 있을 정도는 되어야

합니다.

그리고, 만일 아래의 /etc/fstab화일을 편집하면 mount /hard (umount /hard는

마운트 되어있는 것을 언마운트 시키는 것입니다. 'unmount'가 아니라 'umount')

처럼 간편하게 할 수도 있습니다.

만일 마운트 포인트인 /hard가 비어있지 않고 무언가 자료가 있는 디렉토리라면

마운트 한 상태에서는 그 자료들을 쓸 수가 없습니다. umount 하면 다시 볼수 있을

겁니다.

3. /etc/fstab 편집하기

우리가 꼭 알아야 하는 것이 바로 /etc/fstab입니다. 이는 이름을 봐도 알 수

있듯이 FileSystem TABle 입니다. 즉, 리눅스에서 사용하고 있는 파티션과 그것의

FS Type을 지정하고 부팅시에 자동으로 마운트할 것인지, checking을 할 것인지

등등을 지정하는 아주중요한 화일입니다. 만일 이것을 잘못 편집하면 부팅이

제대로

되지 않을수도 있으므로 주의해서 편집하기 바랍니다.

아래는 저의 fstab입니다.

#device name    mount point     fs type options         fs freq.

fs passn

o.

#-------------------------------------------------------------------------

/dev/hda2       /               ext2    defaults        1               1

/dev/hda3       /mnt/down       ext2    defaults        1               2

/dev/hda4       none            swap    defaults        0               0

none         /proc           proc    defaults           0               0

/dev/hda1       /mnt/dos        msdos   defaults        0               0

/dev/hdb        /mnt/cdrom      iso9660 defaults        0               0

/dev/fd0        /mnt/floppy     ext2    noauto          0               0

여기서 '#'은 주석라인입니다.

각각의 라인은 보시다시피 각 파티션의 여러가지 정보를 나타내고 있습니다.

첫번째 필드는 디바이스 이름으로 각각 파티션의 이름을 나타내고 있습니다.

두번째 필드는 마운트 포인트로서 위에서 저의 루트 파티션은 /dev/hda2 이며

/에 마운트 되어 있습니다. 두번째 라인은 제가 자료들을 관리하는 파티션을 따로

만들어 둔 것이며 /mnt/down에 마운트 되어 있습니다.

스왑 파티션의 경우는 'none'이라고 지정되어 있습니다.

도스 파티션은 /mnt/dos에 마운트 되어 있습니다.

세번째 필드는 파일 시스템의 타입을 지정하고 있습니다. 씨디롬의 경우,

파일 시스템의 이름이 iso9660입니다. proc라는 것은 시스템이 내부적으로

이용하는 것이므로 그대로 두어야 합니다.

네번째 필드는  마운트 옵션으로 이 옵션은 mount라는 프로그램으로 전달되는

옵션입니다. 'defaults'라는 것은 'mount -a'라고 했을 때 자동으로 마운트

됩니다.

booting때에 이 명령이 자동으로 실행되며, 따라서 위에서 루트 파티션은 당연히

defaults로 되어 있어야 하며 나머지는 여러분이 원하시면 자동으로 마운트 되도록

옵션을 주면 됩니다. 'defaults'의 반대는 'noauto'입니다.

다섯번재 필드는 dump를 할 것이지 안 할 것이지 지정하는 것으로 그냥 놔

두면

됩니다.

여섯번째 필드는 설명이 좀 필요합니다.

여러분이 가끔씩 리눅스로 부팅하다 보면 화일시스템을 체크한다고 시간이 제법

지연되는 경우가 있습니다. 리셋을 눌러서 끈 적도 없는데 말이지요. 이것은,

ext2화일 시스템 내부에 카운터가 있어서 이 카운터가 일정숫자에 달하면 자동으로

fsck라는 명령이 수행되어 파일시스템이 체크되는 것입니다.

여섯번째 필드에서 만일 '0'이 지정되어 있으면 이러한 체킹을 하지 않습니다.

도스 파티션이나 씨디 롬등은 '0'으로 지정되어도 상관없는 것입니다.

그러나 루트 파티션이나 ext2로 마운트된 파티션의 경우는 이 값이 1또는 2로 지정

되어야 합니다. 이 숫자는 우선 순위를 지정하는 것으로 루트 파티션은 반드시 1로

지정되어야 하며, 나머지 파티션은 2로 지정되면 됩니다.

fstab에 관한 내용은 man fstab로 알아보시기 바랍니다.

---------------------------- end of file ------------------------------------

@ 끝내며...

역시 글을 쓴다는 것은 저에게는 무척이나 힘든 일입니다.

생각은 많았으나 실제로 쓰는 과정에서 많은 부분들이 빠지고 말았습니다.

나중에 기회가 닿으면 더 좋은 글을 다시 올리도록 하겠습니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 82번

제  목:[강좌] ^M 문자 없애기

올린이:pey1    (박은영  )    97/09/14 21:51    읽음:6229 관련자료 없음

-----------------------------------------------------------------------------

안녕하셔요?

에디터로 문서를 보다 보면 줄끝마다 ^M 이 보이는 경우가 있습니다.

이는 도스에서 작성된 문서를 유닉스로 볼때 생기는 현상 입니다.

이런 현상이 왜 생기냐구요? ^^;

도스와 유닉스에서의 ASCII화일 형식이 서로 다릅니다.

일단 도스에서는 엔터시에 한줄을 내리고 커서를 앞으로 보내주지만

즉,엔터 한번으로 두명령이 입력되는거죠..

하지만 유닉스에서는 엔터치면 단지 줄만 바뀌죠..즉 한번의 엔터는 단지 한번의

명령일 뿐 입니다..^^;

그래서 도스파티션에 있는 화일을 그냥 카피하면 ^M자들이 지저분하게 보이죠..

반대로 유닉스용 화일을 도스로 카피해서 도스용 에디터로 보면

전부 한줄로 붙어서 나타나게 된답니다.

그럼 9번 팁란에서 긁어온 ^M을 없애는 법을 올리겠습니다.

------------------------------------------------------------------------

제  목 : [팁] ^M 문자 없애는 방법 ** 총정리 **

올린이 : kingcrab(박재화  )

------------------------------------------------------------------------

많은 분들이 ^M 문자 없애는 방법에 대해서 글을 적어주셨기에 이쯤에서 한번

정리해 보는 것도 좋겠다 싶어 몇자 끄적여 볼까합니다.

1. vi 에디터를 이용해서 ^M 문자 없애는 방법

1) tr 을 이용합니다.

vi 에디터에서 다음과 같이 입력합니다. 여기서 1G는 첫라인으로 간다는

뜻이고, 느낌표부터는 쉘명령 tr을 이용한다는 겁니다.

1G!Gtr -d ^M

2) ed 명령을 사용합니다.

vi 에디터에서 다음과 같이 입력합니다. 여기서 : 는 아시다시피

명령모드로 가는 거구, 1은 첫라인을 $는 마지막 라인을 의미합니다.

그러므로 여기서 1,$ 는 첫라인부터 마지막라인까지라는 뜻이겠죠?

s는 substitute의 약자로써 다음의 /피대체어/대체어/ 에서

피대체어를 대체어로 바꾼다는 것입니다. 여기서는 ^M을 없애라는

뜻이겠죠? 마지막의 g는 global의 약자로 각 라인에서 해당문자열이

나올때마다 몽땅 바꾸라는 의미.

:1,$s/^M//g

2. perl 을 이용하는 방법

perl -pi -e 's/\r//' inputfile

3. sed 를 이용하는 방법

1 번 vi 에디터를 이용하는 방법에서 언급 되었습니다. 커맨드라인상에서

바로 수정하는 방법.

sed 's/^M//g' inputfile > outputfile

4. awk 를 이용하는 방법

print $0 는 문서전체를 의미합니다.

awk '{print $0,"\r"}' inputfile > outputfile

5. tr 을 이용하는 방법

1 번 vi 에디터를 이용하는 방법에서도 언급되었지만 에디터를 부르지

않고 커맨드라인상에서 바로 고치는 방법입니다. -d 옵션은 delete를 의미.

tr -d '\015' < inputfile > outputfile

6. mcopy 이용시 옵션을 주는 방법

-t 옵션을 이용하면 mcopy로 복사할때 ^M 문자가 없어지고 copy됩니다.

mcopy -t a:/test.cap .

7. fromdos 명령을 이용하는 방법

간단히 리눅스에 포함되어있는 유틸리티를 이용하는 방법입니다. fromdos는

도스용 문서를 리눅스(유닉스)용으로, todos는 리눅스에서 도스용으로 변환

할때 사용할 수 있습니다.

fromdos inputfile

참고 : ^M 의 입력은 [Ctrl+V][Ctrl+Enter] 입니다.

또다른 방법하나.

//g$s/

요렇게 하면 몽땅 지워집니다.

1 은 첫라인부터

$ 은 마지막라인까지

s 는 다음과 같이 바꾸는데...

^M 은 입력할때 Ctrl+V M 요렇게 해야허구...

// 는 원래 요사이에 뭔 string이 들어가야하지만

없애야하기에 암껏두 안썼음.

g 는 문서전체에 걸쳐 몽땅...

이게 귀찮으시면 그냥 fromdos 명령 사용하세요~

--------------------------------------------------------------------------

제  목 : [팁] Perl에서의 ^M없애기.

올린이 : hobbit  (강태욱  )

--------------------------------------------------------------------------

안녕하세요.

전에도 한분이 제가 쓴 방법대로 했더니 파일내용이 모두 없어졌다고

하셨었는데.. 아래 글을 보니 이것때문이 아니었나 하는 생각이

드는 군요.

perl -pi -e 's/\r//' filename

이렇게 쓰는 방법은 > outfile 이런 식으로 리다이렉션을 하실 필요가

없습니다. 하셔서도 안되구요. 위 명령 자체가 결과를 다시 똑같은

이름의 파일로 저장해 주는 옵션이 포함되어 있습니다.

위 명령의 stdout 으로 아무것도 나오지 않습니다. 따라서 리다이렉션을

하면 빈 파일이 만들어질겁니다.

그냥 편하게 파일이름을 한번만 써주면 되는 방법이라 소개해 드렸던

건데... 쩝.

파일이름에는 * 나  ?도 쓸수 있습니다.

perl -pi -e 's/\r//' *.txt

이렇게 하시면 디렉토리내의 모든 txt 파일에서 ^M이 제거됩니다.

----------------------------------------------------------------------------

제  목 : [팁] vi 에서 ^M 없애기.

올린이 : jackslo (정재홍  )

----------------------------------------------------------------------------

vi 에서 ^M를 없애는 방법은 간단합니다.

다음의 대괄호안의 문장을 그대로 치시기만 하면 되죠~

":g/^M/s///g"

한가지 주의 사항은 ^M은 두개의 "^"와"M"의 결합이 아니라

하나의 character라는 겁니다...어떻게 만드냐 하면...

control+v control+M 이라고 control key를 누른 상태에서

v와 M을 연속으로 누르시면 됩니다.

참고로 ^K 는 control key를 누른 상태에서 v와 M을 연속으로 누르면

되겠죠....

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 88번

제  목:[강좌] 기본적인 RPM 사용법 - 김병찬님

올린이:pey1    (박은영  )    97/10/03 11:40    읽음:9146 관련자료 없음

-----------------------------------------------------------------------------

안녕하십니까?

이번에는 김병찬님의 도움으로 간단하고 기본적인 RPM 사용법을 올리겠습니다.

많은 도움 되시길 바랍니다.

------------------------------------------------------------------------

RPM 사용하기

김병찬 redhands@soback.kornet.nm.kr

V1.0, September 30, 1997

______________________________________________________________________

차 례

1.      소개

2.      일반적인 정보

2.1.    RPM 구하기

3.      RPM 사용하기

3.1.    설치, 제거

3.1.1.  설치, 제거의 여러 옵션들

3.2.    질문 하기

3.2.1.  질문하기의 여러 옵션들...

4.      끝내면서

4.1.    질문 사항이 있다면?

4.2.    저작권

______________________________________________________________________

1.  소개

RPM 은 아주 간편하고 사용하기 편한 패키지 관리자이다. 사용자 뿐만

아니라 만드는 사람에게 있어서도 좋은 패키징 툴이다. 여기선 RPM 을

사용하고 관리하는 방법을 설명 하겠다.

2.  일반적인 정보

2.1.  RPM 구하기

현재 RPM 은 레드헷사에서 만들어 배포하고 있다. 물론 GPL 이다. 가장

최신의 RPM 패키지는 ftp.redhat.com <ftp://ftp.redhat.com> 에서 찾아

볼수 있다. 국내에서는 알짜 레드헷 이라는 이름으로 더욱 많이 알려져

있고, 또한 대부분의 레드헷 사용자가 알짜팀에서 제작한 알짜 레드헷을

사용한다.  한글 관련 패키지는 ftp.kreonet.re.kr

<ftp://ftp.kreonet.re.kr/pub/Linux/hangul> 구할수 있을것이다. 알짜

레드헷에 대한 정보는 미약하나마 적수네 동네 <http://www.issue.ml.org>

에서 구할수 있을것이다.

3.  RPM 사용하기

RPM 사용은 아주 간단하다. 설치,제거와 질문 그리고 패키지 제작 이렇게

세부분으로 나눌수 있는데 여기서는 설치와 질문 부분만 살펴 보기로 하자.

패키지 제작에 관한것은 이미 적은 글도 있고 (엉성하지만) 초보에게는

아직은 골 아픈 이야기가 될테니까 말이다. 사실 RPM 관련의 명령들은 이

글이 아니라도 많은곳에서 보고 배울수 있다. man rpm 으로 볼수도

있을것이고 RPM HOWTO 도 이미 번역이 되어 있다. 또는 rpm --help 를 봐도

된다. 참고 바란다.

RPM 패키지의 이름에 대해서 잠시 알아 보고 넘어가도록 하자.

foobar-1.0-1.i386.rpm

RPM 패키지 이름에서 - 는 각 필드를 구분하는 것이다. ^^

o  우선 맨 앞부분의 foorbar 는 패키지의 이름이다. 가장 기본적인것이다.

o  두번째 1.0 은 패키지의 버젼이다. 프로그램 버젼과 일치하는 것이다.

o  세번째의 1 은 패키지의 릴리즈 번호이다. 이 패키지가 몇번째로

만들어진 것인지를 나타낸다. 똑같은 프로그램으로 버젼이 같다고 해도

이전에 만든 패키지를 다시 재 패키징을 하였다면 (뭔가 변화가 있고)

릴리지 번호를 올리게 된다.

o  네번째의 i386 은 어떤 시스템에서 쓰이는것인지를 나타내는 것이다.

i386 이라면 당연히 PC 계열을 나타네는 것이고 sparc 이라면 스팍

리눅스용, alpha 라면 알파 리눅스용일것이다. (현재 레드헷은 이

세개의 시스템용으로 나온다.) 이 네번째 필드가 src 라고 적힌것이

있는데 그것은 소스 RPM 이다. 바이너리 패키지를 만들기 위해

필요한것이다. ^^

o  마지막의 rpm은 소위 말하는 확장자이다. RPM 패키지라는것을 나타내

준다.

3.1.  설치, 제거

RPM 패키지의 설치와 제거는 아주 간단하다. 및의 예를 보자.

rpm -i foobar-1.0-1.i386.rpm

보통은 이런식으로 사용하게 된다.

rpm -ivh foobar-1.0-1.i386.rpm

이 명령으로 하면 설치 되는 모습이 # 마크로 표시 될것이다. 썰렁함을

면해 볼 수 있을것이다.

RPM 으로 패키지를 설치 할때는 사실 위의 명령보다는 -Uvh 옵션을

사용하는 습관을 익히는것이 좋을것이다.

rpm -Uvh foobar-1.0-1.i386.rpm

이 명령을 사용한다면 rpm 은 이 패키지의 이전 버젼이 설치 되었는지를

보고 가 되어 있다면 업그레이드를 할것이다. 또 설치되어 있지 않드면

설치 할 것이다.  그냥 -i 또는 -ivh 로 설치 한다면 이전 버젼의 같은

패키지에 대한 정보는 사라지지 않을것이고 또한 이전의 설정 파일도

백업되지 않는다.  다시 한번 강조 하지만 되도록 rpm -Uvh 를 사용하라.

3.1.1.  설치, 제거의 여러 옵션들

그외 몇가지 부수적인 옵션이 있는데 여기서 설명하도록 하겠다. 이

부수적인 옵션들은 설치 또는 업그레이드 또는 제거 옵션뒤에 붙이게 된다.

(제거 옵션에서는 --nodeps , --noscripts , --test 만을 사용한다.)

o  --nodeps :

의존성을 무시하고 설치한다. 가장 많이 격게 되는 문제인데 RPM 에서는

어떠한 패키지가 깔려 있지 않으면 그거에 영향을 받는 패키지는 못

까는 경우가 있다.  그럴때 사용하는것이 --nodeps 이다.

o  --force :

강제로 설치 하게 된다. 보통 패키지 설치시에 현재의 패키지에 포함된

파일이 이미 다른 패키지에 의해 설치 되 있을때 충돌을 한다며 에러가

나는데 이 옵션으로 설치 할수 있다. 참 이 옵션은 이미 있는 파일은

덮어 쓰지 않는다.  이미 있는 파일마져 덮어 쓸려면 --replcaefiles 를

사용하면 된다.

o  --oldpackage :

새로운 패키지를 지우고 구버전의 패키지로 교체할 때에 사용한다.

o  --percent :

패키지 파일을 설치하는것을 퍼센트로 표시해준다. 멋있게 나오는것은

전혀 아니니 기대하지 말자! (ftp 설치 같은것을 할때 유용할 것이다.)

o  --replacepkgs :

이미 같은 패키지가 설치되 있더라도 다시 설치한다.

o  --replacefiles :

이미 설치된 다른 패키지의 파일을 덮어 쓰면서라도 목숨 걸고

설치한다.  (왠만하면 쓰지 말자 무섭다!)

o  --root <디렉토리> :

<디렉토리>를 마치 / 처럼 생각하고 설치를 한다. 즉

o  --root /tmp 라고 한다면 /tmp 가 / 인 것으로 생각하고 그 이하로

설치하게 될것이다.

한가지 문제가 있다면 이 명령을 사용하면 RPM 정보를 기록하는 파일을

지정한 디렉토리 및에서 찾게 된다. 흐흐

o  --test :

패키지를 실제로 설치하지는 않고 충돌이나 의존성 문제가 있는지만을

검사한다.

o  --noscripts :

스크립트를 실행하지 않는다. (레드헷 패키지에는 4개의 스크립트가

들어간다.  설치 전후, 제거 전후 이렇게 4개이다.)

o  --excludedocs :

문서 파일은 설치 하지 않는다.

이 옵션들을 모두 기억할 필요는 없다. 단 --nodeps 만은  꼭 머리 속에

넣어 두기 바란다. 흘려 듣지 말기를

한가지 매우 재밌는것이 있다. 윈도우 같은 상용 프로그램들에서는 상상도

못할 일이다. 바로 FTP 를 이용한 설치이다. (상용 프로그램 어떤것이 그냥

FTP 로 받아서 설치 하도록 해주겠는가?)

FTP 를 이용해서 설치 하기 위해서는 네트웍에 연결이 되어야 하고 정확한

위치를 알아야만 한다.

rpm -i ftp://ftp.foobar.com/pub/redhat/foobar-1.0-1.i386.rpm

-i 가 무엇을 뜻하는지를 까먹었다면 다시 처음부터 읽기 바란다. -.-+

여기세 --precent 를 사용한다면 재밌을것이다. 그외에 질문도 가능한데

그건 좀 있다가 예기하자. 아 골아퍼!

3.2.  질문 하기

패키지의 장점을 그데로 드러네는 곳이다. 현재 설치된 패키지나 설치 하지

않는 패키지에 대한 정보를 보고 그 패키지의 구성을 살펴 볼수도 있고,

무슨 파일이 있는지 어떤 패키지와 의존성이 걸리는지 누가 만들었는지

등등 많은 것을 알 수 있다. 하나 하나 설명해 보기로 하겠다.

RPM 에서 질문을 수행하기 위해서는 -q 라는 옵션을 쓴다. rpm -qa

이런식으로 -q 이후에 다른 옵션을 붙여 쓰는 것이다. 기억하라 RPM 에서

옵션을 적을때 꼭 rpm -q -a -l 이런식으로 뛰어 써야 하는것은 아니다

그냥 rpm -qal 이렇게 붙여 쓰면 된다.

도데체 이놈의 컴에 어떤 패키지가 깔려 있을까? 답답할때가 있을것이다.

내가 이걸 깔았나 안 깔았나 패키지가 몇개나 깔려 있는건가... 대충

프로그램 이름은 아는데 패키지명은 정확히 모르겠고 아주 답답할때가 ^^

이렇게 해보자.

rpm -qa |more

위에서 질문을 수행하기 위해서는 -q 를 사용한다고 하였다. 다시 한번

강조 하지만 기억하라. -a 옵션은 모든 패키지를 보여 달라는 것이다. 다른

명령과 조합해서 쓸수도 있다. 참 뒤에 |more 는 너무 많이 출력되니까

한페이지씩 보기 위해서 사용한거다. ^^

심심할땐 이런 명령을 사용해 볼수도 있을것이다.

rpm -qal

-l 옵션은 어떤 패키지에 속한 파일들을 모두 출력하는 것이다. 여기서 -a

옵션과 같이 사용했으니 설치된 모든 패키지에 속한 파일들을 보여줄

것이다. 꽤 오래 걸리겠지만... 이런식으로 여러개의 옵션을 조합해서

사용함으로써 더욱 많은 정보를 더 쉽게, 또한 간단하게 알아 낼수 있다.

어떤 패키지에 대한 대략적 정보를 알고 싶으면 어떻게 할것인가?

rpm -qi foobar

이런식으로 사용한다. -q 는 다시 안 말해도 알것이고 -i 는 info 의

약자일것이다. 그 패키지에 대한 약간의 정보를 제공하게 된다. 한가지

기억해야 할것은 패키지의 이름만을 적는것이다. 저 위에서 설명 하였다.

^^ 다시 한번 보던지 기억을 해 내던지 하기를...

$ rpm -qi howto-ko

Name        : howto-ko                    Distribution: (none)

Version     : 1.1                               Vendor: Byeng-Chan, Kim

<redhands@soback.kornet.nm.kr>

Release     : 3                             Build Date: Tue Sep 30 19:18:42

1997

Install date: Tue Sep 30 19:19:23 1997      Build Host: issue.ml.org

Group       : Extensions/Korean             Source RPM:

howto-ko-1.1-3.src.rpm

Size        : 612864

Summary     : Various HOWTOs from the KLUG Document Project

Description :

This is the best collection of Korean Linux documentation there is.

If you want to find newer versions of these documents, see

http://klug.ajou.ac.kr or http://members.iWorld.net/mangchi

For the versions in this package see /usr/doc/HOWTO/translations/ko(rea).

Good Time!  (Sorry, I don't hanv Tex. so, I don't make ps and dvi...)

이런식의 화면을 볼수 있을것이다. 각각 무엇을 나타내는지 파악이 되리라

싶다.  패키지의 이름, 버젼, 릴리지 번호, 만든 사람, 만든곳, 만든 시간,

크기, 설명 등을 볼수 있다. ^^

이렇게 사용해 보면 또 어떨까?

rpm -qif /bin/ls

-i 옵션은 위에서 설명 했는데 -f 옵션은 또 무엇인지? 음 머리가 좋은

사람은 직접 해봤거나 대충 짐작을 할것이다. 흐흐 (머리 좋은가?) -f 는

지정한 파일을 포함하는 패키지를 알려준다. 그런데 -i 옵션을

사용했으니까 그 패키지에 대한 대략적인 정보를 보여 줄것이다. 그냥 -f

만 쓰면 패키지 이름만 보여주고 말겠지만 재밌지 않은가? 이건 또 어떤가?

rpm -qlf /bin/ls

음 무슨 명령인지 머리속을 팍 스쳐 지나갔으리라고 생각한다. 아까 -l

옵션은 그 패키지에 속한 파일들을 다 보여 준다고 했다. 그렇다면? 후후

/bin/ls 파일을 포함한 패키지에 속한 모든 파일을 보여 줄 것이다. 아차차

다시 강조하자 얍! (머 말할지 알겟지만) 질문은 언제나 -q 옵션을

사용한다. 기억 기억

-f 명령은 아주 유용하게 쓰인다. 어떤 파일이 도데체 어느 패키지에

있는지 알수가 없을때, 에러가 낮을때 연관된 파일을 찾아 낼때 등등

생각해보면 아주 많은 경우에 쓰일것이다. 어떤 프로그램의 패키지가

있는데 이게 에러가 계속 나고 실행이 안된다. 요리 요리 궁리해보면 이런

방법을 사용해 볼수 있을것이다.

rpm -qsRf /bin/foobar

무엇일까? (흐흐 또 새로운 옵션이 등장) -qf 는 알겠는데 -sR 은 또 먼지

자자 성급하게 알려고 하지 말자 설명 할꺼이니까... 방금 패키지 에러

예기를 했으니 역시 똑똑한 사람은 짐작을 할수도 (난 멍청한가?)

-s 옵션은 패키지가 포함한 파일들의 상태를 보여주게 된다. 이 패키지에

속한 파일들이 설치가 되었는지 지워 졌는지 딴걸로 바뀌었는지를 알수

있다. 각각 normal, not installed, replaced 로 표시 된다. 어떤 파일이

쉬익 지워졌다면 그 프로그램이 실행되지 않을수도 있지 않는가^^

아 그리고 -R 은? 후후 이 명령은 패키지가 의존하고 있는 다른 파일 또는

패키지를 보여 준다. 의존이라고 하면 잘 이해가 가지 않을수도 있는데 이

패키지의 프로그램을 실행하기 위해서 필요한 파일, 프로그램들을 나타내는

것이다. 왠만한 프로그램은 libc 가 없으면 실행 되지 않을것이다. (이해가

되었나? 흠?)  그러니까 이 파일이 의존하는 프로그램들을 찾아서 흐흐 그

프로그램들이 또 이상은 없는지 확인하면 호호 에러를 고칠수도

있을것이다.

자자 다시 고, 못 먹어도 고!!!

rpm -dc foobar

흠 이건 뭐에 쓰는 물건 아니 옵션인고? -d 는 문서 파일만 보여준다. 흐흐

그리고 -c 는 설정 파일만 보여준다. (붙였쓰는 일은 거의 없지만 인간이

글 적다 보면 더 적기 귀찮을때가 있지 않겠는가) 이 패키지의 설정 파일만

보거나 문서 파일만 보고 싶을때 사용하면 되지 않겠는가^^

대충 정리 끝났다. 이정도만 알면? 써먹을수 있지 않을까? 아 참 중요한거

하나 빼먹은거 같다.  -p 옵션이다. 설치된 패키지에 대한 옵션이야 그냥

-qi 이런식으로 사용하면 되는데 설치 되지 않은 패키지에 대해서는 -p

옵션을 사용해야 한다. 완전한 경로와 정확한 이름을 써야 한다. 패키지

이름만 적는것이 아니다.

rpm -qip /tmp/foobar-1.0-1.i386.rpm

무슨 말인지 잘 모르겠으면 손으로 해보라. 머리는 컴이 아니니까 ^^

이런, 또 빼먹었다. 이걸 잘 인식하지 않는 사람이 있을텐데 후  --scripts

라는 옵션이다. 물론 -q 와 함께 사용한다. 요런식으로,

rpm -qp --scripts /tmp/foobar-1.0-1/i386.rpm

아까 잠시 말한적이 있을것이다. RPM 패키지에는 4개의 스크립트가

포함된다고 말이다. 설치 전후, 제거 전후 그런데 왜 이렇게 이걸 설명을

하냐면 중요하기 때문이다. 패키지라는것이 아주 위험하다. 잘 사용하면

아주 편하지만 악의를 가진 사람에게 있어서는 트로이의 목마로 사용될수도

있는것이다.

패키지는 root 로 설치하게 된다. 이 명령을 사용할때가 바로 이때다 설치

전!!!  (물론, 설치 후에 사용해도 상관이 없겠지만...) 왜 그런가 다시

한번 말하지만 4개의 스크립트 무엇을 집어 넣어도 상관이 없다. 설치후에

rm -rf / 가 실행되도록 한다면 당신의 시스템은? 풍지박산 개박살^^ 꼭

기억하라 설치전에 꼭 체크를 해보는 습관을 가져라. 그리고 믿을수

있는곳에서 패키지를 받아 와라. 그렇지 않고 개박살난 후에 후회해봤자 소

잃고 외양간 다 날라가고 집 구석까지 폭삭 내려 앉은 후에 외양간

고친다고 발악하는 꼴이 될꺼라고 이 연사 강력하게 주장합니다. 에궁

에이 이왕 가는김에 -K 도 알아보자. 이건 -q 를 같이 사용하지 않는다.

rpm -K /tmp/foobar-1.0-1/i386.rpm

이 명령은 파일에 대해서만 수행하게 된다. 무슨 작동을 하는 명령이냐면

(뜸  들이기) 패키지 파일에 대한 md5, pgp 사인, 파일의 크기 에 대하여

조사 하는 명령이다.

/tmp/foobar-1.0-1.i386.rpm: size pgp md5 OK

이런식의 출력을 보게 될것이다. pgp 사인은 이 패키지의 제작자가 위에

자신이 만들었다는 표시 정도로 하게 되는것으로 내가 믿을수 있는 사람의

사인이 되어 있다면 이 패키지는 충분히 믿을수 있는것 아니겠는가? ^^

알짜 레드헷 제작진의 PGP 공개키는 적수네 동네

<http://www.issue.ml.org> 에서 구할수 있다. 또한 md5 와 size 로

패키지가 변경이 되었는지 깨졌는지를 간단하게 알수 있다. 만약 저

테스트중에 크기와 md5 부분에서 이상이 난다면 누군가 악의적으로

바이너리 해킹을 했거나 전송 받는중에 깨진것일거다.

rpm -Kv /tmp/foobar-1.0-1/i386.rpm

이렇게 -v 또는 -vv 옵션을 같이 사용하면 좀더 상세한 내용을 볼수 있다.

-v 나 -vv 는 어떠한 명령에도 같이 사용할수 있다. 좀 더 상세한 정보를

원할때 사용하기 바란다. ^^

rpm -qlv foobar

이런식으로 사용한다면 그 패키지에 포함된 파일들에 대한 상세한 정보를

보여줄 것이다. 크기, 퍼미션, 위치 등등

아까 설명한다고 했었는데... FTP 로도 질문이 가능하다. 다만 서버에서

배려를 했다면 말이다. ^^ 설치와 마찬가지로 정확한 위치를 알아야 한다.

또한 질문의 모든 옵션을 사용할수 있다. -K 만 빼고 ^^ 앗 -a도 빼고 ^^

rpm -qip ftp://ftp.foobar.com/pub/redhat/foobar-1.0-1.i386.rpm

3.2.1.  질문하기의 여러 옵션들...

-q와 함께 사용한다는거 잊지 말고 대략적으로 옵션들의 기능을 적겠다.

o  <패키지명> :

<패키지명> 에 대한 질문을 수행한다.

o  -a :

모든 패키지에 대하여 질문을 수행한다.

o  -f <파일> :

<파일> 을 포함하는 패키지에 대한 질문을 한다.

o  -F :

-f 와 같은 기능이지만 표준 입력으로 부터 파일명을 읽는다. 그러니까

ls /usr/bin | rpm -F 이런식으로 사용한다.

o  -p <패키지 파일> :

패키지 파일에 대한 질문을 한다.

o  -P :

-p 와 같은 기능이지만 표준 입력으로 부터 파일명을 읽는다. ^^

o  -i :

패키지에 대한 대략적인 정보를 출력한다.

o  -R :

패키지가 의존하고 있는 파일 또는 패키지 목록을 보여준다.

o  -l :

패키지에 속한 파일들을 보여준다.

o  -s :

패키지에 속한 파일들의 상태를 보여준다.

o  -d :

문서 화일만 보여준다.

o  -c :

설정 파일만 보여준다.

o  --scripts :

설치,  제거 과정에 사용되는 쉘 스크립트가 있다면 그 내용을

출력한다.

4.  끝내면서

거의 대부분 HOWTO 와 메뉴얼 페이지에 있는 내용이지만 좀 더 쉽게 적어

볼려고 했다. 쉬울지 모르겠지만... 좀 더 쉽게 그리고 알차게 RPM

패키지를 사용하기 바란다.

4.1.  질문 사항이 있다면?

RedHat 홈페이지 <http://www.redhat.com> 나 적수네 동네

<http://www.issue.ml.org> 에 들러 보기 바란다.  또, RPM HOWTO 나

메뉴얼 페이지 등을 자세히 살펴 보기 바란다. 메일로 질문은 되도록

사양을 하며 나우누리 <telnet://nownuri.net> 질문 게시판에 질문을

하는것도 좋은 방법이다.

4.2.  저작권

이 문서는 GPL 라이센스를 따른다. 알아서 사용하기 바란다. 흐흐^^ 다시

한번 말하지만 이 인간 적수가 쓰는 글은 모두 GPL 이다. ^^

--------------------------------------------------------------------------

## 좋은 강좌 써 주신 김병찬님에게 감사의 말씀 전합니다. ##

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 90번

제  목:[강좌] 뉴스그룹 읽기 (slrn, slrnpull)

올린이:pey1    (박은영  )    97/11/19 23:49    읽음:4591 관련자료 없음

-----------------------------------------------------------------------------

안녕하십니까?

정말 오랜만에 올리는 강좌 입니다.

그동안 책임을 다 못해서 죄송 합니다. --;

이번 강좌는 이기영 님이 수고를 해 주셨습니다.

그럼 많은 도움 되시길 ^^;

----------------------------------------------------------------------

slrn 과 slrnpull로 뉴스그룹을 읽는 법을 알아 봅시다.

slrn 은 온,오프라인 뉴스 리더 입니다. slrnpull 은 slrn을 오프라인으로

사용할때 뉴스를 긁어오게 하는 것입니다.

우선 준비하셔야 할 패키지는 slrn 과 slrnpull 입니다.

그리고 slang 0.99.38 이상 버젼이 있어야 합니다.(slrn 0.9.4 기준)

(제가 레드햇을 쓰는 관계로 레드햇을 기준으로 설명합니다.

ftp://ftp.kornet.nm.kr/pub/Linux/distributions/redhat/contrib/i386

여기에 rpm 패키지로 모두 있습니다.)

1-6 : 오프라인으로 뉴스그룹 읽기

7   : 온라인으로 뉴스그룹 읽기

1. 필요한 패키지 설치 하기

rpm 패키지를 이용하여 바이너리를 설치합니다.

rpm -ihv slang패키지명

rpm -ihv slrnpull패키지명

rpm -ihv slrn패키지명

(소스를 가져와서 직접 컴파일을 하실분은 내부 문서 참조)

2. ~/.bash_profile 편집하기

자신의 홈디렉토리에 있는 ~/.bash_profile 에서 긁어온 뉴스를 저장할

디렉토리와 뉴스서버를 지정합니다.

export SLRNPULL_ROOT="/root/News"     : 원하는 곳으로 적으세요

export NNTPSERVER="news.interpia.net" : 자신이 쓰는 뉴스서버

코넷을 사용하시면 뉴스서버는 news.kornet.nm.kr 이겠죠?

위의 두줄을 ~/.bash_profile 의 자신이 편한곳에 추가하세요.(주석 빼고)

3. ~/.slrnrc 파일 편집하기

여기서 slrn이 slrnpull 로 긁어온 뉴스를 읽도록 설정합니다.

slrnpull을 위한 설정이라고 해도 되겠군요.

자신의 홈 디렉토리에 .slrnrc 라는 화일을 편집합니다.(없으면 만드시고)

username "root"         : 자신의 아이디

hostname "jini.mind.kr" : 자신의 호스트네임

set use_slrnpull 1

set read_active 1

set server_object        "spool"

-- 여기 까지가 기본적으로 slrnpull 을 쓰기 위한 설정

set spool_inn_root "SLRNPULL_ROOT"

set spool_root "SLRNPULL_ROOT/news"

set spool_nov_root "SLRNPULL_ROOT/news"

-- 여기 까지는  ~/.bash_profile 에서 설정 했죠?

set spool_nov_file ".overview"

set spool_active_file "data/active"

set spool_activetimes_file "data/active.times"

set spool_newsgroups_file "data/newsgroups"

-- SLRNPULL_ROOT 하부의 파일들에 대한 설정.

별로 수정을 가할 이유가 없을꺼 같네요.

set custom_headers "MINE-Version: 1.0\n Content-Type:

text/plain ; charset=EUC-KR\nContent-Transfer-Encoding: 8bit"

-- 두줄이 아니라 한줄에다가 주욱 쓰세요.(꼭!)

set reply_custom_headers "MINE-Version:1.0\n Content-Type:

text/plain; Charset=EUC-KR\nContent-Transfer-Encoding: 8bit"

-- 마찬가지 한줄입니다. (반드시)

set use_mime 0

set mime_charset "EUC-KR"

-- 그냥 두세요.

mono quotes "none"

-- replay 를 했을때 > 모양으로 나오는거에

밑줄을 하는것을 금지합니다.

참 그리고 홈디렉토리의 .newsrc 라는 화일에 자신이 쓰는 뉴스 서버를

적어 주세요.(달랑 한줄...) 없다면 만드시고 ...

없어도 될듯 생각이 드는데... 있어야 한다니까...

4. 뉴스그룹 지정하기

이제 slrnpull 을 실행했을때 긁어올 뉴스그룹을 지정합니다.

~/.bash_profile 에서 export SLRNPULL_ROOT="/root/News" 에 지정한곳에

slrnpull.conf 을 만듭니다. 여기선 /root/News/slrnpull.conf 가 되겠죠?

예)

han.comp.os.linux            0     0

han.comp.hangul              0     0

han.comp.mail                0     0

han.net.kornet               0     0

han.sys.linux                0     0

han.announce                 0     0

han.comp.misc                0     0

han.comp.question            0     0

han.comp.www                 0     0

han.comp.security            0     0

han.misc.forsale             0     0

han.news.admin               0     0

han.news.stats               0     0

han.rec.games                0     0

han.rec.humor                0     0

han.sys.ibmpc                0     0

------------               -----  -----

첫번째 필드              두번째  세번째

첫번째 필드는 뉴스그룹이름이고 두번째 필드는 긁어올 글들의 갯수이고

세번째 필드는 몇일전꺼만 긁어오라는 설정입니다. 0 은 모두다 긁어 오기

입니다. 위의 예 대로 설정하면 무지 오래 걸릴겁니다. 원하시는 것만

선택해서 넣으시길...

5. 실행하기

이제 설치가 다 되었군요. 그럼 slrnpull 이라고 명령을 내립니다.

설정에 잘못된 곳이 없으면 뉴스를 긁어 오기 시작합니다.

만약 안된다면...

slrnpull -d /var/spool/slrnpull -h YOUR.NNTP.NEWS.SERVER

이렇게 실행을 해봅니다. 그래도 안돼면... 다시 찬찬히 설정을 해보시길.

그러면 자신이 지정했던 디렉토리(/root/News/)의 news/에 디렉토리와 화일들이

생성됩니다. 다 받아왔으면 이제 slrn 을 실행합니다.

뉴스 그룹이 보이죠? 읽으시면 됩니다.

6. 포스팅 하기

읽기만 하지말고 가끔 글을 써서 올려 봐야 겠죠? 그냥 slrn 을 실행해서

포스팅을 하시면 나중에 다시 slrnpull 을 실행하면 그때 포스팅이 됩니다.

자신이 지정했던 디렉토리(/root/News/)의 out.going/에 저장되었던 글들이

포스팅됩니다.

7. slrn 을 사용하여 온라인으로 뉴스그룹 읽기

그냥 뉴스그룹을 설정하시고 (~/.bash_profile에서 설정)

홈디렉토리에 .newsrc 란 화일을 만들어서

(지금 까지 설정하신거 그대로 두고 이것만 수정하시면됨)

han.announce:

han.comp.hangul:

han.comp.internet:

han.comp.mail:

han.comp.misc:

이런식으로 자신이 보고자 하는 뉴스그룹을 선택하시면 온라인 상태에서

slrn을 실행해서 뉴스 그룹을 볼수 있습니다.

여기까지 쓴글은 제가 여기저기서 듣고 보고 느낀것을 그냥 두서없이

쓴것입니다. 고수님들의 글을 거의 옮긴것이지만... 나름대로 정리를

해봤습니다. 초보님들께 도움이 되었으면 좋겠네요.(저도 초보임)

그외 뉴스그룹에 관련된 사항은 다른 문서들을 참조하시길...

이 글을 읽고 무엇인가 이상하고 궁금하거나...

혹시 틀린것이 있거나 수정을 해야 할 부분이 있으면...

mindline@sarang.net 이나 mindline@power.taegu.net

으로 이메일을 부탁합니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 91번

제  목:[강좌] 각각의 디렉토리에 대해

올린이:pey1    (박은영  )    98/03/10 01:31    읽음:5154 관련자료 없음

-----------------------------------------------------------------------------

글에 들어가기에 앞서 이 글은 이만용님의 알짜 슬렉웨어 3.1 책을 바탕으로

쓰여졌다는 것을 밝힙니다.

* 각각의 디렉토리에 대해서 *

도스와는 달리 유닉스는 설치 즉시 상당히 복잡한 파일 시스템이 만들어져

있다. 그리고 그것들은 각각의 고유한 의미들을 가지고 있다.

우선 루트로 로긴을 한 후 '/' 디렉토리로 가서 'ls -F' 라고 해보자.

eun-young:~# cd /

eun-young:/# ls -F

그러면 etc, bin, var 등등 여러 디렉토리가 나온다. 이제부터 각각에 대해

알아보도록 하자.

1. /bin

/bin은 바이너리나 실행 파일의 줄임말이다. 이 곳에는 시스템의 아주 기본

적인 프로그램들이 위치하고 있다. 'ls -F /bin' 이라고 해보면 cp, ls, mv등과

같은 명령들이 보인다. 여기있는 프로그램들이 바로 우리가 cp, ls, mv 라고

명령을 내렸던 것에 대한 실제 프로그램들이다. 즉, cp 라고 명령을 하면

우리는 /bin/cp를 사용하고 있는 것이다.

또한 대부분이 뒤에 실행 파일을 의미하는 '*' 문자가 붙어 있다.여기있는

중요한 파일들을 나열해 보면 다음과 같다.

cat, cp, ftp, gzip, kill, ln, ls, mail, mkdir, more, mount, mv, ping,

rm, rmdir, su, telnet, tar, pwd, ps, bash, more...............등등.

여기에 있는 프로그램들은 너무도 기본적인 파일이므로 절대 지워서는 안된다.

2. /dev

여기에 들어 있는 파일들을 디바이스 드라이버라고 부른다. 보통 그 파일들은

디스크 드라이버나 메모리 등등의 시스템 장치들, 또는 자원에 접근하기 위해

사용된다. 즉, /dev/mouse 파일을 읽음으로써 마우스로 부터의 입력을 읽어 낼

수 있다. 예를 들어, fd로 시작되는 디바이스 드라이버들에 대해 알아보자.

fd0는 첫번째 플로피 디스크 드라이버를 뜻하며, fd1은 두번째 것을 뜻한다.

또 fd1h1440은 3.5인치 1.44메가 디스켓이 들어가는 플로피 드라이브를 뜻한다.

그럼 자주 쓰이는 장치 파일의 목록들을 보자.

1) /dev/console 은 시스템의 콘솔을 의미한다. 즉, 리눅스 시스템에 직접

연결되어 있는 모니터를 말하는 것이다.

2) /dev/ttyS, /dev/cua 장치들은 시리얼 포트를 사용하기 위해 필요하다.

예를들어 /dev/ttyS0는 도스에서 COM1을 의미한다.

3) /dev/hd 로 시작하는 파일들은 하드 디스크를 의미한다.

즉, /dev/hda 는 첫번째 IDE 하드 디스크 전체이고, 그중 /dev/hda1 은

그 하드 디스크의 첫번째 파티션을 의미한다.

4) /dev/lp 로 시작하는 장치명들은 패러렐 포트를 뜻한다.

즉, /dev/lp0, /dev/lp1 은 도스에서 LPT1에 해당한다.

5) /dev/tty 로 시작되는 장치들은 가상 콘솔과 연결된다.

즉, /dev/tty1 은 첫번째 가상 콘솔이다.

3. /etc

이 곳에는 다양한 시스템 설정 파일들이 있다. 중요한 파일들의 예를 들어보면

전체 사용자의 암호를 갖고 있는 /etc/passwd, 프린터 셋팅을 가지고 있는

printcap, 시스템 부팅 유틸인 리로의 셋팅을 가지고 있는 lilo.conf, 넷트워킹

정보를 가지고 있는 hosts, resolve.conf, 파일 시스템 정보를 담고 있는 fstab

등이 있다.

4. /sbin

/bin에 대비되는 디렉토리로써, 바이너리들이긴 하지만 시스템 관리자에 의해

필수적으로 사용되어야 할 것들이 있다. adduser와 같이 사용자를 등록해 주는

스크립트, SLIP 커넥션을 만들어 주는 dip, 파일 시스템과 관계되는 fdisk,mkfs,

fsck, mkswap, 슬렉웨어 안의 installpkg, setup 등이 있다.

5. /home

이 디렉토리는 사용자들의 홈 디렉토리를 포함하고 있다. 예를 들어 pey1

사용자의 홈 디렉토리는 /home/pey1 이다. 또 슬렉웨어의 경우에는 ftp 사이트에

사용되는 디렉토리가 여기 있다.

6. /lib

여기에는 시스템 전체 운영에 필수적인 공유 라이브러리 이미지가 들어있다.

또 이러한 파일들은 많은 프로그램이 공유하고 있는 코드를 포함하고 있다.

각 프로그램은 각자 그러한 루틴을 따로 가지고 있는 것이 아니라 /lib 라고

하는 곳에다 공유해서 가지고 있는 것이다. 이렇게 함으로써 실행 파일들의

크기를 줄일 수 있다. 많은 프로그램들이 공유하고 있는 부분이기 때문에 역시

몇개의 /lib 파일이 날아가는 날에는 시스템이 다운되는 사태를 당하게 된다.

7. /proc

이 곳은 리눅스를 알면 알수록 재미있게 해주는 가상 파일 시스템이라고 말할

수 있다. 실제로 /proc는 하드 디스크상에 존재하는 것이 아니라, 메모리에 존재

하는 것이다. 메모리에 존재하는 내용을 마치 하드 디스크상의 하나의 파일처럼

다룰 수 있게 해주는 디렉토리 이다. 이 안에는 지금 시스템에서 작동하고 있는

다양한 프로세스들을 참조 할 수 있게 한다.

8. /usr

이 디렉토리는 매우 중요한 디렉토리이다. /usr 디렉토리는 매우 많은 하위

디렉토리를 가지고 있으며, 그 디렉토리들은 시스템에 사용되는 매우 중요한

프로그램들을 포함하고 있고, 설정 파일들도 지니고 있다.

진술한 많은 디렉토리들이 시스템 운영에 있어서 필수적인 것에 반하여, /usr

에 있는 파일들은 선택적이라고 말할 수 있다. /usr 이 없다면 cp, ls 등만

있는 지루하고 재미없는 시스템이 될 것이다. 대부분의 흥미로운 소프트웨어들이

여기 /usr 디렉토리에 설치된다.

9. /usr/bin

여기야 말로 유닉스 시스템의 실제적인 프로그램들이 들어 있는 장소이다.

시스템 운영에 최소한의 기본 프로그램들이 든 /bin에서 발견 할 수 없는

대부분의 실행 프로그램들을 저장하고 있다.

10. /usr/X11R6

X 윈도우를 설치 한다면, X 윈도우는 상당히 크고 강력한 그래픽 환경으로써

아주 많은 그래픽 유틸리티와 프로그램들을 가지고 있고, 여러분의 스크린에

창으로 나타난다. 이 디렉토리 아래에는 X 윈도우에 관계되는 모든 프로그램,

설정 파일, 그리고 지원 파일들이 들어 있다.

11. /usr/include

/usr/include 에는 그 이름이 의미하듯, C 컴파일러에 대한 헤더 파일을 포함

하고 있다. 대부분 .h 로 끝나는 해더 파일들은 자료 구조명과 서브 루틴 그리고

C 프로그래밍에 사용되는 모든 상수들을 선언하고 있다. 유닉스 프로그래밍 수준

에서 사용되는 파일들은 /usr/include/sys 에 들어 있다.

12. /usr/lib

여기는 /lib에서 볼 수 있는 정적 라이브러리에 해당되는 것, 또는 다른

라이브러리들을 가지고 있다. 프로그램을 컴파일 하려고 할 때 그 프로그램은

바로 /usr/lib에 든 라이브러리와 링크 된다. 그 다음에 /lib를 찾아서 실제

코드를 링크해 낸다.

13. /usr/local

이 곳은 /usr과 상당히 유사하다. 시스템 운영에 필수적이지는 않은 다양한

프로그램들을 많이 포함하고 있다. 필수적이지는 않지만 시스템에서 제일 재미

있고 흥미로운 프로그램들이 여기에 위치한다고 할 수 있다.

일반적으로 /usr/local에 있는 파일들은 여러분의 시스템에 특별한 프로그램만

설치한다. 즉, 각 유닉스 시스템 서로 간에 /usr/local은 엄청나게 많이 다르다.

예를 들어 TaX, Emacs와 같은 소프트웨어 패키지 등이 여기에 설치되어 있다.

14. /usr/man

맨 페이지를 저장하고 있는 디렉토리이다. 모든 맨 페이지에 대해서는 두개의

하위 디렉토리가 존재한다. 자새한 사항은 'man man' 을 해보기 바란다.

15. /usr/src

이 디렉토리는 컴파일 되지 않은 다양한 프로그램 소스들이 들어 있다. 그중

가장 중요한 것은 뭐니뭐니 해도 /usr/src/linux 라는 디렉토리로써, 리눅스

커널의 소스를 담고 있다. 통상 시스템에 중요한 소스를 /usr/src 밑에서

컴파일 하는 것이 관례이다. 시스템에 덜 중요한 소스들이라면 /usr/local/src

밑에다 하는 것이 또한 관례이다.

16. /var

이 곳은 시스템 운영 도중에 파일 크기가 변하는 요소들을 담고 있는 디렉토리

이다. 대부분의 경우 /usr 디렉토리에 존재 하지만, /usr 디렉토리에 있는 것은

시스템 운영중에 변하지 않는 요소라고 보고, 변화하는 요소들을 /var 디렉토리

로 보낸다. 이 중에서 중요한 디렉토리의 예를 2개 들어 보겠다.

1) /var/adm

이 곳은 시스템 관리자에게 관계되는 파일들을 포함하고 있다.

특히, 시스템의 에러나 문제 상황을 기록하는 시스템 로그 파일을 들수 있다.

다른 파일들은 시스템에 로그인 하려 했던 기록을 남겨두고 있다.

2) /var/spool

이 디렉토리에는 프로그램에 의해서 스풀링 되는 파일들이 들어가는

디렉토리이다. 만약 여러분의 리눅스 시스템이 네트워크에 물려 있다면

시스템으로 들어오는 메일은 여러분이 읽거나 지우기 전까지는

/var/spool/mail 에 일단 저장된다. 또, 시스템을 드나드는 뉴스그룹 포스팅

메시지는 /var/spool/news에 일단 저장된다. 특히 리눅스의 프린팅은 BSD

방식의 스풀링을 사용하므로 프린팅할 때 임시로 생성되는 파일 또한 여기에

일단 저장되어 처리된다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 92번

제  목:[강좌] IRC의 기본 명령어와 아주 간단한 BitchX 사용법

올린이:세하    (조희진  )    99/01/07 11:39    읽음:3010 E[7m관련자료 있음(TL)E[0m

-----------------------------------------------------------------------------

본 글은 IRC client중 BitchX를 기반으로 한

IRC 기본 명령어 사용법이다. 모든 명령어들

을 나열한 것이 아니며 중요하고 자주 쓰이

는 몇몇의 명령어들만 기술할 것이다.

틀린 내용은 주저말고 mail로 보내주시거나

reply를 달아 고쳐주십시요. 저도 완벽한 사

용법을 알고 적은 글은 아니니 양해바랍니다

데비안 관련은 from104 서기현님의 도움으로

작성되었습니다. 고맙습니다. 감수: cocoja

cocoja님 감사합니다.

(:  seha@nownuri.net :)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

-=-	IRC의 기본 명령어와 아주 간단한 BitchX 사용법    -=-

-* IRC(Internet Relay Chat)란?

1988년 핀란드의 Jarkko Oikarinen에 의해 개발되었으며, 현재의 IRC버전은

1993년 발표된 RFC-1459 에 의거하여 각 IRC 서버 버전마다 개량을 거듭한

것이다. 쉽게 개념을 이해하자면 talk의 다중화 기능 이라고 설명하면 될

것이다. 하나의 IRC server에 전 세계에서 client를 통해 접속함으로써 대

화를 나누는 것이다. 하나의 IRC 서버가 전세계의 클라이언트에 서비스 하

는 것이 아니라 IRC 서버는 다른 채팅 서버와 달리 서버와 서버간을 연결할

수 있으므로 전세계에 걸쳐 서버를 연결할 수 있고, 클라이언트들은 또 이

각각의 서버에 접속하여 다른 서버에 연결한 클라이언트들과 실시간 대화를

할 수 있게 해준다.

c1 ---- S1 ----- S2 ----- S3 ----- c2

/ |

/  |

c3   S4 --- c4

/

/

c5

c 는 IRC 클라이언트

S 는 IRC 서버

일반적으로 사용되는 IRC port는 6667과 6668이며 별도의 client를 가지고

접속해야 한다.  telnet host 6667 로 접속 가능하며 RFC-1459 에 명시된

프로토콜을 사용하면 기본적으로 대화가 가능하다. 그러나 이것은 매우 불

편하므로 전용 IRC 클라이언트를 사용하는 것이다.

-* BitchX란?

BitchX 가 스크립트에서 부터 출발한 것은 아니고 ircII 라고 하는 유닉스

용 클라이언트에 쓰였던 다양한 스크립트 기능을 한데 통합하여 panasonic

이라고 하는 사람이 ircII 를 기반으로 하여 만든 클라이언트.

현재 Linux에서 사용되는 일반적 client로는 irc와 BitchX가 있으며 Window

기반에서는 Pirch와 mIRC 등의 다양한 종류가 있다.

(어디서 말해줄까 하다가 이 곳에서 알려주기로. UNIX 계열에서는 죄다 영

문자의 대소 구별이 있지만 IRC에서만은 없다. 좋은걸까 나쁜걸까? :)

http://cocoja.sarang.net/irc/ 참고.

-* BitchX는 어디서 구하는가?

소스들

http://www.bitchx.org

http://cocoja.sarang.net/irc

기타 Alzza mirror site에 가면 rpm으로 된 BitchX를 구할 수 있다.

그리고 deb는 아래 주소에 있다.

http://doit.ajou.ac.kr/debian-kr/dists/potato-kr/main/binary-i386/net

-* BitchX 설치하기

<- RPM 설치 ->

우선 깔려 있는 패키지가 있는지 확인해본다.

$ rpm -qa |grep bitchx

현재 나온 버전은 bitchx-75p1+H2-2.i386.rpm 이며, 확인해 본 결과 본 프

로그램이 깔려 있다면 -Uvh 옵션을 줘서 업데이트를 없다면, -ivh를 줘서

새로 생성한다.

$ rpm -Uvh bitchx-75p1+H2-2.i386.rpm <- 업데이트

$ rpm -ivh bitchx-75p1+H2-2.i386.rpm <- 없을 경우

이렇게 하면 /usr/doc과 /usr/lib/irc 하위 디렉토리에 화일이 생성된다.

<- DEB 설치 ->

우선 오리지널 bitchx가 설치되어 있는지 확인한다. (편의상 사용자는 루트로 가정)

$ dpkg -l '*bitch*'

있다면 지운다.

$ dpkg -r bitchx

위에서 받은 deb을 설치한다. (새로 설치건 업그래이드건 옵션은 같음)

$ dpkg -i bitchx-ko*.deb

문서들은 /usr/doc/bitchx-ko 에 쌓여있다.

-* 실행시키기 전에

<- SERVER ->

우선 들어가고자하는 server를 선택한다. 기본적으로 알짜 패키지 속의

BitchX에는 아래와 같은 서버가 등록되어 있다.

0) cafe.iworld.net

1) kiss.sarang.net

2) hanabbs.com

3) irc.locus.net

4) cse.naru.net

IRC server 등록은 /usr/lib/irc 밑의 ircII.servers에 해주면 되고, Bitch

X를 실행시키면 자동으로 0번에서부터 차례로 접속을 시도해준다.

또는 profile에 아래를 첨가해주면 된다.(한줄에)

export IRCSERVER="[linux] cafe.iworld.net kiss.sarang.net hanabbs.com

irc.locus.net cse.naru.net"

첨가해주고 난 뒤에 꼭 source .bash_profile을 해주도록 하자.

<- Realname ->

realname을 주지 않는 경우에는 user 확인을 해보았을 경우에 (* I'm to la

me to read BitchX.doc *)라는 메세지가 뜬다. 이 것은 shell profile에서

각각 export IRCNAME=""(ex. sxport IRCNAME="seha")라는 부분을 첨가해주

면 된다.

-* BitchX 실행

여태까지 죽어라고 BitchX라고 했지만 실행 명령어는 정작 BitchX가 아닌

bx이다. 쉘에서 죽어라고 BitchX라고 입력하지 않기를 바란다.

실행 명령어는 알았지만, 하기 전에 먼저 해보아야 할 것. man bx를 해보았

으나 없으므로 꼭 bx -h를 해본다. 그러면 bx에 관련된 switch들이 좌르르

나올 것이다.

기본 적으로 bx는 irc(소문자 irc는 ircII client를 의미한다)와 같이 아래

와 같이 사용한다.

$ bx nickname server (ex. $ bx seha cafe.iworld.net)

하지만 본인 계정에서 자신의 계정을 별명으로 써서 앞서 설정해준 server

화일의 서버로만 접속한다면 달랑 bx라고만 입력해도 들어간다.

<- switches ->

모든 옵션을 다 알 필요는 없고 몇가지 유용한 것들만 알아보자. 필요한 부

분은 각자 알아서 배우도록 하자.

-c <channel>   접속해서 들어갈 방을 미리 명령어 라인에 적어준다.

$ bx nickname -c#channel server

(ex. $ bx seha -c#linux cafe.iworld.net)

*channel이란?  IRC server에는 수많은 사람들이 접속하고 각자 가지

고 있는 주제가 다르다. channel이란 것은 대화방을

의미하고 대부분의 channel에는 그 방 고유의 성격이

나 주제가 내포되어 있다. #은 방 이름 앞에 늘 붙여

주도록 한다.(일종의 약속이다, 그 이상의 의미가 있

던가?)

-q             기본적으로 읽어들이는 ~/.ircrc를 읽지 않는다.

-v             version을 알려준다.

-h             switch와 약간의 도움말을 보여준다.

-N             bx를 실행시키는 순간 뜨는 첫서버로의 자동 접속을

못하게 하고 bx를 띄우는 순간 server list를 보여준

다.

-A             bx를 시작하는 순간 보여주는 ansi화면을 off한다.

-* IRC 접속 후

접속은 했는데 그 다음은 대체 무엇부터 만져야할지 모르겠다 라고 말한다

면 분명 초보임이 틀림없다. IRC맹만이 아니라 컴맹에 가깝다고 해도 할 말

이 없는 사람일 것이다. 두말하면 잔소리, /help 라고 입력해야지 그래도

컴퓨터와 통신에 익숙한 사람일 것이다. /help를 입력하면 수없이 많은 명

령어가 나오는데 도무지 뭐가 뭔지 나도 모르겠다. 몇몇개의 중요한 명령어

만 역시 알고 넘어가도록 한다. 나머지는 필요에 따라서 스스로 하기를.

BitchX 의 경우 /bhelp 가 있다.

/help 는 ircII의 명령이 /bhelp 는 BitchX 에서 확장된 명령의 도움말이

일반적으로 나온다.

<- commands ->

컴퓨터 용어가 그렇듯이 IRC의 기본 명령어도 죄다 영어의 원뜻을 생각하면

쉽게 배울 수 있을 것이다. 서버에 접속해서 아래 명령어들을 한번씩 시험

해보되, 새로운 방을 하나 만들어서 하는 것이 네티켓이다. 사람들이 이미

있는 방에서 여러 명령들을 실행해보느라고 방을 지저분하게 하는 것은 예

의가 아니다.

/                명령어를 입력하기 위해서 기본이 되는 것. 요렇게

만 말해도 다들 알리라.

/server <hosts>  bx를 실행시키고 난 다음에 서버를 바꾸거나 할 때

(ex. server cafe.iworld.net)

/join <channel>  상용통신망을 해봤다면 join 정도의 명령어는 모두

알 것이다.

(ex. /join #linux)

/part <channel>  참가하는 명령어가 있다면, 당연히 나가는 명령어

/leave <channel> 도 있을 것이다. 이 두 명령어 모두 channel을 나

가는 명령어이다. part의 경우에는 msg를 첨가할

수 있다.

(ex. /part #linux 딴 방가서 놀꺼야 :P

/leave #linux)

/invite <nick>	특정인을 자기가 있는 방으로 초대한다. 오퍼만이

할 수 있다.

(ex. /invite you)

/nick <nickname> 이름 바꾸는 명령어이다.

(ex. /nick seha_away)

*away란? away는 자리를 비웠다는 것을 의미한다.

/away	자리를 비웠을 경우에 남기며, away 다음에 이유를

적어도 되고 그냥 away만 올려도 된다. 이때에는

내게 온 msg, notice 등이 죄다 기록된다.

(ex. /away 자러가욧!)

/clear	어디든지 지우는 명령어는 있다!

/list <channel>  방이름과 주제, 참여 인원수를 보여준다. 전체를

모두 보려면 /list -y라고 해주면 된다.

(ex. /list ; /list #linux)

*참고	irc client에서는 bx에서 사용되는 -y라는 옵션이

필요없다.

/who <channel>	각 방에 있는 사람들에 대해 자세한 정보와 함께

열거해준다. 또는 /who *함으로 자기 방 사람들의

정보를 한꺼번에 볼 수도 있다.

(ex. /who #linux ; /who *)

/whois <nick>	개인 정보를 좀 더 자세하게 알아보는 명령어. se

ver 주소, 참여하고 있는 방, ircname등이 나온다.

(ex. /whois seha ; /whois *)

/names <channel> 방에 참가한 인원수와 참가자를 나열한다.

(ex. /names #linux ; /names -y)

/ver <nick>	특정인의 버전을 알아본다.

(ex. /ver you ; /ver *)

/msg <nick>	원하는 상대에게만 보이도록 메세지를 날린다.

(ex. /msg you 이렇게 하는거야)

*참고   벨을 울릴 수가 있다. /msg <nick> ^g 하면 상대컴

에 '딩' 하고 벨 소리가 간다.

/query <nick>    msg 의 윗단계?로 같은 방에서라도 다른 사람들의

대화내용을 보면서 말하는 것은 상대에게만 가도록

한다. 끝낼 때는 /query라고만 하면 된다.

(ex. /query you)

/topic	방의 주제를 보고 바꾸는 명령어이다. /topic 뒤에

원하는 내용을 적으면 된다.

(ex. /topic 열심히 합시다!)

이상은 기본적인 명령어들이였고, 이제 방의 옵션에 관한 명령어를 몇가지

익혀보자.

/mode	방의 옵션 및, 개인의 옵션을 변화시키는 기본단계

+, -로 구분 된다. 예로 설명하겠다.

/mode #linux +i  invite only 로 초대하지 않는한 들어갈 수 없다.

/mode #linux +t  오퍼만이 topic을 바꿀 수 있게 바꿔줌.

/mode #linux +p  private(개인적인) 방 초청없이 참여할 수 있으나

channel list에는 나오지 않는다.

*오퍼란? 방장을 의미하며 여러가지 강력한 권한을 가진다.

/mode #linux +o <nick>   (ex. /mode #linux +o you)

상용통신망의 챗방과 다른 점은 방장(오퍼)가 여럿

일 수 있다는 점이다.

bx에서는 /op <nick>도 동일한 역할을 한다.

이제 오퍼로써의 명령어들을 몇가지 알아보도록 하자.

/kick <channel> <nick>      (ex. kick #linux you)

방에서 특정인을 내쫓는 명령어

/ignore	특정인을 무시하는 옵션으로 마찬가지로 +, -로 변

화시킨다. 역시 예로 설명하겠다. ignore list는

/ignore만 치면 보인다.

/ignore you +all	you가 말하는 것 전부를 무시한다.

풀 때는 -all

/ignore you +msgs	your가 보내는 메세지만 무시한다.

풀 때는 -msgs

/ignore you +invite	you가 보내는 초대 메세지를 거절한다.

풀 때는 역시 -invite

/ban <nick>	특정인을 방에 못들어오도록 하는 명령어이다.

풀 때는 /unban을 같은 형식으로 사용하면 된다.

/ban <*!*@ip>	ban명령어에서도 *는 사용가능하며, ! 앞에 nick을

!다음에는 들어오는 주소의 account를 @다음에는

주소를 적어주면 특정 주소로부터의 접속을 막을

수도 있다.

(ex. /ban you!*@* 모든 주소의  you ban)

/bansta	현재의 ban list를 보여준다.

IRC에서는 file 전송도 가능하다. 하지만 이 것은 server를 걸쳐서 하는 전

송이 아니라 1:1 끼리 개인 port를 열고 하는 전송이다. 이러한 연유로 IRC

에는 해커(정확하게는 크래커)들이 warez 봇을 이용하여 불법 프로그램을

주고받는 일이 잦았는데 최근에는 서버 관리자들의 엄중한 감시로 인해 줄

어들고 있다. 기본적으로 dcc는 서버관리자들이 완벽하게 관리할 수 없지만

장난삼아서라도 대형 IRC망에서 불법 복사한 프로그램을 전송하거나 받지

않기를 바란다.

dcc외에도 cdcc도 있으며 아래 적어놓은 명령 이외의 많은 것이 있으나, 나

머지는 필요에 의해 각자 알아보기를 바란다.

/dcc send <nick> <filename> 화일 보낼 때

(ex. /dcc send you alone.mid)

/dcc get  <nick> <filename> 화일 받을 때

(ex. /dcc get seha alone.mid)

/dcc	현재 전송 중인 file의 전송량 등을 확인할 때

수많은 IRC 명령어 중에서 대략 적으로 몇가지만 알아보았다. IRC에 접속하

여 언제나 /help를 침으로써 더 많은 명령어들을 볼 수 있으며, 이를 잘 활

용하기를 바란다.

*** Usage: /help  [command] to get help on specific commands

-* BitchX Setting

이제까지는 IRC에서 사용되는 기본적인 명령어들을 살펴보았다. bx를 사용

한다는 것은 BitchX의 수많은 기능을 사용할 수 있다는 것이다. 물론 본인

도 실제로 사용할 줄 아는 기능이 열손가락 안에 들지만 몇가지 세팅과 기

능을 설명하고자 한다.

<- Setting ->

/set 이라는 명령어를 접속 중에 내려본다. 정신없이 몇 페이지의 화면이

넘어갈 것이다. 이 중에 전부를 설명할 수도 없고 몇가지 기본적이면서도

중요하다고 생각되는 것들만 설명하겠다.

/set auto	이렇게 명령하면 /set auto에 관한 것들이 나열된

다.

*참고	이하의 것들은 죄다 /set auto_away 식으로 사용된

다. 앞의 set을 잊지 말도록 하자.

auto_away	자동으로 away되느냐를 결정하는 것으로 On/Off

auto_away_time  key 입력이 어느 정도 없을 경우에 away 하게되는

지 시간을 입력한다. 기본으로 10분간을 설정해놨

을 것이다.

*참고	IRC setting에서 쓰이는 시간은 초단위이다.

auto_unban	ban을 자동으로 풀어줄 시간을 지정할 때 쓰인다.

autokick_on_version 자신의 버전 알아보려는 사람을 킥할 것인지

말 것인지를 정한다.

/set dcc	이렇게 하면 /set dcc에 관한 것들이 나열된다.

dcc_autoget	전송되는 file을 자동으로 받을 건지 결정한다

dcc_dldir	전송되는 file을 저장할 directory를 지정한다.

dcc_timeout	전송하는 file에 대해 상대가 받아들일 때까지 기

다리는 시간을 정한다. 이 시간을 넘으면 전송은

자동으로 close된다.

이 정도만 알아두도록 하자. 단 /bitch는 가급적 시험삼아서라도 하지 않도

록 하자. 이러면 꼭 한번 해보는 사람이 있는데, 책임은 절대 안진다. ^^;

<- 화면 나누기 ->

IRC는 multi-join이 가능하다. 즉, A를 떠나지 않고 B방에 참가할 수 있는

기능이 있다. 하지만 이럴 경우에는 무척이나 혼란스러운 것이 한 화면안에

두 곳의 이야기가 죄다 흘러나오고 있기 때문이다. 이를 위해서 BitchX에서

는 창을 나누는 기능이 있다.

/window help	/window 명령에 대한 도움말이 나온다.

/window new	말 그대로 새로운 창을 열어준다.

/bind ^o next_window 창을 열었으면 이동할 수 있도록해야하는데 이

때 ^o를 눌름으로 이동할 수 있도록 설정한다.

/window kill	창을 죽인다.

/window server host[:port]

윈도우 마다 서로 다른 서버에 접속하고자 하는 경

우 현재의 윈도우에 다른 서버와 접속한 화면을 유

지할 수 있다.

-* Script 사용하기

위에 알려준 홈페이지에 가면 몇몇개의 BitchX를 보다 쉽고 잘 사용할 수

있게 해주는 script가 있을 것이다. 그 중에 cocoja님의 홈에 가면 midi를

들을 수 있게 만들어놓은 script를 사용해보기를 바란다. 물론 자세한 설명

서도 첨부되었으니 쉽게 사용할 수 있을 것이다.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

어쩌다가 이런 글을 쓰게 되었는지 모르겠다. IRC를 한지 4년째, 이제서야

한 곳에 리눅서들이 있는 곳에 자리를 트고 앉았다. 4년간 여기저기 돌아다

니면서 많이도 떠들었지만 지금처럼 편안하고 가족같은 이들을 만난 것은

처음이다. 통신이라는 것을 통해서 인간미 넘치는 이들을 만난다는 것이 어

떻게 보면 아이러니한 것 같다.

이 글을 쓰기까지 도와주신 분들, 특히 서기현님, cocoja님, 김경헌님, 그

리고 #QnQ 식구들에게 감사드린다.

끝으로 IRC에서의 넷티켓은 보다 나은 통신문화 정착을 위하여 저마다 꼭

지켜주기를 바란다. :)

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 93번

제  목:[참고] IRC 접속시

올린이:세하    (조희진  )    99/01/09 09:51    읽음:2209 E[7m관련자료 있음(TL)E[0m

-----------------------------------------------------------------------------

IRC 접속시 root 계정으로 들어가지 마시길 바랍니다. 우선 #linux방에

는 ban이 걸려져 있습니다. *!root@*식으로 어떤 호스트에서 들어오던

지 상관없이 차여나가니까 root계정으로 접근하지 마세요.

root 접속시에는 공격을 당할 위험이 있기 때문에 접속을 막는 거랍니다.

친절하죠? 그러니까 root 접속하지 말아죠. :)

그러니 꼭! root 접속은 하지 마세욧!

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 94번

제  목:[강좌] 커널 컴파일 과정 - make dep이후

올린이:jhkwak  (곽재혁  )    99/07/23 12:46    읽음:2532 관련자료 없음

-----------------------------------------------------------------------------

많은 분들이 커널 컴파일 방법을 그냥 한줄로 줄줄이 외워버리고 마는것 같습니다.

예를 들어

'cd /usr/src/linux;make mrproper;make xconfig'

'make dep;make clean;make zlilo;make modules;make modules_install;

make install;reboot'

라고 쳐 넣고 커널 컴파일이 끝나기를 기다리곤 하지요...

하지만 각각이 뭘 의미 하는 건지 잘 모르고 그냥 줄줄이 외우고 있기만

하신것 같더라구요...

그래서 제가 제 나름대로 각각의 설명을 해 보려고 합니다...

우선 그림(?)을 그려보면 이렇습니다

make mrproper -> /make xconfig   \ -> make dep;make clean -> //make zlilo \

|make menuconfig|                           |\make bzlilo/

\make config    /                           |/make zImage \

\\make bzImage/

-> make modules

-> lilo 설정

-> make install -> lilo 설정

-> make modules_install

입니다. (그림이 좀 복잡하지요? ^^;;)

make mrproper

커널 컴파일과 관련해서 여러가지 문제가 발생할 수 있는 것들을

초기화 해주는 것입니다.

그러나, make mrproper는 저는 개인적으로 하지 마시기 바랍니다 ^^

이걸 써야 하는 상황이라면 좀 더 커널 설정에 대해 자세히 아셔야 합니다

커널 설정과 커널 컴파일시 생성되는 대부분의 화일을 초기화 시켜 버리는

것입니다...

특히, 이것을 수행하게 되면,

기존에 커널 설정해 놓은 정보도 모두 날라가 버리거든요....

make xconfig/menuconfig/config

그리고 xconfig는 아시겠지만 X에서 커널 설정을 하게 해주는 것이구요

menuconfig는 ncurses라는 라이브러리가 설치되어있고 X를 사용하지

않고 설정을 할때 쓰는 방식이구요.

config는 X도 ncurse도 없다 할때 쓰시면 됩니다...

세가지의 기능상 차이는 없고 그냥 사용자에게 보여지는 인터페이스가

조금씩 다르지요...

이 글에서는 각 설정에 대해 말씀 드리지 않겠습니다

넘 길걸랑요.. 다른 자료를 찾아 오시구요. 그리고 자신의 하드웨어

사양에 대해 자세히 아셔야 합니다

make dep;make clean

그리고, 그다음에 make dep이라는 것은 config 설정이 끝났으면

그것을 실제 컴파일 과정에 들어가게 하기 위해서 여러가지 의존성 설정을

하는 것입니다. 예를 들어

sb(사운드 블레스터 모듈) 이 뜨기 전에 sound라는 모듈이 떠야하고

sound가 뜨기 전에 soundcore가 떠야 한다는 둥의 의존성입니다...

이 의존성은 make config 시에 정해 지는 것이구요 make dep이라는

명령으로 실제로 적용시키는 것입니다

그다음에 make clean은 그냥 찌꺼기를 청소하는 것이라고만 아시면되겠구요

make zImage/make bzImage

그리고, make zImage가 있고, bzImage기능이 있는데

전자는 말 그대로 커널을 컴파일해서 이미지를 만드는 것입니다

(저는 이 과정이 끝난뒤에 압축이 이루어 이는 것으로 알고 있습니다.

앞에 붙은 'z'가 압축을 의미한 것으로 알고 있습니다

이것은 /usr/src/linux/arch/i386/Makefile을 살펴 보면

'compressed: zImage'라는 항목으로 확인 할 수 있습니다.)

그리고 후자는 b가 붙는데 커널의 이미지가 일정 크기 이상이 되면

컴파일 방식이 바뀌어야 하는 모양입니다.

(여기서 b는 big을 의미하는 거겠죠? ^^;)

그래서 커널 이미지가 큰 경우 이 방식으로 컴파일을 해야 합니다

그러나 제 경험상 커널 컴파일에 대해 좀 노하우가 쌓이게되고

컴파일을 잘하게 되시면 이것은 쓰지 않게 되실겁니다...

그렇다면 어떨때는 make zImage를 쓰고,

어떨때는 make bzImage를 쓰는가???

이것은 make zImage를 수행한뒤에

맨 뒤에 에러메시지에 "make bzImage를 사용하십시요"라고 (물론 영어로)

나온다면 make bzImage로 커널 컴파일을 다시하면 됩니다..

make zlilo/make bzlilo

그리고, make zlilo와 make zImage는 별로 차이가 없는 명령입니다.

make zlilo는 lilo사용자를 위한 커널 컴파일 및 설치 명령입니다.

make zImage;make install;lilo 정도의 명령 입니다.

하지만 뒤에서(lilo설정에서)

make zlilo와 make zImage;make install;lilo간의 차이를 설명드리죠

(정확히는 make zlilo는 make zImage뒤에

'mv /vmlinuz /vmlinuz.old;

mv /System.map /System.old;

cat zImage > /vmlinuz;

cp /usr/src/linux/System.map /;

/sbin/lilo;' 를 수행하게 됩니다.)

(참고: make bzlilo라는 것도 있는데,

zlilo와 bzlilo의 차이는 zImage와 bzImage의 차이와 같다고 생각됩니다

역시 /usr/src/linux/arch/i386/Makefile을 살펴 보시면 확인할 수 있음)

make install

그리고 make install인데, 이것은 make zImage나 bzImage 를 통해

생성된 커널 이미지를 설치하는 것입니다.

이 명령에 의해 커널이 설치(install) 되는 곳은

/boot 입니다. 이곳에 vmlinuz-x.x.x-xx형식으로 저장되고,

Symbolic link로 vmlinuz -> vmlinuz-x.x.x-xx가 생성됩니다.

make modules

그 다음에 모듈 컴파일입니다

이 것은 커널에서 사용할 모듈을 컴파일 하는 과정입니다.

(주의:modules에서 's'를 빼먹지 마세요...

물론 빼먹으면 컴파일이 안되지만.. ^^;;)

흔히들 이것은 make zlilo다음에 실행한다고 생각하기 쉬운데

make dep;make clean 이후에 실행가능한 것입니다

make modules는 make dep에서 얻어지는 의존성 정보를 가지고

모듈을 컴파일 하는 것이기 때문입니다.

경우에 따라서는 모듈 컴파일 타임이 커널 컴파일 타임보다

길어질 수 있습니다. (일반적으로는 더 길지요... ^^;;)

make modules_install

make modules_install은 짐작하시는 바와 같이 컴파일 완료된 모듈들을

설치(!)하는 것입니다

(주의:여기서도 modules_install에서 's'를 빼먹지 마세요..)

그러나 이 과정에서 기존에 있던 모듈을 삭제하지 않고 그냥 그 위에

덮어쓰기 하기 때문에 종종 문제가 됩니다

그래서 make modules_install 이전에 /lib/modules/x.x.x-xx

디렉토리를 삭제해 주셔야 합니다.

여기서 x.x.x-xx는 커널의 버전을 의미합니다.

이 숫자는 /usr/src/linux 가 링크된 디렉토리명에서 확인할 수 있습니다.

예를 들어 ls -l /usr/src/linux 했을때 'linux -> linux-2.2.10'이면

/lib/modules에도 2.2.10으로 디렉토리가 생기는 것이죠.

(정리하면 모듈 컴파일및 설치는 아래와 같이 하시면 되겠죠..

'make modules;rm -fr /lib/modules/x.x.x-xx;make modules_install')

lilo설정

이 부분은 lilo사용자에 한하는 부분인데요.

우선 make zlilo(또은 bzlilo)를 사용하신 경우와 make zImage;make install

하신 경우가 다릅니다.

뭐가 다르냐면, 전자의 경우 커널 이미지가 /vmlinuz에 설치가 되고요

후자의 경우는 커널의 이미지가 /boot/vmlinuz에 설치가 되기 때문입니다

lilo설정화일(보통은 /etc/lilo.conf)을 보시면 아래와 같은 항목이 있는데,

image=/boot/vmlinuz

label=linux

root=/dev/hda8

read-only

여기서 zlilo를 사용하셨다면 'image=/vmlinuz'라고 하셔야 하고요

zImage와 install을 사용하셨다면

'image='/boot/vmlinuz'라고 하셔야 합니다

저 같은 경우는 그냥 귀찮아서 위와 같이 설정하고요.

make zImage방식으로 컴파일 할때는

'make zImage;make install'

이라고 하고요

make zlilo의 방식으로 컴파일 할때는

'make zlilo;make install'

이라고 합니다 ^^;;;;;

즉 'make zlilo;make install'이라고 하면 커널 이미지가

/vmlinuz와 /boot/vmlinuz 모두에 설치가 되는 겁니다 ^^;;;;;;

물론 lilo설정뒤에 프롬프트 상에서 'lilo'라고 한번 실행시켜주셔야합니다

!!주의 사항!!

그리고 주의 사항(!!)은 위의 모든 과정은 리눅스 소스가 설치된상태에서

해야 한다는 것(1)과 /usr/src/linux에서 해야 한다는 것(2)입니다

그리고, 커널 컴파일과 모듈 컴파일 중간에 실행을 중단하지 마십시요(3)..

정말이지 잘못 했다가는 커널 컴파일이 아에 안되버리는 수가 생깁니다

소스에 손상이 가는 경우가 있나봅니다...

!!확인!!

그리고, 끝으로 커널이 잘 설치 되었는지 확인하기 위해서

ls -l /boot 를 확인해 보시기 바랍니다.

/boot/vmlinuz과 이것이 링크된 화일이요.....

날짜와 시간이 지금이 맞는지...

그러면 설치가 되었음을 확인할 수 있구요

!!에러 확인!!

그리고 참고로 커널이나 모듈을 컴파일 할때 에러가 나는 경우가 있는데

이것은 어떻게 확인하냐믄요.. make zlilo나 make zImage 또는 bzImage

실행이 끝난뒤를 살펴 보시면 ***ERROR 뭐 이런식으로 눈에 뜨이게

표현됩니다...

그러니 이 메시지를 놓치지 않기 위해서라도

커널 컴파일시에

# make dep;make clean;make zlilo;make modules;make modules_install;make instal

l;reboot

이런식으로 일사천리로 쓰시면 안되겠지요..(물론 순서는 위의 것이 맞습니다 ^^)

저 같은 경우는 우선

# cd /usr/src/linux;make xconfig

# make dep;make clean

하구나서요

# make zlilo

를 실행시킴과 동시에 창 하나를 더 뛰워서

# make modules 를 실행시키고 어디 딴데가서 책 좀 보다 옵니다 ^^

그러고 나면 두경우에 에러가 났는지 안났는지 확인할 수 있지요..

그렇게 확인이 되었으면

# make modules_install;make install;reboot

를 합니다...

(참고: at now 라는 명령을 쓰면 컴파일 과정이 고스란히 저장이 되어서

메일로 저장됩니다만... 본 글과는 좀 거리가 있는 내용이라 생략합니다

다른 분의 글을 참고 하세요...)

!!리부팅~!!

그리고 리부팅 시키면 커널의 압축이 풀리고 커널이 로딩 됩니다

그 뒤에 모듈이 로딩 되기 전에요

"Finding modules dependance..." 를 하지요

앞에서 말씀 드린 모듈들의 의존성 정보를 작성하고요

(depmod -a라는 명령입니다)

그 의존성 정보를 (화일은 /lib/modules/x.x.x-xx/modules.dep) 화일에

업데이트를 수행합니다

혹시 여기서 에러가 발생한다면

커널과 모듈 설치 하시고 그냥 리부팅 하지 마시고요

직접 아래와 같이 해보세요

# cd /lib/modules/x.x.x-xx

# depmod -a

라고 해보세요...

여기서 에러가 안나면 저처럼 나옵니다

---- 인용 시작 ----

[root@mind 2.2.10]# pwd

/lib/modules/2.2.10

[root@mind 2.2.10]# depmod -a

[root@mind 2.2.10]#

---- 인용 끝 ----

에러나 가면 커널 설정을(make xconfig에서요..) 다시 잘 해보시기 바랍니다

이부분은 커널 설정과 모듈 관련 부분이므로 이 글에서는 생략합니다.

휴~~ 이제야 끝났군요...

저는 리눅스를 참 많이 다뤄 봤는데요, 제가 리눅스 다룬 시간의 절반 이상이

이 커널 컴파일과의 시간이었습니다.

정말 알면 쉬울(?)지 몰라도, 모르면 정말 답답하지요...

예전에 커널을 직접 컴파일 해서 사용한다는 사실 자체가 놀라울때는

'make dep;make clean.....'

하는 것이 꼭 무슨 주문 같더군요 ^^;;

그게 뭐하는 건지 궁금했는데,

시원하게 설명해 주는 글을 본적이 없었습니다...

완전히 저는 몸으로 삽질반 노가다반으로 스스로 익혀 버렸는데

흑흑.... 시간 아까버.. T.T

그때 누가 그런것좀 안 가르쳐주나.. 하고 기다렸는데

이렇게 제가 적게 될줄이야... ^^

커널 컴파일 잘하면 자신의 하드웨어 성능의 100%이상의 성능을 기대할 수

있습니다. 다들 커널 컴파일에 성공하시기 바랍니다...

from 커널 컴파일 200회에 도전하는 리눅서 '쌀밥'... -_-;;

PS : 이 문서에 수정되어야 할 부분이 있으면 연락 주십시요...

PS : 개인적인 질문 메일은 사절입니다.

PS : 본 문서가 수정될때, 제목에 수정된 횟수를 적겠습니다.

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 95번

제  목:[강좌] 리눅스 부팅 과정 - inittab, rc, runlevel

올린이:jhkwak  (곽재혁  )    99/07/24 01:34    읽음:2321 관련자료 없음

-----------------------------------------------------------------------------

리눅스 부팅 과정

리눅스를 이해하기 위해 우선 부팅과정부터 차근히 살펴 가봅시다

1. 초기 부팅과정 - Lilo

우선 리눅스가 초기에 부팅될때에 흔히들

lilo라는 부트 로더를 사용하고 있습니다

1.1 lilo

실행 명령 : /sbin/lilo - install boot loader

환경 설정 : /etc/lilo.conf

이 lilo에서 우리는 선택적으로 커널을 로딩할 수 있습니다.

그래서, 도스를 로딩 할 것인지 linux를 로딩할것인지를 부팅할때마다

선택 할 수 있게 해주지요.

이 lilo에서 우리는 linux 커널 이미지를 불러오게 됩니다.

일반적으로 lilo에서 커널을 로딩하는 것은 /vmlinuz를 통하게 되어있지만

경우에 따라서는 /boot/vmlinuz를 부르기도 하고, 한 컴퓨터에

두개 이상의 커널을 가지고 있을 경우에는 환경 설정화일을 편집함으로써

선택할 수 있습니다.

만약 lilo 실행중에 'li'라고만 출력되고 멈춘다거나 'lil'까지만 출력되고

멈춘다거나 하는 경우가 있는데, 이 경우 출력된 글자의 갯수를 보고

어떤 부분에서 문제가 발생해서 멈춘것인지 짐작할 수 있게 됩니다.

자세한 것은 관련 문서를 찾아 보십시요.

2. 커널 로딩

자, 이제 우리는 lilo에서 리눅스 커널을 로딩하도록 합시다.

그러면, 이제 커널의 압축이 풀리고(1), 커널이 로딩됩니다.

(리눅스 커널은 압축된 형태로 저장되어있습니다)

커널 로딩과정은 해당 커널을 컴파일 하는 방법에 따라 다르게 됩니다.

커널 컴파일 부분에서 make config부분을 참고 하시기 바랍니다.

3. inittab

그러면 이제 커널의 로딩이 끝나면 커널은

/etc/inittab 화일을 참고해서 부팅과정을 계속 진행시킵니다.

3.1 inittab

설정 화일 : /etc/inittab

이 화일을 열어보면 각 줄이 4개의 필드로 구성되어 있음을 확인할수 있습니다

('#'문자로 시작하는 부분은 주석 부분입니다.)

각 필드를 설명하면 아래와 같습니다.

id:runlevels:action:process

id : 1-4개의 글자로 이루어진 고유이름(identifies)입니다.

runlevel : 현재의 runlevel과 이곳에 기술된 숫자가 같으면 뒷부분을

수행하게 됩니다.

action : 적절한 행동을 기술해 줍니다.

(respawn,wait,once,boot,bootwait,off,ondemand,initdefault,

sysinit,powerwait,powerfail,powerokwait,powerfailnow,

ctrlaltdel,kbrequest가 올수 있습니다.)

process : 실행시킬 프로세서를 명시해 줍니다.

여기서 runlevel은 다시 7가지가 있습니다.

0 - 시스템 종료(halt) 되는 상태

1 - Root User만 시스템을 사용할 수 있는 Single user mode

2 - 네트웍이 안되는 Multiuser

3 - Full multiuser mode

4 - 사용자 정의를 위해 비어있음

5 - X 윈도우가 실행되는 상태

6 - 시스템을 껏다켬 (Reboot)

이 runlevel은 참 재미 있는 개념입니다.

컴퓨터라는 물건이 갖을 수 있는 상태를 모두 6가지 상태로 정의한것입니다

즉, '꺼져 있는 상태', 'Root만 쓰는 상태', '네트웍이 안되는 다중사용자 상태',

'모든 기능이 다되는 다중사용자 상태', 'X가 실행되는 상태', '껏다켜지는 상태'

로 말이죠...

(4번 runlevel은 사용자가 자기마음대로 정의해서 쓸 수 있도록 비워놓은

것입니다. 뭐, '게임에 최적화 상태'등을 정의해서 쓰면 좋겠죠? ^^;;)

그래서 리눅스는 커널이 로드되는 순간부터 runlevel을 갖게 되는 것이구요,

각 runlevel에서 해야할 일들을 적어 놓는 것이 inittab이 하는 일입니다.

이후에 설명하게 될 rc도 이 runlevel의 개념을 갖고서 보셔야 합니다.

inittab을 설명하기 위해 예제를 봅시다

---- 인용 시작 ----

[root@mind /etc]# pwd

/etc

[root@mind /etc]# cat inittab | grep "^[^#]"

id:5:initdefault:

si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

ud::once:/sbin/update

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

x:5:respawn:/etc/X11/prefdm -nodaemon

[root@mind /etc]#

---- 인용 끝 ----

(보기 편하게 하기 위해서 주석을 뺐습니다)

커널은 우선 처음 부팅시의 runlevel값을 얻기 위해

action필드가 initdefault인 것의 runlevel값을 취합니다.

즉, 이 예에서는

id:5:initdefault:

에 의해 5가 됩니다.

즉, 컴퓨터가 켜지고 커널이 로드되었을때 처음 runlevel은 5가 되며,

그 의미는 '이 컴퓨터는 X가 실행되고 있는 컴퓨터이다'라는 의미가 됩니다.

그다음에는 inittab화일중에 runlevel필드에 '5'가 있는 것은

주어진 action값의 방식으로 모두 수행하게 됩니다.

(단, 위의 예에서는

si::sysinit:/etc/rc.d/rc.sysinit

에 의해 runlevel에 관계없이 /etc/rc.d/rc.sysinit 스크립트가

먼저 한번 실행되어 시스템을 초기화(sysinit)를 하게 됩니다.)

3.1.1 /etc/rc.d/rc.sysinit

실행 화일 : /etc/rc.d/rc.sysinit

이 화일은 시스템에 프로그램이 실행되는데 기본적으로 필요한 작업을

수행합니다.

(화일을 분석해 보면

기본적인 path 설정, 여러 Config data 로드, keymap로드, system font 로드,

swapping 시작, hostname 설정, NIS 설정, ISA PNP 설정,

root filesystem mounting, Quota 체크, Module들의 의존성 검사,

RAID 장치 작동, filesystem 체크&마운트

등의 일을 하게 됩니다.)

다음은 runlevel 항목에 5가 있는 것들입니다

l5:5:wait:/etc/rc.d/rc 5

pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

x:5:respawn:/etc/X11/prefdm -nodaemon

을 수행하게 되는데요.

여기서 '/etc/rc.d/rc 5'가 수행되고, 곧이어 '/sbin/mingetty tty1~6'이

실행되고, '/etc/X11/prefdm -nodaemon'이 실행됨을 알 수 있습니다.

(주의 깊게 보시면 가장 많이 사용하게되는 runlevel 3과 5의 차이는

끝에 있는 prefdm이 실행되느냐 안되느냐의 차이라는 것을 아실겁니다.)

(mingetty는 우리가 흔히 아는 login 화면이라고 생각하시면 될듯(?))

이렇게 하고나면 inittab의 할일은 모두 끝나는 것입니다.

3.1.2 /etc/rc.d/rc 5

실행 화일 : /etc/rc.d/rc

Arguments : 0 1 2 3 4 5 6 중의 하나 (runlevel값)

이것은 현제의 runlevel에서 실행되어야 할 프로그램들을 실행시켜주는

기능을 합니다.

우리가 알고 있는 부팅시에 실행되는 프로그램들은 모두 이 rc에서

실행 시켜주는 것입니다.

/etc/rc.d/rc 5

라고 하면

'지금 runlevel이 5이니 runlevel이 5일때

실행되어야 할 프로그램들을 실행시켜라'

라는 의미가 됩니다.

/etc/rc.d/rc 화일을 분석해 보면,

여러가지 기능을 갖고 있지만, 가장 중요한 기능은

앞에서도 말했듯이, '프로그램 실행'입니다.

이 경우 Argument로 5값이 들어오게 되면

/etc/rc.d/rc5.d

아래에 있는 모든 화일을 한번씩 실행시키게 됩니다.

같은 방식으로 Argument가 3이 들어오게 되면

/etc/rc.d/rc3.d

아래에 있는 모든 화일을 한번씩 실행시키게 되고요,

또 같은 방식으로 Argument가 0이 되면 '시스템을 꺼라' 라는 의미이므로

/etc/rc.d/rc0.d

아래의 모든 화일을 한번씩 실행하게 됩니다.

즉, 이경우는 컴퓨터를 끄기 전에 수행해야 할 스크립트들을

'/etc/rc.d/rc0.d'에 모아두면 되는 것입니다.

자 여기서 /etc/rc.d이하의 디렉토리들을 살펴 봅시다.

---- 인용 시작 ----

[root@mind rc.d]# pwd

/etc/rc.d

[root@mind rc.d]# ls

init.d/  rc.local*       rc.sysinit*  rc1.d/  rc3.d/  rc5.d/

rc*      rc.local.mine*  rc0.d/       rc2.d/  rc4.d/  rc6.d/

[root@mind rc.d]#

---- 인용 끝 ----

보시면, init.d, rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d, rc6.d

이렇게 8개가 있습니다.

그런데, 이상한 것이 있지요?

rc0.d ... rc6.d까지는 이해가 되는데 init.d는 뭘까요?

3.1.3 /etc/rc.d/init.d

init.d 디렉토리를 이해 하기 위해서

우선 앞에서 사용하던 runlevel이 5인 경우를 계속해서 살펴 봅시다.

runlevel이 5일때 실행될 프로그램이 저장된 rc5.d 디렉토리를 살펴 봅시다.

---- 인용 시작 ----

[root@mind rc5.d]# pwd

/etc/rc.d/rc5.d

[root@mind rc5.d]# ls

K08autofs@      K35dhcpd@     S11portmap@  S60lpd@         S85sound@

K10xntpd@       K35smb@       S15netfs@    S72amd@         S90mysql@

K15ircd@        K60mars-nwe@  S20random@   S75keytable@    S90xfs@

K20bootparamd@  K80nscd@      S30syslog@   S80sendmail@    S99linuxconf@

K20nfs@         K88ypserv@    S40atd@      S85gpm@         S99local@

K25squid@       K96pcmcia@    S40crond@    S85httpd@

K30mcserv@      S05apmd@      S50inet@     S85postgresql@

K34yppasswdd@   S10network@   S55named@    S85proftpd@

[root@mind rc5.d]#

---- 인용 끝 ----

이 디렉토리를 보면 모두 링크(link) 화일임을 확인할 수 있습니다.

(Link에 대해 여기서는 설명하지 않겠습니다.)

그럼 이제 이 링크 들이 어디에 링크 되어있는지 살펴 봅시다.

---- 인용 시작 ---

[root@mind rc5.d]# pwd

/etc/rc.d/rc5.d

[root@mind rc5.d]# ls -l | gawk ' /-/ {print $9 " " $10 " " $11} '

K08autofs -> ../init.d/autofs*

K10xntpd -> ../init.d/xntpd*

K15ircd -> ../init.d/ircd*

K20bootparamd -> ../init.d/bootparamd*

K20nfs -> ../init.d/nfs

K25squid -> ../init.d/squid*

K30mcserv -> ../init.d/mcserv*

K34yppasswdd -> ../init.d/yppasswdd

K35dhcpd -> ../init.d/dhcpd

K35smb -> ../init.d/smb

K60mars-nwe -> ../init.d/mars-nwe*

K80nscd -> ../init.d/nscd*

K88ypserv -> ../init.d/ypserv

K96pcmcia -> ../init.d/pcmcia

S05apmd -> ../init.d/apmd*

S10network -> ../init.d/network*

S11portmap -> ../init.d/portmap*

S15netfs -> ../init.d/netfs*

S20random -> ../init.d/random*

S30syslog -> ../init.d/syslog*

S40atd -> ../init.d/atd*

S40crond -> ../init.d/crond*

S50inet -> ../init.d/inet*

S55named -> ../init.d/named*

S60lpd -> ../init.d/lpd*

S72amd -> ../init.d/amd*

S75keytable -> ../init.d/keytable*

S80sendmail -> ../init.d/sendmail*

S85gpm -> ../init.d/gpm*

S85httpd -> ../init.d/httpd*

S85postgresql -> ../init.d/postgresql

S85proftpd -> ../init.d/proftpd*

S85sound -> ../init.d/sound*

S90mysql -> ../init.d/mysql

S90xfs -> ../init.d/xfs*

S99linuxconf -> ../init.d/linuxconf*

S99local -> ../rc.local*

[root@mind rc5.d]#

---- 인용 끝 ----

(ls 부분은 그냥 알아 보기 쉽게 하기 위해 gawk을 사용했습니다.

초보자 분들은 그냥 'ls -l' 해서 확인해 보시면 됩니다.

gawk에 대해 여기서는 설명하지 않겠습니다.)

위와 같습니다.

rc0.d와 rc1.d, rc2.d, rc3.d, rc4.d, rc6.d의 경우도 마찬가지로

모두 init.d에 실제 화일을 두고 있고 모두 링크 되어있음을

확인 하실 수 있을 겁니다.

왜 이런식이냐하면, 부팅시 실행되는 samba 써버 스크립트의 예를들면

runlevel이 3일때 실행될 samba 스크립트와

runlevel이 5일때 실행될 samba 스크립트가 특별히 다를 이유가 없기

때문에 중복을 줄이기 위해 위와 같은 방식을 사용하는 것입니다.

runlevel이 0, 1, 2, 4, 6의 경우도 마찬가지 입니다.

그런데, 여기서 또 한가지 주의해야 할것이 있습니다.

바로 실행 순서 입니다.

다시 위의 samba 써버 스크립트의 예를 들어봅시다.

K35smb -> ../init.d/smb

가 바로 samba 시작및 종료 스크립트 입니다.

여기서 실제 스크립트 이름은 단지 smb인데,

link화일은 앞에 'K35'가 붙어서 'K35smb'입니다.

이것은 무슨 뜻인고하니,

앞에서 설명한 rc 스크립트가 프로그램을 실행시키는 순서를 의미합니다

다시말해 rc 스크립트가 runlevel 5일때 /etc/rc.d/rc5.d아래의

스크립트들을 모두 실행시키는데 있어 실행 순서를 의미하며,

이 실행 순서는 알파벳 순서 입니다.

쭉~ 살펴 보시면 K??와 S??가 있습니다. 같은 K로 시작하는 것들끼리는

뒤에 오는 숫자가 낮은 것이 먼저 실행되고요, S도 마찬가집니다.

그리고, 짐작하시다시피 K와 S간의 실행순서는 K가 먼저 실행된후

S가 실행됩니다.

그리고 이 순서를 의미하는 앞의 세글자가 모두 같은 경우,

예를 들어 아래와 같은 경우

---- 인용 시작 ----

[root@mind rc5.d]# pwd

/etc/rc.d/rc5.d

[root@mind rc5.d]# ls S40*

S40atd@  S40crond@

[root@mind rc5.d]#

---- 인용 끝 ----

atd와 crond 간의 실행 우선순위는 없는 경우 입니다.

즉 atd와 crond는 어느 것이 먼저 실행되어도 상관 없다는 것이지요..

이 실행 순서는 각 runlevel 마다 달라지게 됩니다...

그렇기 때문에 더더욱 init.d를 사용해서 link해서 쓰게 되는 겁니다.

(제 말솜씨가 부족해서 이해가 가실지... ^_^;;)

그리고, /etc/rc.d/init.d 아래에 있는 스크립트들은 모두 공통된

방식으로 실행및 실행 종료 됩니다.

다시 samba 서버 스크립트의 예를 들면,

이 samba 서버 스크립트를 실행시키기 위해서는 아래와 같이 해야합니다.

---- 인용 시작 ----

[root@mind rc5.d]# pwd

/etc/rc.d/rc5.d

[root@mind rc5.d]# ./K35smb

Usage: smb {start|stop|restart|status}

[root@mind rc5.d]#

---- 인용 끝 ----

와 같이 하면 위와 같은 에러가 뜹니다.

즉, /etc/rc.d/init.d 아래에 모여 있는 스크립트들은

모두 실행시에는 Argument로 'start'를, 종료시에는 'stop'을

넘겨 주어야 하는 것입니다.

(경우에 따라서는 restart나 status도 Argument로 줄 수 있습니다.)

이것 참 편리하겠지요?

samba 써버 실행 스크립트와 종료 스크립트가 하나의 스크립트로 되잖아요

4. 부팅끝 컴퓨터 사용 시작 그리고 시스템 종료

자 이제, 부팅 과정에 대한 설명은 여기까지가 끝입니다.

알고 보면 간단하지요?

정리 해보면,

lilo -> kernel로딩 -> inittab -> 시스템 종료

이구요. inittab에서는 다시

초기 runlevel 읽기 -> runlevel에 따른 프로그램 실행

이구요.

이렇게 컴퓨터를 잘 쓰다가 runlevel 값을 0으로 바꿔주기만하면

시스템은 꺼지는 절차를 거쳐서 꺼지게 됩니다.

(아마도 이것은 '/sbin/shutdown now' 등의 명령으로 runlevel을 0으로

바꿔주게 되는거겠죠?

물론 '/sbin/reboot'라고 하면 runlevel 값이 6이 되는거겠죠...)

이제 Linux Box가 어떻게 동작하게 되는지 감이 잡히시죠? ^_^

- 커널 컴파일 200회에 도전하는 리눅서 '쌀밥'

PS : 위의 모든 내용은 누가 알려줘서 알게 된것이 아니라

모두 스크립트를 일일이 읽으면서 하나씩 알게된 사실이랍니다.

정말 삽질이었죠... -_-;

저의 이글로 앞으로는 그런 시간낭비 하는 분은 줄어 들기를 바랍니다.

PS : 본 글에서 수정되어야 할 부분이 있으면 연락 주십시요.

PS : 개인적인 질문 메일은 사절입니다. '문답란'을 이용하세요.

PS : 본 문서가 수정되면 제목에 수정된 횟수를 적어두겠습니다.

PS : 보기 편하시라고 indentation을 했는데, 오히려 보기 불편하실수도

있겠다는 생각이 드는군요 ^^

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 96번

제  목:[강좌] login 과정(수정1)- passwd/shadow/group

올린이:jhkwak  (곽재혁  )    99/07/25 03:36    읽음:1674 관련자료 없음

-----------------------------------------------------------------------------

이번에는 로그인(login) 과정을 살펴 봅시다.

리눅스를 정상적으로 부팅 시켰다면,

우선 '아이디/암호' 입력 화면이 나옵니다.

1. 아이디/암호 입력

이곳에서 사용자는 아이디와 암호를 입력하고

login이라는 절차를 거치게 됩니다.

(login의 정확한 단어뜻은 잘 모르겠네요 ^^;; 사전에도 없고...)

하나씩 따라가 봅시다.

처음에 아이디와 암호를 입력하면 컴퓨터 내부에서는

/etc/passwd 화일을 통해 암호가 맞는지 틀렸는지를 확인하게 됩니다.

1.1 /etc/passwd

이 화일은 사용자 ID와 Password정보, 그 밖에 사용자 ID와 관련된

필수 정보들을 가지게 됩니다.

화일을 열어보시면 아래와 같은 형식으로 되어있음을 알수 있습니다

account:password:UID:GID:GECOS:directory:shell

account : 사용자 ID입니다

password: 사용자의 암호입니다.

UID : 사용자 user ID 번호 입니다.

GID : 사용자의 Group ID 번호 입니다.

GECOS : 사용자에 대한 추가 정보 입니다. 사용자의 실제 이름, 주소, 연락처

등을 기록해 둘 수 있습니다.

directory : 사용자의 Home 디렉토리 입니다.

shell : 사용자가 사용하게 될 초기 shell입니다.

예를 보면서 하나씩 설명드리면

---- 인용 시작 ----

[jhkwak@mind /etc]$ pwd

/etc

[jhkwak@mind /etc]$ cat passwd | grep jhkwak

jhkwak:x:500:500:Kwak Jae Hyuk:/home/jhkwak:/bin/tcsh

[jhkwak@mind /etc]$

---- 인용 끝 ----

account는 말그대로 사용자의 아이디 입니다. 예제는 jhkwak라는 아이디의

사용자를 가리키고 있습니다.

그리고 password 필드가 'x'로 되어있는데, 이것은 뒤에서 shadow를 설명할때

다시 자세히 설명드리겠는데,

보안상의 문제를 개선하기 위해 사용자의 password정보는 원래

/etc/passwd 화일에 저장했었지만, /etc/shadow 화일로 옮겨지게 되었습니다.

그래서 지금 예제에서는 'x'라는 글자만 보이고 있습니다.

말 그대로 password 정보가 없다는 뜻이지요...

그리고, 그 다음의 500은 UID를 의미하는데, 이것은 시스템 내부에서

사용자 ID를 관리하는 ID 번호 입니다. 다시 설명드리면,

컴퓨터는 사용자 ID를 관리 할때에 'jhkwak'나 'root'라는 식의

영문자로 관리 하는 것이 아니라 UID라는 숫자로 관리하고 있습니다.

그래서 예제에서는 jhkwak라는 이름의 영문자 ID는 실제로 UID 500이라는

것을 가리키고 있습니다.

이 부분을 예제를 통해 좀 더 살펴 보면

---- 인용 시작 ----

[jhkwak@mind ~]$ pwd

/home/jhkwak

[jhkwak@mind ~]$ cat /etc/passwd | grep jhkwak

jhkwak:x:500:500:Kwak Jae Hyuk:/home/jhkwak:/bin/tcsh

[jhkwak@mind ~]$ ls -l Xrootenv.0

-rw-rw-r--   1 jhkwak   jhkwak       1289 Jul 24 22:22 Xrootenv.0

---- /etc/passwd 화일 편집 ----

[jhkwak@mind ~]$ cat /etc/passwd | grep jhkwak

jhkwak:x:501:500:Kwak Jae Hyuk:/home/jhkwak:/bin/tcsh

[jhkwak@mind ~]$ ls -l Xrootenv.0

-rw-rw-r--   1 500      jhkwak       1289 Jul 24 22:22 Xrootenv.0

[jhkwak@mind ~]$

---- 인용 끝 ----

위와 같이 /home/jhkwak/Xrootenv.0 라는 화일은 실제 디스크 상에

jhkwak라는 사용자 소유로 되어 있는 것이 아니라 UID 500이라는

사용자의 소유로 되어있습니다.

그렇기 때문에 예에서와 같이 /etc/passwd에서 UID 500의 사용자 ID명을

찾지 못하면 그냥 숫자로 500을 출력해 버리게 되는 것입니다...

GID는 UID와 같은 방식으로 사용자가 속해 있는 Group의 ID번호 입니다

이 Group의 ID와 Group의 이름에 관한 정보는 또 다른 화일인

/etc/group 화일에 저장되어 있습니다.

예를 통해 확인해 봅시다.

---- 인용 시작 ----

[jhkwak@mind /etc]$ pwd

/etc

[jhkwak@mind /etc]$ cat passwd | grep jhkwak

jhkwak:x:500:500:Kwak Jae Hyuk:/home/jhkwak:/bin/tcsh

[jhkwak@mind /etc]$ cat group | grep 500

cse97:x:500:

[jhkwak@mind /etc]$

---- 인용 끝 ----

위 예는 좀 안 좋은 예지만, ^^;; 설명하지요

우선 jhkwak라는 ID 사용자의 GID를 확인합니다. 500이지요?

그 다음 /etc/group 화일에서 GID 500의 Group 이름을 찾습니다

그룹 이름이 cse97 이군요... (cse97은 저희과 97학번을 의미합니다)

/etc/group은 뒤에서 다시 설명 하지요.

GECOS는 설명 할 것이 없군요...

그냥 '메모'정도입니다... 그냥 실제 이름을 적는 곳이라고 생각하시면 됩니다

directory

이곳은 사용자의 홈디렉토리를 적어 줍니다.

(홈디렉토리에 대한 설명은 생략합니다)

만약 위 예에서와 같이 /home/jhkwak라고 홈디렉토리를 적어 줬는데

만약 그 디렉토리가 존제하지 않는다면, 에러를 발생시키게 됩니다.

shell

이것은 login시에 실행시키는 프로그램을 적는 필드인데,

보통은 shell 프로그램을 적게 됩니다.

하지만, 꼭 그런것은 아니고요, 경우에 따라서는 그냥 실행시키고 싶은

프로그램 이름을 적는 경우도 있습니다.

예를 들어 저 같은 경우 아래와 같은 reboot용 아이디를 사용하고 있습니다

---- 인용 시작 ----

[jhkwak@mind /etc]$ pwd

/etc

[jhkwak@mind /etc]$ cat passwd | grep reboot

reboot:x:0:0:Rebooting:/root:/sbin/reboot

[jhkwak@mind /etc]$ su

Password:

[jhkwak@mind /etc]# pwd

/etc

[jhkwak@mind /etc]# cat shadow | grep reboot

reboot::10786:0:99999:7:-1:-1:134538844

[jhkwak@mind /etc]#

---- 인용 끝 ----

이렇게 해 놓고 로그인 ID에 reboot이라고 치면 컴퓨터가 껏다 켜지지요...

(shadow는 뒤에서 설명하겠습니다)

그리고 한가지 정말 주의 하셔야 할 것이 있는데,

그것은 shell 부분에 정상적으로 shell 프로그램을 사용하시려면

항상 '/etc/shells'화일에 기술되어 있는 shell 프로그램만 사용하셔야

한다는 것입니다.

그렇지 않을 경우 ftp를 사용하실때나 그 밖의 상항에서 문제가 발생합니다

예를 들어보면

---- 인용 시작 ----

[jhkwak@mind /etc]$ pwd

/etc

[jhkwak@mind /etc]$ cat shells

/bin/bash

/bin/sh

/bin/ash

/bin/bsh

/bin/bash2

/bin/tcsh

/bin/csh

/bin/zsh

[jhkwak@mind /etc]$

---- 인용 끝 ----

와 같을 경우 위에는 등록되어 있지 않은 /bin/ksh 같은 것을 사용한다고

하면 문제가 발생할 수 있습니다.

그러니 이런 문제가 생기기 전에 /etc/shells에 등록해 놓으시던지

아니면 /etc/shells에 없는 것은 사용하지 않으시면 됩니다.

그리고, 자신의 shell을 바꾸는 명령으로 chsh 이라는 것이 있습니다.

다음을 인용하고 사용법은 생략하겠습니다.

---- 인용 시작 ----

[jhkwak@mind /etc]$ chsh --help

Usage: chsh [ -s shell ] [ --list-shells ] [ --help ] [ --version ]

[ username ]

[jhkwak@mind /etc]$

---- 인용 끝 ----

1.2 /etc/group

이 화일은 group에 관한 정보를 담게 됩니다.

필드들을 살펴 보면 아래와 같습니다

group_name:passwd:GID:user_list

group_name : 그룹의 이름입니다.

passwd : 해당 그릅에 적용되는 password라는데, 거의 사용되지 않습니다.

GID : Group ID 입니다.

user_list : 해당 그룹에 속하는 사용자들을 나열합니다.

사용자간에는 ','로 구분합니다.

특별히 설명 드릴것은 없는 듯 하군요.

예를 통해 살펴 봅시다

---- 인용 시작 ----

[jhkwak@mind /etc]$ pwd

/etc

[jhkwak@mind /etc]$ head -2 group

root::0:root,jhkwak

bin::1:root,bin,daemon

[jhkwak@mind /etc]$

---- 인용 끝 ----

(head는 화일의 첫 몇줄만 보여주는 명령입니다.)

여기서 눈여겨 보실점은 사용자와 사용자간 구분이 쉼표라는 점과

한명의 사용자가 두개 이상의 그룹에 속할 수 있다는 사실입니다.

이 부분을 또 다른 예를 통해 살펴 봅시다.

---- 인용 시작 ----

[jhkwak@mind /etc]$ pwd

/etc

[jhkwak@mind /etc]$ cat group | grep jhkwak

root::0:root,jhkwak

jhkwak:x:500:

[jhkwak@mind /etc]$ groups jhkwak

jhkwak : jhkwak root

[jhkwak@mind /etc]$

---- 인용 끝 ----

위와 같이 특정 사용자가 어떤 그룹에 속해 있는지는 groups라는 명령으로

확인 가능합니다.

보시다 시피 한 사용자는 두개 이상의 그룹에 속할 수 있지요...

(하지만, 제 경험상 '그룹'의 개념은 별로 쓸모가 없지 않나 싶더라구요 ^^;;)

1.3 /etc/shadow

이 화일은 Unix 시스템의 보안 문제를 개선하기 위해 사용됩니다.

가장 중요한 기능은 /etc/passwd 화일에서 드러나는 password 정보를

감추는 것이구요.

그 외에 몇가지 추가적인 기능을 제공해 주기도 합니다만,

별로 안 중요 합니다 ^^;;

각 필드를 살펴 봅시다.

Login_name:password:password_changed_day:password_:password_expire_count:expire_warn_count:account_disable_after_expire:account_disable_day:reserved

Login_name : /etc/passwd에서의 ID를 말합니다.

password : 암호 정보를 말합니다.

password_changed_day : 최근 암호를 변경한 날짜입니다.

1970년 1월 1일을 기준으로 날짜를 셉니다.

password_ : 뭔지 모르겠습니다 (^^;;죄송..)

password_expire_count : shadow에서는 한번 등록한 password를 몇일 동안만

유효하게 하고 그 유효기간이 지나면, 반듯이

password를 변경해야만 하게 할 수 있습니다.

(이것을 password 유효기간이 지났다(expire)고 합니다)

이 필드는 그 휴효날짜를 적습니다.

7이라고 쓰면 password를 변경한 그 날로 7일간

그 암호를 사용할 수 있게 허락 하는 것입니다.

password_expire_warn_count : 이것은 암호 유효기간이 다되어 감을 경고할

날짜를 말합니다. 예를 들어 위의 expire 될 날이 10일 남은

상황에서 이 expire_warn_count 값이 10이상이면

'오늘로 부터 10일 뒤에 password가 expire 됩니다'라는 경고가

나갑니다...

account_disable_after_expire : 이것은 해당 ID의 password가 expire된

뒤로 몇일동안 로그인 하지 않으면 ID 사용을 금지 시킬것인지를

정할 수 있게 해줍니다.

예를 들어 이 값이 3일경우 password가 expire된날로부터

3일 안에 login 시도후 암호 변경을 하지 않는다면

그 ID를 아에 사용할 수 없게 되어버립니다.

account_disable_day : 해당 ID를 더이상 사용할 수 없게 되는 날짜를

1970년 1월 1일을 기준으로 적어줍니다.

reserved : 사용되지 않는 필드 입니다.

shadow 화일의 가장 중요한 기능에 대해 먼저 설명 드리죠.

우선 passwd 화일의 단점으로는 퍼미션입니다.

---- 인용 시작 ----

[jhkwak@mind /etc]$ pwd

/etc

[jhkwak@mind /etc]$ ls -l passwd

-rw-r--r--   1 root     root          899 Jul 25 02:41 passwd

[jhkwak@mind /etc]$

---- 인용 끝 ----

위에서 보는바와 같이 /etc/passwd 화일은 group과 other user에게

read 퍼미션이 반듯이 부여되어 있어야 합니다.

그 때문에 다름 사람들의 Password정보를 누구나 볼 수 있게 되어있습니다

저는 레드헷 6.0에서 이미 'pwconv'라는 명령을 실행시켜서 shadow 기능을

사용하고 있기 때문에 문제가 없지(?)만 예전에는 아래와 같은 상황이

연출될 수 있었습니다.

---- 인용 시작 ----

[jhkwak@mind /etc]$ pwd

/etc

[jhkwak@mind /etc]$ ls -l passwd

-rw-r--r--   1 root     root          899 Jul 25 02:41 passwd

[jhkwak@mind /etc]$ cat passwd | grep jhkwak

jhkwak:DOupvHPo0/uDo:500:500:Kwak Jae Hyuk:/home/jhkwak:/bin/tcsh

[jhkwak@mind /etc]$

---- 인용 끝 ----

위에서 password 정보인 "DOupvHPo0/uDo"는 jhkwak 아이디의 암호를

cryto라는 함수를 통해 변환한 값입니다.

이 함수의 특징은 A라는 특정 문자열을 B라는 문자열로 변환시켜주는 것인데

이렇게 해서 생성된 B라는 문자열을 통해 A라는 문자열을 다시 얻는 것은

수학적으로 불가능에 가깝다는 특징을 갖습니다.

즉 역함수가 없다는 것이지요...

(왜 이러한 방식을 사용하는지 이해가 가십니까?

이러한 이유에서 아무리 root라해도 사용자들의 암호를 알아낼수는 없습니다)

그래서 사용자가 login 할때에 "loveletter"라는 등의 암호를 입력받으면

우선 입력받은 값을 cryto 함수에 넣어서 문자열을 변환한뒤에,

/etc/passwd 화일의 해당 값과 비교해서 같으면 암호가 맞은 것으로 처리하게

되는 것입니다.

(앞의 두글자는 salt라는 것이고 뒤의 값들은 hashed string이라 부릅니다.

자세한 것은 다른 문서를 참고하세요...)

그런데, 최근들어 컴퓨터의 속도가 빨라짐으로 해서 cryto의 역함수를

연산해 낼 수 있게 되어 가고 있게 되었습니다.

다시말해 cryto의 역함수는 수학적으로 '구현하기 어렵다'이지,

'존제하지 않는다'는 아니거든요...

그리고, 경우에 따라서 영어사전에 있는 단어를 사용한다거나,

암호와 관련된 여러가지 정보를 사용해서 실제 암호를 알아낼 수 있게됩니다

그래서, '암호 정보'를 다른 곳에 저장해서 일반 사용자들이 볼 수 없게

하자는 생각에서 개발 된것이 shadow 화일입니다.

실제 예를 통해 살펴 봅시다

---- 인용 시작 ----

[root@mind /etc]# pwd

/etc

[root@mind /etc]# ls -l shadow

-r--------   1 root     root          790 Jul 25 03:07 shadow

[root@mind /etc]#

---- 인용 끝 ----

위와 같이 한것입니다.

(경우에 따라 /etc/passwd 의 퍼미션이 400인경우도 있기는 하지만

여러가지 문제가 발생하게 됩니다.

나우누리 인터넷 계정 서비스 서버가 그렇더군요 ^^;;;)

2. shell 스크립트 시작

이렇게 해서 암호 확인 절차가 끝나면 /etc/passwd화일의 마지막 필드에 기술된

shell이 실행됩니다.

이 shell 이 실행된뒤의 절차는 shell 마다 다른데

bash과 csh/tcsh 의 경우를 살펴 봅시다.

2.1 bash - 'Bourne-Again Shell'

실행 화일 : /bin/bash

설정 화일 : /etc/profile, /etc/bashrc, ~/.bash_profile, ~/.bash_login,

~/.profile, ~/.bashrc

이 쉘은 Linux에서 많이 쓰이는 것으로 알고 있습니다.

실행 순서는 /etc/profile, /etc/bashrc,을 실행시킨뒤,

~/.bash_profile 또는 ~/.bash_login 또는 ~/.profile 화일을 실행시키고,

~/.bashrc를 실행 시킵니다.

여기서 profile이나 login화일들은 처음 로그인 할때에만 실행되는 것입니다.

2.2 csh/tcsh - 'turbo C shell'

실행 화일 : /bin/tcsh

설정 화일 : /etc/csh.login, /etc/csh.cshrc, ~/.login, ~/.cshrc, ~/.tcshrc

/etc/csh.logout, ~/.logout

이 쉘은 제가 아주 좋아하는 쉘인데, 예전에는 한글 처리 부분에 문제가 있었

지만 최근에는 거의 찾아보기 어렵고, 사용도 아주 편리 합니다.

(알짜는 디폴트로 bash를 쓰게 될텐데, 재미 삼아 tcsh를 한번 써보세요...)

(재미 있는 기능으로는 setenv autologout, 명령어 오탈자 검사/정정기능,

tab키로 문장 완성 기능 Ctrl-D 키로 명령어 확인 기능, script에서 함수사용

기능, 화살표키 기능 등등이 있습니다. 한가지 예를 보면...

---- 인용 시작 ----

[jhkwak@mind ~]$ lz /usr/bin

CORRECT>ls /usr/bin (y|n|e|a)?

---- 인용 끝 ----

더 자세한 기능은 다음 기회에 소개 하겠습니다.)

tcsh은 /etc/csh.login, /etc/csh.cshrc, ~/.login를 실행 시키고,

~/.tcshrc 또는 ~/.cshrc 를 실행 시킵니다.

그리고, logout시에는 /etc/csh.logout, ~/.logout 을 실행 시킵니다.

그리고 login 화일들은 첫 login시에만 실행시키고,

그 이후에는 /etc/csh.cshrc, ~/.tcshrc 또는 ~/.cshrc 화일만 실행시키게됩니다

특징은 tcsh은 csh과의 하위 호환성을 유지하려 한다는 것입니다.

그래서 csh의 환경 설정 화일만으로도 tcsh 사용에 무리가 없습니다.

3. login 메시지

설정 화일 : /etc/issue, /etc/issue.net, /etc/motd

login시에 화면에 출력되는 메시지에 관한 설명입니다.

login ID를 입력하기 전 화면에 출력되는 메시지(보통은 해당 서버의 LOG죠..)

는 /etc/issue라는 화일입니다.

있는 그대로 화면에 보여주는데 경우에 따라서는 ANSI코드도 사용할 수 있습니다

그리고, telnet으로 접속해서 보여지는 메시지 화면은 /etc/issue.net 화일입니다

telnetd에서 가져다가 사용하게 됩니다.

(telnetd는 telnet신호를 받아들이는 서버 데몬입니다.)

그리고 접속이 성립되고 SHELL이 동작하기 전에 화면에 보여지는 메세지는

/etc/motd 화일의 내용입니다.

보통은 공지 사항이 들어가곤 하지요.

(참고, motd는 Message of today의 줄임입니다.)

4. logout, 접속 종료~!!

접속 종료 하는 법은 shell마다 다르지만 일반적으로

Ctrl-D를 누르면 종료되는 것은 일반적입니다.

그리고 보통은 logout이라고 치면 접속 종료 됩니다.

5. 끝, 정리

자, 지금까지 login를 하는 방법만이 아니라,

login 시에 내부적으로 어떤 절차를 거치게 되는지 살펴 보았습니다.

알고 보면 쉽고, 모르고나면 짜증나는 초보자들을 위한 강좌 였습니다.

- 리눅스 보안에 관심이 많은 리눅서 '쌀밥'

PS : 이번 RedHat 6.0의 shadow 화일에 암호 hash code는 끝내주게 길군요..??

PS : 본 글에서 수정되어야 할 부분이 있으면 연락 주십시요.

PS : 개인적인 질문 메일은 사절입니다. '문답란'을 이용하세요.

PS : 본 문서가 수정되면 제목에 수정된 횟수를 적어두겠습니다.

(현재 한번 수정되었습니다.)

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 97번

제  목:[강좌] Cron - 부제:리눅스 학습과정 - Manual/Cron/At

올린이:jhkwak  (곽재혁  )    99/07/31 15:55    읽음:1669 관련자료 없음

-----------------------------------------------------------------------------

Cron

1. Cron 이란?

이번 글에서는 리눅스의 사용을 보다 편리하게 해주는 cron에 대해 알아보도록

하겠는데요, 그냥 간단히 Cron이 무엇인지, 사용방법은 어떤 것이 있는지만

살펴 보는 것이 아니라 어차피 초보자를 위한 강좌이니까 Cron이라는 것이

무엇인지 스스로 알아내는 과정을 중심으로 Cron을 설명하겠습니다.

말하자면, 물고기를 잡아만 주는 것이 아니라, 물고기 잡는법도 알려드리겠다는

것이지요...

Cron이라는 것이 무엇일까요?

Cron에 대해 설명하기 위해 우선 man cron을 해봅시다.

그러면 Cron에 대해 자세히 설명되어있습니다.

초보님들을 위해 간단한 man의 사용을 짚어보고 넘어가는것이 좋겠군요.

1.1 man - manual 페이지를 보여줌

실행 화일 : /usr/bin/man

설정 화일 : /etc/man.config

관련 화일 : /usr/bin/manpath

man은 특정명령어의 manual(설명서) 페이지를 보여주는 것입니다.

초보자나 숙련자나 할 것 없이 아마도 Linux/Unix 사용하시는 분들이

가장 많이 사용하는 명령이 아닐까 싶군요.

man의 사용법은 'man man'이라고 하시면 알 수 있습니다 ^^;

우리가 살펴보고자 하는 cron의 manual 페이지를 예로 man에 대해 더 알아봅시다.

우선 cron 설치 RPM 페키지에 man에서 사용할 수 있는 manual 화일이

어디에 설치되는지 알아보도록 합시다.

(rpm의 사용법은 다른 분의 글을 참고해 주세요.)

---- 인용 시작 ----

[jhkwak@mind ~]$ rpm -qa |grep cron

crontabs-1.7-6

vixie-cron-3.0.1-33

[jhkwak@mind ~]$

---- 인용 끝 ----

위와 같이 'rpm -qa'라고 하면 자신의 컴퓨터에 설지되어있는 모든 페키지

이름이 나열되고요, 그중에서 우리에게 필요한 cron관련 페키지명만 얻기위해

위와 같이 grep을 사용하였습니다.

이번에는 rpm DataBase에 등록되어있는 해당 페키지의 설명을 봅시다.

---- 인용 시작 ----

[jhkwak@mind ~]$ rpm -qi crontabs

Name        : crontabs                     Relocations: (not relocateable)

Version     : 1.7                               Vendor: Red Hat Software

Release     : 6                             Build Date: Thu 15 Apr 1999 10:00:31 AM EDT

Install date: Tue 13 Jul 1999 09:39:03 PM EDT      Build Host: porky.devel.redhat.com

Group       : System Environment/Base       Source RPM: crontabs-1.7-6.src.rpm

Size        : 4856                             License: public domain

Packager    : Red Hat Software <http://developer.redhat.com/bugzilla>

Summary     : Root crontab files used to schedule the execution of programs.

Description :

The crontabs package contains root crontab files.  Crontab is the

program used to install, uninstall or list the tables used to drive the

cron daemon.  The cron daemon checks the crontab files to see when

particular commands are scheduled to be executed.  If commands are

scheduled, it executes them.

Crontabs handles a basic system function, so it should be installed on

your system.

[jhkwak@mind ~]$ rpm -qi vixie-cron

Name        : vixie-cron                   Relocations: (not relocateable)

Version     : 3.0.1                             Vendor: Red Hat Software

Release     : 33                            Build Date: Wed 14 Apr 1999 07:09:48 PM EDT

Install date: Tue 13 Jul 1999 09:58:41 PM EDT      Build Host: porky.devel.redhat.com

Group       : System Environment/Base       Source RPM: vixie-cron-3.0.1-33.src.rpm

Size        : 58402                            License: distributable

Packager    : Red Hat Software <http://developer.redhat.com/bugzilla>

Summary     : The Vixie cron daemon for executing specified programs at set times.

Description :

The vixie-cron package contains the Vixie version of cron.  Cron is a

standard UNIX daemon that runs specified programs at scheduled times.

Vixie cron adds better security and more powerful configuration options

to the standard version of cron.

[jhkwak@mind ~]$

---- 인용 종료 ----

'rpm -qi 패키지명'을 하면 해당 패키지에 대한 설명을 볼 수 있습니다.

이제, 각 페키지가 어떤 화일들로 이루어져있는지 살펴 봅시다.

---- 인용 시작 ----

[jhkwak@mind ~]$ rpm -ql crontabs

/etc/cron.daily

/etc/cron.hourly

/etc/cron.monthly

/etc/cron.weekly

/etc/crontab

/usr/bin/run-parts

[jhkwak@mind ~]$ rpm -ql vixie-cron

/etc/cron.d

/etc/logrotate.d/cron

/etc/rc.d/init.d/crond

/etc/rc.d/rc0.d/K60crond

/etc/rc.d/rc1.d/K60crond

/etc/rc.d/rc2.d/S40crond

/etc/rc.d/rc3.d/S40crond

/etc/rc.d/rc5.d/S40crond

/etc/rc.d/rc6.d/K60crond

/usr/bin/crontab

/usr/man/man1/crontab.1

/usr/man/man5/crontab.5

/usr/man/man8/cron.8

/usr/man/man8/crond.8

/usr/sbin/crond

/var/spool/cron

[jhkwak@mind ~]$

---- 인용 끝 ----

위와 같군요. 여기서 man에서 사용할 수 있는 manual 화일은

/usr/man/man1/crontab.1

/usr/man/man5/crontab.5

/usr/man/man8/cron.8

/usr/man/man8/crond.8

이렇게 네개 입니다.  디렉토리를 보면 알수 있지요.

그리고, 화일명은 man에서 사용할 명령어 명이고요, 뒤에 붙는 숫자는

Manual 페이지의 성격을 나타내는 Section 명입니다.

Section은 1부터 8까지 있는데, 각각은 아래와 같은 의미를 갖습니다.

Section 명 칭          의 미

1    Commands       Shell에서 사용자가 사용할 수 있는 명령어들에

대한 Manual

2    System Calls   Kernel에 의해 수행되어야 하는 함수들

3    Library Calls  해당 Linux Box에서 사용하는 Library의 함수들에

대한 Manual

4    Special files  특별한 화일들에 대한 Manual (보통은 /dev이하의 화일들)

5    File Formats   사람이 읽어볼 수 있는 설정화일들(보통은 /etc이화 화일들)

and convertions

6    Games          Game에 대한 Manual

7    Macro Packages System의 표준(Standard)과 관련된 Manual

and convertions (표준 문자표현, 표준 프로토콜, 그래픽표현 표준 등)

8    Kernel         Kernel의 routine들과 관련된 Manual

routines

(이건 여담인데, 솔직히 말해 Linux용 Game중에는 재미 있는게 너무 없어요 T_T)

위의 예와 같은 경우 crontab이 Section 1과 5가 있습니다.

같은 crontab에 관한 설명이지만, 담고 있는 의미가 다른것이지요.

Section 1의 crontab을 보고 싶으면 'man 1 crontab'이라고 하면되고,

Section 5의 crontab을 보고 싶으면 'man 5 crontab'이라고 하시면 됩니다.

모든 Section을 다 살펴 보기 위해 'man -a (명령)'을 사용합니다.

자, 이제 'man cron'해보시면 아래와 같은 문장을 보실 수 있을 겁니다.

cron - daemon to execute scheduled commands (Vixie Cron)

cron은 윈강아지의 '스케줄 관리'프로그램과 같은 것입니다.

특정 시간에 특정 명령이 실행되도록 해주는 것이지요.

이 cron을 이용해서, 컴퓨터를 잘 사용하지 않는 새벽시간에

매달 한번씩 하드를 백업해 놓는명령을 실행 시킨다거나,

하루에 한번씩 뉴스그룹에서 뉴스를 긁어온다거나 하는 명령을

자동으로 실행 시킬 수 있습니다.

그리고, 명령어 실행 결과는 자신의 메일로 보내집니다.

커널 컴파일 같이 오랜 시간이 걸리는 명령, 실행결과를

살펴보아야 하는 명령의 경우 cron을 사용하면 편리하겠지요.

(커널 컴파일은 사실 Cron보다 at 페키지를 더 많이 사용하곤 합니다.

at의 사용법은 Cron과 거의 같습니다.

at에 대한 설명은 여기서는 하지 않겠습니다만, 간단히 설명 드리면

atd는 crond와 비슷하고, at은 crontab과 비슷합니다.

atq는 at의 작업 대키 큐(Queue)에 어떤 것이 등록되어있는지 보여주는 것이고,

atrm은 작업 큐에 대기중인 작업을 지우는 것입니다.

batch도 at페키지에 포함되어있는 프로그램인데,

Linux Box의 load average가 0.8이하일때, 다시말해 시스템의 자원이 어느정도

여유가 있을때 아무때나 명령을 실행하는 것입니다.

자세한 것은 지금 이 글에서 제가 적는 Cron의 사용법을 알아가는 과정과

같은 방법으로 직접 알아보세요.. 말하자면 숙제입니다 ^^;)

특히, 윈강아지와는 다르게, Linux Box는 Web 써버로 사용한다거나

화일 써버로 사용한다거나 해서 24시간 계속 켜 놓고 사용하는 경우가 많은데

이러한 특징을 생각해 볼때 cron은 정말 막강한 기능을 가지고 있는 것입니다.

(윈강아지의 스케줄관리프로그램에서 매달 새벽에 디스크 정리를 하라고 해

놓으면 거의 제대로 동작하지 않습니다. 왜냐하면 대부분의 경우  윈강아지는

사용하지 않을때 특히 새벽같은 시간에는 꺼 놓기 마련이니까요...)

이건 여담인데, 제 친구의 경우 Cron을 사용해서 매일 특정시간에 자기

헨드폰으로 메시지를 전송하게 해 놓고서는, 시간마다 자기 Web 페이지에

몇명이 접속했는지 확인하더라구요 ^^;;;

(이 내용은 Expect 관련 자료를 를 참조해 보세요..

Expect로 나우누리에 접속해서 bb명령을 사용하는 겁니다...

Expect 관련 책은 O'Reilly출판사의 Exploring Expect라는 책이있는데

번역본은 아직 못봤군요. Expect관련 자료는 이책이 거의 유일한듯...)

1.2 Cron - /usr/sbin/crond, /etc/crontab, /etc/cron.d/*

실행 화일 : /usr/bin/crontab, /usr/sbin/crond

설정 화일 : /etc/crontab, /etc/cron.d/*, /var/spool/cron

참조 화일 : /usr/man/man1/crontab.1, /usr/man/man5/crontab.5

cron은 우선 부팅이후에 계속 메모리에 상주하는 crond 프로그램과

cron에서 사용할 스케쥴 정보를 등록해주는 crontab 프로그램으로

나뉩니다.

crond는 위의 rpm 명령에서 살펴 보았듯이

/etc/rc.d/init.d/crond

에 의해 부팅시에 데몬('crond'의 'd'가 데몬이라는 의미이지요)으로

동작합니다.

crond는 항상 메모리에 상주하면서 매분마다 자신이 실행시켜야 할

명령이 있는지 없는지 확인하고 있다면 실행시키고 없다면 그냥 기다리게

됩니다.

자신의 메모리에 crond가 떠 있는지 아닌지를 확인하기 위해서는

ps를 사용하게 됩니다.

(ps에 대해서 설명해 드리고 싶은데, 내용이 상당이 많아서 일단 다음으로

미루겠습니다. 잘못하면 배보다 배꼽이 더 커지겠네요.. ^^;)

저의 경우를 살펴 보면

---- 인용 시작 ----

[jhkwak@mind ~]$ ps -C crond

PID TTY          TIME CMD

301 ?        00:00:00 crond

[jhkwak@mind ~]$

---- 인용 끝 ----

crond에서 사용할 스케줄 정보는 /etc/crontab 화일과

/etc/cron.d 디렉토리 아래에 있는 모든 화일입니다.

저의 경우를 살펴 보면

---- 인용 시작 ----

[jhkwak@mind /etc]$ pwd

/etc

[jhkwak@mind /etc]$ cat crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# run-parts

01 * * * * root run-parts /etc/cron.hourly

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

[jhkwak@mind /etc]$ ls -la cron.d

total 6

drwxr-xr-x   2 root     root         1024 Apr 14 19:09 ./

drwxr-xr-x  34 root     root         4096 Jul 31 08:34 ../

-rw-r--r--   1 root     root           86 Apr 19 17:46 kmod

[jhkwak@mind /etc]$ cat cron.d/kmod

# rmmod -a is a two-hand sweep module cleaner

*/10 * * * *    root    /sbin/rmmod -as

[jhkwak@mind /etc]$

---- 인용 끝 ----

조금 알아보기 어렵지요?

/etc/crontab 화일은 vi로 열어서 편집하게 됩니다.

이 화일에서는 cron이 동작할 명령과 그 명령이 실행될 시간, 그리고

실행될때의 환경변수 값들을 설정해 주게 됩니다.

위의 예에서와 같이

name = value

와 같이 적게 되면 이것은 환경변수들을 설정해 주는 것이되고

'#'로 시작하는 줄은 주석이 됩니다.

환경변수중 'MAILTO' 값은 명령들이 실행된 뒤 누구에게 실행 결과를

메일로 보내줄것인가를 정해주는 값입니다.

이제 시간 설정법에 대해 설명 드리지요.

위에서 인용한 것들을 예로 들어서 설명해보지요.

01 * * * * root run-parts /etc/cron.hourly

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

여기서는 7개의 필드로 구분됩니다.

물론 예에서는 8개의 필드인것 처럼 보이지만 7번째 이후의 필드는

하나로 인식 됩니다.

앞의 5개의 필드는 시간을 적는 것이고, 6번째 필드는 해당 작업의

소유자를 적어주게 됩니다.

시간 필드는

첫번째 필드는 '분'을 의미합니다. 갖을 수 있는 값은 0부터 59까지 입니다.

위의 예에서는 각각 01분, 02분, 22분, 42분 을 의미하고, 경우에 따라

'*/10'과 같이 써주는 경우도 있는데 이경우는 '매 10분마다'라는 의미가 됩니다

두번째 필드는 '시간'을 의미합니다. 갖을 수 있는 값은 0부터 23까지 입니다.

위의 예에서 '*'는 매시간 마다라는 의미가 됩니다.

그리고, '1,2,3,4'와 같이 뛰어쓰지 않고 여러개를 적어줄 수도 있고 같은 의미로

'1-4'와 같이 써줄수도 있습니다. '1-2,3-4'와 같이도 쓸 수 있겠지요..

그리고, '1-9/2'와 같이 써줄 수도 있는데 이경우는 '1,3,5,7,9'를 의미합니다

세번째 필드는 날짜 입니다. 갖을 수 있는 값은 0분터 31까지 입니다

(여기서 0은 달의 마지막을 의미합니다.)

적는 법은 '시간'의 그것과 같습니다.

네번째 필드는 '달'을 의미 합니다. 갖을 수 있는 값은 0부터 12까지 입니다.

(여기서 0은 12월을 의미합니다.)

역시 적는 법은 '시간'의 그것과 같습니다.

다섯번째 필드는 '요일'을 의미합니다. 갖을 수 있는 값은 0부터 7까지 입니다.

(0과 7은 일요일입니다.)

여기서 숫자대신에 영문자를 써 줄수도 있습니다. 예를 들어 일요일의 경우

0이라고 쓰거나 7이라고 써도 되지만, 'sun'이라고 써주어도 됩니다.

역시 적는 법은 '시간'의 그것과 같습니다.

여섯번째 필드는 말씀 드린데로 소유자를 적어줍니다.

일곱번째 필드는 실행 시킬 명령어 인데, 'run-parts'라는 것은 처음 보시죠?

몇가지 인용해 보겠습니다.

---- 인용 시작 ----

[jhkwak@mind ~]$ whereis run-parts

run-parts: /usr/bin/run-parts

[jhkwak@mind ~]$

---- 인용 종료 ----

즉, 하나의 프로그램입니다. 이 프로그램은 스크립트입니다. 즉, vi로 읽어보면

어떻게 동작하는지 알 수 있다는 말이지요. (물론 스크립트를 읽을 줄 아셔야

하지요 ^^;;)

하는 일은 뒤에 Argument 값으로 주는 디렉토리명 아래에 있는 화일들을

모두 한번씩 실행시켜 주는 것입니다.

그러니 위의 /etc/crontab 화일의

01 * * * * root run-parts /etc/cron.hourly

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

라는 것은 매일 매시간마다 한번씩 /etc/cron.hourly라는 디렉토리 아래에 있는

모든 프로그램을 한번씩 실행켜주는 것이고요,

그 다음 것들도 보시면 아실 것 같군요..

/etc/cron.d/*에 있는 화일(위의 예에서는 kmon)도 /etc/crontab과 같이

사용하시면 됩니다.

그러니까 정리를 하면 crond는 부팅할때에 뜨고,

뜬 뒤에는 /etc/cron.d아래에 있는 모든 스케줄 정보 화일과

/etc/crontab 스케줄 정보 화일을 가지고 동작하게 됩니다.

그런데, 위의 /etc/crontab의 경우를 보면 결국

/etc/cron.d와 /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly,

/etc/cron.monthly가 모두 crond와 관련이 있는 디렉토리들입니다.

정리가 되지요? 그럼 한가지 더 하겠습니다. (^^;;)

1.3 crontab

실행 화일 : /usr/bin/crontab

설정 화일 : /var/spool/cron/*

참조 화일 : /usr/man/man1/crontab.5

이제까지 설명드린 /etc/crontab과 /etc/cron.d/* 화일은 모두 root가

사용하게 되는 시스템 전반에 관한 Cron 스케줄 정보 화일이었습니다.

crontab은 사용자들 개개인의 cron 스케줄 정보화일을 작성하게 해주는

프로그램입니다. (일반사용자들을 위한 것이지요.)

'crontab -e'을 실행시키면 보통은 vi가 뜨는데(설정에 따라 다른 에디터가

뜰수도 있습니다) 여기서 자신만의 스케줄 정보를 작성할 수 있게 됩니다

스케줄 정보 화일 작성 방법은 위에서 설명 드린것과 거의 같은데요

한가지 다른 것은 여섯번째 필드가 '소유자'를 나타내는 필드가 아니라

바로 실행 명령을 적는 필드가 되는 것입니다.

소유자는 바로 'crontab'을 실행시킨 사용자가 되기 때문이지요.

예를 들어 jhkwak라는 아이디의 사용자가 crontab을 사용해서 스케줄

정보 화일을 작성하게 되면 아래와 같을 수 있겠지요.

---- 인용 시작 ----

[jhkwak@mind ~]$ whoami

jhkwak

[jhkwak@mind ~]$ crontab -e

crontab: installing new crontab

[jhkwak@mind ~]$ crontab -e

"/tmp/crontab.1669":2: bad day-of-week

errors in crontab file, can't install.

Do you want to retry the same edit? y

crontab: installing new crontab

[jhkwak@mind ~]$ cd /var/spool/cron

/var/spool/cron: 허가 거부됨.

[jhkwak@mind ~]$ su

Password:

[root@mind jhkwak]# cd /var/spool/cron

[root@mind cron]# ls

jhkwak

[root@mind cron]# cat jhkwak

# DO NOT EDIT THIS FILE - edit the master and reinstall.

# (/tmp/crontab.1669 installed on Sat Jul 31 15:15:28 1999)

# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)

# Testing..

01 23 * * sun rm -fr ~/Desktop/Trash/*

[root@mind cron]#

---- 인용 종료 ----

위에서 처음 crontab -e를 사용하고나서 스케줄이 등록되었습니다.

두번째 crontab -e 명령에서는 제가 스케줄 정보를 엉터리로 작성해봤더니

형식에 맞는다면서 다시 편집하겠느냐고 물어오는 군요.

그리고, root인경우는 /var/spool/jhkwak화일을 직접 편집할 수 있겠지만,

일반 유저는 그게 안되니까 항상 crontab을 사용해서 편집해야하겠지요.

그리고, 위의 예에서 crontab을 사용한 사용자가 jhkwak이니까

crontab 스케줄 편집시에 소유자는 적어주지 않아도(적어주면 안됩니다)

jhkwak가 소유자라고 간주하게 됩니다.

(참고, 내부에서는 /var/spool/cron 아래에 생성될 스케줄 정보화일의

화일이름은 /etc/passwd 화일을 참조한다고 하는군요.)

여기까지가 cron에 관한 설명이었습니다.

아니, 적확히는 Cron이라는 페키지의 사용법을 스스로 알아내는 방법을

알려드리는 설명이었습니다.

at이라는 Cron과 비슷한 프로그램이 있는데, 저 같은 경우 Cron보다도 at을

더 많이 사용하게 됩니다. 사용하기가 편리하기 때문이지요.

Linux/Unix용 어플리케이션은 아주 빠른 속도로 발전하고 있습니다.

그리고 새로 생겨나는 어플리케이션들도 아주 많고요.

그래서, 새로운 어플리케이션의 사용법을 남들 보다 빠르게 익히는 방법은

그 패키지를 개발한 개발자가 만든 Manual화일을 사용하는 것입니다.

비록 한국인들에게는 영어로 된 Manual 화일들에 거부감을 느끼실지 모르겠지만

번역본과 개발자 이외의 다른 사람이 작성한 참조글을 구해서 읽는 방식으로

어플리케이션 사용법을 익히기만 한다면 언제나 남들보다 뒤처질 수 밖에 없지요.

비록 미흡하나마 rpm페키지로 설치한 프로그램의 정보를 얻어서, 메뉴얼 페이지를

통해 해당 프로그램의 사용법을 알아내는 과정을 서술 식으로 소개해 보았습니다.

비단 Cron의 경우만이 아니라 다른 페키지들도 위와 같은 방식으로 사용법을

익히게 되는 것이므로 초보자님들에게 조금이나마 도움이 되었으면 좋겠다는

생각으로 써본 글이었습니다.

- 리눅스에서 쓸만한 게임을 해보고 싶은 리눅서 '쌀밥'

PS : 본 글에서 수정되어야 할 부분이 있으면 연락 주십시요.

PS : 개인적인 질문 메일은 사절입니다. '문답란'을 이용하세요.

PS : 본 문서가 수정되면 제목에 수정된 횟수를 적어두겠습니다.

PS : 날이 갈 수록 글이 길어지는 군요 ^^;;;;

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 98번

제  목:[강좌] X 윈도 실행 과정 - startx/xdm/xset/xhost

올린이:jhkwak  (곽재혁  )    99/07/31 16:17    읽음:3151 관련자료 없음

-----------------------------------------------------------------------------

X 윈도우 시작 과정

1. X란?

기존의 MS사의 OS인 '강아지'에 GUI기능을 추가하고 사용자의 편리성을 고려해

개발 된것이 'Win강아지'라는 사실은 모두들 아실겁니다.

Linux도 단순한 Command화면만 제공하는 단조로움을 탈피하고 GUI를 구현해

주는 것이 X입니다. 하지만 윈강아지와 X윈도우가 다른 대표적인 특징은,

윈강아지는 기존의 DOS라는 시스템 자체의 한계를 벗어나기 위해

개발되었지만(대표적인것이 그 유명한 '메모리관리'문제),

리눅스는 이 단순한 검정색 Command화면의 안정성과 기본 시스템을 바탕으로

동작한다는 것입니다.

흔히들 X가 '강력하다', '기능이 파워플하다'는 등의 말로 표현하곤 합니다.

하지만, 일반 사용자가 Win강아지의 그것과 X 윈도우가 도대체 뭐가 다르길래

그렇게 강력하다고 극찬을 아끼지 않는지를 이해하기란 힘든 일일겁니다.

이것은 X의 개발 역사를 조금 살펴보아야 이해가 가능한것입니다.

(하지만, 본 글에서는 자세한 역사는 생략하고자하니

다른 분들의 글을 참고로 하십시요.)

1.1 X 윈도우의 간단한 역사

X가 처음 개발 되었을때는 어떤 하나의 어플리케이션이 아니었습니다.

간단한 화일탐색 기능부터 시작해서 자질구레한 유틸리티

(게산기, 디스크 조각모음, 심지어는 Web Browser까지)

기능까지 모두 포함 시켜서 더 이상의 어떤 유틸리티나

어플리케이션이 들어설 틈도 주지 않고 있는 지금의 윈강아지를

생각해보시면 아주 대조적이지요.

X 표준을 개발 할때 개발자들은 지금의 윈강아지와 같은 모습으로

개발하려고 생각했다고 합니다. 하지만, X의 모양을 '이렇다'라고 결정지어서

하나의 완전한 어플리케이션을 만드는 것보다, 간단히 그래픽 기능을 구현하는

표준의 하나로만 개발하자는데 의견을 모았다고 합니다.

그렇게 하는 것이 어플리케이션 개발자들에게 더 많은 '가능성'을 남겨주는

것이라고 생각한 것이지요.

그런데, 조금 우습게도 말 그대로 '그래픽 표현'에 관한 표준만 정했지

그 밖의 너무 많은 부분을 모두 어플리케이션 개발자들에게 떠 맏기게 되었습니다

그래서 초기 X의 표준이 발표되었을때,

아무도 X를 제대로 사용할 수 없었다고 합니다.

말 그대로 X는 하나의 '그래픽 표준'에 불과했기 때문입니다.

그 후 X 표준을 활용해서 '윈도우 메니져'들이 하나둘씩 개발되었고,

이 윈도우 메니져들의 등장으로 해서 서서히 X의 강력한 기능들이

빛을 보개 되었습니다.

이제부터 X가 설치되어있다는 전재하에,

그리고 X가 잘 실행되는 Linux Box라는 거정하에

X 윈도우가 어떤 과정을 거쳐서 실행되는지 살펴 봅시다.

(X는 일반 리눅서들이 가장 많이 사용하는 프로그램임에도 불구하고,

실제로 그 내부 실행과정과 정확한 환경 설정 방법을 아는 사람이 별로 없지요.)

2. X의 실행

X의 실행방식은 크게 두가지가 있습니다.

하나는 부팅시에 runlevel이 3인상태로 부팅해서(/etc/inittab참고)

로그인(login)을 거친뒤에 커맨드 프롬프트상에서 아래와 같이 입력하는 것

---- 인용 시작 ----

[jhkwak@mind ~]$ startx

---- 인용 끝 ----

하나와,

다른 하나는 부팅시에 runlevel이 5인 상태로 부팅해서 xdm(X display manager)

으로 부팅시키는 것 하나 입니다.

(참고 인용 :

--- 인용 시작 ----

[jhkwak@mind /etc]$ pwd

/etc

[jhkwak@mind /etc]$ cat inittab | tail -3

# Run xdm in runlevel 5

# xdm is now a separate service

x:5:respawn:/etc/X11/prefdm -nodaemon

[jhkwak@mind /etc]$

---- 인용 끝 ----

위의 인용은 Linux가 runlevel 5로 부팅되었을때 xdm의 변종(?)인 prefdm이

실행됨을 보여주고 있습니다.)

2.1 startx - initialize on X session

실행 화일 : /usr/X11R6/bin/startx, /usr/bin/X11/startx

설정 화일 : /etc/X11/XF86Config,

~/.xinitrc, ~/.xserverrc,

/etc/X11/xinit/xinitrc, /etc/X11/xinit/xserverrc

~/.Xauthority

관련 화일 : /usr/X11R6/bin/Xconfigurator, /usr/bin/X11/Xconfigurator

/usr/X11R6/bin/xauth, /usr/bin/mcookie,

/usr/X11R6/bin/xinit, /usr/bin/X11/xinit

/usr/X11R6/bin/X, /usr/bin/X11/X

우선 윈도우를 실행시킬때 'startx'를 실행시키게 되면 우리는 단순히

X가 시작된다(start X)의 의미로만 알고 있지만,

실제로 'startx'라는 것은 스크립트 입니다.

즉, vi로 살펴 보시면 그 실행 과정을 읽어 볼 수 있는 실행 화일입니다.

startx는 X을 실행 시키기 위한 환경을 만들어준뒤 X를 구동 시켜주는

프로그램인 'xinit'을 실행 시켜 주게 됩니다. 그리고, 이 xinit은

실제 X 윈도우 프로그램인 X을 실행시켜주게 됩니다.

(즉, startx(xauth) -> xinit -> X 입니다.)

2.1.1 startx, xauth, mcookie

실행 화일 : /usr/X11R6/bin/startx, /usr/X11R6/bin/xauth,

/usr/bin/mcookie

startx는 실행과정에서 xauth와 mcookie등을 사용하게 되는데,

설명하면 xauth는 X가 사용하게 될 디스플레이의 접근을 제한해주는 기능을

하고요, mcookie는 'md5sum'등을 이용해서 이 접근에 사용될 무작위(random)

고유값을 생성해 줍니다.

즉, 사용자가 startx를 실행 시키는 순간에 디스플레이장치 :0번을

mcookie에 의해 생성되는 값

44576124e21ce37fac9a00baf0185adf

으로 xauth에 접근허용했다면, 이후 이 값(44576124e21ce37fac9a00baf0185adf)을

알아야 디스플레이 장치 :0에 접근할 수 있게 됩니다.

(예제, xauth로 디스플레이 :0에 44576124e21ce37fac9a00baf0185adf로 접근허용

하기 위해서는 아래와 같이 명령을 내려 줍니다.

---- 인용 시작 ----

[jhkwak@mind ~]$ xauth add :0 . 44576124e21ce37fac9a00baf0185adf

---- 인용 끝 ----

xauth의 자세한 옵션은 man 페이지를 참고 하세요)

이렇게 하는 이유는 X윈도우 환경을 공유시킬때(xhost참고) 허용과 제한을

관리하기 위해서 입니다.

참고로 한대의 컴퓨터에 X는 두개 이상 실행될 수 있습니다.

디스플레이명을 지정해주기만 하면 되지요...

간단히 말해서 가상터미널1,2,3,4,5,6 사이를 이동할때

Ctrl+Alt+F1~F6 을 사용하지요. 그리고 X 터미널은

Ctrl+Alt+F7~F12 입니다. 여기서 F7은 일반적으로 디스플레이 :0이되고

F8은 :1이 되고 F9는 :2가 됩니다. (설정하기 나름입니다)

우리가 startx를 사용할때 그냥 'startx'라고 하면 초기 값으로 :0으로

실행됩니다. 그러므로 :1를 사용하기 위해서는 아래와 같이 하면됩니다.

---- 인용 시작 ----

[jhkwak@mind ~]$ startx -- :1

---- 인용 끝 ----

:2와 :3등도 마찬가지 입니다.

2.1.2 xinit, X

실행 화일 : /usr/X11R6/bin/xinit, /usr/X11R6/bin/X

설정 화일 : ~/.xinitrc, /etc/X11/xinit/xinitrc

/etc/X11/XF86Config

그리고나서 이제 X구동 프로그램인 xinit을 사용하게 됩니다.

(xinit에 사용되는 옵션은 man 페이지를 참고 하세요)

그리고, xinit이 실행되고나면,

/etc/X11/XF86Config의 하드웨어 설정을 참고해서 X가 실행됩니다.

(X실행 프로그램은 /usr/X11R6/bin/X입니다)

(XF86Config화일에 대해서는 다른 문서를 참고하시고요,

자동으로 설정해 주는 프로그램이 Xconfigurator입니다.)

X가 실행된뒤 이어서 프로그램 하나를 실행시키게 되는데,

이 실행될 프로그램은 startx 스크립트에서

$HOME/.xinitrc화일이 있으면 이것을 사용하게하고 없으면

/etc/X11/xinit/xinitrc을 사용하게 되어있습니다.

보통은 이 xinitrc화일에서는 윈도우 메니져가 실행되게 됩니다.

제 경우를 인용해 보면

---- 인용 시작 ----

[jhkwak@mind ~]$ cat ~/.xinitrc

/usr/X11R6/bin/wmaker

[jhkwak@mind ~]$

---- 인용 끝 ----

만약 윈도우 메니져를 다른 것으로 바꾸고 싶으시면 위의 화일을 수정하시면

되는 거지요....

이후의 X의 실행은 모두 윈도우 메니져에게 맏겨 지게 됩니다.

2.2 xdm - X Display Manager with support for XDMCP, host chooser

실행 화일 : /usr/X11R6/bin/xdm, /usr/bin/X11/xdm

설정 화일 : /etc/X11/xdm/xdm-config

관련 화일 : /var/log/xdm-error.log, /var/run/xdm.pid,

/etc/X11/xdm/xdm-keys, /etc/X11/xdm/Xservers,

/etc/X11/xdm/Xaccess, /etc/X11/xdm/Xsetup_0,

/etc/X11/xdm/GiveConsole, /etc/X11/xdm/TakeConsole,

/etc/X11/xdm/Xresources, /etc/X11/xdm/Xsession

이번에는 xdm에 관한 설명입니다.

지금 부터 설명하게될 xdm의 실행과정은 자세히 들어가면 상당히 복잡해집니다

위에 '관련 화일'명만 봐도 상당히 복잡하겠구나 싶지 않습니까? ^^;

하지만, 간단히 말해서 xdm을 이해하실때에는 'Win강아지'처럼

Linux의 시작 첫화면부터를 X 윈도우를 사용해서 Login 할 수 있게해주는

프로그램이라고 생각하시면 됩니다.

'Win강아지'의 그것과 다른것이 있다면, 윈도우 메니져를 정해주어야하고,

X 윈도우 써버를 정해주어야 한다는 것 정도 입니다.

xdm의 장점중의 하나는 telnet을 사용해서 원격의 컴퓨터(써버)를

마치 내 컴퓨터인양 사용할 수 있듯이, xdm을 사용해서 원격의 X 윈도우

써버를 내 컴퓨터인양 사용할 수 있다는 것입니다.

(저도 보지는 못했는데, text-terminal 컴퓨터(?)가 있듯이 X-terminal이라는

것이 있다고 하는군요.. 여기서 xdm이 사용된다고 하는데, 기회가 되서

직접 볼 수 있으면 좋겠군요 ^.^)

지금부터 xdm의 설정 화일부터 시작해서 xdm의 실행 과정을 살펴 봅시다.

2.2.1 xdm-config

설정 화일 : /etc/X11/xdm/xdm-config

(요즘은 xdm의 개선된 프로그램으로 gdm이나 kdm 같은 것들도 있더군요)

우선 일반적인 설정 화일 예로 살펴 봅시다.

---- 인용 시작 ----

[jhkwak@mind xdm]$ pwd

/etc/X11/xdm

[jhkwak@mind xdm]$ cat xdm-config

! $XConsortium: xdm-conf.cpp /main/3 1996/01/15 15:17:26 gildea $

DisplayManager.errorLogFile:    /var/log/xdm-error.log

DisplayManager.pidFile:         /var/run/xdm.pid

DisplayManager.keyFile:         /etc/X11/xdm/xdm-keys

DisplayManager.servers:         /etc/X11/xdm/Xservers

DisplayManager.accessFile:      /etc/X11/xdm/Xaccess

! All displays should use authorization, but we cannot be sure

! X terminals will be configured that way, so by default

! use authorization only for local displays :0, :1, etc.

DisplayManager._0.authorize:    true

DisplayManager._1.authorize:    true

! The following three resources set up display :0 as the console.

DisplayManager._0.setup:        /etc/X11/xdm/Xsetup_0

DisplayManager._0.startup:      /etc/X11/xdm/GiveConsole

DisplayManager._0.reset:        /etc/X11/xdm/TakeConsole

!

DisplayManager*resources:       /etc/X11/xdm/Xresources

DisplayManager*session:         /etc/X11/xdm/Xsession

DisplayManager*authComplain:    false

[jhkwak@mind xdm]$

---- 인용 끝 ----

(위의 각 설정사항에 대해서는 xdm의 man 페이지를 참고하세요

찾아보시면 위의 설정 항목 말고도 아주 많은 설정항목들이 있습니다)

위의 예를 살펴 보면,

주석을 경계로 크게 4개로 구분 되어 보이지 않습니까?

첫번째 부분은 xdm의 초기 실행과 관련된 설정입니다.

(주로 xdm server로서의 설정입니다.)

두번째 부분은 authorization과 관련된 것이구요,

(xdm server로서의 보안과 관련된 부분입니다.)

세번째 부분은 xdm의 실행후 화면 표시와 관련된 것이구요,

네번째 부분은 xdm의 할일(주로 Login)을 마치고

본격적인 X 윈도우가 실행되기 바로전에 해야할 일들과 관련된 설정입니다.

다시 차례로 살펴 보면

첫번째 부분의

errorLogFile이야 뭐 에러가 나면 저 화일(예에서는 /var/log/xdm-error.log)

에 기록하라는 것이구요.

pidFile은 xdm이 실행되었을때 xdm의 PID값을 저장하는 화일이구요.

KeyFile은 xdm에서의 키보드 설정 화일입니다.

servers는 조금 중요한데, 저의 경우는 /etc/X11/xdm/Xservers가 아래와

같습니다.

---- 인용 시작 ----

[jhkwak@mind xdm]$ pwd

/etc/X11/xdm

[jhkwak@mind xdm]$ cat Xservers|grep "^[^#]"

:0 local /usr/X11R6/bin/X

[jhkwak@mind xdm]$

---- 인용 끝 ---- (편의상 주석은 뺏습니다.)

xdm은 두가지 방식으로 동작하는데, 첫째는 local 컴퓨터에서

일반 X 윈도우즈 시스템을 사용하는 형태로 동작하는 것이고,

다른 하나는 Remote 컴퓨터에 X 써버로서 동작하는 것입니다.

(두번째의 경우 내부에서의 정보 교환방식은

XDMCP라는 방식을 사용하게 됩니다.)

xdm의 작동 방식중 첫번째 방식은 이 Xservers에서 설정되어 있는데로

동작하게 되는 것입니다.

위의 설정의 경우 local 컴퓨터의 :0의 디스플레이장치를

/usr/X11R6/bin/X라는 프로그램으로 사용하여 server로서 사용하겠다는

것입니다.

그리고, accessFile은 xdm 작동방식중 두번째 방식의 서비스 방식에서

서비스 접근을 제한하기 위한 설정을 가지고 있는 설정화일입니다.

보통은 특별한 제한이 없게 설정되어있습니다.

(자신의 설정 사항을 살펴 보고 싶으시면

$ cat /etc/X11/xdm/Xaccess | grep "^[^#]"

라고 쳐보세요.. ^.^)

다음은 두번째 부분인데요. 위의 예에서는 아래와 같이 되어있습니다.

DisplayManager._0.authorize:    true

DisplayManager._1.authorize:    true

위와 같이 되어있으면 디스플레이장치 :0과 :1에대해 authorize기능을

사용하겠다는 설정이 됩니다.

다음 세번째 부분인데요.

setup 부분은 xdm이 실행된 뒤 X 윈도우의 외형을 설정해주게 되고요.

startup 부분은 xdm의 login과정이 끝나고 X가 실행될때 실행되는

것인데, 위의 예에서는 Console의 소유권을 넘겨주는 스크립트를 실행

시키고 있습니다.

reset 부분은 xdm의 login과정이 끝나고 X가 실행된뒤, 그 X가 다시

끝나고나면 실행되는 부분입니다.

즉, xdm의 맨 마지막에 실행되는 스크립트를 적어주게 됩니다.

다음 마지막 네번째 부분이군요.

resources 부분은 authorize와 관련된 몇가지 설정화일입니다.

session 부분은 xdm의 login과정을 마치고 X 윈도우가 실행될때

가장 먼저 실행되는 스크립트입니다. 보통은 윈도우 메니져를

실행 시키게 됩니다.

(xdm에서의 윈도우 메니져 설정과 관련해서는 보통의 경우

이 화일만 살펴 보시면 됩니다.)

여기까지가 xdm의 실행 과정입니다.

xdm의 방식으로 실행 시켰을 경우 어디까지가 X다라고 말하기가

어렵지요... 심지어는 xdm이 윈도우 메니져까지 실행시키니까요.

자. 이제 X가 실행되었습니다.

실제로 X를 실행시켜보면 아주 간단하게 금방 화면이 뜨지만

그 내부에서는 상당히 길고 복잡하면서고 체계적인 절차를 거치게 되지요.

주의 하실것은 여기까지가 X 윈도우가 모두 실행된것이라는 사실입니다.

그리고, 이후의 어플리케이션이 실행되는 것은 X가 관여하는 것이 아니라

Window Manager가 도맡아서 하게 되는 것이지 X가 직접적으로 관여하지 않습니다.

X는 그래픽 환경을 제공할 뿐입니다.

X가 그래픽 환경을 제공하는 단계와 Window Manager가 사용자 환경을

제공하는 단계는 이선을 경계로 분명히 구분되고 있는것입니다.

3. X 환경 설정

3.1 xset

실행 화일 : /usr/X11R6/bin/xset

xset 은 X 윈도우즈에 관련된 여서 사항들을 설정해 줄 수 있는 프로그램입니다

b : 벨 소리의 볼륨을 조절

dpms : 모니터 장치의 DPMS(Energy Star) 기능을 사용(+)/사용거부(-)를

설정 할 수 있습니다.

(예로, 윈 강아지에서 화면 보호기 사용시 모니터가 suspend모드로

들어가는 것과 같은 효과를 원하시면 아래와 같이 하시면 됩니다

---- 인용 시작 ----

[jhkwak@mind ~]$ xset +dpms

[jhkwak@mind ~]$ xset dpms force suspend

---- 인용 끝 ----)

fp : X에서 사용할 Font에 관한 설정을 해 줍니다.

m : 마우스의 움직임 속도를 조절해 줍니다.

r : 키보드를 누루고 있을때 글자가 연속으로 출력되도록 할것인지

아닌지를 정해줄 수 있습니다.

s : Screen Saver에 관한 설정을 해 줄 수 있습니다.

q : xset의 현재 설정 값을 보여 줍니다.

3.2 xsetroot

실행 화일 : /usr/X11R6/bin/xsetroot

이것은 X윈도우의 바탕화면과 관련된

(바탕 화면의 색, 마우스 커서의 그림, 바탕 화면 그림등등)

설정을 해 줄 수 있습니다.

3.2 xhost/환경변수 DISPLAY

실행 화일 : /usr/X11R6/bin/xhost

이것은 X 윈도우즈의 써버로써의 접근에 관한 설정을 하는 프로그램입니다

즉, 사용자가 현재 사용하고 있는 X 윈도우즈 환경을 다른 컴퓨터의 사용자에게

허가 또는 거부할 수 있습니다.

사용방법은 xhost +hostname 또은 xhost -hostname 입니다.

예를 통해 살펴 봅시다.

IP 주소가 163.152.82.88번(이하 88번) 컴퓨터에 앉아 있는 '갑'군 사용자가

X 윈도우즈를 사용하고 있습니다. 그런데, IP 주소가 163.152.82.95번(이하 95번)

컴퓨터에 설치 되어있는 어플리케이션을 자신의 (88번) X 윈도우즈 화면에서

실행 시키고자 합니다. 이런경우 88번 컴퓨터에서는 아래와 같은 명령을 내리면

됩니다. (95번 컴퓨터에 설치되어있는 'hanterm'프로그램을 실행시킨다고

가정합시다.)

---- 인용 시작 ----

[jhkwak@cse18 ~]$ hostname -i

163.152.82.88

[jhkwak@cse18 ~]$ xhost +163.152.82.95

163.152.82.95 being added to access control list

[jhkwak@cse18 ~]$ xhost

access control enabled, only authorized clients can connect

INET:163.152.85.95

[jhkwak@cse18 ~]$ telnet 163.152.82.95

Trying 163.152.82.95...

Connected to comedu.korea.ac.kr.

Escape character is '^]'.

SunOS 5.6

Welcome to Dept. of Computer Sicence Education in Korea Univ. !

login: jhkwak

Password:

Last login: Fri Jul 30 01:40:23 from naejang.nownuri.

You have new mail.

[jhkwak@comedu ~]$ hostname -i

163.152.82.95

[jhkwak@comedu ~]$ echo $SHELL

/bin/tcsh

[jhkwak@comedu ~]$ setenv DISPLAY 163.152.82.88:0

[jhkwak@comedu ~]$ hanterm

---- 인용 끝 ----

이제 하나 하나 설명을 드리면, 첫 명령은 (xhost +163.152.82.95)

88번 컴퓨터의 X 윈도우즈에게

'95번 컴퓨터로부터오는 X윈도우즈 사용 요청을 허가한다'

는 명령입니다.

다음 명령은 (xhost) 현재 허가 되어있는 컴퓨터의 목록을 출력합니다

다음은 95번 컴퓨터에 접속합니다. (telnet 163.152.82.95)

그리고 위의 경우는 tcsh을 사용하고 있는 경우입니다(csh의 경우도 위와 같이함)

(참고, bash의 경우는 'env DISPLAY=163.152.82.88:0'과 같은 식으로 합니다.)

환경변수중 사용할 디스플레이의 주소와 장치명을 수정해 주는 것입니다.

즉, 위의 경우 setenv DISPLAY 163.152.82.88:0라고 해주면,

163.152.82.88번 컴퓨터의 장치번호 0번을 출력 장치로 사용하라는 것이지요.

(참고, 이 xhost는 xauth와 긴밀하게 연관되어있습니다.

자세한 사항은 xauth의 man 페이지를 참고하세요.)

4. Window Manager

자, 이제부터는 위에서 말씀드린 Window Manager의 종류와 간단한 특징들을

적어보고자 합니다.

4.1 KDE

실행 화일 : start_kde

관련 홈페이지 : http://www.kde.org

윈도우 메니져와 데스크탑 메니져, 그리고 다양한 어플리케이션들을 제공하며

거의 윈강아지와 흡사한 환경을 제공하고 CDE(Common Desktop Environment)와도

비슷한 환경을 제공합니다.

사용하는 라이브러리는 QT라이브러리이며, 현재 한글 패치된것이 개발되어

있습니다.

4.2 Enlightenment

실행 화일 : enlightenment

관련 홈페이지 : http://www.Enlightenment.org

화려한 윈도우 메니져로 유명한 엔라인트먼트 입니다.

아직 버전이 낮고 버그가 많은걸로 알려져 있습니다.

느린것과 가끔의 에러만 빼면 아주 멋있는 윈도우 메니져 입니다.

4.3 Gnome

실행 화일 : gnome-session

관련 홈페이지 : http://www.gnome.org

GIMP라는 그래픽 프로그램을 아실 겁니다.

이 프로그램이 개발 되고 나서 같이 개발 된것이 있는데, GTK라는 라이브러리이죠

이 라이브러리를 사용해서 만든 X윈도우 관련 어플리케이션 모음을 만드는 것이

Gnome Project라는 것입니다.

아직은 메모리도 많이 먹고 버그도 좀 있지만, 사용이 편리하고 그림이

깔끔합니다.

4.4 Window Maker

실행 화일 : wmaker

관련 홈페이지 : http://www.WindowMaker.org

최근에 많이 쓰이고 있는 윈도우 메니져 입니다.

빠른 속도와 깔끔한 외형, 편리한 사용법등이 특징입니다.

사용하는 라이브 러리는 libPropList입니다.

5. 마치며

X 윈도우와 관련해서 기본적으로 알고 이해하고 있어야 할 것들이 몇가지

더 있습니다. X에서 기본적으로 사용하는 라이브러리들과

XF86Config 설정방법등이 그것이고, 윈도우 메니저들 각각에 대한 설명도

많이 부족하군요...

하지만, 부족한 이 글로나마 X의 강력함을 조금 이해 하셨다면 그걸로

충분하리라 생각됩니다.

- 리눅스에서 쓸만한 게임을 해보고 싶은 리눅서 '쌀밥'

PS : 본 글에서 수정되어야 할 부분이 있으면 연락 주십시요.

PS : 개인적인 질문 메일은 사절입니다. '문답란'을 이용하세요.

PS : 본 문서가 수정되면 제목에 수정된 횟수를 적어두겠습니다.

PS : 이번 X에 관한 글은 쓰는데 아주 많이 애를 먹었습니다.

역시 실력 이상의 글은 쓰는게 아닌가 봅니다 ^^;;;

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 99번

제  목:[강좌] PPP이용 ztelnet ncftp (TCP/IP설정)

올린이:pey1    (박은영  )    99/08/10 14:21    읽음:1951 관련자료 없음

-----------------------------------------------------------------------------

이 글은 ppp 접속을 위해 간단한 설정 화일들의 셋팅 방법과

접속방법, 그리고 ztelnet, ncftp 사용방법에 대해 간단히

설명해 놓은 글 입니다.

순서 : I. TCP/IP 점검

1. 네임서버 지정 (DNS, Domain Name Sevice)

2. /etc/hosts

3. /etc/host.conf

II. ppp 연결하기

III. ztelnet, ncftp

------------------------------------------------------------------------------

I. TCP/IP 점검

1. 네임서버 지정 (DNS, Domain Name Sevice)

DNS는 간단히 말해 linuxnet.co.kr 이라는 주소를 입력했을때

그 문자로 된 주소를 찾아 주는, 즉 각각의 네트웍 정보를 주고

받는 거대한 데이타베이스 시스템이다.

리눅스에서 DNS 설정화일은  /etc/resolv.conf 에 있으며,

기본 형식은 다음과 같다. (vi /etc/resolv.conf)

search <도메인>

nameserver <1차 네임서버 IP>

nameserver <2차 네임서버 IP>

(예)

[beauty@leo beauty]$ vi /etc/resolv.conf

search linuxnet.co.kr

nameserver 210.91.168.193

nameserver 210.114.157.205

네임서버는 여러분의 도메인을 관리하는 곳의 주소나 자주 방문하는

곳의 네임서버 주소를 적어주면 된다.

2. /etc/hosts

자그마한 지역 네트웍일때 많이 사용한다. 예를들어 c클래스를 쓰는

(210.91.168) 사무실에 10대의 컴퓨터를 사용할때, 만들어 두고 사용한다.

/etc/hosts라는 화일의 형식은 다음과 같다.

127.0.0.1       localhost localhost.localdomain

IP주소	호스트 이름	별칭

(예)[beauty@leo beauty]$ vi /etc/hosts

127.0.0.1               localhost localhost.localdomain

210.91.168.193          mini.linuxnet.co.kr  mini

210.91.168.200          leo.linuxnet.co.kr  leo

210.91.168.196          gon.linuxnet.co.kr  gon

3. /etc/host.conf

이 부분은 고칠 필요 없이 기본으로 사용하면 된다.

보통 다음과 같이 되어있을 것이다.

order hosts,bind

multi on

II. ppp 연결하기

요즘 대부분의 통신 회사들이 기본적으로 ppp를 지원한다.

ppp용 전화번호를 아예 제공하는 업체를 이용할 경우는 이용하는

서비스의 네임서버를 문의해 /etc/resolv.conf안에 꼭 적어야 한다.

자세한 연결방법은 강좌란을 이용하기 바란다.

여기서는 간단히 네트웍 제어판을 이용한 접속법 만을 소개하겠다.

1. 먼저 아무 터미널 창에서 netcfg 라고 실행한다

그러면  Network Configurator 라는 창이 하나 뜰것이다.

2. 윗부분을 보면 Names, Hosts, Interface, Routing 의 메뉴가 있다.

각각을 보면 다음과 같다

Names = /etc/resolv.conf (DNS 설정)

Hosts = /etc/hosts

Interface = PPP, SLIP등의 인터페이스 설정

Routing = 라우팅 정보 설정

여기서 DNS 셋팅이 되어있다면, PPP접속을 위해 필요한 부분이

Interface이다.

3. Interface로 들어가서 아래쪽에 있는 add 버튼을 누른다.

그러면 여러 유형이 나오는데 거기서 PPP에 체크를 한다.

4. PPP 선택을 하면 Creat PPP Interface 라는 창이 뜬다.

거기서 전화번호와 아이디, 비밀번호 등을 적고 접속하면 된다.

5. 더 자세한 셋팅은 아래쪽에 Customize를 눌러 하면 된다.

III. ztelnet, ncftp

1. ztelnet (telnet)

telent은 외부에서 접속해서 마치 로컬에 있는 것처럼 사용하게 하는

프로그램으로, 원격 제어에 많이 사용되고, 또 bbs 접속 프로그램으로도

많이 사용하고 있다.

telnet과 ztelnet의 차이점은 telnet은 자료의 업/다운이 불가능 하고

ztelnet은 자료의 업/다운을 할 수 있다는 것이다.

1) 사용법

한텀 상에서 ztelnet 주소 또는 telnet 주소 (ztelnet nownuri.net)

(예)

[beauty@leo beauty]$ ztelnet nownuri.net

나우누리 - nownuri.net

하 이 텔 - home.hitel.net

천 리 안 - chollian.net

2) ztelnet에서 빠져 나오는 방법은 <Ctrl> + <]> 이다.

위의 키를 누른 다음 q 또는 close 라고 하면 ztelnet 을 끈는다.

3) 자료 올리고 받기

ztelnet 상태에서 자료 받기는 다음과 같이 한다.

먼저 자료 받기를 시작하면

"zmodem을 기동시키십시오" 라는 말이 나올때 <Ctrl> + <]>를 누른다.

그러면 ztelnet>  이라는 프롬프트로 나가는데 여기서 rz을 입력하면

화일을 받는 것이다.

반대로 화일을 올리는 방법은 마찬가지로 ztelnet> 에서 sz 를

입력하면 된다.

2. ncftp

ncftp는 화일 전송 프로그램이다.

1)접속 방법은 ztelnet과 같다. (ncftp ftp.kernel.org)

즉, ncftp 명령 다음에 주소를 적으면 된다.

2) 접속이 되면 ls 명령으로 화일들을 보고, cd 명령으로 디렉토리를 이동하고

화일을 받을려면 get, 올릴려면 put을 사용한다

이어받기는 -C 옵션을 주고, 디렉토리를 통째로 받을때는 -R 옵션을 준다.

=이뿌니(pey1)=

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 100번

제  목:[팁] 통신망 접속 스크립트 (expect)

올린이:pey1    (박은영  )    99/08/10 14:34    읽음:1826 관련자료 없음

-----------------------------------------------------------------------------

bbs를 접속할때 마다 일일히 로긴을 하고 들어가기가 귀찬으신

분들은 다음의 스크립트를 이용하면 된다.

1. 일단 자신의 계정에 원하는 이름으로 화일을 하나 만든다.

예를들어 나는 ~/bin/now 라는 화일을 만들었다.

(자신의 계정에 bin 이라는 디렉토리를 만들어서 사용하면

now라는 화일을 실행을 ./now 가 아닌 now 로 바로 할 수

있습니다.)

그럼 그 안에 다음과 같이 써준다

[beauty@leo beauty]$ vi bin/now

------------------파일 내용----------------------

#!/usr/bin/expect

spawn ztelnet nownuri.net

expect -timeout 300 "나 우 ID : "

send "자신의아이디\r"

sleep 1

expect ":"

send "비밀번호\r"

expect "누르십시오."

send "\r"

interact

-----------------끝---------------------------

2. 다른 계정 사용자가 now라는 화일을 본다면 자신의 아이디와 비밀번호가

유출이 되므로 퍼미션을 막아준다.

[beauty@leo beauty]$ chmod 700 ~/bin/now

3. 자 이제 쉘 상에서 now 라고 입력만 하면 자동으로 로긴이 된다.

[beauty@leo beauty]$ now

(자신의 계정 bin 디렉토리에 안 만드신 분은 ./now 라고 실행을 해야 한다)

4. 스크립트의 간단한 설명

expect "문자열" 문자열을 기다린다.

send "문자\r" 위의 문자열이 나오면 문자를 출력하고 엔터(\r)를 출력한다.

이것이 주요 내용이고 마지막에 interact 를 넣어 줘야 스크립트가 끝나고

키보드를 쓸 수 있다.

=이뿌니(pey1)=

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 101번

제  목:[강좌] 부팅 디스켓 만들기 , lilo 복구 삭제 수정

올린이:pey1    (박은영  )    99/08/11 22:27    읽음:3349 관련자료 없음

-----------------------------------------------------------------------------

이 글에서는 부팅 디스켓 만드는 법과 리로에 대해서 간단히 설명을 하도록

하겠습니다. 더욱 자세한 개념의 설명은 강좌란이나 문서 자료실의 다른

글들을 참고 하시기 바랍니다.

이 글의 순서

1. 부팅 디스켓 만들기

1) cat의 이용

2) dd의 이용

2. lilo

1) lilo의 복구

2) lilo 삭제

3) /etc/lilo.conf

4) 운영체제 순서 바꾸기

1. 부팅 디스켓 만들기

리눅스 부팅 디스켓을 만들때는 cp를 절대 쓰면 안된다.

부팅 디스켓 만들때 쓰는 명령은 cat과 dd이다.

1) cat의 이용

레드헷에서 커널은 /boot 에 들어있다.

먼저 /boot에 있는 커널을 플로피로 보내준다.

[root@ns /root]# cd /boot/

[root@ns /boot]# cat vmlinuz > /dev/fd0

그 다음 rdev 명령으로 루트 파티션 정보를 확인,설정한다.

일단 rdev로 플로피에 있는 루트 파티션이 맞는지 확인한다(rdev /dev/fd0)

[root@ns /boot]# rdev /dev/fd0

Root device /dev/hda5

위와 같이 플로피에 있는 루트 파티션을 확인한 후 자신의 것과 다르다면

다음과 같이 바꿔준다 (rdev /dev/fd0 /dev/hda2)

자신의 루트 파티션이 /dev/hda2 라면

[root@ns /boot]# rdev /dev/fd0 /dev/hda2

자, 이제 다시 확인해 보면 플로피의 루트 파티션이 바뀐게 보일 것이다.

[root@ns /boot]# rdev /dev/fd0

Root device /dev/hda2

부팅 디스켓 완성 =)

2) dd의 이용

간단히 만드는 방법은

[root@ns /boot]# dd if=vmlinuz of=/dev/fd0

[root@ns /boot]# rdev /dev/fd0 /dev/hda2

윗줄의 dd 부분 다음에 rdev는 cat을 이용해 만드는 법과 동일하다.

2. lilo

1) lilo의 복구

윈도우와 리눅스를 같이 쓸 경우.

윈도우 먼저 설치하고 리눅스를 설치하면 리로는 문제 없이 뜬다.

하지만 리눅스가 설치된 상태에서 윈도우를 다시 깔면...

리로는 소리 없이 없어진다.

리로는 mbr(Master Boot Record)에 설치가 되는데 윈도우가 설치되면서

mbr에 잘 있는 리로를 건들이는 것이다!!

그럴땐 부팅 디스켓으로 부팅을 한 다음 쉘에서 /sbin/lilo 를 실행하면

복구가 된다.

[root@ns /root]# /sbin/lilo

2) lilo 삭제

리로 지우는 방법은 간단하다!

도스에서 fdisk /mbr 하면 끝이다. --;

3) /etc/lilo.conf

리로의 설정 화일은 다음과 같은 형식으로 되어있다. (vi /etc/lilo.conf)

[root@ns /root]# vi /etc/lilo.conf

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

image=/boot/vmlinuz-2.2.5-22

label=linux

root=/dev/hda2

append="reboot=warm"

read-only

other=/dev/hda1

label=dos

table=/dev/hda

리로 설정 화일은 크게 세부분으로 나뉜다.

image= , other=  , 그 이전

1. boot=<lilo가 설치될 장치명>

이 부분은 리로가 어디에 설치되는지 설정하는 부분이다.

첫번째 IDE하드라면 /dev/hda 등으로 적으면 된다.

2. prompt

부팅시 LILO: 라는 프롬프트가 나오고 윈도우 부팅이냐 리눅스 부팅이냐

하는 운영체제 선택의 시간을 적어주는 곳이다.

위의 리로 설정 화일에서는

prompt

timeout=50

이것은 선택의 시간을 5초를 준다는 말이다.

즉 단위는 1/10초 이고, timeout= 부분에 적어주면 된다.

3. image=

커널 이미지 위치를 적어준다. 위에서 말했듯이 레드햇은 /boot 에

커널 이미지가 있다.

4. lavel=<이름>

컴퓨터 부팅시 LILO:  라는 프롬프트가 뜨고서..

운영체제 선택할때 적을 이름을 지정하는 곳이다.

보통은 linux 와 dos 로 놓고 쓴다.

5. other=

리눅스 이외의 다른 운영체제 부분이다.

4) 운영체제 순서 바꾸기

리눅스를 처음 설치하면 부팅시 LILO: 에서 엔터를 치거나 운영체제

선택을 하지 않으면 바로 리눅스로 가게 되어있다.

이 설정은 lilo.conf 에서 하는데 위에 있는 설정은 리눅스가 먼저

부팅되는 경우다.

운영체제 순서를 바꾸는 법은 lilo.conf에서 image=  부분과 other=  부분의

순서를 바꾸어 주면 된다.

아래와 같이 하면 다른운영체제 예를들어 윈도우로 먼저 부팅이 된다.

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

other=/dev/hda1

label=dos

table=/dev/hda

image=/boot/vmlinuz-2.2.5-22

label=linux

root=/dev/hda2

append="reboot=warm"

read-only

가장 중요한 것은 lilo.conf 설정을 수정하고 난 다음 반드시

쉘에서 /sibn/lilo 를 실행해줘야 된다는 점이다.

/sibn/lilo 를 실행하지 않으면 애써 바꾸어 놓은 설정이 쓰이질 않는다.

=이뿌니(pey1)=

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 103번

제  목:[강좌] 레드햇 6.0 설치

올린이:pey1    (박은영  )    99/08/19 17:40    읽음:7999 관련자료 없음

-----------------------------------------------------------------------------

이 글의 제작은 박은영이 하였으며 GPL을 따릅니다.

제 홈페이지가 완성이 되면 설치 과정을 일일히 캡춰한 그림이 들어가 있는

문서를 올리도록 하겠습니다.

리눅스를 설치하는 방법에는 크게 씨디롬 설치와 Ftp설치, 하드 디스크를

이용한 설치등이 있는데 이 글에서는 씨디롬을 이용해 레드햇 6.0을

설치하는 방법을 위주로 설명을 하겠다.

설치의 대략적 순서는 다음과 같다

0. 부팅 디스켓 만들기

I 리눅스 부팅	1. 리눅스로 부팅하기

2. 설치언어 선택

3. 키보드 선택

4. 설치 방법 선택

II  본격적인 설치과정   1. 설치 수준 선택

2. 스카시 장비 유무 선택

3. 파티션 설정

4. 스왑 공간

5. 파티션 포맷

6. 패키지 선택

7. 마우스 선택

8. 네트웍 설정

9. 시간대 설정

10. 서비스 설정

11. 프린터기 설정

12. root 비밀번호

13. NIS 설정

14. 부팅 디스켓

15. 리로 설정

III  X-Window 설정	1. 비디오 카드 설정

2. 모니터 설정

3. 비디오 메모리 설정

4. 클럭 설정

5. 해상도 선택

6. 부팅시 X-Window 실행 설정

IIII 재부팅

0. 부팅 디스켓 만들기

레드햇 6.0 씨디를 보면 \images라는 디렉토리가 있는데 바로 이 부분이

부팅 디스켓 제작에 필요한 이미지들이 있는 곳이다. 이곳을 보면 "boot.img ",

"supp.img" , "rescue.img" 등이 있는데 일반적인 부팅 디스켓에 들어가는

것은 "boot.img"이며, 잘못되었을 경우 복구를 위해 "supp.img"을 이용해

복구 디스켓을 만들어 주면 좋다.

리눅스 부팅 디스켓은 복사해서 만드는 것이 아니라 rawrite라는

프로그램을 써서 만든다.

(rawrite라는 프로그램은 씨디안의 \dosutils 라는 디렉토리에 들어있다.)

만일 자신의 씨디롬이 E: 라면 다음과 같이 실행한다.

E:\dosutils\rawrite

그러면 어떤 부티 이미지를 사용할거냐고 물어보는데 아래와 같이

boot.img를 적어준다

Enter disk image source file name: \images\boot.img

플로피 디스켓을 넣고 엔터를 누르면 부팅 디스켓이 만들어진다.

복구 디스켓도 마찬가지로 만드는데 이미지 이름을 넣을 때 supp.img로

넣으면 된다.

I 리눅스 부팅

1.리눅스로 부팅하기

씨디롬 부팅이 지원되는 컴퓨터에서는 레드햇 씨디를 넣고 부팅을 하면

자동으로 리눅스로 부팅이 된다.  (씨디롬 부팅이 안되는 컴퓨터는 위의

부팅 디스켓 만드는 법을 참고해서 부팅 디스켓으로 부팅을 해야 한다.)

부팅이 되면 boot: 라는 프롬프트가 보이는데 이 부분에서 보통 엔터를

치고 넘어가면 된다. 엔터를 치면 커널이 로딩이 되면서 파란색의 환영

메시지가 있는 화면이 나오고 본격적인 설치로 들어간다.

참고로 boot: 에서 expert 라고 입력을 하면 전문가 모드로 들어가고

resuce라고 하면 복구 모드로 들어간다.

2.설치언어 선택

레드햇을 설치할 동안 쓰일 언어에 대해 선택하는 부분인데,

English로 선택을 하면 된다.

3.키보드 선택

자신의 키보드 선택 부분이며, us를 선택하면 된다.

4.설치 방법 선택

우리는 씨디롬을 이용해 설치를 하는 것이므로 Local CDROM을 선택하자.

씨디를 씨디롬에 넣으라는 메시지에서 OK를 한 후 넘어간다.

그러면 install 이냐 upgrade냐를 묻는다. 여기서는 설치이므로 Install을

선택한다.

II  본격적인 설치과정

1.설치 수준 선택

여기서는 간단히 Custom을 선택하면 된다.

2.스카시 장비 유무 선택

보통 삼성, 현대, 대우, 세진 등에서 나온 일반적임 홈피씨등은 스카시

장비를 갖추지 않고 있다. 그러므로 보통 No를 선택하면 된다.

3.파티션 설정

까다로운 부분이 바로 파티션 설정 부분이다.

먼저 설정 방법을 묻는데 fdisk로 선돛□ 하면 된다. Disk Druid 는

그래픽으로 파티션 설정을 할 때 사용한다.

fdisk를 선택하고, Edit 를 선택하면 까만색의 콘솔 화면이 나오면서

Command(M for help): 라는 프롬프트가 나온다.

여기서 m을 입력해보자.. 여러가지 명령어들이 나온다.

p : 현재 파티션을 보여준다

n : 파티션을 나눈다

d : 파티션을 삭제한다

w : 저장 후 종료한다

q : 저장하지 않고 종료한다

t : 파티션 ID를 바꾼다

리눅스 파티션은 보통 리눅스 시스템이 설치되는 부분(linux native)과

스왑(linux swap) 부분 크게 두가지로 나뉜다. 스왑이란 하드웨어에 있는

메모리와는 다른 일종의 가상 메모리이다.

일단 p명령으로 자신의 파티션 정보를 본 다음 실린더수와 시스템ID를

확인하고 n 명령으로 자신에게 맞게 파티션을 나눈 다음 w로 종료한다.

파티션 나누기가 종료되면 각각의 파티션을 마운트 할 곳을 묻는다.

보통 리눅스 파티션은 / 에다가 마운트 하므로 리눅스가 설치될 부분을

선택해 엔터를 친 다음 / 라고 써준다.

4.	스왑 공간

fdisk에서 설정한 스왑 공간을 포맷하는 부분이다.

Check for bad blocks during format 부분은 포멧을 하는동안 하드

디스크의 베드를 검사하는 부분인데, 이것을 선택하면 시간이 많이

걸리는 단점이 있다.

5.파티션 포맷

스왑 파티션의 포멧에 이어 이번엔 리눅스 시스템이 설치될 파티션의 포멧이다.

역시 하드 디스크의 베드 체크 부분은 개인의 선택에 달려있다.

6. 패키지 선택

Print Support 부터 시작해서 주루룩.. 많은 패키지들이 나열되어 있다.

이 패키지들을 일일히 선택해서 설치해도 되지만 처음 설치하는 사람은

맨 마지막에 있는 Everything 를 선택하면 모두 설치가 된다.

용량은 700~800M이다.

7. 마우스 선택

보통 마우스는 자동으로 인식이 된다.  2버튼을 사용하는 사람은

3버튼처럼 사용하게 해주는 Emulate 3 Buttons 에다가 체크를 하도록 하자.

8.네트웍 설정

이 부분 또한 까다로운 부분이다.

먼저 자신이 전화접속이나, 케이블 모뎀등의 사용자라면 유동 아이피 이므로

호스트 이름이나 도메인명등에 신경을 쓸 필요가 없다.

하지만 TT나 전용선등의 고정 아이피 사용자라면 자신의 컴퓨터 IP와 Gateway,

DNS 등의 주소를 알고 있어야 한다.

일단 네트웍 장비들은 대부분 자동으로 잡힌다.

그 다음 IP셋팅이 나오는데 유동 IP는 dhcp,

고정 IP는 Static IP address 를 선택한다

고정 IP를 선택한 경우 IP주소와 Netmask, Gateway, Nameserver를

물어보는 화면이 나온다.

자신에게 맞는 주소를 적어주고 다음으로 넘어가면 도메인명과

호스트명을 물어본다

자신의 도메인은 beauty.saragn.net과 같은 주소인데, 고유의 도메인을

가지고 있는 사람은 그 도메인을 넣어주고, 없는 사람은 맘에 드는

이름을 적어주면 된다.

호스트명은 자신의 컴퓨터 이름인데 이또한 맘에 드는 것으로 적어주면 된다.

9.시간대 설정

자신이 속한 시간대를 지정해 주는 부분이다.

Asia/Seoul을 찾아서 선택해주면 된다.

10.서비스 설정

부팅시 자동으로 뜨는 데몬을 선택하는 부분인데. 보통 기본설정으로

두고 넘어간다

11.프린터기 설정

프린터기 설치 부분이다.

자신의 컴에 직접 프린터기가 연결된 사람은 프린터기 포트만 지정해주면

되고 네트워크 프린러기를 쓰는 사람은 프린터기가 있는 컴퓨터의 IP와

이름(호스트명), 계정과 비밀번호등을 알아야 한다..

12.root 비밀번호

슈퍼유저인 root 의 비밀번호를 지정하는 부분이다.

대소문자 구별을 하며 입력시 아무것도 안 나타난다. 개의치 말고

자신의 비밀번호를 입력하면 된다.

13.NIS 설정

NIS 설정 부분이다. 그냥 두고 넘어가면 된다.

14.부팅 디스켓

리눅스 부팅 디스켓을 만드는 부분이다. 이때 만들어지는 디스켓은

처음 설치시 만들었던 부팅 디스켓과는 다른 리로가 포함된 디스켓이다

(물론 커널도 포함되어 있다).

부팅이 안될때에 유용하게 사용되므로 한장쯤 마련하는게 좋을 듯 싶다.

15.리로 설정

리로(LInux LOader)는 하드 디스크에서 리눅스로 직접 부팅 시키는

일종의 유틸리티이다.

이 부분에서는 리로를 어디에다가 설치할 것인지를 물어보는데

MBR(Master Boot Recore)이라는 곳에 설치를 하면 된다.

III  X-Window 설정

1.비디오 카드 설정

자신의 비디오 카드를 설정해 주면 된다.

만일 자신의 비디오 카드가 없다면 가장 비슷한 것을 선택하면 된다.

2.모니터 설정

자신의 모니터 명을 지정하면 된다.

그러면 비디오 카드와 모니터를 테스트 하는 화면이 나오는데 Probe를

선택하면 테스트를 한다.

3.비디오 메모리 설정

자신의 비디오 카드의 메모리를 선택하면 된다.

4.클럭 설정

보통 제일 위에 있는 No Clockchip Setting 을 선택한다.

5.해상도 선택

각각의 256,16bit, 24bit 에다가 화면 크기를 선택하면 된다.

위의 모든 과정이 제대로 되었다면 X-Window 가 설정 되었다는 화면이 나온다.

만일 설정이 안되었어도, 리눅스 부팅후 다시 설정해주면 되므로 그냥

넘어가면 된다.

6.부팅시 X-Window 실행 설정

부팅하고 로그인 할 때 X-Window 에서 바로 로그인을 하는지를 물어보는

부분이다.

맘에 드는대로 선택을 하면 된다.

IIII 재부팅

이제 모든 설치가 완료 되었다.

재부팅을 하고 리눅스로 로긴을 하면 된다..

=이뿌니(pey1)=

『리눅스 사용자 모임-리눅스 초보자 교실 (go LINUX)』 104번

제  목:[정리] SCSI

올린이:jhkwak  (곽재혁  )    99/11/03 16:22    읽음:1842 관련자료 없음

-----------------------------------------------------------------------------

스카시에 대해 자주 헷깔렸는데 정리가 잘 되어있군요...

(제가 요즘 NT를 공부하고 있는데 ^^;; 생각보다 공부할께 많더군요..

아래 내용은 O'Reilly사의 Windows NT System Administration에서

발췌한 내용입니다.)

SCSI디스크는 내장형과 외장형이 있다.

이러한 디스크는 SCSI ID라고 알려진 0부터 6까지의 숫자로 지정된다

(SCSI ID 7은 컨트롤러 자신용으로 사용된다.) 그러므로 보통의 SCSI 어뎁터는

7개의 디바이스를 지원하며, 각 디바이스는 반드시 유일한 SCSI ID를 할당해

주어야 한다. 일반적으로 SCSI ID는 내장형인 경우에는 점퍼로 설정되고, 외장형인

경우에는 조그만 돌림 스위치나 누름 스위치로 설정된다.

SCSI디스크의 ID설정을 변경할 때는, 변경된 것이 효과를 내기 전에, 반드시 전원을

껐다 켜야 한다.

SCSI 디바이스 용 커넥터(connector)는 여러 가지가 있다.

1. 25핀 DB-25 커넥터는 직렬 케이블과 비슷하다. 1/8 인치 정도의 크기에

25개의 핀이 두 줄에 걸쳐 위치하고 있다. 예를 들면, 이런 커넥터는 외장형

SCSI집 드라이브(ZIP drive)에 사용된다.

1. 50핀 센트로닉스 커넥터(50-pin Centronics connectors)는 가장 보편적으로

사용되는 SCSI 커넥터의 일종이다. 커넥터의 핀은 2인치 정도 길이의 얇고

평평한 플라스틱 막대의 윗부분과 아랫부분에 위치하며, 커넥터는 각 끝 부분에

있는 뾰족한 걸림쇠(wire clip)에 의하여 보호된다.

1. 50핀 마이크로 커넥터(50-pin micro connector:미니-마이크로 커낵터나 SCSI II 커

넥터라고도 한다)는

평평하고 촘촘하게 설치된 핀들로 50핀 센트로닉스 커넥터와 구분 할 수 있으며,

이것도 두 줄로 설치되어 있다. 이 커넥터는 다른 것에 비하여 훨씬 얇다.

약 1인치 정도이다.

1. 68핀 커넥터(SCSI III 커넥터라고도 한다)는 와이드 SCSI 디바이스

(wide SCSI device)를 위해 설계된 마이크로 커넥터이다.

이런 제품들 사이에서 변환하는 어댑터 뿐 아니라, 이러한 커넥터들을 조합하는

케이블을 살 수 있다.

시스템상의 여러가지 SCSI 디바이스는 서로서로 연결되어 있다.(단일선을 이용하여

직렬로). 올바르게 동작하기 위하여 첫번째 디바이스와 마지막 디바이스는 반드시

터미네이션이 설정되어야 한다(역자주:특정 SCSI 디바이스가 케이블에 연결로

종단 SCSI 디바이스임을 나타내는 것을 터미네이션이라고 한다.) 예를 들면,

SCSI 연결이 전부 외장형으로 되어있을 때, 마지막 디바이스에는 터미네이터가

설치되어야 하며, SCSI자체가 첫번째 디바이스에게 터미네이션이 된다(이런 기능이

지원되는지의 여부는 제품 설명서를 참조하라). 마찬가지로 연결이 외장형과

내장형 모두로 이루어질 때에는 내부 SCSI 버스에 연결되어 있는 첫 번째

디바이스에 터미네이션을 설정해야 하고(에를 들면, 내장 디스크의 점퍼를 이용

한다), 마지막 외장형 디바이스에도 터미네이터를 설치하면 된다.

터미네이션(termination)은 SCSI버스를 구성하는 여러 종류의 선들 사이의

전압을 조절하는 것들로 되어 있다. SCSI 터미네이터에는 여러 가지 종류가 있다

1. 패시브 터미네이터(passive terminatior)는 저항으로 만들어진다. 이 터미네이터

는 SCSI연결내의 전원이 올바른 동작 범위내에서 유지되도록 한다. 이러한 터미네이

션은 비용이 제일 저렴하지만, SCSI 연결에 한 개나 두개의 디바이스만 있고

버스 상에서 최소한의 장비만이 동작할 때 잘 작동하는 경향이 있다.

1. 액티브 터미네이터(active terminator)는 전압 조절기(voltage regulator)와

저항을 사용하여 전압을 적당한 범위내에서 유지되도록 한다. 패시브 터미네이터가

단순하게 들어오는 신호를 적당한 수준으로 낮추는데 반해(그러므로 모든 전원이

변동될 소지가 있지만), 액티브 터미네이터는 목표로 하는 전압을 안정적으로

만들어내기 위하여 전압 조절기를 사용한다. 액티브 터미네이터는 패시브

터미네이터에 비하여 약간 비싸며, 좀 더 신뢰할 만하다. SCSI II 표준안에서는

모든 SCSI 연결에 액티브 터미네이터를 요구한다.

1. 강제 최적 터미네이션(FPT, Forced Perfect Termination)는 좀 더 복잡하고

정밀한 전압 조절기를 사용하여 전압을 올바른 값으로 맞추게 한다. 이 방법은

전압 표준치를 두개의 조절된 전압의 출력 값으로부터 얻어오고, 다이오드들을

사용하여 전압 변동을 제거한다. 이러한 방식은 액티브 터미네이터에 비하여 큰

안정성을 보인다. FPT 가격이 액티브 터미네이터보다 두 세배 비싸긴 하지만

사용하는  SCSI 디바이스가 세 개 이상일 경우에는 FPT 사용을 심각하게

고려해 볼 만하다.

1. 몇가지 하이브리드 터미네이터(hybrid terminators)도 있다. 이러한

디바이스는 주요 라인은 FPT를 통하여 제어되고, 나머지 라인은 액티브

터미네이터로 제어된다.

이러한 디바이스는 FPT 디바이스만큼 비싸기 때문에 잘 사용되지는 않는다.

또한 일반 SCSI와 차분 SCSI 디바이스(defferential SCSI devices)도 구분할

수 있어야 한다. 후자의 경우에는 버스 내에 각각의 신호를 위한 두개의

물리적인 전선이 있고 이러한 디바이스는 신호 값(signal value)으로, 두 전선

사이의 전압차를 이용한다.

이러한 설계는 버스상의 전기적 잡음을 줄여주고, 더 긴 케이블의 사용을 가능하게

한다. 그러한 SCSI 디바이스에는 특별한 케이블과 터미네이터가 필요하다

(어뎁터도 마찬가지로 그러한 기능을 지원해야 한다.)