레드햇 리눅스 5.2 사용 설명서

리눅스코리아 서문

레드햇 리눅스 5.0 설치 가이드

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

리눅스코리아주식회사

레드햇 리눅스의 세계로 오신 것을 환영합니다.  본 책자는 레드햇 소프트웨어에서 판매하고 있는 레드햇 리눅스 5.2 정품에 포함된 □레드햇 리눅스 5.2 설치 설명서□를 한글로 옮긴 것입니다. 본 설명서는 리눅스코리아에서 레드햇 리눅스 5.2를 구입한 고객에게 보다 편리한 레드햇 리눅스의 사용을 위해 함께 제공되고 있습니다.

지난 11월 초에 레드햇 소프트웨어에서 레드햇 리눅스 5.2 버전을 출시한 전후로 정보산업계 전반으로 리눅스에 대한 관심이 부쩍 높아진 것이 사실입니다.  특히 5.2 버전에서 선을 보이는 보다 쉬운 설치와 자동 처리로 인해 더욱 편리해진 것이 사실입니다.

이에 리눅스코리아에서는 레드햇 리눅스 5.2의 국내 공급부터 시작하여 점차적으로 한글 레드햇 리눅스 버전을 개발 및 공급할 계획입니다.

리눅스코리아에서 레드햇 리눅스 제품을 구입하신 고객은 기본적인 한글 사용환경을 위해 리눅스코리아의 홈페이지 http://www.linuxkorea.co.kr를 통해 몇 가지 프로그램을 내려받아 사용할 수 있습니다.  아울러 90일간의 설치 지원을 전자우편(redhat@linuxkorea.co.kr)을 통해 받으실 수 있으므로 많은 이용바랍니다.  물론 영어에 익숙하시다면 레드햇 소프트웨어(http://www.redhat.com)에 등록을 하여 사용자 설치 지원을 함께 받을 수 있습니다.

번역 작업을 직접 수행한 리눅스코리아 기술지원부 여러분에게 감사의 말씀을 드립니다. 그리고 리눅스코리아에 관심을 가지주시고 제품을 구입해주신 여러분들에게도 감사의 말씀을 드립니다.

많지 않은 시간이라 번역이 미진한 부분이 있을 줄로 믿습니다. 앞으로 지속적으로 향상된 서비스를 제공하기 위해서 열심히 노력하겠습니다.

1998.12.14 팀장 김성우

본 내용의 원래의 영문판에 대한 저작권은 레드햇 소프트웨어에게 있으며, 한글 번역판의 저작권은 리눅스코리아에게 있습니다.

레드햇 소프트웨어 사 서문

레드햇 리눅스의 세계로 들어온걸 환영한다. 레드햇 리눅스에 관심을 가져주어서 감사하는 바이다. 우리가 생각하는 것은 오늘날 시장에서 가장 훌륭한 리눅스 배포판이 되는 것이며 계속 이것을 지켜나가기 위해 노력하고 있다. 레드햇 리눅스 5.2는 레드햇 소프트웨어의 가장 최신 소프트웨어이다. 사용자들이 레드햇을 좋아했으면 좋겠다. 사용자들에게 유용한 프로그램을 만드는 작업이 즐거웠던 것만큼 사용자들도 레드햇을 즐겁게 사용했으면 좋겠다.

컴퓨터를 사용하는 일부의 사람은 리눅스를 잘 알고 있지만 지금에 와서 리눅스를 듣는 사람도 많이 있다. 이런 사람을 위해 다음의 절에서는 리눅스와 레드햇 소프트웨어에 대해 친근해질 수 있도록 배경 설명을 할 것이다.

리눅스는 무엇인가?

1991년 8월, 핀란드의 한 학생이 comp.os.minix 뉴스그룹에 다음의 글을 올리기 시작했다.

미닉스를 사용하는 여러분 안녕하세요 -

저는 386(486) AT 클론 컴퓨터에서 돌아가는 (공개) 운영체제를 만들고 있답니다 (단지 취미이며 gnu처럼 거대하고 전문적인 것은 바라지 않습니다).

그 학생의 이름은 리누스 토르발즈이며 그가 말했던 취미는 결국 오늘날 우리가 알고 있는 리눅스가 되었다.

완전한 POSIX 호환 운영체제인 리눅스는 리누스 혼자 개발한 것이 아니라 전세계의 수많은 프로그래머들이 함께 개발을 하였다. 여기서 흥미로운 것은 중간에서 조정하는 사람이 없었는데도 전세계에 걸쳐서 광범위하게 리눅스 개발을 진행했다는 사실이다. 확실히 리누스는 커널과 관련된 작업을 했지만 리눅스는 커널 그 이상이다. 여기에는 관리할 수 있는 조직이 있었던 것도 아니다. 러시아의 한 학생은 새로운 마더보드을 가져다가 마더보드의 적절한 기능을 지원하는 드라이버를 만들었다. 메릴랜드의 한 시스템 관리자는 백업 소프트웨어가 필요해서 백업 소프트웨어를 만들었고 그것을 필요한 사람이 쓸 수 있도록 공개하였다. 필요한 것이 있으면 적절한 시간에 바로바로 만들어지는 것처럼 보였다.

흥미있는 사실이 한가지 더 있는데 리눅스는 무료로 구할 수 있다는 것이다. 내려 받을 시간과 마음만 있다면 누구나 대부분의 소프트웨어를 (무료로) 사용할 수 있다. 그러나 모든 사람이  그렇게 할 수 있는 충분한 시간이 있는 것은 아니다.

레드햇 리눅스는 무엇인가?

노스 캐롤라이나에 있는 프로그래머 그룹으로 가보자. 이 그룹의 목적은 사람들이 쉽게 리눅스를 사용할 수 있도록 만드는 것이다. 이들은 사용자들이 PC에 새로운 운영체제를 깔 때 부딪치는 어려움을 줄일 수 있도록 필요한 모든 것을 모아 배포판으로 묶고자 하였다.

그러나 레드햇 리눅스는 다른 배포판과 구별되는 하나의 차이점을 가지고 있는데, 그것은 패키지에 기초한다는 것이다.

각 패키지는 소프트웨어를 여러 가지 분야로 나누어 제공하고 있다. 또한 완전하게 테스팅을 거쳐 만들어졌고 바로 실행할 수 있다. 새로운 편집기를 사용하고 싶을 때는? 패키지를 내려받고 설치하면 된다. 다음에는 지울 수도 있다. 이젠 쓰기가 싫을 때는? 한줄의 명령만 입력하면 패키지가 제거된다.

리눅스 배포판은 쉽게 갱신할 수 있다.

리눅스 세계에서는 소프트웨어의 개발이 빨라 예전 소프트웨어의 새로운 버전이 계속 나온다. 다른 배포판에서 소프트웨어를 업그레이드하는 것은 괴로운 일이다. 완전히 업데이트하면 보통 하드 드라이브 전체를 지우고 새로 시작해야 한다.

이때 노스 캐롤라이나에 있는 레드햇 소프트웨어와 패키지 기반의 배포판인 레드햇 리눅스를 떠올리게 될 것이다.

레드햇 리눅스가 1994년 여름에 소개된 이후로 리눅스와 레드햇 소프트웨어는 빠르게 성장하였다. 잘 알려지지 않은 하드웨어에 대한 지원, 신뢰성의 놀라운 향상, 기업에서의 리눅스 사용 증가 등 많은 것이 바뀌었다.

그렇지만 많은 부분이 예전 그대로 남아있다. 리눅스는 여전히 전세계의 사람들에 의해 개발되고 있으며 리누스가 계속 관련을 맺고 있다. 레드햇 소프트웨어는 여전히 노스 캐롤라이나에 있으며 사람들이 사용하기 쉽도록 리눅스를 만들기 위해 노력하고 있다.

그리고 레드햇 리눅스는 여전히 패키지 기반으로 구성되어 있고 앞으로도 계속 그럴 것이다.

4.0 버전부터 레드햇 리눅스는 세 가지 선도적인 컴퓨팅 플랫폼에서 운영되고 있다. 인텔 호환 PC, 디지탈 알파 컴퓨터, 썬 스팍이 그것이다. 우리의 통합된 소스 트리 구조와 RPM 기술 덕분에 최소의 노력으로 레드햇 리눅스를 각 플랫폼에 이식할 수 있다. 레드햇 사용자가 세 플랫폼 사이에서 최대한 쉽게 소프트웨어를 관리하고 이식할 수 있다.

우리는 레드햇 리눅스를 우리의 홈페이지나 인터넷의 다른 미러 사이트에서 제약없이 받을 수 있도록 했다. 또한 CD-ROM을 이용해 레드햇 리눅스를 사용할 수 있다. 현재 제공하는 제품과 리눅스를 구할 수 있는 곳에 대한 최신 정보는 레드햇 소프트웨어의 웹사이트(http://www.redhat.com)를 참고하면 된다.

대부분의 시스템에서 레드햇 리눅스는 쉽게 설치할 수 있다. 사용자는 설치 프로그램을 15분 정도 사용하면 된다. 그리고 시스템 요구사양이 매우 유연하다. RPM을 이용해 최소의 노력으로 개별 소프트웨어 패키지를 설치하고 삭제할 수 있다. RPM 덕분에 패키지 검증, 수정, 삭제, 설치를 쉽게 할 수 있다. 더 나아가 레드햇 리눅스는 관리하기도 쉽다. 관리자 도구가 다양하게 준비되어 있어서 시스템을 관리할 때 드는 불필요한 노력을 줄인다. 시스템 구성 요소 중 공개적인 부분은 완전한 소스 코드를 제공한다.

설명서 개요

본 설명서는 사용자가 레드햇 리눅스를 빠르고 쉽고 설치할 수 있도록 하기 위해 만들었다. 각 장을 간단하게 살펴보면서 레드햇 리눅스에 익숙해지자.

1장, 레드햇 리눅스 5.2의 새로운 특징  레드햇 리눅스 5.2에 추가된 새로운 기능에 관한 정보

2장, 설치 전 준비사항  레드햇 리눅스를 설치하기 전에 해야 할 작업에 관한 정보

3장, 설치 시작  레드햇 리눅스 설치를 시작하는 것에 관한 정보

4장, 설치 진행  설치 과정의 주요한 부분에 대한 정보

5장, 설치 완료  설치를 완료하기 위해 마지막 단계에 해야할 작업에 관한 정보

6장, 설치 후 작업  로그인, 시스템 종료, X 등 주요 시스템 요소의 설정에 관한 정보

7장 - 11장  문서 찾는 방법, 레드햇 리눅스의 다양한 시스템 관리 방법과 관리 도구 사용법. 또한 특정 파일의 위치 등 레드햇 리눅스 시스템만의 고유한 부분에 대하여 설명한다.

부록  레드햇 소프트웨어의 지원 제공, FAQ 등 레드햇 리눅스에 관련된 기타 정보

빠른 시작 정보

이전에 레드햇 리눅스/인텔을 설치해 보았거나 빨리 설치하고 싶은 사람은 부팅 디스켓으로 부팅하면 된다 (컴퓨터가 CD 롬 부팅을 지원하면 레드햇 리눅스/인텔 CD-ROM을 사용할 수 있다). 다음에 설치 방법을 선택한다. FTP, 하드디스크를 이용해 설치하거나 또는 설치할 때 PCMCIA 카드를 사용하면 보충 디스켓이 필요하다. 이외의 경우에는 화면에서 질문하는 대로 답변하면 된다.

레드햇 리눅스를 알파나 스팍에서 설치하려면 2장을 참고해야 한다. 인텔 기반이 아닌 시스템에 관련된 정보가 나와있다.

레드햇 리눅스 이전 버전에서 판올림

레드햇 리눅스 5.2는 RPM 기술에 기반하여 이전의 레드햇 리눅스(2.0부터 5.0까지)를 업그레이드할 수 있다. 업그레이드를 하면 모듈 방식의 2.0.x 대 커널과 시스템에 설치되어 있는 패키지의 갱신 버전을 설치한다. 이전의 설정 파일은 .rpmsave 라는 확장자를 붙여 보관하고 바뀐 부분에 대한 기록은 /tmp/upgrade.log 파일에 기록한다.  소프트웨어가 발전하면서 설정 파일의 형식이 변한다. 그러므로 변한 것을 적용하기 전에 조심스럽게 원래의 설정 파일과 새 파일을 비교해 봐야 한다.

개발자의 이야기

우리는 발표 전의 레드햇 리눅스를 시스템에서 테스팅하고 버그 목록을 알려주어 시간을 절약하게 해준 모든 베타 테스터들에게 감사를 표한다. 특히 □할로윈□ 사건 이전부터 레드햇과 함께 해준 사람들에게 감사하는 바이다. 우리는 또한 리눅스 토르발즈와 경이적인 공개 프로그램을 만든 전세계의 수많은 개발자들에게 감사를 표한다.

또한 레드햇 리눅스에 관심을 가진 당신에게 감사의 말을 전한다.

레드햇 개발 팀

편집자 노트

우리는 설치 안내서의 범위를 계속 넓혀 나가고 있다. 예전과 같이 실제적인 설치 과정에 관련된 내용을 갱신하였다. 또한 레드햇 리눅스 5.2에 추가된 새로운 기능을 반영하여 □새로운 특징□ 부분을 갱신하였다. 이러한 일은 우리의 일상 작업이라고 생각한다.

고객의 의견을 직접 반영하여 바뀐 부분도 있다. 어떤 사람의 경우는 일반적인 컴퓨터 환경과 다른 리눅스 특유의 표현법과 용어에 혼란스러워 하기도 한다. 이런 사람들을 위하여 용어사전을 추가하였다. 모든 레드햇 리눅스에 관련되어 있는 완전한 자료 처리 사전을 만들려는 것이 목적은 아니다. 그렇지만 있어야 하는데 빠졌다고 생각되는 단어가 있으면 기꺼이 docs@redhat.com에 알려주면 좋겠다.

linuxconf 시스템 설정 도구가 성숙함에 따라 우리는 새로운 시스템 설정에 대한 장을 만들었다. 여기에는 아직도 남아있는 예전의 control-panel 도구와 함께 linuxconf를 기반으로 작업하는 것에 관련된 문서를 담았다.

설치 안내서의 FAQ를 작업하였으며 버전에 상관없이 계속되는 질문을 추가하였다. 특정한 버전에 관계된 질문은 빠졌지만 필요하면 약간은 오래되었지만 프린트된 문서가 있을 것이다.

패키지 목록은 매우 널리 입증받았다. 이번에 우리는 어떤 패키지가 여러 개의 미리 정의된 패키지 세트 중 한 부분인지를 표시하는 아이콘을 덧붙였다.

이렇게 해서 설치 안내서가 100쪽 정도 늘었다. 이러한 경향은 앞으로도 계속 될 것 같다.

피드백 요청

설치 안내서에서 오자를 발견하거나 설명서를 좀 더 좋게 만들 수 있는 방법이 있다면 우리에게 알려주면 좋겠다. 다음의 주소로 전자우편을 보내주기 바란다.

docs@redhat.com

설명서의 버전을 정확하게 말해주어야 한다.

Inst-5.2-HTML-RHS (10/98)

그래야 당신이 가진 설명서가 어떤 것인지 정확히 알 수 있다. 제안할 사항이 있으면 자세하게 설명해 주길 바란다. 잘못된 것을 발견했을 때 그 부분의 번호와 내용을 알려주면 우리가 쉽게 발견할 수 있다. 우리에게 오는 모든 메시지에 답변을 하지 못할 수도 있다. 그렇지만 우리가 그것을 다 읽고 있다고 확신하길 바란다!

감사의 마음으로...

설명서를 썼던 예전의 저자에게 감사를 드린다. 그들이 했던 많은 작업들이 아직도 여기 남아있다. 또한 많은 질문과 논평에 답변해주고 설명서를 검토해준 레드햇 리눅스 5.2 개발 팀에 감사를 드린다. 그들이 없었다면 지금의 설명서를 쓰지 못했으며 사용자가 이 설명서를 읽지도 못했을 것이고 재미도 없었을 것이다. 정말로 감사한다!

감사해야 할 사람들이 또 있다. 수정할 점과 제안들 그리고 잘 되는 것까지 보내준 예전의 설치 안내서를 읽었던 독자들에게 감사드린다. 최대한 사용자들이 제안한 것들을 받아들이려고 노력하였다. 들어오는 의견을 최대한 수용하자. 이것이 사용자가 우리의 문서에서 필요한 것을 얻을 수 있는 지를 알 수 있는 유일한 방법이라고 생각한다.

힘겹게 linuxconf 문서작업을 한 Paul Gerwe(새로운 저자 중 한 사람)에게 감사를 드린다. 새로운 FAQ를 쓴 천재 Stephen Smoogen에게도 감사를 드린다. 그와의 작업은 정말로 즐거웠다.

레드햇 소프트웨어의 지원 그룹에도 감사를 드린다. 그들은 수많은 레드햇 리눅스 고객을 접해 온 경험을 토대로 설명서에 대해 통찰력 있는 제안을 많이 해 주었다. 설명서를 통해 쉽게 설치를 할 수 있었다면 다 그들의 노력 덕분이다. 그들에게 감사한다.

Edward C. Bailey

1. 레드햇 리눅스 5.2의 새로운 특징

이번 장에서는 레드햇 리눅스 5.2의 새로운 특징을 설명한다.

1.1 설치 관련 개선점

레드햇 리눅스 설치 과정을 쉽게 할 수 있도록 많은 내용이 변경되었다. 변경된 내용은 다음과 같다.

ㅇ 새로운 설치 종류의 도입

ㅇ 개선된 설치 안내

ㅇ 다수의 SCSI 어댑터 지원

ㅇ 모든 플랫폼에서 Disk Druid 지원

각각에 대해서 더 자세하게 살펴보겠다.

1.1.1 새로운 설치 종류의 도입

레드햇 리눅스 5.2 설치 프로그램에 예전에 없던 몇 가지 설치 종류가 도입되었다. 워크스테이션과 서버 모드를 사용하여 자동으로 분할 영역 작업을 처리할 수 있다. 커스텀 클래스(사용자 설치)를 사용하여 이전 프로그램의 설치 방법과 동일하게 할 수 있다.

1.1.2 설치 안내의 개선

레드햇 리눅스 5.2 설치 안내 부분이 개선되었다.

ㅇ Linuxconf 문서 추가 - 8장에서 레드햇 리눅스 시스템을 설정할 때 Linuxconf를 사용하는 것에 대하여  자세하게 설명하였다.

ㅇ 설치 부분의 개선 - 레드햇 리눅스 설치를 다루는 부분에서 보다 자세한 내용을 효율적인 방법으로 설명하였다.

ㅇ 용어해설 - 혼동하기 쉬운 단어에 대한 용어 해설을 부록 G에 실었다.

ㅇ 완전히 새로운 FAQ - 부록 E에는 새로 갱신된 FAQ를 실었다. 설치 전후의 문제가 발생하면 FAQ를 먼저 확인하도록 하자.

1.1.3 다수의 SCSI 어댑터 지원

레드햇 리눅스 5.2 설치 프로그램에서 하나 이상의 SCSI 어댑터를 가진 시스템을 지원한다.

1.1.4 모든 플랫폼에서 Disk Druid 지원

Disk Druid가 레드햇 리눅스 스팍과 알파 버전에서도 지원한다.

1.2 시스템 관리 관련 개선점

레드햇 리눅스 5.2는 시스템 관리자를 위해 다음과 같은 특징이 있다.

ㅇ 리눅스 2.2 준비

ㅇ 트래픽 측정 지원

ㅇ 사운드 지원 강화

ㅇ 프린터 지원 강화

ㅇ PCMCIA 지원 갱신

1.2.1 리눅스 2.2 준비

레드햇 리눅스 5.2는 최신 안정 커널(2.2.x 버전)이 발표되면 바로 사용할 수 있도록 설계되었다. 레드햇 소프트웨어는 커널이 발표되면 곧바로 2.2 기반의 커널 패키지를 사용할 수 있도록 할 것이다.

보다 진취적인 사용자를 위해 2.1 개발 버전 커널을 쉽게 설치할 수 있도록 지원한다.

1.2.2 트래픽 측정 지원

레드햇 리눅스 5.2는 트래픽 측정을 위한 커널 차원의 지원과 유틸리티를 포함하고 있다. 이것은 대역폭 이용에 대한 완전한 통제가 필요한 인터넷 서비스 제공자들에게 있어 중요하다. 이러한 기능에 관심이 있다면 □shapecfg□ 패키지를 설치했는지 확인해보자. 다음 □/sbin/shapecfg□ 에 있는 트래픽 측정 설정 도구를 사용할 수 있다.

1.2.3 사운드 지원 강화

"sndconfig" 사운드 설정 유틸리티는 스팍 시스템에서 현재의 표준 사운드 하드웨어뿐만 아니라 많은 사운드 카드를 인식한다.

1.2.4 프린터 지원 강화

□printtool" 프린터 설정 유틸리티는 네트웨어 기반의 원격 프린터 설정을 지원한다.

1.2.5 PCMCIA 지원 갱신

레드햇 리눅스 5.2는 PCMCIA 지원을 갱신했다. 최신의 PCMCIA 카드를 이제 사용할 수 있다.

1.3 기타 새로운 특징

ㅇ 윈도우 메이커 윈도우 관리자 포함

ㅇ 아파치 1.3 포함

ㅇ GIMP 1.0.1 포함

1.3.1 윈도우 메이커 포함

레드햇 리눅스 5.2에는 유명한 윈도우 메이커 윈도우 관리자가 포함되어 있다. 윈도우 메이커를 사용하려면, "/usr/X11R6/bin/wmaker.inst" 스크립트를 수행한다(단지 wmaker.inst를 타이핑하면 된다). 갱신할  스크립트의 이름을 물어보면, 엔터 글쇠를 누른다. 이 스크립트는 로그인 디렉토리에 필요한 파일을 만든다. 그리고 다음의 명령을 사용하여 새로운 스크립트 파일을 실행가능 하도록 한다.

chmod +x .xinitrc

이제, X를 시작하여 윈도우 메이커를 사용할 수 있다.

1.3.2 아파치 1.3 포함

레드햇 리눅스 5.2 에는 유명한 아파치 웹서버 소프트웨어 1.3 버전이 들어있다.

1.3.3 GIMP 1.0.1 포함

레드햇 리눅스 5.2에는 GNU 이미지 조작 프로그램(GIMP) 1.0.1 버전이 들어있다.

2. 설치 전 준비사항

레드햇 리눅스 설치는 쉬운 과정이지만, 설치를 시작하기 전에 약간의 사전지식을 알면 더 원활하게 설치할 수 있다. 이번 장에서는 설치를 시작하기 전에 준비해야 할 단계에 대해서 설명한다.

※ 참고사항 : 현재 2.0이나 이후 버전의 레드햇 리눅스 시스템을 운영하고 있으면 판올림할 수 있다. 설치에 관련된 기본적인 이슈들을 개괄하기 위해 이번 장을 대충 읽어보자. 그리고 지시를 따라 차례대로 다음의 장을 읽는다. 판올림 절차는 설치 절차와 똑같이 시작한다. 설치 프로그램으로 부팅한 후 설치를 할 것인지 판올림을 할 것인지 선택하고 몇 가지 질문에 답을 한다.

레드햇 리눅스를 설치하기 전에 다음 다섯 가지 작업을 해야한다.

1. 설치를 한 후에 레드햇 리눅스 시스템을 효과적으로 사용하기 위한 충분한 문서가 있는지 확인한다.

2. 설치에 필요한 레드햇 리눅스 구성 요소가 있는지 확인한다.

3. 컴퓨터 하드웨어 설정과 네트워크 정보를 확인한다.

4. 처음의 두 과정에 근거하여 레드햇 리눅스를 설치하는데 어떠한 방법을 사용할 것인지 결정한다.

5. 레드햇 리눅스를 어느 하드디스크 드라이브에 설치할 것인지 결정한다.

레드햇 리눅스를 설치하고 난 후에 필요한 문서를 가지고 있는지 확인한 후 시작하자.

2.1 문서 구하기

레드햇 리눅스는 강력하고 완전한 특징을 가진 운영 시스템이다. 사용자가 리눅스 전문가가 아니라면, 레드햇 리눅스 시스템을 구성하기 위한 문서가 필요할 수도 있다. 활용할 수 있는 리눅스 문서 정보는 7장에 나와 있다. 대부분의 사람들은 7장에서 설명하는 도움이 될만한 자료를 찾을 수 있겠지만, 지금 당장 리눅스를 시작하려는 사용자에게는 추가적인 정보가 필요할 것이다. 대개 도움이 될만한 정보는 리눅스에 얼마나 전문적인 지식을 가지고 있는지에 달려 있다.

리눅스 초보자 - 처음으로 리눅스를 사용하였거나 리눅스와 비슷한 다른 운영 시스템을 사용했다면 기본 유닉스 개념에 대해서 간결한 소개를 실은 정보가 필요할 것이다. 예를 들어, 오렐리(http://www.ora.com/)에서는 리눅스와 유닉스에 관련된 다양한 책을 출판하고 있다.

약간의 리눅스 경험자 - 다른 리눅스 배포판이나 리눅스와 비슷한 운영체제를 사용했었다면 더 자세한 참고 자료가 필요할 것이다. 특정한 주제에 대한 정보가 필요할 경우에는 오렐리의 세분화된 자료들이 유용하겠지만 레드햇 소프트웨어사의 "Linux Undercover"와 "Linux Complete Command Reference"가 총괄적인 문서로 유용할 것이다.

오랜 리눅스 사용자 - 만약 레드햇 리눅스를 오랫동안 사용해왔다면 어떤 문서가 필요한지 물어보지 않아도 될 것이다.

6장에서 문서에 대해 추가적인 내용을 다룬다.

2.2 레드햇 리눅스 제품의 구성 확인

레드햇 리눅스 (정식) 제품 세트를 구입했으면 설치를 시작할 준비가 되었다. 그러나 간혹 실수가 생기므로 제품 구성을 다시 한번 확인하는 것이 좋다. 레드햇 리눅스 제품 세트를 구입하지 않았다면 2.2.3 절로 간다.

2.2.1 레드햇 리눅스 제품 세트 구성

레드햇 리눅스 제품 세트는 다음의 목록으로 구성되어 있다.

ㅇ 레드햇 리눅스 사용 설명서

알파 설치 안내서 부록

알파

ㅇ 레드햇 리눅스 CD 1, 2

리눅스 애플리케이션 CD

인텔

부트 디스켓

인텔

ㅇ 라이선스와 등록 정보

※ 참고사항 : 리눅스코리아(http://www.linuxkorea.co.kr)에서 정식 레드햇 리눅스 5.2 제품을 구입하였다면 추가적으로 레드햇 리눅스 한글 사용 설명서가 포함되어 있다.

각 목록을 확인해보자.

사용 설명서

지금 읽고 있는 것이 레드햇 리눅스 사용 설명서이다. 사용 설명서는 레드햇 리눅스를 설치하는 데 필요한 정보를 담고 있다. 아울러 레드햇 리눅스에 고유한 운영 시스템의 특징에 관련된 정보가 들어있다.

알파 설치 설명서 부록

알파

레드햇 리눅스 알파 설치 안내서 부록은 알파 기반 컴퓨터 시스템의 사용자에게 필요한 추가 정보를 담고 있다. 이 부록에는 레드햇 리눅스를 더 쉽게 설치하는데 필요한 정보가 있다. (알파 설치 부록은 레드햇 리눅스/알파 제품 세트에만 들어있다)

CD 1과 2

두 개의 CD에는 완전한 레드햇 리눅스 배포판과 소스 코드가 들어있다. 첫 번째 CD에는 가지고 있는 컴퓨터의 유형(인텔, 알파, 또는 스팍)에 맞게 제작된 바이너리 패키지가 들어있다. 두 번째 CD에는 첫 번째 CD의 바이너리 패키지를 제작하는데 사용한 소스 패키지가 들어있다.

리눅스 애플리케이션 CD

애플리케이션 CD에는 상업용 리눅스 소프트웨어 제품들의 데모 버전이 들어있다. 자세한 정보는 CD안의 README 파일을 참고한다.

인텔

※참고사항: 애플리케이션 CD에 있는 제품은 레드햇 소프트웨어가 지원하지 않는다. CD안의 소프트웨어에 관해 질문이나 문제점이 있으면 레드햇 소프트웨어가 아닌 해당 책임이 있는 회사에 직접 연락해야 한다.

부트 디스켓

부트 디스켓은 레드햇 리눅스/인텔의 설치 과정을 시작하기 위해 필요하다. 컴퓨터의 설정과 선택한 설치 방법에 따라 부트 디스켓이 필요하지 않을 수도 있다. 추가로, 시스템 하드웨어 설정과 선택한 설치 방법에 따라 보충 디스켓이 필요할 수 있다. 뒤에서 서로 다른 설치 방법에 관련된 장에서 각각의 설치 방법에서 어떤 디스켓이 필요한지 설명할 것이며 필요한 디스켓을 만들 수 있도록 지시해줄 것이다.

인텔

알파 소유자는 어떤 디스켓이 필요한지 알기 위해 레드햇 리눅스 알파 설치 부록을 참고해야 한다.

알파

스팍 소유자는 어떤 디스켓이 필요한지 알기 위해 F.5.1 절로 간다.

스팍

라이선스와 등록 정보

시디롬 상자에는 레드햇 리눅스의 라이선스 조건, CD에 포함되어 있는 상업용 소프트웨어의 라이선스 조건과 관련된 정보가 들어있다. 추가로, 레드햇 소프트웨어의 레드햇 리눅스를 등록할 수 있는 정보가 들어있다. 등록하면 설치 지원을 받을 수 있다. 레드햇 소프트웨어의 설치 지원 프로그램은 부록 A에서 설명한다.

※참고사항: 시디롬 케이스 안에 숫자와 문자가 조합된 등록 문자가 적혀있다. 등록 문자는 레드햇 소프트웨어의 설치 지원을 받기 위해 등록할 때 필요하다. 등록 문자를 잊지 말자. 등록 문자가 없으면 설치 지원을 받을 수 없다!!

※ 참고사항 : 리눅스코리아에서 구입한 레드햇 리눅스 5.2 제품에 대한 설치 지원은 구입 시에 지정한 전자우편 주소를 사용하여 받을 수 있다.

2.2.2 빠진 것이 있을 때

레드햇 소프트웨어나 배포업자로부터 공식 레드햇 리눅스 제품 세트를 구입했는데 위의 목록 중 빠진 것이 있다면 알려주기 바란다.

유의해야 할 것은 레드햇 소프트웨어는 미국 내외의 회사들과 협력관계를 맺고 있어서 레드햇 리눅스를 가장 편리한 형태로 사용할 수 있도록 하고 있다. 이러한 이유로 사용자의 레드햇 리눅스 제품 세트가 실제로 레드햇 소프트웨어에서 생산되지 않을 수도 있다.

공식 제품 세트를 확인할 방법이 없는가? 방법이 있다. 상자 밑의 바코드 옆에 ISBN 숫자가 있다. ISBN 숫자는 1-888172-xx-y 의 형태이어야 한다.

제품 세트에 이런 형태로 ISBN 숫자가 있는데 빠진 것이 있으면 1-888-733-4281(미국 밖에서는 +1-919-547-0012)로 전화를 하거나 sales@redhat.com로 전자우편을 보내면 된다.

만약 ISBN 숫자가 다르거나 없다면 제품을 생산한 회사에 연락을 해야 한다. 일반적으로, 서드-파티 업체가 회사로고를 표시하거나 제품 상자 겉에 연락할 수 있는 정보를 표시한다. 공식 레드햇 리눅스 제품 세트에는 레드햇 리눅스 소프트웨어의 이름과 연락 정보만을 표시한다.

리눅스 제품 세트에 문제가 없으면 2.2.4 절로 간다.

2.2.3 포장된 제품이 아닌 경우

모든 사람들이 레드햇 리눅스 제품 세트를 구입하지는 않는다. 다른 회사에서 만든 CD를 이용하거나 FTP를 통해서 레드햇 리눅스를 설치하는 것도 가능하다. 이런 경우에는 시작할 때 하나 또는 몇 개의 디스켓이 필요하다.

인텔용 레드햇 리눅스를 설치할 경우에는 부트 디스켓이 필요하고 선택적으로 보충 디스켓이 필요할 경우도 있다. 어떤 경우에는 CD에서 바로 설치하는 것도 가능하다. 이 부분은 다양한 설치 방법에 대해서 설명할 때 자세하게 설명한다.

인텔

알파 기반 시스템 사용자는 필요한 디스켓에 대한 정보를 레드햇 리눅스 알파 설치 부록을 참고해야 한다.

알파

스팍 사용자는 어떤 디스켓이 필요한지 알기 위해 F.5.1 절로 간다.

스팍

2.2.4 갱신된 디스켓 이미지 확인

때때로 설치에 실패하는 경우가 있기 때문에 설치작업을 하기 위해 개정된 디스켓 이미지가 필요하다. 이런 경우, 레드햇 리눅스 패키지 개정판을 통해 사람들이 사용할 수 있도록 특별한 이미지를 만들고 있다.

패키지 개정판을 보려면 두 가지 방법이 있다:

1. 월드 와이드 웹 : http://www.redhat.com/errata 의 정보를 이용하여 온라인 상에서 갱신, 버그 수정 등의 정보를 볼 수 있고 쉽게 디스켓 이미지를 내려 받을 수 있다.

2. 전자우편 : errata@redhat.com에 아무 내용 없는 전자우편 메시지를 보내면 완전한 패키지 개정판 소식을 전자우편으로 받을 수 있다. 우편 본문 안에는 패키지 개정판의 갱신된 패키지와 디스켓 이미지에 대한 URL이 들어있다. 이 URL을 이용하여 필요한 디스켓 이미지를 내려 받을 수 있다. 디스켓 이미지를 받을 때는 바이너리 모드로 받아야 한다!

이제 새로운 디스켓 이미지를 포함하고 있는 패키지 개정판 목록에 집중하자(파일 이름은 언제나 .img로 끝난다). 문제에 적용할 수 있다고 생각되는 목록을 발견하면 디스켓 이미지를 복사하고 부록 B의 설명을 참고하여 부팅 디스켓을 만든다.

2.3 설치 전 알아야 할 지식

설치작업을 원활하게 하기 위해 레드햇 리눅스를 설치하기 전에 몇 가지 알아야 할 정보가 있다. 시스템에 딸려 온 문서나 시스템 벤더나 제조업자를 통해 이러한 정보를 찾을 수 있다.

※ 참고사항 : 레드햇 리눅스에서 지원하는 최신 하드웨어 목록은 레드햇 소프트웨어의 웹사이트인 "http://www.redhat.com/hardware"에서 확인할 수 있다. 설치하기 전에 최신 하드웨어 목록에서 설치할 시스템의 하드웨어를 점검해 보는 것이 좋다.

2.3.1 기본 하드웨어 설정

컴퓨터에 설치된 하드웨어에 대하여 기본적으로 다음의 항목은 이해하고 있어야 한다.

ㅇ 하드디스크 드라이브 - 개수, 크기, 유형을 알아야 한다. 만약 한 개 이상 하드디스크 드라이브가 있으면 첫 번째, 두 번째 등의 하드디스크의 순서를 알아두면 좋다. 하드디스크 드라이브가 IDE인지 SCSI인지도 알아두면 좋다. IDE 유형이면 LBA 모드로 접근하기 위해 컴퓨터의 바이오스를 확인해야 한다.

ㅇ 메모리 - 컴퓨터에 설치된 램 용량을 확인한다.

ㅇ 시디롬 - 가장 중요한 것은 (IDE, SCSI 또는 기타) 인터페이스 방식이다. IDE나 SCSI 방식이 아닌 시디롬은 제조업체와 모델명을 알아야한다. IDE 시디롬(ATAPI) 시디롬은 최근 제작된 PC 호환 컴퓨터에서 가장 일반적인 방식이다.

ㅇ SCSI 어댑터가 있는 경우 - 어댑터의 제조업체와 모델명

ㅇ 네트워크 카드가 있는 경우 - 카드의 제조업체와 모델명

ㅇ 마우스 - 마우스의 유형(직렬, PS/2, 또는 버스 마우스), 프로토콜(마이크로소프트, 로지텍, 마우스맨, 기타), 단추 개수. 아울러 직렬 마우스와 직렬 포트가 연결되었는지 여부.

최근의 많은 시스템에서는 설치 프로그램이 자동으로 대부분의 하드웨어를 인식할 수 있다. 하지만 만일을 위해 이러한 정보를 모아두면 좋다.

레드햇 소프트웨어 웹사이트의 최신 하드웨어 호환 목록과 함께, 알파 기반의 시스템 사용자는 레드햇 리눅스 알파 설치 부록에서 하드웨어 설정에 대한 정보를 참고한다.

알파

레드햇 소프트웨어 웹사이트의 최신 하드웨어 호환 목록과 함께, 스팍 사용자는 F.1 절에서 지원되는 하드웨어 목록을 참고한다.

스팍

윈도우 95가 깔려있는 컴퓨터에서 하드웨어 설정 확인

컴퓨터에 이미 윈도우 95가 설치되어 있으면 다음의 절차를 통해 환경 설정 정보를 이용할 수 있다.

ㅇ 윈도우 95가 운영되는 상태에서 두 번째(보통 오른쪽) 마우스 단추로 □내 컴퓨터□를 클릭한다. 팝업 메뉴가 나타날 것이다.

ㅇ □등록 정보"를 선택한다. □시스템 등록 정보" 창이 나타날 것이다(그림 2.1 참고). □컴퓨터□ 항목에 나와있는 램 용량을 확인한다.

ㅇ □장치 관리자"를 클릭하면 컴퓨터 하드웨어 설정에 관한 그래픽 화면이 나온다. □장치를 종류별로 표시" 단추가 선택되었는지 확인한다.

여기서, 각 항목에 대하여 자세하게 보려면 아이콘을 더블 클릭하거나 □ 표시를 한번 클릭한다(그림 2.2 참고). 아이콘 밑의 정보를 확인한다.

ㅇ 디스크 드라이브 - 하드 드라이브의 유형(IDE 또는 SCSI) 확인

ㅇ 하드디스크 제어기 - 하드 드라이브 제어기에 관한 정보 확인

ㅇ 시디롬 - 컴퓨터에 연결된 시디롬 드라이브 확인

※ 참고사항 :   어떤 경우, 컴퓨터에 시디롬 드라이브가 있는데도 이 아이콘이 없는 경우가 있다. 처음에 어떻게 윈도우 95가 설치되었는지에 따라 이 현상은 자연스러운 것이다. 이런 경우, config.sys 파일에 있는 시디롬 구동기를 살펴보면 시디롬에 대한 정보를 알 수 있다.

ㅇ 마우스 - 마우스의 유형 확인

ㅇ 디스플레이 어댑터 - X 윈도우 시스템을 운영하려하면 디스플레이 어댑터에 대한 정보를 알아두는 것이 좋다.

ㅇ 사운드, 비디오, 게임 제어기 - 컴퓨터에서 사운드 기능을 지원한다면 이와 관련된 많은 정보를 얻을 수 있다.

ㅇ 네트워크 어댑터 - 컴퓨터의 네트워크 카드에 대한 정보 확인(가지고 있을 경우만)

ㅇ SCSI 제어기 - SCSI 주변장치를 사용하고 있으면 SCSI 제어기 정보를 확인

이런 방법이 직접 케이스를 열고 물리적으로 각 요소를 확인하는 걸 대신할 수는 없지만 대부분의 경우 설치를 진행하는데 충분한 정보가 된다.

※ 참고사항 : 위의 정보는 □장치 관리자□에서 □인쇄..." 단추를 클릭하면 출력해서 볼 수 있다. 두 번째 창이 나타나고 프린터와 출력할 내용의 유형을 고른다(□모든 장치와 시스템 요약 정보"를 선택하면 모든 정보를 출력할 수 있다).

그림 2.1: 윈도우 시스템 등록 정보 창

2.3.2 비디오 설정

X 윈도우 시스템을 설치하려면 다음의 과정을 주의 깊게 보자.

ㅇ 비디오 카드 - 카드의 제조업체와 제품 번호(또는 사용하는 비디오 칩셋), 비디오 메모리의 크기(설치프로그램에서 대부분의 PCI 방식 카드는 자동으로 인식한다.)

ㅇ 모니터 - 제조업체와 제품 번호, 수평 갱신률과 수직 갱신률의 범위

2.3.3 네트워크 관련 정보

네트워크에 연결되어 있으면 다음 항목을 점검한다.

ㅇ ip 주소 - 점문자(.)로 구분된 네 개의 숫자로 구성된다. 예) 10.0.2.15.

ㅇ 넷마스크 - 점문자(.)로 구분된 네 개의 숫자로 구성된다. 예) 255.255.248.0.

ㅇ 게이트웨이 ip 주소 - 점문자(.)로 구분된 네 개의 숫자로 구성된다. 예) 10.0.2.254.

그림 2.2: 윈도우 95의 장치 관리자

ㅇ 한 개 이상의 네임 서버 ip 주소 - 점문자(.)로 구분된 네 개의 숫자로 구성된다. 예) 10.0.2.1.

ㅇ 도메인 이름 - 단체에 부여된 이름. 예를 들어 레드햇 소프트웨어의 도메인 네임은 redhat.com. 이다.

ㅇ 호스트 이름 - 컴퓨터의 이름. 예를 들면 pooh와 같이 이름을 붙일 수 있다.

※ 참고사항 : 위의 정보는 하나의 예일 뿐이다. 레드햇 리눅스를 설치할 때 위의 예를 그대로 사용하지 말기 바란다.. 정확한 값을 잘 모르면 네트워크 관리자에게 문의하자.

2.4 설치 방법

알파 사용자는 레드햇 리눅스 알파 설치 부록의 첫 번째 장을 보아야한다. 여기서는 전형적인 레드햇 리눅스/인텔 설치 과정과 다른 부분에 대하여 다루고 있다.

알파

스팍 사용자는 부록 F를 먼저 읽어야 한다. 여기서는 전형적인 레드햇 리눅스/인텔 설치 과정과 다른 부분에 대하여 다루고 있다.

스팍

여러 가지 방법으로 레드햇 리눅스를 설치하거나 판올림할 수 있다. 각각의 방법을 다양한 상황에서 사용할 수 있고 다른 요구조건이 있다. 각각의 설치 방법을 알아보기 전에 사용자에게 어떤 영향을 끼치는지 먼저 살펴보자.

2.4.1 PCMCIA 지원

이 절은 인텔 기반의 컴퓨터에만 해당한다.

인텔

대부분의 인텔 기반 랩탑 컴퓨터는 PC 카드로 알려진 PCMCIA를 지원한다. PCMCIA 장치를 지원하는 컴퓨터는 PCMCIA 장치가 설치될 수 있는 한 개 이상의 슬롯을 가진 제어기가 있다. 이러한 장치로는 모뎀, 근거리 통신망(LAN) 어댑터, SCSI 어댑터 등이 있다.

PCMCIA 기능을 가진 컴퓨터에서 레드햇 리눅스/인텔을 설치할 때 PCMCIA 장치가 설치하는 동안 사용되었는지 확인하는 것이 중요하다. 예를 들어, 시디롬에서 레드햇 리눅스/인텔을 설치하려 하고 시디롬 드라이브가 PCMCIA 어댑터에 연결되어 있다면 설치 프로그램에서 PCMCIA 지원이 필요하다. 마찬가지로 네트워크 기반의 설치 방법을 사용하려하면 PCMCIA 기반의 네트워크 어댑터에서 PCMCIA 지원이 필요할 것이다.

참고사항: 랩탑에 내장된 시디롬 드라이브를 사용하면 설치할 때 PCMCIA 지원이 필요 없다.

PCMCIA 지원은 두 가지에 달려있다.

1. 컴퓨터 시스템에 있는 PCMCIA 제어기의 유형

2. 설치하는 동안 사용할 PCMCIA 장치 유형

대부분의 PCMCIA 제어기와 장치를 지원하지만 간혹 예외가 있다. 보다 자세한 정보는 "http://www.redhat.com/hardware" 에 있는 레드햇 리눅스 하드웨어 호환 목록을 참고하기 바란다.

가장 중요한 것은 설치할 때 PCMCIA 지원이 필요할 경우 보충 디스켓이 있어야 한다는 것이다. 설치 방법을 설명한 후에 어떻게 해야 할지 기술할 것이다.

알파에서는 PCMCIA를 지원하지 않는다.

알파

스팍에서는 PCMCIA를 지원하지 않는다.

스팍

2.4.2 시디롬에서 설치

레드햇 리눅스 시디롬을 가지고 있고 컴퓨터에 시디롬 드라이브가 있으면 시디롬 설치를 선택할 수 있다. 직접 시디롬에서 설치하는 것이 가장 쉬운 방법이다. 시디롬에서 설치하면 시디롬에서 선택한 패키지를 읽고 하드 드라이브에 설치를 한다.

설치 방법

레드햇 리눅스 시디롬 타이틀과 지원 가능한 시디롬 드라이브를 가지고 있다면, 설치 프로그램을 시작하는 방법만 알면 가능하다.

인텔 시스템에서는 부트 디스켓이 필요하다(또한 PCMCIA 지원이 필요하면 보충 디스켓도 필요하다). 디스켓 없이 시디롬에서 설치하는 대신에 설치할 수 있는 방법이 있는데 시스템은 도스에서 운영되고 있어야 한다. autoboot라고 알려진 이 방법은 3.2.1 절에서 설명할 것이다. 여기서 autoboot를 사용하면 PCMCIA 지원이 되지 않는다는 것을 알아야 한다.

인텔

※참고사항 :  부팅 가능한 시디롬을 지원하는 새로운 컴퓨터에서는 레드햇 리눅스/인텔 시디롬으로 부팅할 수 있다. 모든 컴퓨터가 시디롬 부팅을 지원하는 것은 아니기 때문에 시디롬에서 부팅이 안되면 부트 디스켓을 쓰거나 도스에서 autoboot를 써야한다. 시디롬 부팅을 가능하게 하려면 바이오스 설정을 바꾸어야 한다.

시디롬 설치 방법을 쓴다면 2.5 절로 간다.

2.4.3 FTP 설치

레드햇 리눅스 시디롬도 없고 시디롬 드라이브도 없는데 네트워크에 접근할 수 있으면 FTP를 이용하여 설치할 수 있다. FTP를 통해 설치를 하면 레드햇 리눅스 패키지를 네트워크를 통해서 받고 하드 드라이브에 설치하게 된다.

설치 방법

FTP를 이용해 설치를 할 때는 랜 기반의 네트워크에 연결되어 있어야 한다. 모뎀으로 전화접속을 하여  설치하는 것은 권장하지 않는다. 랜으로 인터넷에 연결되어 있다면 레드햇 리눅스를 미러링하는 많은 FTP 사이트를 이용할 수 있다. □ftp://ftp.redhat.com/pub/MIRRORS"에서 미러 사이트 목록을 찾을 수 있다.

랜으로 인터넷에 연결되어 있지 않은 경우에는 익명 FTP 서버가 있는 랜의 다른 컴퓨터에 레드햇 리눅스 배포판을 복사하면 된다.

※ 참고사항 : FTP 서버가 긴 파일이름을 처리할 수 있어야 한다.

FTP를 이용해 설치할 경우에는 부트 디스켓과 보충 디스켓 둘 다 필요하다. 네임 서버를 정확하게 설정하거나  사용할 FTP 서버의 IP 주소를 명시해야 한다. 그리고 FTP 서버에서 레드햇 리눅스 디렉토리의 경로를 알고 있어야 한다.

인텔

FTP 설치를 사용한다면 2.5절로 간다.

2.4.4 NFS 설치

시디롬 드라이브가 없지만 네트워크에 접근할 수 있으면 NFS를 이용해 설치를 할 수 있다. NFS를 이용해 설치를 할 때 설치할 컴퓨터가 NFS 서버 시스템의 레드햇 리눅스 패키지에 접근할 수 있어야 한다. 선택한 패키지가 하드 드라이브에 설치된다.

설치 방법

NTF 설치를 하려면 락 릿지 확장 기능이 추가된 ISO-9660 파일 시스템을 지원하는 컴퓨터의 레드햇 리눅스 시디롬을 마운트해야 한다. 당연히 그 컴퓨터는 NFS를 지원해야 한다. NFS를 통해 시디롬 파일 시스템을 연결한다. 네임 서버를 정확하게 설정하거나 NFS 서버의 IP 주소를 알고 있어야 하고 연결할 시디롬 디렉토리 경로를 알고 있어야 한다.

※참고사항 : NFS 서버가 긴 파일 이름을 처리할 수 있어야 한다.

NFS 설치에서는 부트 디스켓만 필요하다.

인텔

NFS 설치를 사용한다면 2.5절로 간다.

2.4.5 SMB 설치

시디롬 드라이브가 없지만 네트워크에 접근할 수 있으면 SMB를 이용해 설치를 할 수 있다. SMB 설치를 하면 설치할 컴퓨터가 도스 스타일의 네트워크 드라이브를 사용하는 레드햇 리눅스 패키지에 접근할 수 있다. 선택한 패키지가 하드 드라이브에 설치된다.

설치 방법

SMB를 이용해 설치하려면 공유 볼륨을 지원하는 마이크로소프트 윈도우 NT나 윈도우 95에서 레드햇 리눅스 시디롬을 마운트해야 한다. 정확히 설정된 네임 서비스가 필요하며 레드햇 리눅스 시디롬을 포함하고 있는 공유 볼륨의 이름을 알아야 하고 볼륨에 접근하기 위해서 계정과 암호가 필요하다.

참고사항 : 윈도우 시스템의 마이크로소프트 네트워킹 이름이 시스템의 DNS 호스트 네임과 일치해야 한다. 예를 들어 마이크로소프트 네트워킹 이름이 windows1이면 시스템의 DNS 호스트 네임이 반드시 windows1.linuxkorea.co.kr 과 같은 형태이어야 한다.

SMB 설치에서는 부트 디스켓과 보충 디스켓이 필요하다.

인텔

SMB 설치를 사용한다면 2.5절로 간다.

2.4.6 하드 드라이브 설치

다른 설치 방법이 맞지 않고 하드 드라이브에 저장된 레드햇 리눅스 패키지 파일에 접근할 수 있으면 하드 드라이브에서 설치를 할 수 있다. 이 방법에서는 선택한 레드햇 리눅스 패키지를 하드 드라이브의 한 분할 영역에서 읽어서 다른 분할 영역에 설치할 수 있다.

설치 방법

하드 드라이브 설치 방법에서는 레드햇 리눅스 설치 프로그램을 시작하기 전에 모든 필요한 파일을 분할 영역에 복사해야 한다. 루트 디렉토리 밑에 RedHat 디렉토리를 만들어야 한다.  설치는 이 이 디렉토리에서 이루어져야 한다. 먼저 base 하부 디렉토리와 그 안의 파일을 복사한다.

다음에 설치하고자 하는 패키지를 RPMS라는 하부 디렉토리에 복사한다. 설치 과정에서 필요로 하지 않는 도스 분할 영역이나 리눅스 분할 영역의 여유 공간을 사용할 수 있다. (예를 들어 설치되어 있는 시스템에서 자료를 저장하기 위해서 쓰이는 분할 영역 등)

만약 도스 파일 시스템을 사용하고 있으면 RPM 패키지의 완전한 리눅스 파일이름을 쓸 수 없다. 설치 과정에서는 파일이름이 어떻게 되어있든지 상관하지 않기 때문에 이 사실을 기억하고 있는 것이 좋다.

인텔

하드 드라이브에서 설치할 때는 부트 디스켓과 보충 디스켓이 필요하다.

2.5 보충 디스켓

이번 절은 인텔 기반의 컴퓨터에만 해당한다. 알파나 스팍 컴퓨터를 사용하고 있으면 2.7절로 간다.

인텔

보충 디스켓이 필요한 경우는 다음과 같다.

ㅇ PCMCIA로 연결된 시디롬에서 설치하는 경우

ㅇ PCMCIA 네트워크 카드를 사용해 설치하는 경우

ㅇ FTP를 이용해 설치하는 경우

ㅇ 하드 드라이브를 이용해 설치하는 경우

ㅇ SMB를 이용해 설치하는 경우

보충 디스켓이 필요하다면 만들어야한다. 보충 디스켓 이미지 파일은 supp.img이며 레드햇 리눅스/인텔 시디의 images 디렉토리에 있다. 이에 대한 정보는 부록 B를 참고한다.

2.6 설치 유형

레드햇 리눅스는 세 가지의 설치 유형이 있다.

ㅇ 워크스테이션

ㅇ 서버

ㅇ 커스텀

이러한 설치 유형은 (설정의 유연성은 약간 잃겠지만) 설치 과정을 간단하게 하거나 약간은 복합적인 설치 과정을 통해 완전한 유연성을 주는 선택 사항을 제공한다.

2.6.1 워크스테이션 유형 설치

워크스테이션 유형 설치는 리눅스 초보자에게 적당하다. 몇 가지 질문에만 답하면 짧은 시간 안에 갱신하거나 레드햇 리눅스를 운영할 수 있다.

설치 방법

워크스테이션 유형 설치는 모든 리눅스와 관련된 분할 영역을 없애고 분할 영역으로 나누어지지 않은 모든 디스크 공간을 사용하며 다음의 분할 영역을 만든다.

ㅇ 32MB 교환 분할 영역

ㅇ 인텔 : 리눅스 커널 그리고 관련 파일이 들어가는 16MB 분할 영역(/boot로 마운트됨)

ㅇ 알파 : MILO 부트 로더가 들어가는 2MB 분할 영역(/DOS로 마운트됨)

ㅇ 다른 모든 파일이 들어가는 분할 영역(/로 마운트됨. 분할 영역 크기는 디스크의 사용 가능한 용량에 달려 있음)

이 방법을 통해 가장 단순한 파일 시스템 설정을 가진 디스크 분할 영역을 만든다.

※참고사항 : 워크스테이션 유형 설치를 하는데는 약 600MB의 여유 공간이 필요하다.

시스템에서 윈도우를 이미 사용하고 있으면 워크스테이션 유형 설치는 자동으로 LILO를 사용하여 다중 부팅할 수 있도록 설정한다.

2.6.2 서버 유형 설치

서버 유형 설치는 시스템을 리눅스 기반의 서버로 사용하고 싶은데, 시스템 설정을 힘들게 커스터마이징하고 싶지 않을 때 적당하다.

설치 방법

서버 유형 설치는 시스템에 있는 모든 분할 영역을 제거하기 때문에 시스템에 저장해야 할 자료가 없는 것을 확인했을 때만 선택한다. 설치가 완료되면 다음의 분할 영역이 생긴다.

ㅇ 64MB 교환 분할 영역

ㅇ 인텔 : 리눅스 커널 그리고 관련 파일이 들어가는 16MB 분할 영역(/boot로 마운트됨)

ㅇ 알파 : MILO 부트 로더가 들어가는 2MB 분할 영역(/DOS로 마운트됨)

ㅇ 다른 모든 파일이 들어가는 분할 영역(/로 마운트됨. 분할 영역 크기는 디스크의 사용 가능한 용량에 달려 있음)

ㅇ 256MB 분할 영역(/로 마운트됨)

ㅇ 최소 512MB의 분할 영역(/usr로 마운트됨)

ㅇ 최소 512MB의 분할 영역(/home으로 마운트됨)

ㅇ 256MB의 분할 영역(/var로 마운트됨)

이 방법을 통해 대부분의 서버 유형의 작업을 위해 합리적이고 유연한 파일 시스템 설정을 가진 디스크 분할 영역을 만든다.

※ 참고사항 : 서버 유형 설치를 하는데는 약 1.6GB의 여유 공간이 필요하다.

2.6.3 커스텀 유형 설치

이름에서 짐작되듯이 커스텀 유형 설치는 유연성을 강조하고 있다. 커스텀 유형 설치를 하는 동안 어떻게 디스크 공간을 분할 영역으로 나눌 지는 설치하는 사람에게 달려있다. 시스템에 설치하는 모든 패키지를 완벽하게 조정할 수 있다. 아울러 부팅할 때 LILO를 사용할 지를 결정할 수 있다.

이전에 레드햇 리눅스 설치 경험이 있다면 커스텀 설치는 더 이상 설명할 필요가 없을 것이다. 왜냐면 커스텀 유형 설치는 레드햇 리눅스 이전 버전에서 사용했던 설치 방법과 같기 때문이다.

2.7 디스크 분할 영역

※참고사항 : 워크스테이션이나 서버 유형의 설치를 사용하거나 분할 영역으로 나누어지지 않은 디스크 공간이 충분하게 있으면 이번 절을 읽을 필요가 없다. 2.8절로 가자. 이런 경우가 아닐 때 레드햇 리눅스 설치를 하면서 여유 디스크 공간을 적절하게 활용하고자 한다면 이번 절을 읽어야 한다.

레드햇 리눅스를 설치하려면 충분한 디스크 공간이 있어야한다. 이 디스크 공간은 윈도우, OS/2, 또는 다른 버전의 리눅스 등 컴퓨터에 이미 설치한 다른 운영체제가 사용하고 있는 디스크 공간과 구별하기 위해 필요하다.

디스크는 다른 분할 영역으로 나누어야 한다. 각 분할 영역은 분리된 디스크처럼 접근할 수 있다. 아울러 각각의 분할 영역은 분할 영역에 어떻게 자료가 저장되는지를 나타내는데 사용하는 유형이 있다. 예를 들어 도스, OS/2, 그리고 리눅스에서 사용하는 다른 분할 영역 유형이 있다.

참고사항 : 레드햇 리눅스는 □Linux natvie" 분할 영역 유형을 가진 한 개 이상의 분할 영역에 설치해야 한다. 레드햇 리눅스는 또한 "Linux swap" 분할 영역 유형을 가진 교환 분할 영역이 있어야 한다. 그러므로 레드햇 리눅스를 설치하기 위해서는 최소한 두개의 분할 영역이 필요하다.

ㅇ 한 개나 한 개 이상의 □Linux native" 분할 영역 유형

ㅇ 한 개의 "Linux swap" 분할 영역 유형

레드햇 리눅스는 최소 두 개의 분할 영역이 필요하다는 것을 반드시 기억해야 한다. 그리고 레드햇 리눅스를 도스/윈도우 분할 영역에 설치하지 않도록 한다.

다른 운영체제가 없는 컴퓨터에 레드햇 리눅스를 설치할 경우에도 레드햇 리눅스가 사용할 분할 영역을 만들어야 한다. 이런 경우에는 하드디스크에 다른 운영체제가 없으므로 더 쉽다.

이와는 다르게 이미 다른 운영체제의 소프트웨어나 자료가 있는 디스크에 레드햇 리눅스를 설치할 때가 있다. 이런 경우에는 기존의 자료에 대해 언급하지 않고 실수로 이미 존재하는 분할 영역을 지울 수 있기 때문에 더 까다롭다.

설치하는 과정에서 레드햇 리눅스를 위한 분할 영역을 만들어야 할 것이다. 이때 설치하는 사람은 분할 영역을 만드는데 사용할 수 있는 충분한 디스크 공간이 있는지를 확인하는데 관심을 가질 것이다. 레드햇 리눅스 분할 영역을 위해 여유 공간을 늘릴 다른 방법을 생각해보자.

2.7.1 분할 영역 이름

리눅스에서는 문자와 숫자의 조합으로 디스크 분할 영역을 나타낸다. 그래서 하드디스크와 분할 영역을 가리키는데 도스나 윈도우 방식의 □C 드라이브□ 유형으로 사용해왔으면 이 부분이 혼란스러울 것이다. 레드햇 리눅스는 다른 운영체제에서 사용하는 것보다 유연하고 보다 많은 정보를 제공하는 부름 규칙을 쓴다.

처음의 두 문자

분할 영역 이름의 처음 두 문자는 분할 영역에 있는 장치 유형을 나타낸다. 일반적으로 hd(IDE 디스크) 또는 sd(SCSI 디스크)이다.

다음 문자

이 문자는 분할 영역에 어떤 장치가 있는지 나타낸다. 예를 들어 /dev/hda(첫 번째 IDE 하드디스크) 또는 /dev/sdb(두 번째 SCSI 디스크)이다.

숫자

분할 영역을 표시한다. 처음의 네 가지(primary 또는 extended) 분할 영역은 1부터 4까지 숫자가 매겨진다. 논리 분할 영역은 5번부터 시작한다. 예를 들어 /dev/hda3 는 첫 번째 IDE 하드디스크의 세 번째 주 분할 영역이나 확장 분할 영역이다. /dev/sdb6 는 두 번째 SCSI 하드디스크의 두 번째 논리 분할 영역이다.

이러한 정보를 기억하고 있으면 레드햇 리눅스에서 필요한 분할 영역 설정을 이해하는데 도움이 된다.

2.7.2 재분할 영역

하드디스크의 분할 영역을 다시 할 때는 세 가지 상황이 있다.

ㅇ 분할 영역으로 나누어지지 않은 여유 공간이 있을 때

ㅇ 아직 사용하지 않은 분할 영역이 있을 때

ㅇ 이미 사용하고 있는 분할 영역에서 여유 공간이 있을 때

분할 영역으로 나누어지지 않은 여유 공간 사용하기

이런 경우에는 이미 정의된 분할 영역이 하드디스크 전체를 쓰고 있는 것은 아니며, 다른 분할 영역에 할당하지 않은 공간이 있다. 이런 경우 사용하지 않는 공간에 필요한 분할 영역을 간단히 만들 수 있다.

아직 사용하지 않은 분할 영역의 공간 사용하기

이전에 윈도우 시스템에서 105MB 하드 드라이브를 1.2GB로 바꾸었다고 가정해보자. 그것을 같은 크기의 두 부분으로 분할 영역을 나누어 첫 번째 분할 영역을 윈도우를 위해 C: 드라이브로 사용하고 두 번째 분할 영역을 인터넷에서 받은 공개 프로그램을 모아두기 위해 D: 드라이브로 설정하였다. 아마도 D 드라이브에는 다른 것을 넣어두지는 않고 C 드라이브만 사용하고 있을 것이다.

이런 경우에는 사용하지 않은 분할 영역에 할당된 공간을 사용할 수 있다. 먼저 분할 영역을 지우고 거기에 리눅스 분할 영역을 만든다. 도스의 fdisk를 이용해 분할 영역을 지울 수 있고 커스텀 유형 설치를 하는 동안 분할 영역을 지울 수도 있다.

사용하고 있는 분할 영역에서 여유 공간 사용하기

대부분은 이런 경우이며 가장 다루기가 힘들다. 충분한 여유 공간이 있지만 이미 사용하고 있는 분할 영역에 할당되어 있다는 것이 가장 큰 문제이다. 소프트웨어가 미리 설치된 컴퓨터를 구입하였다면 하드디스크는 대부분 하나의 분할 영역에 운영체제와 자료로 가득 차 있을 것이다.

시스템에 새로운 하드 드라이브를 추가하는 대신에 다음의 두 가지 선택을 할 수 있다.

기존 분할 영역을 지우고 새롭게 구성

기본적으로, 하나의 큰 분할 영역을 지우고 여러 개의 작은 분할 영역을 만든다. 예상했듯이 분할 영역에 있는 자료는 모두 없어진다. 그러므로 완전하게 백업을 해두는 것이 필요하다. 안전을 위해서 백업을 두 가지로 해놓고 백업 소프트웨어에서 사용 가능하면 □검사□를 사용하고 분할 영역을 지우기 전에 백업한 자료에서 자료를 읽어보자. 분할 영역에 다른 운영체제가 있다면 나중에 재 설치를 해야 할 것이다. 이미 있던 소프트웨어를 위해 작은 분할 영역을 만들어서 소프트웨어를 다시 설치하고, 자료를 복구하며 레드햇 리눅스 설치를 진행한다.

기존 내용을 보관하면서 분할 영역 새로운 구성

겉으로는 불가능하게 보이는 프로그램을 사용할 수 있다. 이 프로그램은 분할 영역에 보관된 파일에 손상 없이 큰 분할 영역을 작게 만들 수 있다. 많은 사람들이 신뢰성 있고 문제없이 이 방법을 썼다. 어떤 프로그램을 쓰면 될까? 여러 가지 디스크 관리 소프트웨어 제품이 있으므로 사용자의 상황에 맞는 제품을 찾아보아야 할 것이다.

레드햇 고객의 편의를 위해 fips 유틸리티를 제공한다. fips는 FAT(File Allocation Table) 분할 영역의 크기를 조절할 수 있는 공개 프로그램이다. 레드햇 리눅스/인텔 시디롬의 dosutils 디렉토리에 들어있다.

인텔

※ 참고사항 : 많은 사람들이 하드 드라이브의 분할 영역을 조정하는데 fips를 성공적으로 사용해왔다. 그러나 fips로 수행하는 작업의 특성이 있고 운영하고 있는 시스템의 하드웨어, 소프트웨어 설정이 매우 다양하기 때문에 레드햇 소프트웨어는 fips가 시스템에 맞게 작동하는 것을 보장하지는 않는다. 그러므로 fips를 사용할 수는 있어도 설치 지원은 하지 않는다. 설치하는 사람이 위험 부담을 감수해야 한다.

fips로 하드 드라이브의 분할 영역을 재구성하려고 한다면 다음 두 가지 작업이 절대 필요하다.

ㅇ 자료를 백업한다 - 컴퓨터의 중요한 자료에 대해 복사본을 만들어야 한다. 복사본은 테이프나 디스켓 같은 이동 매체를 이용하고 다시 읽어들일 수 있는지 확인해야 한다.

ㅇ 문서를 읽는다 - 완전하게 fips 문서를 읽어야 한다. 문서는 레드햇 리눅스/인텔 첫 번째 시디의 /dosutils/fipsdocs 디렉토리에 있다.

fips를 쓰기로 결정했으면 fips를 쓰고 난 후에 두 개의 분할 영역이 생기는 걸 알고 있어야 한다. 하나는 크기가 바뀌고 하나는 fips가 새롭게 만든 분할 영역이다. 그 공간에 레드햇 리눅스를 설치하는 것이 목적이라면 새로 만들어진 분할 영역을 지우고 현재의 운영체제에서 fdisk를 쓰거나 커스텀 유형 설치에서 분할 영역을 설정한다.

2.7.3 디스크 분할 영역과 다른 운영 체제

레드햇 리눅스 분할 영역이 다른 운영체제에서 쓰는 분할 영역과 하드디스크를 같이 쓰고 있더라도 대부분은 문제가 없다. 그러나 리눅스와 다른 운영체제를 같이 사용할 경우에는 많은 주의를 기울여야 한다. 다른 운영체제와 함께 디스크 분할 영역을 사용하는 것과 관련된 정보는 레드햇 리눅스 시디의 doc/HOWTO 그리고 doc/HOTWO/mini 디렉토리에 있는 문서를 참고한다. 특히 Linux+로 시작하는 이름의 미니 howto 문서가 도움이 될 것이다.

레드햇 리눅스/인텔을 OS/2와 함께 쓰려면 OS/2 분할 영역 소프트웨어로 디스크 분할 영역을 만들어야 한다. 그렇게 하지 않으면 OS/2는 디스크 분할 영역을 인식하지 못한다. 설치하는 동안 새로운 분할 영역을 만들지 말고 리눅스의 fdisk를 써서 리눅스 분할 영역용으로 알맞은 분할 영역 유형을 설정한다.

인텔

2.7.4 마지막 조언 : LILO 사용하기

LILO(리눅스 로더)는 인텔 기반의 시스템에서 레드햇 리눅스를 부팅할 때 사용하는 가장 일반적인 방법이다. LILO를 운영 시스템 로더로 사용하면, LILO는 컴퓨터 하드웨어 상에 내장된 바이오스만 사용하여 다른 운영 시스템을 사용할 수 있다. 이번 절에서는 PC 바이오스에서 LILO의 상호 작용에 대해서 설명하고 있으며 인텔 호환 컴퓨터에만 해당한다.

인텔

알파나 스팍 사용자는 2.7.5절로 간다.

알파/스팍

바이오스와 관련된 LILO의 제한 사항

대부분의 인텔 기반 컴퓨터에서 LILO를 사용하려면 BIOS의 여러 가지 제한 사항에 주의해야 한다. 특히 대부분의 바이오스는 두 개 이상의 하드 드라이브에 접근할 수 없고 1023 실린더(1024번째 실린더)밖에 저장된 자료에는 접근할 수 없다. 최근의 바이오스는 이러한 제한이 없는 경우도 있지만 일반적인 경우는 아니다.

LILO가 부팅할 때 접근하는 리눅스 커널을 포함한 모든 자료는 /boot 디렉토리에 있으며 이 영역은 일반적으로 /로 되어있는 루트 분할 영역의 일부분이다. LILO를 사용하여 레드햇 리눅스 시스템에서 부팅하려면 다음의 과정을 따른다.

첫 번째 제어기에 두 개의 IDE 드라이브가 있는 경우

2개의 IDE(또는 EIDE) 드라이브가 있으면 /boot는 첫 번째 IDE에 있어야 한다. 이러한 두 개의 드라이브 제한으로 IDE 시디롬 드라이브가 프라이머리 IDE 제어기에 있어야 한다. 첫 번째 제어기에 하나의 IDE 하드 드라이브와 IDE 시디롬이 있다면 두 번째 IDE 제어기에 하드 드라이브가 있더라도 /boot는 첫 번째 하드 드라이브에 놓여야 한다.

첫 번째 IDE나 첫 번째 SCSI 드라이브가 있는 경우

하나의 IDE(또는 EIDE) 드라이브나 한 개 이상의 SCSI 드라이브가 있으면 /boot는 IDE 드라이브나 SCSI ID가 0번인 SCSI 드라이브에 놓여야 한다.

첫 번째 제어기에 두 개의 SCSI 드라이브가 있는 경우

SCSI 하드 드라이브만 있다면  /boot는 SCSI ID가 0이나 1인 드라이브에 있어야 한다. 다른 SCSI ID는 작동하지 않는다.

분할 영역은 1023 실린더 안쪽에 있어야 한다

위의 설정이 맞게 되었으면 /boot를 포함하는 분할 영역은 1023 실린더 안쪽에 있어야 한다. /boot를 포함하는 분할 영역이 1023 실린더에 걸쳐 있으면 커널이 1023 실린더 밖에 있으므로 LILO가 처음에 시작할 때 커널을 적재하는데 실패할 것이다.

앞에서 언급했듯이 최근의 BIOS에서는 사용 설명서에서 설명하지 않는 환경에서도 LILO가 작동할 수 있다. 마찬가지로 사용 설명서에서 설명하지 않는 환경에서도 LILO의 세부 기능을 이용해 리눅스 시스템을 부팅할 수 있다. 그러나 다양한 변수가 많기 때문에 레드햇 소프트웨어는 특수한 경우까지 다 지원할 수는 없다.

※ 참고사항 : 워크스테이션과 서버 유형 설치에서 Disk Druid 는 위의 바이오스 제한 사항을 고려하고 있다. 그러나 fdisk를 사용하면 이러한 제한 사항을 기억하고 있어야 한다.

2.7.5 분할 영역 숫자

하나의 분할 영역에 레드햇 리눅스를 설치할 수 있지만 몇 개로 나누는 것이 좋다. 간편한 단일 분할 영역과 유연한 다중 분할 영역을 함께 고려하여 다음과 같은 분할 영역 설계를 권장한다.

※ 참고사항 : 레드햇 리눅스에 들어있는 모든 소프트웨어 패키지를 설치하려면 여기서 제시하는 큰 분할 영역을 사용해야 할 것이다. 이후에 분할 영역을 다시 하지 않고 다른 패키지를 더 설치할 수 있기 위해서는 여기에서 권장하는 것보다 분할 영역을 더 크게 잡을 수 있다.

교환 분할 영역

교환 분할 영역은 가상 메모리를 지원하는데 사용된다. 메모리가 16MB 이하면 반드시 교환 분할 영역을 만들어야 한다. 더 많은 메모리가 있더라도 교환 분할 영역을 만드는 것이 좋다. 교환 분할 영역의 최소 크기는 컴퓨터의 램과 같거나 16MB는 되어야한다. 교환 분할 영역의 최대 크기는 127MB이기 때문에 이보다 더 크게 교환 분할 영역을 만들면 디스크 공간만 낭비할 뿐이다. 그러나 한 개 이상의 교환 분할 영역을 만들어서 사용할 수 있다.

루트 분할 영역

루트 분할 영역은 /(루트 디렉토리)가 있는 곳이다. 루트 분할 영역에는 시스템의 부팅과 환경 설정에 필요한 파일이 들어간다. 대부분의 시스템에서는 50MB에서 100MB정도면 충분하다.

: 2.7.4절에서 말한 LILO의 제한 사항을 잊지 말자.

인텔

/usr 분할 영역

/usr 분할 영역에는 레드햇 리눅스 시스템에 들어가는 대부분의 소프트웨어가 있다. 얼마나 많은 패키지를 설치하느냐에 따라 300MB에서 700MB를 차지한다. 가능한 한 /usr 분할 영역을 크게 잡는다. 나중에 설치하는 RPM 기반의 패키지는 일반적으로 다른 분할 영역보다는 /usr의 공간을 사용한다.

/home 분할 영역

사용자의 홈 디렉토리가 위치하는 분할 영역이다. 이 분할 영역의 크기는 사용자의 수와 사용자의 자료 저장량에 달려있다.

다음의 분할 영역은 레드햇 리눅스/알파 설치에만 필요하다

알파

MILO 분할 영역

시스템 부팅에 MILO를 사용하는 알파 사용자는 설치가 완료되고 MILO가 복사될 수 있는 1.5MB의 도스 분할 영역을 만들어야 한다.

추가적으로 다음의 분할 영역이 한 개 이상 필요하다.

/usr/local 분할 영역

전통적으로 /usr/local 에는 RPM 패키지를 이용하지 않는 소프트웨어처럼 레드햇 리눅스 시스템의 다른 부분과 구별할 필요가 있는 자료들을 담고 있다. 크기는 시스템에 설치할 소프트웨어의 용량에 달려있다.

/usr/src 분할 영역

/usr/local 에는 일반적으로 두 가지가 저장된다.

리눅스 커널 소스

리눅스 커널의 완전한 소스와 새로운 커널이 이곳에 위치한다. 현재 커널 소스는 약 30MB정도 된다. 커널 컴파일을 위해서 추가로 여유 공간이 있어야 하며 하나 이상의 커널 버전을 가지고 있길 원할 것이다.

RPM 기반의 패키지 소스

소스 패키지 파일이 설치되었으면 이곳에 저장된다. 다른 디렉토리를 명시하지 않으면 설치되는 다른 패키지들은 모두 이곳을 설치 시작 디렉토리로 사용할 것이다.  다시 말하면, 분할 영역의 크기는 설치할 소프트웨어의 양에 달려있다.

/tmp 분할 영역

이름에서 암시하듯 /tmp 분할 영역은 임시 파일을 위한 분할 영역이다. 많은 사용자가 /tmp가 위치한 루트 분할 영역(/)을 가득 채울 수 있기 때문에 대용량의 다중 사용자 시스템이나 네트워크 서버에서는 /tmp 분할 영역을 만드는 것이 좋다. 단일 사용자 워크스테이션에서는 tmp 분할 영역은 필요 없다.

/var 분할 영역

레드햇 리눅스 시스템에서는 기록 파일을 /var/log에 저장한다. 인쇄를 위한 스풀 파일은 /var/spool 에 저장된다. 이것은 /var 에 저장되는 자료의 두 가지 예일 뿐이다. 다른 것과 다르게 /var 는 루트 파일 시스템의 일부분이며 일반적으로는 여유 공간을 많이 필요로 하지는 않는다. 만약 시스템에서 인쇄, 전자우편, 접속 기록을 많이 사용하면 /var 분할 영역을 따로 만들걸 고려해야 한다. 일반적으로 다중 사용자 시스템이나 서버 시스템에서만 /var 분할 영역을 따로 만들어 쓰면 된다.

/opt 분할 영역

일부의 서드 파티 소프트웨어는 /opt 에 설치되도록 설계되어 있다. /opt 분할 영역이 없으면 /opt에 설치하려고 시도하는 소프트웨어는 충분한 여유 공간이 없을 수도 있는 루트 분할 영역에 설치를 할 것이다. 물론 이것이 /opt 에서 생기는 문제를 해결하는 유일한 방법은 아니다. /usr과 같이 여유 공간이 있는 다른 분할 영역에 /opt 심볼릭 링크를 만들 수도 있다.

/boot 분할 영역

여기서 언급한 많은 분할 영역은 매우 크고 활동적인 시스템에 필요하지만 /boot 분할 영역은 여유 공간이 적은 소규모 시스템에서 유용하다. 2.7.4절에서 표준 PC 바이오스의 제한 사항과 LILO 부트 로더와의 문제를 설명하였다. LILO에 접근하는데 필요한 모든 파일은 /boot 디렉토리에 있다. 리눅스 커널을 포함해 /boot의 파일은 몇 메가바이트 정도만 차지하기 때문에 LILO가 있는 100MB의 루트 분할 영역을 찾는데 문제가 생길 것에 대비해 5-10 MB 정도의 /boot 분할 영역을 만들어 두면 좋다. 물론 루트 분할 영역을 만들어야 하지만 루트 분할 영역은 시스템의 다른 곳에 위치할 수 있다. 바이오스의 제한은 오직 /boot 분할 영역을 포함할 때만 해당한다.

2.8 커널 드라이브 관련 참고사항

레드햇 리눅스를 설치하는 동안에는 파일 시스템과 커널이 지원하는 구동기에 제한이 있다. 그러나 설치를 마치면 리눅스에서 사용할 수 있는 모든 파일 시스템을 지원한다. 설치할 때 모듈화된 커널은 (E)IDE 구동기, ATAPI 시디롬 구동기, SCSI 어댑터, 네트워크 카드를 지원한다. 또한 모든 마우스, SLIP, CSLIP, PPP, PLIP, FPU 에뮬레이션, 콘솔 선택, ELF, SysV IPC, IP 포워딩, 방화벽, ip 어카운팅, 역 ARP, QIC 테이프, 그리고 병렬 프린터를 지원한다.

※ 참고사항 : 레드햇 리눅스가 설치할 때 많은 하드웨어를 지원하지만 구동기가 설치하는 동안 리눅스 커널에 들어가는 것은 아니다. 설치하면서 필요할 때 모듈 기능을 활용하는 것이다. 필요하다면 모듈이 적재될 때 선택 사항을 줄 수도 있고 boot: 입력 대기 상태에서 설정하여 구동기의 선택 사항을 없앨 수도 있다.

설치를 마친 후 사용자의 특정한 하드웨어 설정을 지원하도록 커널을 다시 컴파일할 수 있다. 환경에 맞게 커널을 컴파일하는 것은 11.6절에서 살펴보자. 대부분의 경우에는 이럴 필요가 없다.

2.9 문제가 있을 때

설치와 관련되어 문제가 있을 경우에는 부록 E에 있는 레드햇 리눅스 FAQ 목록을 확인한다. 대부분의 경우 FAQ를 보는 것으로도 문제를 해결할 수 있다.

2.10 마지막 주의사항

시작하기 전에 사용 설명서를 읽고 설치 중 발생하는 문제에 대하여 미리 준비하자.

3. 설치 시작

이번 장은 레드햇 리눅스 설치를 시작하는 것에 대하여 설명한다. 다음의 주제를 다룰 것이다.

ㅇ 설치 프로그램 사용자 인터페이스 익숙해지기

ㅇ 설치 프로그램 시작

ㅇ 설치 방법 선택

이번 장을 다 읽고 나면 설치 프로그램을 시작하고 적당한 설치 방법을 선택할 수 있을 것이다.

3.1 설치 프로그램 사용자 인터페이스

레드햇 리눅스 설치 프로그램은 그래픽 사용자 인터페이스에서 보는 것과 같은 인터페이스 구성 요소를 가진 화면 기반의 인터페이스를 사용한다. 이것은 그래픽 기반의 인터페이스와는 약간 다르게 보인다. 그림 3.1과 3.2를 참고한다. 다음은 가장 중요한 요소들이다.

그림 3.1: 설치 프로그램 위젯

ㅇ 창(window) - 창(사용 설명서에서는 대화 상자라고도 함)은 설치하는 동안 화면에 나타난다. 이때마다 하나의 창이 다른 창 위에 겹쳐진다. 이런 경우 윗면에 있는 창에서만 작업을 할 수 있다. 창에서 작업을 마쳤으면 창 아래에 있는 □continue"를 누르면 창이 사라질 것이다.

ㅇ 문자 입력(Text Input) - 문자 입력란은 설치 프로그램에서 필요한 정보를 입력할 수 있는 공간이다. 커서가 문자 입력란에 있을 때 엔터를 치거나 내용을 수정할 수 있다.

ㅇ 체크 상자 - 체크 상자는 설치프로그램에서 제공하는 특정한 기능을 선택하거나 선택하지 않을 때 쓴다. 커서가 체크 상자에 있을 때 스페이스 글쇠를 누르면 선택과 선택 해제가 번갈아 나타난다.

그림 3.2: 세부 메뉴에서의 설치 프로그램 위젯

ㅇ 문자 위젯(widget) - 문자 위젯은 문자를 보여주는 화면 범위이다. 여기서 문자 위젯은 체크 상자와 같은 다른 위젯을 포함하고 있다. 문자 위젯은 화면에서 한 번에 보여줄 수 있는 것보다 많은 정보를 담고 있다. 이런 경우 문자 위젯은 곁에 스크롤 막대가 있다. 문자 위젯에 커서가 있으면 모든 유용한 정보를 보기 위해 화살표 글쇠를 사용할 수 있다.

ㅇ 스크롤 막대(Scroll Bar) - 스크롤 막대는 문자 위젯에서 보여주는 정보의 관련 있는 위치를 시각적으로 가리킨다. 현재의 위치는 # 문자로 나타내고 위아래로 옮길 수 있다.

ㅇ 단추 위젯(widget) - 단추 위젯은 설치 프로그램과 정보를 주고받을 수 있는 주요한 방법이다. 단추를 누르면 중간 중간의 설치 과정을 마치면서 계속 진행한다. 단추는 커서가 밝게 빛나는 위치에 있을 때 누르면 된다.

ㅇ 커서 - 커서는 위젯은 아니지만 특별한 위젯에서 선택을 할 때 쓴다. 커서는 위젯 사이를 옮겨다니며 이때마다 색깔이 변하기도 하고 위젯 안이나 근처에서 커서를 볼 수 있다. 그림 3.1에서는 커서는 OK 단추 위에 있다. 그림 3.2에서는 창의 제일 위에 문자 위젯의 첫줄에 있는 커서를 볼 수 있다.

설치 프로그램은 문자기반으로 마우스 없이 사용할 수도 있다. 설치 프로그램은 다양한 조건을 가진 컴퓨터에서 쓸 수 있어야 하고 어떤 컴퓨터는 마우스가 없기 때문이다. 다음절에서는 키보드를 가지고 설치 프로그램을 진행하는 것에 대하여 설명한다.

3.1.1 키보드 이용하여 움직이기

키보드의 간단한 조합으로 설치 대화 상자를 옮겨다닐 수 있다. 화살표 글쇠를 이용해 커서를 옮길 수 있다. 탭 글쇠와 알트-탭 글쇠를 이용해 화면 사이를 움직일 수 있다. 대부분의 경우 화면의 밑에 사용할 수 있는 기능 글쇠가 표시된다.

단추를 누르려면 커서를 탭 글쇠를 사용하여 단추 위에 옮기고 스페이스나 엔터 글쇠를 누른다. 목록에서 선택할 항목이 있으면 선택하려는 항목으로 커서를 옮기고 엔터 글쇠를 누른다. 체크 상자에서 항목을 선택하려면 체크 상자로 커서를 옮기고 스페이스 글쇠를 누른다. 선택을 해제하려면 다시 스페이스 글쇠를 누르면 된다.

F12를 누르면 현재의 설정을 마치고 다음 대화 상자로 이동한다. OK 단추를 눌러도 마찬가지이다.

※ 참고사항 : 대화 상자에서 입력을 기다리고 있는 게 아니라면 설치하는 동안 아무 글쇠나 누르지 말자. 예상하지 못한 결과가 생길 수 있다.

3.1.2 가상 콘솔

레드햇 리눅스 설치 프로그램은 설치를 하는 동안 대화 상자 뿐만 아니라 다양한 방법으로 정보를 제공한다. 설치 프로그램은 사용자가 쉘 입력 대기 상태 상에서 명령을 넣을 수 있도록 하기도 하며 사용자에게 유용한 다양한 진단 메시지를 보여준다. 이러한 정보는 다섯 개의 가상 콘솔에서 보여준다. 설치하면서 문제가 생겼을 때 가상 콘솔의 메시지가 문제를 자세하게 보여주므로 많은 도움이 될 수 있다. 가상 콘솔의 목록은 그림 3.3을 참고한다. 전환 글쇠를 누르면 각 콘솔간에 이동할 수 있다.

일반적으로 설치중의 문제를 진단하려고 하지 않는다면 가상 콘솔 1번을 떠날 일이 없다.

3.2 설치 프로그램 시작

이제 레드햇 리눅스 설치를 시작할 시간이다. 설치를 시작하기 위해 먼저 설치 프로그램을 부팅해야 한다. 시작하기 전에 설치하는데 필요한 사항을 다 준비했는지 확인한다. 2장을 읽고 지시대로 따랐다면 시작할 준비가 되었다.

가상 콘솔 번호	전환글쇠	내 용
1	ALT+F1	설치 화면
2	ALT+F2	쉘 입력 대기 상태
3	ALT+F3	설치 로그(설치 프로그램)
4	ALT+F4	시스템 로그(커널, 기타)
5	ALT+F5	기타 메시지

그림 3.3: 가상 콘솔 정보

아직 디스켓을 만들지 않았으면 레드햇 리눅스 알파 설치 부록의 첫 번째 장을 참고하여 디스켓을 만들고 설치 시작을 정보를 읽어야한다.

알파

설치준비가 아직 되지 않았다면 F.2절에서 F.5절까지 읽어야한다. 설치 프로그램을 어떻게 부팅할지 결정하고 설치를 시작하는 부트 명령을 입력한다.

스팍

3.2.1 설치 프로그램 부팅하기

레드햇 리눅스 설치를 시작하기 위해 부트 디스켓을 넣고 다시 부팅한다(시디롬 부팅을 지원하면 시디롬에서 부팅할 수 있다). 잠시 후에 화면에는 boot: 입력 대기 상태가 나온다. 화면에는 부트 선택 사항에 관한 다양한 정보가 있다. 각 부트 선택 사항은 선택 사항과 관련된 하나 이상의 설명 화면이 있다. 설명을 보려면 화면 밑의 해당하는 기능 글쇠를 누른다. 다음 두 가지를 기억한다.

ㅇ 초기화면은 1분 동안 아무 반응이 없으면 자동으로 설치 프로그램을 시작한다. 도움말 글쇠를 누르면 이 기능을 사용하지 않을 수 있다.

ㅇ 도움말 글쇠를 누르면 디스켓에서 읽기 때문에 약간 시간이 걸린다.

보통은 부팅하기 위해 엔터 글쇠만 입력하면 된다. 리눅스 커널이 하드웨어를 인식하는지 부트 메시지를 확인한다. 하드웨어를 제대로 인식하지 못하면 "전문가(expert)" 모드로 설치를 다시 시작해야 한다. 전문가 모드는 하드웨어 감지를 사용하지 않고 사용자가 설치하는 동안 적재될 구동기의 선택 사항을 지정해 줄 수 있다. 전문가 모드는 부트 입력 대기 상태에서 다음과 같이 적는다.

boot: expert

참고사항 : 초기 부트 메시지에는 SCSI나 네트워크 카드와 관련된 사항은 나오지 않을 것이다. 이런 장치는 설치 과정동안 적재되는 모듈에 의해 지원된다.

커널에 선택 사항을 줄 수 있다. 예를 들어 커널에 시스템의 램 용량이 128MB라는 것을 알려주려면 다음과 같이 적는다.

boot: linux mem=128M

선택 사항을 적은 후 엔터글쇠를 친다. 하드웨어를 인식하기 위해 부트 선택 사항에 지정할 것이 있으면 이것을 적어놓아야 한다. 나중에 필요할 것이다.

부트 디스켓 없이 부팅하기 - 시디롬 부팅을 지원하는 최근의 컴퓨터는 레드햇 리눅스/인텔 시디롬으로 부팅할 수 있다. 모든 컴퓨터가 시디롬 부팅을 지원하지 않기 때문에 시디롬으로 부팅할 수 없으면 부트 디스켓 없이 설치를 할 수 있는 다른 방법이 있다. 다음의 방법은 인텔 기반의 컴퓨터에만 해당한다.

인텔

컴퓨터에 도스가 설치되어있으면 다른 디스켓 없이 시디에서 바로 설치를 시작할 수 있다.

다음의 명령을 친다.(시디롬이 d 드라이라고 가정한다)

C:\> d:

D:\> cd \dosutils

D:\dosutils> autoboot.bat

윈도우 95의 도스 창에서는 이 방법을 사용할 수 없다. autoboot.bat 파일은 반드시 도스 운영체제에서 실행해야 하며 윈도우에서는 실행할 수 없다.

시디롬에서 바로 부팅할 수 없고 도스 기반의 autoboot도 쓸 수 없다면 부트 디스켓을 써야한다.

3.3. 설치 시작하기

설치 프로그램으로 부팅하면 환영 메시지가 나타날 것이다. 엔터 글쇠를 입력하면 설치를 시작한다. 설치를 취소하려면 부트 디스켓을 빼고 다시 부팅한다.

그림 3.4: 언어 선택

3.3.1 언어 선택

환영 메시지가 나타난 후 설치하는 동안 사용할 언어에 대한 질문이 나타난다(그림 3.4). 화살표 글쇠를 이용하여 알맞은 언어를 선택할 수 있다. 스크롤 막대가 언어의 오른쪽에 나타난다면, 그것은 현재 화면에 나타낼 수 있는 것보다 많은 양의 내용이 있다는 것을 의미한다. 설치를 하는 동안 스크롤 막대가 여러 번 나타날 것이다.

3.3.2 키보드 종류 선택

키보드 종류를 선택한다(그림 3.5). 언어 선택에서 선택했던 것처럼 대화 상자를 이동할 수 있다.

알맞은 키보드 종류를 선택하고 엔터 글쇠를 누른다. 선택한 키보드 종류는 이후의 설치 과정과 시스템을 부팅했을 때 자동으로 적재된다. 레드햇 리눅스 시스템을 부팅한 후에 키보드 종류를 바꾸려면 /usr/sbin/kbdconfig 명령을 사용하면 된다.

그림 3.5: 키보드 유형 선택

3.3.3 PCMCIA 지원

다음 설치 프로그램은 시스템에서 PCMCIA(PC Card) 지원이 필요한지를 검사한다. PCMCIA 제어기가 감지되면 설치하는 동안 PCMCIA 지원이 필요한지 물어본다. 설치하는 동안 PCMCIA 장치를 쓰려면(예를 들면 PCMCIA 이더넷 카드를 가지고 있고 NFS를 이용해 설치하는 경우, 또는 PCMCIA SCSI 카드를 가지고 있고 SCSI 시디에서 설치를 하는 경우 등) Yes를 선택해야 한다.

※참고사항 : 위의 질문은 오직 실제 설치하는 동안의 PCMCIA 지원에만 해당한다. 설사 No라고 해도 이미 설치된 레드햇 리눅스 시스템은 PCMCIA를 지원한다.

PCMCIA 지원이 필요하면 보충 디스켓을 넣으라는 메시지가 나오며 보충 디스켓을 넣고 OK를 선택하면 된다.

이후 설치 프로그램에서 보충 디스켓이 적재되는 진행 상황을 보여줄 것이다.

※참고사항 : 전문가 모드로 설치를 하면 PCMCIA지원이 필요한지 물어볼 것이다. 설치하는데 PCMCIA 장치에 접근하려면 Yes라고 해야 한다.

3.4 설치 방법 선택

어떤 설치 방법을 사용할 것인지 물어본다(그림 3.6). 적당한 것을 고르고 OK를 선택하거나 엔터 글쇠를 입력한다. 다섯 가지 기본적인 방법(2.4절 참고)을 이용하여 설치할 수 있으며 어떤 것은 보충 디스켓이 필요하다. 요약하면 다음과 같다.

시디롬 - 시디롬 드라이브가 있고 레드햇 리눅스 시디롬이 있는 경우이며 보충 디스켓이 필요 없다. 3.4.1절을 참고한다.

NFS - NFS 서버를 이용해 설치하면 보충 디스켓이 필요 없다. 3.4.2절을 참고한다.

하드 드라이브 - 레드햇 리눅스 파일을 로컬의 하드 드라이브에 복사해서 설치하면 보충 디스켓이 필요 없다. 3.4.6절을 참고한다.

FTP - FTP 서버에서 바로 설치하면 보충 디스켓이 필요하다. 3.4.7절을 참고한다.

SMB - 윈도우의 공유 드라이브에서 설치하면 보충 디스켓이 필요하다. 3.4.8절을 참고한다.

그림 3.6: 설치 방법 선택

3.4.1 시디롬 설치

시디롬에서 설치를 하면 □CD-ROM□을 선택한 후 OK를 누른다. 레드햇 리눅스 시디를 넣으라는 말이 나올 것이다. 레드햇 리눅스 시디를 넣고 OK를 누른다. 이제 설치 프로그램이 시스템을 조사하고 시디롬 드라이브를 인식하려고 한다. IDE(ATAPI) 시디롬 드라이브를 찾고 나서 시작할 것이다. 시디롬 드라이브를 발견하면 설치가 계속된다. 설치 프로그램이 시디롬 드라이브를 자동으로 찾지 못하면 어떤 종류의 시디롬을 가지고 있는지 물어본다. 다음의 종류에서 고른다.

SCSI - 지원되는 SCSI 어댑터에 시디롬이 연결되어 있으면 선택을 한다. 다음 SCSI 구동기를 선택한다. 시스템에 설치된 어댑터와 가장 비슷한 구동기를 고른다. 필요하다면 선택 사항을 지정할 수 있다. 그러나 대부분의 구동기는 SCSI 어댑터에서 자동으로 인식한다.

기타 - 시디롬이 IDE, SCSI 시디롬이 아니라면 □other"를 선택한다. 사운드 카드에 연결된 시디롬이 이런 시디롬의 좋은 예이다. 설치 프로그램은 지원되는 시디롬의 목록을 보여준다. 구동기를 선택하고 필요하면 구동기 선택 사항을 지정한다.

※참고사항 : 시디롬의 선택 사항 매개변수에 대한 일부분의 목록은 부록 D에 있다. ATAPI 시디롬을 가지고 있고 설치 프로그램에서 시디롬을 찾는데 실패했다면(어떤 종류의 시디롬인지 물어봄) 설치를 재시작하고 "linux hdX=cdrom"이라고 명시해야 한다. 연결된 인터페이스와 마스터/슬레이브 설정에 따라 X를 다음의 문자로 바꾼다.

ㅇ a - 첫 번째 IDE 제어기, 마스터

ㅇ b - 첫 번째 IDE 제어기, 슬레이브

ㅇ c - 두 번째 IDE 제어기, 마스터

ㅇ d - 두 번째 IDE 제어기, 슬레이브

(세 번째나 네 번째 제어기가 있으면 간단히 제어기의 순서와 마스터/슬레이브의 순서대로 알파벳 문자를 할당하면 된다)

시디롬 드라이브가 인식되었으면 시디롬 드라이브에 시디롬을 넣으라고 나올 것이다. 시디롬을 넣고 OK를 친다. 잠시 후에 대화 상자가 나올 것이다. 설치를 계속하려면 4장으로 간다.

3.4.2 NFS 설치

NFS 설치를 사용하려면 "NFS image"를 고르고 OK를 누른다.

3.4.3 네트워크 장치 설정

설치 프로그램이 시스템을 검사하고 네트워크 카드를 찾으려 한다. 대부분은 자동으로 네트워크 카드를 찾는다. 네트워크 카드를 인식하지 못하면 사용자의 네트워크 카드를 지원하는 드라이브를 선택하는 화면이 나오고 필요한 선택 사항이 있으면 지정할 수 있다.

3.4.4 TCP/IP 네트워킹 설정

설치 프로그램에서 네트워크 카드를 설정했으면 TCP/IP 네트워킹 설정 대화 상자가 나온다. 첫 번째 화면에서 네트워크 설정을 위한 다음 세 가지 방법 중 하나를 고른다(그림 3.7).

그림 3.7: 네트워크 설정 방법 선택

ㅇ 정적 IP 주소 - 네트워크 관련 정보를 직접 설정해야 한다.

ㅇ BOOTP - bootp 가 네트워크 관련 정보를 자동으로 제공한다.

ㅇ DHCP - dhcp 가 네트워크 관련 정보를 자동으로 제공한다.

※참고사항 : BOOTP 와 DHCP 선택에서는 지역 네트워크에서 운영중인 bootp(또는 dhcp) 서버가 있어야 한다.

BOOTP나 DHCP를 선택하였다면 네트워크 설정이 자동으로 진행되므로 이번 절의 나머지는 건너뛰어도 된다.

정적 IP 주소를 선택하였다면 직접 네트워크 관련 정보를 지정해야 한다. 그림 3.8에 네트워크 설정의 예제가 있다.

참고사항 : 3.8의 정보는 예제일 뿐으로, 정확한 정보는 네트워크 관리자에게 문의하자.

항목	예제
IP 주소	210.114.128.40
넷마스크	255.255.255.0
기본 게이트웨이	210.114.128.254
주 네임 서버	210.114.128.2
도메인 이름	linuxkorea.co.kr
호스트 이름	www

그림 3.8 : 네트워크 정보 예제

첫 번째 대화 상자에서는 IP 주소와 다른 네트워크 주소를 입력해야 한다(그림 3.9). 설치하는 동안 사용할 IP 주소를 입력하고 엔터를 누른다. 설치 프로그램은 IP 주소에 따라 넷마스크를 추정하며 넷마스크가 잘못되었으면 바꾸면 된다. 기본 게이트웨이와 주 네임 서버의 주소도 설치 프로그램에서 추정을 하며 잘못되었을 때는 바꾼다.

그림 3.9: TCP/IP 설정

OK를 누르면 두 번째 화면이 나온다. 여기서는 도메인 이름, 호스트 이름, 다른 네트워크 정보를 입력해야 한다(그림 3.10). 도메인 이름을 입력하고 엔터를 누른다. 그러면 호스트 네임에 도메인 네임이 자동으로 입력된다. 도메인 이름 앞에 호스트 이름을 넣어 완전한 이름을 만든다. 한 개 이상의 네임 서버가 있으면 Secondary nameserver(보조 네임 서버)와 Tertiary nameserver(제3의 네임 서버)에 추가로 네임 서버의 IP 주소를 적는다. OK를 눌러 계속 진행한다.

그림 3.10: 네트워크 설정

※참고사항 : FTP 설치를 하면 4.6절로 간다. SMB 설치를 하면 4.7절로 간다. NFS 설치를 하면 계속 읽으면 된다.

3.4.5 NFS 서버 정보

다음의 대화 상자에서는 NFS 서버의 정보를 입력해야 한다.(그림 3.11) NFS 서버의 이름(FQDN유형으로 입력)이나 IP 주소와 서버에서 레드햇 리눅스 시디가 마운트된 디렉토리 위치를 입력해야 한다. 예를 들어 NFS 서버에서 레드햇 리눅스 시디가 /mnt/cdrom 이면 /mnt/cdrom 이라고 입력하면 된다. NFS 서버가 시디 대신 레드햇 리눅스 설치 트리를 미러링하고 있다면 RedHat 디렉토리를 담고 있는 디렉토리를 입력한다. 예를 들면 NFS 서버가 /mirrors/redhat/i386/RedHat 이면 /mirrors/redhat/i386을 입력한다.

잠시 후 다음 대화 상자가 나타날 것이다. 설치를 계속하려면 4장으로 간다.

그림 3.11: NFS를 이용한 설치

3.4.6 하드 드라이브 설치

하드 드라이브 설치를 하면 "hard drive"를 고르고 OK를 누른다.

설치 프로그램을 시작하기 전에 먼저 필요한 파일을 지역 하드 드라이브의 분할 영역에 복사해야 한다. 여기서는 보충 디스켓이 필요하다. 보충 디스켓을 넣고 OK를 누른다. 보충 디스켓이 적재되는 진행상황이 화면에 나올 것이다. 이제 4장으로 가면 된다.

3.4.7 FTP 설치

FTP 설치를 하면 □FTP"를 고르고 OK를 누른다. FTP 설치는 보충 디스켓이 필요하다. 디스켓을 넣고 OK를 누른다. 보충 디스켓이 적재되는 진행상황이 화면에 나올 것이다. 이제 4장으로 가면 된다.

3.4.8 SMB 설치

윈도우 시스템의 공유 디스크에서 설치하면 "SMB image"를 고르고 OK를 누른다. SMB 설치는 보충 디스켓이 필요하다. 보충 디스켓이 적재되는 진행상황이 화면에 나올 것이다. 이제 4장으로 가면 된다.

4. 설치 진행

4.1 판올림 / 설치

설치 방법을 선택한 후에 install 또는 upgrade를 선택해야 한다(그림 4.1).

그림 4.1: 판올림 또는 설치

4.1.1 설치

보통은 새로운 하드디스크의 분할 영역이나 기존에 설치되었던 리눅스에 레드햇 리눅스를 설치한다.

※참고사항 : 기존에 설치되었던 리눅스(레드햇 리눅스 포함)에 레드햇 리눅스를 설치하면 이전에 설치되었던 정보가 보존되지 않는다. 중요한 파일은 백업해두자!

설치를 시작하려면 Install을 선택한 후 4.2절로 간다.

4.1.2 판올림

레드햇 리눅스 5.2의 설치 과정은 RPM 기술에 기반한 이전 버전의 레드햇 리눅스(2.0버전이나 이후 버전)를 판올림할 수 있다. 판올림을 하면 현재 시스템에 설치되어 있는 패키지의 갱신된 버전뿐만 아니라 모듈화된 2.0.x 커널을 설치한다. 판올림 과정에서는 이미 있던 설정 파일의 이름을 .rpmsave 확장자로 바꾸어서 보관하고(예: sendmail.cf.rpmsave) /tmp/upgrade.log 파일에 관련된 기록을 남겨둔다. 소프트웨어가 계속 발전하기 때문에 설정 파일의 형식이 바뀔 수가 있다. 그래서 설정을 바꾸기 전에 원래의 설정파일과 새로운 파일을 조심스럽게 비교해야 한다.

레드햇 리눅스 시스템을 판올림한다면 Upgrade를 선택한다.

※ 참고사항 : 일부의 판올림된 패키지는 정상적으로 작동하기 위해 설치된 다른 패키지가 필요할 때가 있다. 판올림 과정에서는 이러한 의존 관계를 검사하지만 다른 패키지를 설치해야 할 때가 있다. 필요한 패키지의 이름이 나오며 그 패키지를 설치할지 결정할 수 있다. 그러나 모든 패키지를 설치해야 한다. 그렇지 않으면 판올림된 패키지의 일부 또는 전부가 작동하지 않을 수도 있다.

그림 4.2: 설치 유형

4.2. 설치 유형

판올림이나 설치를 선택하였으면 설치 유형을 선택해야 한다. 다음의 설치 유형을 선택할 수 있다.

ㅇ 워크스테이션 - 워크스테이션 유형 설치는 자동으로 하드디스크의 모든 리눅스 분할 영역을 지운다.

ㅇ 서버 - 서버 유형 설치는 자동으로 하드디스크의 모든 리눅스 분할 영역을 지운다.

ㅇ 커스텀 - 커스텀 유형 설치는 분할 영역을 사용자가 직접 구성할 수 있도록 지원한다. 이전에 레드햇 리눅스를 설치해 경험이 있다면 커스텀 유형 설치가 이전의 설치 방법과 비슷하다는 것을 알 수 있다.

※참고사항 : 워크스테이션이나 서버 유형을 선택하면 컴퓨터에 저장된 자료가 삭제된다! 선택한 것을 다시 확인하는 질문이 나온다. 그렇지만 다시 확인하는 질문에 답했으면 지워진 것은 되돌릴 수 없다는 것을 반드시 기억하자.

워크스테이션이나 서버 유형 설치를 선택하였다면 설치 방법에 따라 다음의 지시를 따른다.

ㅇ 시디롬 - 5장

ㅇ NFS - 5장

ㅇ 하드 드라이브 - 4.8절의 지시에 따른 후 5장으로 간다.

ㅇ FTP - 4.6절의 지시에 따른 후 5장으로 간다.

ㅇ SMB - 4.7절의 지시에 따른 후 5장으로 간다.

4.3. SCSI 지원

적절한 설치 유형을 선택했으면 시스템에 SCSI 어댑터가 있는지 검사한다. 어떤 경우에는 SCSI 어댑터가 있는지 물을 경우가 있다. Yes를 선택하면 SCSI 구동기 목록이 나타난다. 사용자의 SCSI 어댑터에 가장 가까운 구동기를 고른다. 다음 선택한 SCSI 구동기의 선택 사항을 지정해 줄 수 있다. 그러나 대부분의 SCSI 구동기는 자동으로 하드웨어를 찾는다.

4.4 분할 영역 만들기

어디에 레드햇 리눅스를 설치할 것인지 설치 프로그램에 알려주어야 한다. 레드햇 리눅스가 설치될 하나 이상의 디스크 분할 영역의 마운트 지점을 정의한다. 이때 분할 영역을 만들거나 지워야 한다.

※참고사항 : 아직 어떻게 분할 영역을 구성할지 정하지 않았으면 2.7절, 2.8절을 다시 읽어본다. 최소한  적당한 크기의 루트 분할 영역과 최소 16MB의 교환 분할 영역이 필요하다.

다음에는 두 가지 분할 영역 도구 중 어떤 것을 선택할지를 묻는 대화 상자가 나온다(그림 4.3).

ㅇ Disk Druid - Disk Druid는 레드햇 리눅스를 설치할 때 쓰는 디스크 관리 유틸리티이다. 이 유틸리티는 각 분할 영역마다 마운트 포인터를 관리할 수 있을 뿐만 아니라 사용자의 필요에 따라 디스크 분할 영역을 만들고 없앨 수 있다.

ㅇ fdisk - fdisk는 전통적인 리눅스 디스크 분할 영역 유틸리티이다. Disk Druid보다 약간 더 융통성이 있지만 디스크 분할 영역에 익숙해야 하고 사용자 인터페이스가 부족하다는 걸 감수해야 한다.

특별한 상황이 아니라면 Disk Druid로 일반적인 레드햇 리눅스 설치에 필요한 분할 영역을 다룰 수 있다.

레드햇 리눅스/스팍에서 Disk Druid를 사용하면 주의해야 할 사항이 있다. 부록 F를 참고한다.

스팍

레드햇 리눅스/알파에서 Disk Druid를 사용하면 주의해야 할 사항이 있다. 알파 설치 부록의 정보를 참고한다.

알파

원하는 디스크 분할 영역 유틸리티를 선택하고 엔터를 누른다. Disk Druid를 선택하였으면 계속 읽어나가고 fdisk를 사용하기로 했다면 4.4.2절로 간다.

그림 4.3: 디스크 설정 방법 선택

4.4.1 Disk Druid 사용하기

Disk Druid를 선택하였으면 4.4와 같은 화면이 나온다. 처음엔 당황스럽게 보여도 실제로는 그렇지 않다. Disk Druid의 3가지 부분에 대하여 알아보자.

"현재의 디스크 분할 영역" (Current Disk Partitions)

"Current Disk Partitions□의 각 줄은 디스크 분할 영역을 나타낸다. 여기에는 스크롤 막대가 있어서 한 페이지 이상의 정보를 담고 있다. 화살표 글쇠를 이용하여 정보를 볼 수 있다. 각 줄은 다섯 개의 필드로 되어 있다.

그림 4.4: Disk Druid 주화면

Mount Point - 레드햇 리눅스가 설치되고 운영될 때 분할 영역이 어디에 마운트되는지 나타냄

Device - 분할 영역의 장치 이름

Requested - 분할 영역이 정의될 때 요구되는 최소 용량

Actual - 분할 영역에 할당된 실제 용량

Type - 분할 영역의 유형

분할 영역의 다른 유형

□Current Disk Partitions"에서 스크롤 했을 때 한 개나 그 이상의 분할 영역에 있는 □Unallocated Requested Partitions"를 볼 수 있다. 이름에서 보듯이 요청은 했지만 여러 가지 이유로 아직 할당이 되지 않은 분할 영역이다. 할당되지 않은 분할 영역이 나오는 가장 큰 이유는 분할 영역에 필요한 여유 공간이 없는 것이다. 어떤 경우에는 분할 영역이 할당되지 않은 이유가 분할 영역의 마운트 포인터 뒤에 나타난다.

□디스크 요약" (Drive Summaries)

□Drive Summaries"의 각 줄은 시스템의 하드디스크 정보를 나타낸다. 각 줄은 다음의 필드로 구성되어 있다.

Drive - 하드디스크의 장치 이름

Geom[C/H/S] - 하드디스크의 지오메트리(Geometry) 정보. 지오메트리는 실린더, 헤드, 섹터의 숫자를 나타낸다.

Total - 하드디스크의 사용할 수 있는 전체 용량

Used - 현재 분할 영역에 할당된 용량

Free - 분할 영역에 할당되지 않은 여유 공간

Bar Graph - 하드 드라이브에서 현재 사용하고 있는 용량을 그래프 형식으로 시각적으로 보여준다. 그림 4.4에서는 여유 공간이 없다는 것을 보여준다.

※참고사항 : □디스크 요약□은 디스크 설정을 했을 경우에만 나타난다. 이것은 주어진 분할 영역의 대상 하드 드라이브를 지정했다는 의미는 아니다. 4.4.1절에서 자세하게 설명한다.

□Disk Druid 단추□

단추는 Disk Druid 실행을 조절하는데 사용된다. 분할 영역을 추가하고 지우거나 분할 영역의 속성을 바꿀 수 있다. 덧붙여 분할 영역 작업 결과를 저장하거나 Disk Druid에서 빠져나올 수 있는 단추가 있다. 각 단추에 대하여 차례로 알아보자.

추가(Add) - "Add" 단추는 새로운 분할 영역을 만들 때 사용한다. 선택하면 정보를 입력할 필드가 나온다.

수정(Edit) - "Edit" 단추는 □Current Disk Partitons□에서 선택되어 있는 분할 영역의 속성을 바꿀 수 있다. 수정 단추를 고르면 새로운 대화 상자가 나타난다. 분할 영역 정보가 디스크에 이미 기록이 되었는지에 따라 "Edit Partition" 대화 상자의 필드가 다르게 나타난다.

삭제(Delete) - "Delete" 단추는 □Current Disk Partitons□에서 선택되어 있는 분할 영역을 지울 수 있다. 삭제 단추를 고르면 지울 것인지 확인하는 대화 상자가 나온다.

OK - □OK" 단추는 분할 영역의 변화된 내용을 디스크에 저장한다. 하드디스크 분할 영역 테이블을 저장하기 전에 한 번 확인하는 질문을 한다. 그리고 마운트 포인터의 설정에 따라 레드햇 리눅스 시스템이 파일 시스템을 구성한다.

Back - "Back" 단추는 분할 영역 설정을 저장하지 않고 취소한다. "Back" 단추를 고르면 이전 화면으로 돌아가서 다시 시작할 수 있다.

편리한 기능 글쇠

Disk Druid의 단추와 기능 글쇠가 일부분은 겹치지만 단추에는 없는 두 가지 기능 글쇠가 있다.

ㅇ F2 (NFS 추가) - F2 글쇠는 읽기 전용의 NFS 파일 시스템을 레드햇 리눅스 시스템의 특정한 마운트 지점에 추가한다. 선택하면 정보를 입력할 수 있는 대화 상자가 나타난다.

ㅇ F5 (원상태 복귀) - F5 글쇠는 Disk Druid에서 작업했던 모든 작업을 취소하고 하드디스크에서 분할 영역 테이블을 읽었을 때의 상태로 돌아간다. 선택하면 설정한 것을 취소할 것인지 확인한다. 지금까지 설정했던 자료가 없어지고 다시 설정해야 한다는 것을 기억하자.

※참고사항 : 레드햇 리눅스에 최소한 하나의 분할 영역을 할당해야 하며 여러 개를 할당할 수도 있다. 이에 대한 내용은 2.7.5절에서 다루었다.

이제 Disk Druid로 분할 영역을 설정한다.

분할 영역 추가

분할 영역을 추가하기 위해서 □Add□ 단추를 누른다. □Edit New Partition"이라는 대화 상자가 나타난다(그림 4.5). 이 대화 상자에는 다음의 필드가 있다.

그림 4.5: 분할 영역 추가하기

ㅇ Mount Point - 이 필드로 이동하여 분할 영역의 마운트 지점을 입력한다. 예를 들어 루트 분할 영역이라면 /, usr 분할 영역이라면 /usr 등으로 입력하면 된다.

ㅇ Size (Megs) - 분할 영역의 크기를 MB 단위로 입력한다. 크기는 설정하지 않아도 최소 1MB의 기본 값을 갖는다. 백스페이스 글쇠로 숫자를 지우고 원하는 분할 영역 크기를 입력한다.

ㅇ Growable? - 위에서 입력한 크기가 분할 영역의 정확한 크기거나 최소 크기라는 것을 가리키는 체크 상자이다. 스페이스 글쇠로 선택하거나 선택 해제할 수 있다. 체크를 하면 하드디스크에서 사용할 수 있는 최대 용량을 분할 영역에서 사용할 수 있다. 이 경우 분할 영역의 크기는 다른 분할 영역이 변하는 것에 따라 늘어나거나 줄어들 수 있다. 하나 이상의 분할 영역을 growable로 지정할 수 있다. 이렇게 하면 추가적인 여유 공간을 모든 growable 분할 영역에서 공유할 수 있다.

ㅇ Type - Type은 분할 영역 유형이다. 알맞은 분할 영역 유형을 고른다.

ㅇ Allowable Drives - 시스템에 설치된 하드디스크의 목록이며 각 드라이브마다 체크상자가 있다. 하드디스크 상자가 체크되면 체크한 하드디스크에서 분할 영역이 만들어진다. 상자가 체크되지 않았으면 분할 영역이 만들어지지 않는다. 서로 다른 체크 상자 설정을 사용하면 직접 Disk Druid를 이용해 분할 영역을 설정할 수도 있고 Disk Druid가 분할 영역 설정을 자동으로 하도록 할 수 있다.

ㅇ OK - 설정을 완료하고 분할 영역을 만들 때 사용한다.

ㅇ Cancel - 분할 영역 만드는 것을 취소할 때 사용한다.

분할 영역 추가할 때의 문제점

분할 영역을 추가하려고 하는데 Disk Druid가 실행을 하지 못할 때는 그림 4.6과 같은 대화 상자가 나온다. 목록에 나온 분할 영역은 문제가 있어서 할당되지 않은 것이다. OK 단추를 눌러서 계속 진행해야 한다. 할당되지 않은 분할 영역이란 메시지는 Disk Druid의 주 화면에서 나온다.

그림 4.6: 할당되지 못한 분할 영역에 대한 경고

분할 영역 삭제

□현재의 디스크 분할 영역□에서 삭제할 분할 영역을 골라 Delete 단추를 누르면 삭제할 것인지 확인한다.

분할 영역 수정

□현재의 디스크 분할 영역□에서 수정할 분할 영역을 선택하여 Edit 단추를 누르면 그림 4.5와 비슷한 대화 상자가 나온다. 적절하게 바꾸고 OK를 누른다.

※참고사항 : 분할 영역이 이미 하드디스크에 있는 것이라면 분할 영역의 마운트 지점만 바꿀 수 있다. 다른 것을 바꾸려고 하면 분할 영역을 지우고 다시 만들어야 한다.

NFS 마운트 추가

읽기 전용의 NFS 파일 시스템을 추가하려면 F2를 누른다. 네트워크와 관련된 설치 방법을 선택하지 않았으면 네트워크 설정과 관련된 대화 상자가 나온다(자세한 정보는 3.4.3절 참고). 여기서 적절하게 정보를 입력한다. 그러면 □Edit Network Mount Point"라는 대화 상자가 나온다(그림 4.11 참고). 이 대화 상자에서 NFS서버의 이름, 가져올 파일 시스템의 경로, 파일 시스템의 마운트 지점을 지정해야 한다. 적절하게 OK나 Cancel 단추를 누른다.

재설정

Disk Druid로 설정한 것을 취소하고 fdisk를 사용하려면 Back 단추를 누른다. Disk Druid를 계속 사용하면서 다시 설정을 할 때는 F5 글쇠를 눌러 Disk Druid를 초기 상태로 돌린다.

설정 확인

분할 영역 설정을 마치면 그림 4.7과 비슷하게 표시된다. OK를 누르고 4.5절로 간다.

그림 4.7: 분할 영역과 마운트 지점 설정

4.4.2 fdisk 사용

이번 절은 fdisk를 이용한 분할 영역 관리를 설명한다. fdisk를 선택하면 "Partition Disks"라는 대화 상자가 나온다(그림 4.8). 이 상자는 컴퓨터의 디스크 목록을 담고 있다. 분할 영역 작업을 할 디스크로 이동하여 Edit 단추를 누른다. 다음 fdisk를 선택하여 해당 디스크를 분할 영역으로 나눌 수 있다. 분할 영역하기 원하는 각 디스크에 대하여 이 과정을 반복한다. 설정을 다 마쳤으면 "Done"을 누른다.

그림 4.8: 분할 영역을 적용할 디스크 선택

fdisk 개요

fdisk는 편리하지는 않지만 유용한 온라인 도움말이 있다. 다음은 몇 가지 팁이다.

ㅇ 명령어에 대한 도움말은 m이다.

ㅇ 현재의 분할 영역 테이블 목록을 보는 것은 p이다(그림 4.9 참고).

ㅇ 분할 영역 추가는 n이다.

그림 4.9: 리눅스의 기본 영역 분할 fdisk 소프트웨어

ㅇ 리눅스의 fdisk는 기본 값으로 Linux native 유형의 분할 영역을 만든다. 교환 분할 영역을 만들었다면 t 명령을 써서 Linux swap 유형으로 바꾸어야 한다. Linux swap 유형의 고유값은 82이다. 다른 분할 영역 유형을 위하여 분할 영역 유형과 고유값의 목록을 보려면 l 명령을 이용한다.

ㅇ 리눅스는 디스크에 네 개의 분할 영역까지 허용한다. 그 이상으로 만들려고 하면 네 번째 분할 영역을 하나 이상의 논리 분할 영역을 포함할 수 있는 확장 분할 영역으로 만들어야 한다.

ㅇ 만들어놓은 분할 영역을 기록해 두는 것이 좋다.

ㅇ 참고사항 : 분할 영역 설정한 것을 w 명령으로 저장하고 fdisk를 빠져나왔을 경우에만 바뀐 것이 적용된다. q 명령을 이용하여 저장하지 않고 빠져나올 수 있다.

분할 영역 테이블 변경

분할 영역을 마쳤으면 Done을 누른다. 설치 프로그램을 재 부팅해야 한다는 메시지가 나올 것이다.  분할 영역 설정을 바꾸었을 때 정상적으로 나오는 메시지이며 확장 분할 영역을 생성, 수정, 삭제했을 때 일반적으로 나온다. OK를 누르면 재 부팅한다. 디스크 분할 영역까지 했던 설치 과정을 다시 진행하고 Done을 누른다.

4.4.3 파일 시스템 설정

다음에 나오는 대화 상자는 도스나 윈도우 분할 영역을 포함, 레드햇 리눅스에서 읽을 수 있는 파일 시스템의 모든 분할 영역 목록을 표시한다. 이러한 분할 영역을 레드햇 리눅스 파일 시스템의 일부로 할당할 수 있다. 할당한 분할 영역은 레드햇 리눅스 시스템이 부팅할 때 자동으로 마운트된다. 할당할 분할 영역을 고르고 엔터를 친다.(또는 Edit를 고른다) 그러고 나서 분할 영역의 마운트 포인터를 입력한다. /usr 등(그림 4.10 참고)

판올림을 하는 경우라면 설치 프로그램이 자동으로 루트 분할 영역을 찾고 모든 정보를 수집한다.

그림 4.10: 파일 시스템 설정

NFS 마운트 추가

레드햇 리눅스는 부팅할 때 읽기 전용의 NFS 마운트를 추가할 수 있다. 이 경우에는 네트워크를 통해 디렉토리를 공유한다. F2를 눌러서 시작한다. 네트워크 관련 설치 방법을 선택하지 않았으면 네트워크 설정과 관계된 몇 개의 대화 상자가 나온다(3.4.4절 참고). 여기에 알맞은 정보를 입력하면 된다. 그러면 "Edit Network Mount Point"라는 대화 상자가 나온다. NFS 서버의 호스트이름, 공유할 디렉토리의 경로, 마운트 지점을 입력한다(그림 4.11 참고).

그림 4.11: NFS 마운트 추가

4.5 교환 공간 초기화

레드햇 리눅스 분할 영역을 만들었으면 교환 분할 영역을 찾는다(그림 4.12 참고). 교환 분할 영역을 찾았으면 초기화할 것인지 물어본다. 스페이스 글쇠로 교환 공간으로 초기화할 분할 영역을 고른다. 이상 블록을 점검하려면 "Check for bad blocks during format"상자에 체크하면 된다. OK를 누른다.

교환 분할 영역을 만들었다고 생각하는데 설치 프로그램이 교환 공간을 찾지 못하면 분할 영역 유형이 Linux swap으로 되어 있는지 확인한다. 4.4.절을 참고한다.

그림 4.12: 교환 공간 초기화

4.6 FPT 설치에만 해당하는 사항

FTP 설치를 사용하지 않으면 4.7절로 간다.

먼저 3.4.3절로 가서 필요한 네트워크 설정을 하고 FTP Setup를 고른 다음 여기로 돌아온다.

이번 절에서는 FTP 사이트를 이용해 설치하는 방법에 대해 설명한다(그림 4.13 참고). 설치하는데 사용할 FTP 사이트의 이름이나 IP 주소, 해당 운영체제의 RedHat 디렉토리가 있는 경로를 입력한다. 예를 들어 FTP 사이트에 /pub/mirrors/redhat/i386/RedHat 디렉토리가 있으면 /pub/mirrors/redhat/i386 이라고 입력하면 된다. 익명 ftp가 아니거나 프록시 FTP 서버를 사용할 때는 체크 상자를 체크하면 FTP 계정과 프록시 정보를 입력하는 대화 상자가 나온다.

그림 4.13: FTP 통한 설치

모두 맞게 설정했다면 /base/hdlist를 가져오는 메시지 상자가 나온다.

워크스테이션이나 서버 유형 설치를 사용하고 있으면 5장을 참고하고, 아니면 4.9절로 가서 설치를 계속한다.

4.7 SMB 설치에만 해당하는 사항

SMB 설치를 사용하지 않으면 4.8절로 간다.

먼저 3.4.3절로 가서 필요한 네트워크 설정을 하고 SMB Setup를 선택한 다음 여기로 돌아온다.

이번 절에서는 SMB 설치에 대해 설명한다. SMB 서버 이름, 공유 이름, 계정 정보를 설정해야 한다(그림 4.11 참고).

그림 4.14: SMB를 이용한 설치

먼저 SMB 서버의 이름을 입력해야 한다. 서버 이름은 리눅스의 FQDN유형(호스트+도메인)으로 된 이름이 아니라 마이크로소프트 네트워킹 이름이라는 것을 알아두어야 한다.

다음에는 공유 이름을 입력한다. 서로 다른 SMB 프로토콜을 수행하면 공유 이름을 다르게 처리하기 때문에 공유 이름의 대소문자가 중요하다. 대부분의 경우 공유 이름을 소문자로 할 때 작동이 잘 된다.

필요한 정보를 입력한 후 OK를 누른다. 제대로 설정이 되었으면 잠시 후에 설치 프로그램이 읽어들일 사용 가능한 패키지 목록이 나온다.

워크스테이션이나 서버 유형 설치를 사용하고 있으면 5장으로 가며 그게 아니라면 4.9절로 가서 설치를 계속한다.

4.8 하드디스크 설치에만 해당하는 사항

하드디스크 설치를 사용하지 않으면 4.9절로 간다.

여기서 □Select Partition"이라는 대화 상자가 나온다(그림 4.15 참고). RedHat 디렉토리를 포함하고 있는 분할 영역의 장치 이름을 선택한다. RedHat 디렉토리가 해당하는 분할 영역의 루트 디렉토리에 없으면 RedHat 디렉토리의 경로를 입력한다(여기서 예제는 /test/new).

설치 프로그램이 분할 영역에서 필요한 파일을 찾지 못하거나 지정한 디렉토리를 찾지 못하면 "Select Partition"으로 돌아가 정확한 정보를 입력한다.

제대로 설정이 되었으면 패키지를 읽어들이는 메시지 상자가 나온다.

워크스테이션이나 서버 유형 설치를 사용하고 있으면 5장을 참조하고 아니면 4.9절로 가서 설치를 계속한다.

그림 4.15 : 하드디스크 설치에서 분할 영역 선택

4.9 분할 영역 형식

형식화할 분할 영역의 목록이 나온다(그림 4.16 참고). 새로 만든 분할 영역을 형식화해야 해야 한다. 기존에 있던 분할 영역 중에서 자료를 보관할 필요가 없는 분할 영역도 형식화해야 한다. 그러나 /home/이나 /usr/local 등 보관해야 할 자료가 있는 분할 영역은 형식화하지 말자. 형식화할 분할 영역을 선택한다. 형식화할 때 블록 이상을 체크하려면 "Chek for bad blocks during format"를 선택하여 OK를 누른다.

그림 4.16: 분할 영역 형식화

4.10. 패키지 선택 및 설치

분할 영역을 설정하고 형식화하였으면 이제 설치할 패키지를 선택한다. 기능에 따라 묶어놓은 그룹 패키지나 개별 패키지를 선택할 수도 있고 두 가지를 조합하여 선택할 수도 있다.

4.10.1 패키지 그룹 선택

기능에 따라 패키지를 그룹으로 모아놓았다. 예를 들면, C 프로그래밍 개발, 네트워크 워크스테이션, 웹서버 등이 있다. 설치할 패키지 그룹을 선택한다. Everything(패키지 그룹 목록의 제일 끝에 있음)을 고르면 레드햇 리눅스에 있는 모든 패키지를 설치한다(그림 4.17 참고). 모든 패키지를 설치하려면 700MB 이상의 여유 공간이 필요하다.

개별적인 패키지를 선택하라면 "Select individual packages"를 체크한다.

그림 4.17: 패키지 그룹 선택

4.10.2 개별 패키지 선택

설치할 패키지 그룹을 선택한 후 개별적인 패키지를 선택할 수 있다. 설치 프로그램은 이용 가능한 패키지 그룹의 목록을 보여주며 설치할 그룹을 선택한다. 그러면 패키지 그룹에서 선택할 수 있는 패키지 목록이 나오고 화살표 글쇠를 이용하여 스페이스 글쇠를 눌러 선택한다(그림 4.18 참고).

※참고사항 : 커널이나 라이브러리 등 어떤 패키지는 레드햇 리눅스 시스템에 반드시 필요하기 때문에 사용자가 선택하지 않고 자동으로 설치된다.

개별적인 패키지 선택을 마치면 "Select Group"에서 OK를 누른다.

그림 4.18: 패키지 선택

패키지 관련 정보

F1을 누르면 현재 위치한 패키지에 관련된 자세한 설명을 볼 수 있다. 패키지 설명을 담은 대화 상자가 뜰 것이다. 설명이 한 쪽 이상이면 화살표 글쇠를 이용해 이동할 수 있다. 설명을 다 보았으면 OK를 누른다. 그러면 대화 상자가 사라지며 계속 다른 패키지를 선택할 수 있다.

참고사항 : 문서로 된 패키지 설명을 보고 싶으면 부록 C를 참고한다.

4.10.3 패키지 의존성

많은 소프트웨어 패키지가 다른 소프트웨어 패키지나 라이브러리에 의존하여 정상적으로 작동하며 이때는 의존하는 패키지나 라이브러리가 먼저 설치되어 있어야 한다. 예를 들면 많은 그래픽 레드햇 시스템 관리 도구는 python과 pythonlib 패키지를 먼저 설치해야 사용할 수 있다. 레드햇 리눅스는 패키지를 설치하거나 제거할 때마다 의존성을 체크하여 정상적으로 작동하기 위해 필요한 패키지가 있는지 확인한다.

설치할 패키지를 선택한 후 설치 프로그램은 선택한 패키지에 대한 의존성을 검사한다. 어떤 패키지에서 아직 설치하지 않은 다른 패키지가 필요하면 설치 프로그램은 필요한 목록을 보여주어 문제를 해결할 수 있게 해준다(그림 4.19 참고). OK를 누르면 필요한 패키지를 자동으로 설치한다.

그림 4.19: 해결되지 않은 의존성 문제

4.10.4 패키지 설치

패키지 의존성과 관련된 문제를 해결하고 나면, 설치 프로그램은 설치하는 패키지 목록을 담은 /tmp/install.log라는 기록 파일을 만들 것인지 물어본다. OK를 누르고 계속 진행하자.

여기서 형식화하기로한 한 모든 분할 영역을 형식화한다. 몇 분 정도 걸릴 것이다(블록 이상 체크를 지정했다면 시간이 더 걸린다).

분할 영역 형식화를 마치고 패키지를 설치하기 시작한다. □Install Status" 창에 다음의 정보가 나타난다.

Package - 현재 설치하는 패키지 이름

Size - 패키지 크기(KB 단위)

Summary - 패키지에 대한 간단한 설명

Package Installation Progress Bar - 현재 패키지 설치가 얼마나 진행되었는지를 보여주는 그래프.

Statistics Section - 이 부분은 □Total", "Completed", "Remaining" 의 세 가지로 되어 있다. 이름에서 보듯이 세 열은 설치할 모든 패키지 통계, 현재 설치된 패키지 통계, 아직 설치되지 않은 패키지 통계로 이루어져있다. 세 가지 통계에는 다음의 내용을 담고 있다.

Packages - 패키지의 숫자

Bytes - 크기

Time - 총시간

Overall Progress Bar - 전체 패키지 설치가 얼마나 진행되었는지를 보여주는 그래프

FTP 설치를 하고 있으면 FTP 사이트에서 개별 패키지를 받을 때마다 메시지 상자가 뜬다.

이제 모든 패키지가 설치되기를 기다린다. 설치시간은 선택한 패키지의 숫자와 컴퓨터의 속도에 따라 다르다. 설치를 마쳤으면 다음 장으로 넘어간다.

5 설치 끝내기

5.1 마우스 설정

다음으로 설치 프로그램은 시스템을 조사하고 마우스를 찾을 것이다. 어떤 마우스는 자동으로 검색이 될 것이다. 이 경우에는 마우스가 발견된  포트를 보여주는 대화 상자가 나타나게 된다. 그러면 2 단추 마우스를 가지고 있는지, 그리고 3 단추 마우스처럼 에뮬레이션 할 것인 지와 같은 추가 정보를 물어올 것이다. 시스템에 맞게 선택을 하고 다음 항목으로 넘어간다.

일반적으로 그림 5.1과 같은 화면을 볼 수 있을 것이다.

그림 5.1: 마우스 설정

설치 프로그램이 시스템의 마우스 유형 중 가장 적합한 모델을 찾아 반전을 시켜줄 것이다. 마우스 유형이 적합하지 않을 경우에는 화살표 글쇠를 이용해 위 아래로 움직여 마우스 유형을 지정해 주면 된다. 일반적으로 시스템의 마우스 유형을 선택하기 위하여 다음의 접근방법을 사용해야 한다.

ㅇ 목록에서 마우스에 정확히 맞는 항목을 찾는다면 그 항목을 반전시킨다.

ㅇ 만일 확실하다고 생각되는 마우스가 있어 자신의 마우스와 호환이 된다면 그 항목을 반전시킨다.

ㅇ 위의 내용에 맞는 것이 없다면 마우스의 단추의 수와 인터페이스에 따라서 Generic 마우스 항목 중에서 하나를 선택한다. 마우스의 인터페이스를 결정하기 위해서는 마우스가 시스템의 어느 포트에 꽂혀 있는가를 알아야한다. 마우스의 접속기가 직사각형 접속기에 꽂혀 있다면 마우스는 직렬포트 마우스인 것이다. 그렇지 않고 접속기가 동그랗다면 PS/2 마우스인 것이다. 레드햇 리눅스를 랩탑 컴퓨터에 설치한다면 대부분의 경우 포인튼 장치는 PS/2 호환이 될 것이다.

3 단추 흉내 체크상자는 2 단추 마우스를 3 단추를 가진 마우스처럼 사용할 수 있게 해준다. 일반적으로 3 단추 마우스를 가지고 있다면 X Windows 시스템을 사용하는 가장 쉬운 방법이다. 이 체크상자를 선택한다면 2 단추를 동시에 누름으로써 3 단추 마우스의 가운데 단추를 누른 효과를 낼 수 있다.

직렬 인터페이스를 가진 마우스를 선택했다면 그림 5.2와 같은 화면을 볼 수 있을 것이다. 마우스에 맞는 적당한 직렬 포트에 반전막대를 위치시키고 OK를 선택하고 스페이스 글쇠를 누른다.

레드햇 리눅스 시스템을 부팅한 후에 마우스 설정을 변경하려면 /usr/sbin/mouseconfig 명령을 실행하면 된다.

그림 5.2: 직렬 마우스 포트 선택

5.2 X Windows 설정하기

X Windows 패키지를 설치했다면 마우스 설정 후 X 서버를 설정해야 한다. 만일 X Windows 시스템을 설치하지 않았다면 5.3 절로 넘어갈 수 있다.

5.2.1 XFree86 서버 설정

XFree86을 사용하려 한다면 설치 프로그램은 Xconfigurator 유틸리티를 띄울 것이다.

Xconfigurator 먼저 시스템을 점검하여 어떤 종류의 비디오 카드가 설치되어 있는지 결정하게 된다. 비디오 카드 검색에 실패하게 되면 Xconfigurator는 비디오 카드 목록을 보여줄 것이다. 목록에서 자신의 비디오 카드를 선택하여 엔터를 누른다. 비디오 카드가 목록에 있지 않다면, XFree86이 비디오 카드를 지원하지 않을 것이다. 그러나 비디오 카드에 대한 기술적인 지식이 있다면 열거되지 않은 카드를 선택하여 카드의 비디오 칩셋과 이용 가능한 X 서버를 조합함으로 해서 설정을 시도할 수 있다.

일단 비디오 카드를 선택하면 설치 프로그램은 적당한 XFree86 서버를 설치하고 Xconfigurator는 모니터 목록을 나타내게 된다. 자신의 모니터가 목록에 나오면 선택하고 엔터를 누르면 된다. 그렇지 않으면 Custom을 선택한다. Custom을 선택했다면, Xconfigurator는 모니터의 수평주파수와 수직주파수를 선택하도록 대기상태가 된다(이 값은 일반적으로 모니터에 따라오는 문서를 보거나 제조업체에 문의하면 알 수 있다).

※ 주의사항 : 선택한 모니터가 자신의 모니터의 수용능력을 초과하지 않는다는 것을 확신할 수 없다면 자신의 모니터와 비슷한 모니터를 선택하는 것은 추천하지 않는다. 그렇게 한다면 모니터를 오버클럭 해야하고 모니터에 손상을 주거나 망가뜨릴 수 있다.

다음으로 Xconfigurator는 비디오 카드에 달린 메모리의 양을 선택하도록 대기상태에 있게 된다. 확실히 모른다면 비디오 카드에 따라온 문서를 참조한다. 실제의 메모리보다 많은 메모리를 선택한다고 해서 비디오 카드에 손상을 주지는 않는다. 다만 XFree86 서버가 올바르게 시작되지 않을 뿐이다.

선택한 비디오 카드가 비디오 클럭칩을 갖고 있다면 Xconfigurator는 클럭칩의 목록을 보여줄 것이다. XFree86이 대부분의 경우에 적당한 클럭칩을 자동으로 감지하기 때문에 No Clockchip Setting 선택할 것을 추천한다.

마지막으로 Xconfigurator는 사용하고자 하는 비디오 모드를 선택할 수 있도록 대기 상태에 있게 된다; [Space]를 눌러 하나 또는 그 이상의 모드를 선택하라. Xconfigurator는 선택한 모든 사항을 /etc/X11/XF86Config에 기록한다.

5.3 네트워크 설정하기

다음으로 설치 프로그램은 네트워크를 설정하도록 해준다. 만일 시디롬으로 부팅했거나 로컬 하드디스크로부터 설치를 한다면 설치 프로그램은 네트워크를 설정할 것인지 물어볼 것이다. No를 선택한다면 레드햇 리눅스는 독립실행 워크스테이션이 될 것이다. Yes를 선택한다면 아래에 설명된 것처럼 네트워크를 설정할 수 있다.

만일 레드햇 리눅스를 NFS, FTP 또는 SMB를 이용하여 설치한다면 설치하는 동안 사용될 임시적인 네트워크 정보를 이미 입력했을 것이다. 설치 프로그램은 3가지 선택을 할 수 있게 해준다(그림 5.3 참고).

그림 5.3: 네트워크 설정 선택 사항

ㅇ Keep this setup - 설치하는 동안 사용된 네트워크 설정을 그대로 사용한다. 이전에 입력되었던 모든 네트워크 정보가 시스템의 영구적인 설정이 된다.

ㅇ Reconfigure network now - 설치 프로그램은 네트워크 설정 대화 상자를 3.4.3절과 같이 나타낸다. 설치하는 동안 사용한 값이 기본으로 채워질 것이다. 시스템이 네트워크 상에 설치될 것이라면 이 항목을 선택한다.

ㅇ Don't setup networking - 네트워크를 전혀 설정하지 않는다. 시스템에 네트워크 설정을 하지 않게 될 것이다. 시스템이 네트워크에 물리지 않고 독립실행 워크스테이션으로 사용될 것이라면 이 항목을 선택한다.

5.3.1 네트워크 설정 문답

네트워크 설정을 선택했다면 일련의 대화 상자가 나타날 것이다. 더 자세한 정보를 원한다면 3.4.4절을 보기 바란다.

5.4 시간대 설정하기

다음으로 설치 프로그램은 레드햇 리눅스 시스템의 시간대를 설정할 수 있도록 대화 상자를 나타낸다(그림 5.4 참고).

하드웨어(CMOS)의 시각을 GMT(그리니치 표준시, 또는 UTC, 또는 협정세계시)에 맞추길 원한다면 "Hardware clock set to GMT"를 선택한다. 하드웨어 시각을 GMT에 맞춘다는 것은, 만일 사용자의 시간대가 일광 절약 시간제도를 적용 받는 다면 레드햇 리눅스 시스템이 일광 절약 시간제도를 적절하게 다룰 수 있게 됨을 의미한다. 대부분의 네트워크가 GMT를 이용한다.

※ 주의사항 : 만일 시스템이 때때로 다른 운영체제를 운영한다면 GMT 에 시간을 맞춤으로 해서 다른 운영체제가 틀린 시간을 나타낼 수도 있다. 또한 하나 이상의 운영체제가 자동적으로 일광 절약 시간에 맞춰 보정된 값으로 변환한다면 시간이 제대로 맞지 않을 수도 있다는 것을 명심하자.

그림 5.4: 시간대 설정

시스템에 적용될 시간대를 선택한 후에 [Enter]를 입력한다.

레드햇 리눅스 시스템으로 부팅한 후에 시스템 시간대 설정을 변경하고 싶다면, /usr/sbin/timeconfig 명령을 사용할 수 있다.

5.5 부팅 시에 시작할 서비스 선택

주의 : 만일 워크스테이션 급 설치 또는 서버 급 설치를 선택했다면 이 부분의 설치는 자동적으로 수행된다. 5.6절로 넘어가도 된다.

다음으로 □Services"라고 제목이 붙은 대화 상자를 보게 될 것이다(그림 5.5 참고). 이 대화 상자에 보이는 것은 서비스와 각각에 대한 체크상자를 나열한 것이다. 이 목록을 스크롤 하면서 레드햇 리눅스 시스템이 부팅할 때 자동적으로 시작할 서비스를 모두 체크한다. 특정한 서비스가 어떤 것인지 확실하지 않다면 반전막대를 서비스 이름으로 옮긴 후에 [F1]을 선택한다. 그러면 서비스에 대한 간략한 설명을 볼 수 있다.

그림 5.5: 서비스 선택

설치 후에 자동으로 다시 부팅 시에 자동으로 시작될 서비스를 바꾸려 한다면 /usr/sbin/ntsysv 또는 /sbin/chkconfig를 실행할 수 있다는 것을 알아두기 바란다.

5.6 프린터 설정하기

네트워크 설정을 마쳤다면 설치 프로그램은 프린터를 설정할 것인지 물어본다. Yes를 선택했다면 대화 상자는 프린터가 시스템에 어떤 식으로 연결되어 있는지 물어보게 된다(그림 5.6 참고)

그림 5.6: 프린터 유형 선택

프린터의 3가지 연결방식에 대해 간략히 소개한다.

Local - 프린터가 시스템에 직접 연결이 되어 있는 경우

Remote lpd - 프린터가 랜(또는 다른 컴퓨터에 연결돼 있거나 직접 연결되어 있는 경우)에 연결되어 있고 lpr이나 lpd를 통해 서로 통신할 수 있는 경우

LAN Manager - LAN Manager(또는 SMB) 네트워킹을 통해 프린터를 공유하는 컴퓨터에 연결되어 있는 경우

프린터의 유형을 선택하고 나면 "Standard Printer Options"이라는 제목의 대화 상자를 보게 된다(그림 5.7 참고). 사용할 대기열(queue)과 스풀 디렉토리의 이름을 입력하거나 기본 값을 이용한다.

그림 5.7: 표준 프린터 선택 사항

선택한 프린터의 연결방식에 따라 다음의 대화 상자를 볼 수 있다. 자신의 프린터 연결방식에 맞는 절로 넘어가길 바란다.

Local -- 5.6.1 절

Remote lpd -- 5.6.2 절

LAN Manager -- 5.6.3 절

5.6.1 시스템에 직접 연결된 프린터

□Local" 프린터 유형을 선택했다면 그림 5.8과 같은 대화 상자를 보게 될 것이다.

그림 5.8: 로컬 프린터 장치

입력 창에 프린터 장치의 이름을 넣어라. 편리하게 설치 프로그램은 어떤 프린터포트를 사용할 수 있는지 결정하려 할 것이다. Next를 선택하고 [Space]를 누른다. 그러면 5.6.4로 넘어갈 것이다.

5.6.2 원격 lpd 프린터

프린터의 연결 방식에 따라 □Remote lpd□를 선택했다면 그림 5.9와 같은 대화 상자를 보게 될 것이다.

그림 5.9: 원격 lpd 프린터 선택 사항

□Remote hostname□란에 프린터가 직접 연결된 컴퓨터의 이름을 입력한다. □remote queue□ 란에는 원격 컴퓨터의 대기열 이름을 입력한다. Next를 선택하고 [Space]를 누른다. 이제 설치를 계속하기 위해서는 5.6.4절로 가기 바란다.

5.6.3 LAN Manager 프린터

프린터의 연결방식으로 □LAN Manager□를 선택했다면 그림 5.10과 같은 대화 상자를 보게 될 것이다.

그림 5.10: LAN Manager 프린터 선택 사항

필요한 정보를 해당란에 입력한다. Next를 선택하고 [Space]를 입력한다.

5.6.4 프린터 설정 마치기

다음으로 □Configure Printer□라는 제목이 붙은 대화 상자를 보게 될 것이다(그림 5.11을 보기 바란다). 자신의 프린터와 가장 근접한 프린터 유형을 선택한다. Next를 선택하고 설치를 계속하기 위해서는 [Space]를 누른다.

그림 5.11: 프린터 설정

프린터 유형을 선택한 후에 그림 5.12와 같은 대화 상자를 볼 수 있을 것이다. 용지의 크기와 해상도를 적절하게 설정한다. □Fix stair-stepping of text□ 체크상자는 프린터가 각 줄을 쓴 다음에 자동으로 캐리지 리턴을 수행하지 않을 때 체크한다.

그림 5.12. 프린터 설정

마지막으로 프린터에 관계된 모든 정보를 담고 있는 대화 상자를 보게될 것이다(그림 5.13을 보기 바란다). 정보가 올바르게 설정되었는지 확인한다. 모든 정보가 올바르다고 생각되면 □Done"을 선택한다. 변경할 필요가 있으면 "Edit"를 선택한다. 지금 프린터를 설정하지 않는 편이 나을 때는 Cancle을 선택할 수 있다.

그림 5.13. 프린터 정보 확인

"Done"을 선택하면 또 다른 프린터를 설정할 선택 사항이 주어지거나 설치를 계속할 수 있다.

5.7 Root 암호 설정

다음으로 설치 프로그램은 시스템에 대한 root의 암호를 입력받기를 기다린다(그림 5.14 참고). 이 root 암호는 레드햇 리눅스 시스템에 처음 로그인할 때 사용하게 된다.

root 암호는 적어도 6글자는 되어야 한다; 입력하는 암호는 화면에 나타나지 않는다. 암호는 두 번 입력해야 한다; 두 개의 암호가 같지 않으면 설치 프로그램은 암호를 다시 입력할 것을 요청한다.

root 암호를 기억할 수 있는 것으로 만들어야 한다. 하지만 사람들이 쉽게 추측해 낼 수 있는 것이 아니어야 한다. 이름, 전화번호, qwerty, password, root, 123456, anteater 등은 모두 사람들이 쉽게 추측해 낼 수 있는 암호이다. 좋은 암호는 숫자와 대소문자를 섞어 사전적인 단어를 포함하지 않는 것이다: 예를 들면 Aard387vark 또는 420BMttNT 이런 식으로 만든다. 암호는 대소문자를 구별한다는 것을 기억하기 바란다. 암호를 적어두어 보안이 철저한 곳에 보관하기 바란다.

그림 5.14: Root 암호

※참고사항 : root 사용자(슈퍼유저로 불리기도 함)는 전체 시스템에 대한 모든 접근 권한을 가지고 있다. 그렇기 때문에 root로의 로그인은 시스템 유지나 관리할 때만 하는 것이 좋다.  시스템을 다시 부팅한 후에 계정을 추가하는 방법에 대해서는 8장을 보기 바란다. 새로운 사용자를 추가하는 보다 기초적인 방법은 6.2.3절에서도 찾을 수 있다.

5.8 부트 디스켓 만들기

다음으로 레드햇 리눅스 시스템 설정에 맞게 제작되는 부트 디스켓을 만들 수 있다(그림 5.15 참고).

그림 5.15 부트 디스켓 만들기

부팅 디스켓은 여러 가지로 편리하다.

LILO 대신 사용 - 부트 디스켓을 LILO 대신 사용할 수 있다. 이 방법은 레드햇 리눅스를 처음 시도해 볼 때 편리한 방법이다. 다른 운영체제의 부팅과정이 변경되지 않기 때문에 더욱 편리하다고 느낄 것이다. 부트 디스켓으로 다른 운영체제로 부팅하는 것은 부트 디스켓을 제거하고 재 부팅하는 것만큼 쉽다.

비상시 사용 - 부트 디스켓은 시스템에 문제가 생겼을 때 필요한 도구를 제공하는 복구 디스크와 함께 시스템을 복구할 때 사용할 수 있다.

다른 운영체제가 LILO를 덮어썼을 때 사용 - 다른 운영체제는 부팅 방법이 지원되더라도 레드햇 리눅스처럼 유연하지 않다. 잦은 다른 운영체제의 설치 또는 판올림은 마스터 부트 레코드(LILO가 위치하는)를 덮어쓰기 때문에 레드햇 리눅스로 부팅할 수 없게 되는 경우가 있다. 이럴 경우 부트 디스켓을 사용하여 LILO를 다시 설치하는데 사용할 수 있다.

부트 디스켓을 만들어야 하는 이들 이유 때문에 신중하게 고려해야 한다. □Yes□를 선택하고 [Space]를 누른다. 그러면 디스켓 드라이브에 빈 디스켓을 넣으라고 지시하는 대화 상자를 보게 될 것이다. 준비가 되면 Ok를 선택하고 [Space]를 누른다.

잠시 후에 부트 디스크가 완성될 것이다. 디스켓 드라이브에서 제거한 뒤에 라벨을 붙여두기 바란다. 설치가 끝난 후에도 부트 디스켓을 만들 수 있다는 것을 알아두기 바란다. LILO 대신 부트 디스켓으로 시스템을 부팅한다면 커널에 변화가 생길 때마다 새로운 부트 디스켓을 만든다. 더 자세한 정보를 원한다면 mkbootdisk 매뉴얼 페이지를 보길 바란다.

5.9 LILO 설치하기

주의 : 워크스테이션 급 또는 서버 급 설치를 했다면 이 부분은 자동적으로 실행된다. 그러므로 곧바로 5.10절로 넘어가도 된다.

레드햇 리눅스 시스템으로 부팅할 수 있기 위해서는 일반적으로 LILO를 설치해야 한다. LILO는 다음의 두 곳 중에 한곳에 설치할 수 있다.

마스터 부트 레코드(MBR)

System Commander나 OS/2의 부트 관리자와 같은 다른 운영체제의 로더가 MBR에 있지 않다면 LILO 설치를 추천하는 곳이다. MBR은 컴퓨터 BIOS에 의해서 자동적으로 적재되는 하드 드라이브의 특별한 영역이며 LILO가 부팅 과정을 통제할 수 있는 가장 처음의 위치이다. LILO를 MBR에 설치한다면 시스템이 부팅될 때 LILO는 "boot:" 입력 대기 상태를 나타낼 것이다; 그러면 레드햇 리눅스로 부팅을 하던지 부팅하도록 LILO에 설정한 다른 운영체제로 부팅할 수 있다.

root 분할 영역의 첫 번째 섹터

시스템에 OS/2의 부트 관리자와 같은 또다른 부트 로더를 이미 사용하고 있는 경우에 설치를 추천하는 곳이다. 이 경우에는 다른 부트 로더가 먼저 로더를 통제한다. 다른 운영체제의 부트 로더의 환경을 설정하여 부트 로더가 LILO를 시작하도록 할 수 있다(그러면 레드햇 리눅스를 부팅할 수 있게 된다).

LILO를 설치하고자 하는 방식을 선택할 수 있는 대화 상자가 나타날 것이다(그림 5.16 참고). LILO를 설치하고자 하는 위치를 선택한 후 OK를 누른다. LILO를 설치하고 싶지 않다면 Skip을 누른다.

그림 5.16 LILO 설치

5.9.1 LILO 부트 명령행에 선택 사항 추가하기

다음으로 설치 프로그램은 LILO 부트 명령에 기본 선택 사항을 추가할 것이지 물어보게 된다(그림 5.17 참고). 입력한 선택 사항 중 어떤 선택 사항은 부팅할 때마다 리눅스 커널로 전달된다. 2.3.1절에서 컴퓨터의 BIOS 설정을 조사해서 만일 컴퓨터가 하드 드라이브를 LBA 모드로 접근한다면 linear 모드를 사용하는지 체크한다. 끝나면 OK를 선택하고 [Space]를 누른다.

그림 5.17 LILO 선택 사항

마지막으로 설치 프로그램은 그림 5.18과 같은 화면을 보여줄 것이다. 다른 운영체제가 사용하는 분할 영역을 포함해 부팅 가능한 모든 분할 영역이 나열된다. 레드햇 리눅스 시스템의 root 파일 시스템을 포함하고 있는 분할 영역의 □Boot label□ 행은 linux라는 단어가 들어가게 될 것이다. 다른 분할 영역도 역시 부트 라벨을 가질 수도 있다. 다른 분할 영역에 부트 라벨을 추가하려 한다면(또는 기존의 부트 라벨을 변경하려 한다면), 화살표 글쇠를 이용하여 고치고자 하는 분할 영역을 반전시킨다. 그 다음 탭 글쇠를 이용하여 Edit 단추를 선택하고 스페이스를 누른다. 그러면 분할 영역의 부트 라벨의 입력/수정을 허용하는 작은 대화 상자를 보게 될 것이다. 완료되면 Ok를 누른다.

※참고사항 : □Boot label□ 행의 내용은 LILO Boot: 입력 대기 상태에서 원하는 운영체제로 부팅하기 위해 입력해야 할 내용이 될 것이다. 그러나 만일 시스템에 정의된 부트 라벨을 잊었을 때 정의된 부트 라벨의 목록을 보기 위해서는  LILO Boot: 입력 대기 상태에서 "?"를 누르면 된다.

그림 5.18 부팅 가능한 분할 영역 선택

또한 □Default□라고 라벨이 붙은 곳도 있다. 이 행에서는 오직 하나의 분할 영역만이 □*□를 포함할 수 있다. 기본 값으로 표시된 분할 영역은 LILO가 사용자의 입력이 없으면 기본적으로 부팅을 하는 분할 영역이다. 초기 값으로 레드햇 리눅스를 설치한 root 분할 영역이 기본 값으로 선택된다. 이것을 바꾸고 싶다면 화살표 글쇠를 사용하여 기본 값으로 지정하고 싶은 분할 영역을 반전시키고 [F2]를 누른다. □*□가 선택된 분할 영역으로 옮겨가게 될 것이다. 끝나면 Ok를 선택하고 스페이스를 누른다.

5.9.2 LILO의 대체

레드햇 리눅스로 부팅을 하는데 LILO를 사용하고 싶지 않다면 LILO를 대신할 수 있는 몇 가지 방법이 있다.

부트 디스켓 - 설치 프로그램에 의해 만들어진 부트 디스켓을 사용할 수 있다.

LOADLIN - MS-DOS에서 리눅스를 적재할 수 있다. 불행히도 리눅스 커널(SCSI 어댑터를 가지고 있다면 초기화 램 디스크(initial ram disk)도 필요)의 복사본이 MS-DOS 분할 영역에서 이용할 수 있어야 한다. 이를 할 수 있는 유일한 방법은 다른 방법(예를 들어 디스켓의 LILO로 부팅)을 이용해 레드햇 리눅스 시스템으로 부팅을 해서 커널을 MS-DOS 분할 영역으로 복사하는 방법뿐이다. LOADLIN은 ftp://sunsite.unc.edu/pub/Linux/system/boot/dualboot/와 sunsite의 다양한 미러 사이트에서 구할 수 있다.

SYSLINUX - LOADLIN과 매우 비슷한 MS-DOS용 프로그램이다. 이 프로그램도 역시 ftp://sunsite.unc.edu/pub/Linux/system/boot/dualboot/와 sunsite의 다양한 미러 사이트에서 구할 수 있다.

상용 부트 로더 - System Commander는 리눅스를 부팅할 수 있다(하지만 여전히 LILO가 리눅스 분할 영역에 설치되어 있어야 한다).

5.10 마치면서.

LILO 설치를 끝마치면, 설치 프로그램은 시스템을 시스템 재 부팅하다 준비하도록 알려준다(그림 5.19 참고). 플로피 디스크 드라이브에 있는 디스켓을 제거한다(그렇지 않고 LILO 설치를 건너뛰었다면 설치 중에 만든 부팅 디스켓을 사용해야 할 것이다).

그림 5.19 재 부팅 준비

컴퓨터의 일반적인 부팅 절차가 완료되었다면, □boot: □라는 LILO의 표준 출력을 볼 수 있어야 한다. □boot: " 입력 대기 상태에서 다음 중 한 가지를 할 수 있다.

ㅇ [Enter]를 누른다 - LILO의 기본 부팅 OS를 부팅한다(그림 5.18의 대화 상자에 보여짐).

ㅇ 부팅 라벨과 [Enter] - 입력된 부팅 라벨과 관련된 OS를 부팅하도록 한다.

ㅇ 아무 것도 입력하지 않음 - LILO 시간초과 기간 후에 (기본 값으로 5초) LILO는 자동적으로 기본 부팅 OS를 부팅한다.

레드햇 리눅스를 부팅하기 위해서 적당한 것을 선택한다. 한 페이지 분량 또는 그 이상 분량의 화면이 스크롤 된다. 마침내 login: 입력 대기 상태를 볼 수 있을 것이다.

축하한다! 레드햇 설치가 완료되었다. 다음으로 무엇을 해야할 지 모를 경우에는 6 장을 보기 바란다.

6. 이제 무엇을 할 것인가?

이제 레드햇 리눅스 설치가 끝났고, 은근히 걱정이 될 것이다.  이제 무엇을 해야 할 것인가? 이장은 이러한 생각을 하는 사용자를 위해 몇 가지 기본적인 작업 방법을 설명할 것이다.  먼저 레드햇 리눅스 시스템을 올바르게 기동하고 멈추게 하기 위해 알아야 할 사항을 설명할 것이다.  다음으로 몇몇 중요한 설치 설정 방법을 설명할 것이고, 여러분은 곧 원하는 데로 레드햇 리눅스 시스템을 설정할 수 있게 될 것이다.  먼저 자세한 내용을 설명하기 이전에 문서 활용에 대해 알아보자.

6.1 여러분에게 알맞은 문서 구하기

2.1 절에서 언급한 것처럼, 여러분의 리눅스 경험 수준에 적당한 문서를 확보하는 것은 중요하다.

그 이름이 의미하는 것처럼, 공식 레드햇 리눅스 5.2 사용 설명서는 단지 여러분의 시스템에 레드햇 리눅스를 설치하는 안내서 일 뿐이다. 우리는 이 책에서 여러분이 레드햇 리눅스 시스템을 수행하는 데 필요한 정보를 제공하기 위해 많은 노력을 기울였지만, 사용 설명서 안에서 모든 것을 설명할 수는 없으며, 하나의 주제를 제대로 설명하기 위해서는 천 쪽 분량으로도 부족할 것이다.  아울러, 그렇게 되면 더 이상 □사용 설명서□가 아니기 때문에 제목도 변경해야 할 것이다.

대신, 2.1 절에서 논의한 관련 범주를 살펴보고, 여러분이 필요로 하는 문서에 대해 보다 자세하게 알아보자.  먼저 사용 경험 수준을 기준으로 설명한다.  기본적으로 세 가지의 기본 범주를 살펴본다.

리눅스 초보자 - 전에 리눅스나 리눅스와 비슷한 운영체제를 사용해보지 않은 사용자, 또는 리눅스를 제한적으로 접해본 사용자.  윈도와 같은 다른 운영체제를 사용한 경험이 있거나 또는 없는 사용자. 여기에 해당한다면 6.1.1 절을 보기 바란다.

약간의 리눅스 경험자 - 이전에 (레드햇이 아닌) 리눅스를 설치하여 사용해온 사용자. 또는 다른 리눅스와 비슷한 운영체제를 사용해본 경험이 있는 사용자. 여기에 해당한다면 6.1.2 절을 보기 바란다.

전문가 - 이전에 레드햇 리눅스를 성공적으로 설치하여 사용해오고 있는 사용자.  여기에 해당한다면 6.1.3 절을 보기 바란다.

6.1.1 리눅스를 처음 접하는 사용자를 위한 문서

□천리 길도 한 걸음부터 시작한다.□ 이 속담은 대부분의 경우에 적용된다.  물론, 레드햇 리눅스 시스템을 배우는 데에도 적용된다.  리눅스 시스템을 효율적으로 배우는 일은 긴 시간을 요구할 수 있으며, 여행할 만한 가치가 있다.  다른 운영체제도 마찬가지이지만 쉽게 배울 수 있다고 생각하는 것은 꿈일 뿐이다.  모든 여행이 마찬가지겠지만, 어느 지점에서 출발하기로 하였다면, 첫 걸음을 내디디게 된다.

첫걸음에서 필요한 것은 여러분 스스로 몇 가지 문서를 구하는 것이다.  이것은 아무리 강조해도 지나치지 않다.  관련 문서를 구비하지 않는다면, 레드햇 리눅스 시스템에서 원하는 데로 작업하는 데에 필요한 능력을 갖추지 못해 실망하게 될 뿐이다.

여기에서 꼭 찾아보아야 리눅스 문서와 관련된 내용을 설명한다.

리눅스의 간단한 역사 - 리눅스의 많은 모습은 역사적인 전례에 따라 형성된 것이다.  또한 리눅스 문화는 과거 역사상의 원대한 이상에 기반하고 있다. 리눅스 역사에 대한 기본적인 지식은 사용자가 리눅스 시스템을 잘 활용하는 데 도움을 주게 된다.  특히, 인터넷 상에서 자신보다 경험 많은 리눅스 사용자와 서로 상호 영향을 주고받을 때 더욱 그렇다.

리눅스에서 작업을 하는 방법을 설명한 문서 - 대부분 난해하고 어려운 리눅스 커널을 탐구할 필요는 없으며, 리눅스가 상호 작용하는 법에 대해 알아두면 많은 도움이 된다.  이것은 다른 운영체제로 작업을 해왔다면 특히 중요하며, 컴퓨터의 작동원리에 대해 알고 있는 기본적인 몇 가지 가정은 리눅스에 적용할 수 없을 것이다.  리눅스의 작동원리(그리고 이전에 사용해왔던 다른 운영체제와의 차이점)에 대해 설명하는 몇몇 항목은 레드햇 리눅스 시스템을 잘 사용하는데 가치를 헤아릴 수 없는 도움을 줄 것이다.

기본 명령 개요 - 리눅스 문서를 이해하는 데에 가장 중요하다고 볼 수 있다.  리눅스 설계 철학은 전체작업을 간단히 해치우는 적은 수의 큰 명령어 대신에 여러 개의 작은 명령을 여러 가지 방법으로 서로 다르게 연결 사용하여 처리하는 것이 더 낫다는 판단이 깃들여 있다.  그리고 리눅스를 배우는 데 필요한 여러 가지 예제가 없어도, 이미 설치한 레드햇 리눅스 시스템 상에 수많은 명령어들이 즉시 사용 가능하므로 쉽게 찾을 수 있을 것이다.

여러분이 레드햇 리눅스 시스템을 어느 정도 사용해본 경험이 있다면, 깊이 있는 정보를 필요로 할 것이다.  이러한 부분에 도움을 주는 문서의 종류에 대해 설명하는 다음절을 계속 읽어나가기 비란다.

6.1.2 리눅스를 조금 사용해본 사용자에게 적합한 문서

다른 리눅스 배포판을 사용해오고 있다면, 자주 사용되는 명령어에 대한 기본적인 개념을 알고 있을 것이다.  굳이 레드햇 리눅스 시스템이 아니라 하더라도 자신만의 리눅스 시스템을 설치할 수도 있으며, 인터넷에서 소프트웨어를 내려 받아 사용에 적합하도록 만들 수 있을 것이다.  여러분에게는 어떠한 정보가 필요할까?

사용 가능한 명령어에 대한 광범위한 목록 - 멘 페이지에서 이러한 종류의 온라인 정보를 찾을 수 있다. 책으로 된 것을 원한다면, 서점에서 여러 가지 종류의 도서를 판매하고 있다.  레드햇은 리눅스 명령어 완벽 참고서(원제: Linux Complete Command Reference)를 판매하고 있다.  이 책은 수백 가지의 명령어에 대한 매뉴얼 페이지가 들어 있으며, 여기에는 시스템 호출, 파일 형식 등을 비롯한 많은 항목에 대해 쉽게 읽을 수 있도록 구성되어 있다.  그리고 시디롬에는 포괄적인 색인과 책의 검색 버전이 들어있다.  이 책은 다음의 분야에서 읽을 가치가 있다.

- 특정 작업에 적합한 명령어 찾기

- 명령어를 알맞게 사용하는 방법 배우기

작업 기반 정보 - 여러분은 자주 레드햇 리눅스 시스템을 확실한 방법으로 구성하기를 원하고 싶겠지만, 처음부터 그러기는 쉽지 않다. 이 경우에, 해당 상황에 맞는 다른 문서를 찾아보는 것이 종종 큰 도움이 될 것이다.  여기에는 예를 들면, 리눅스 문서 프로젝트(LDP라고 한다)에서 발행한 다양한 문서들이 있으며, 편리하게 배포판에 기본으로 따라온다.  각각의 HOWTO 문서는 리눅스의 특정한 측면, 즉 저 수준 커널에 관한 심오한 내용에서부터 아마추어 라디오 방송에 리눅스 사용하기와 같은 문서들이 포함되어 있다.

레드햇 리눅스를 설치할 때 여러 개의 howto 패키지 중에서 하나를 선택하였다면, /usr/doc/HOWTO에 HOWTO 문서가 들어가 있을 것이다.  또한, 출력하기 좋도록 준비된 문서를 원한다면, 레드햇 소프트웨어가 Linux Undercover를 판매하고 있는데, 이것은 인기 좋은 LDP 문서의 대부분을 요약한 것이다.

6.1.3 리눅스 전문가가 볼 만한 문서

오랜 시간 동안 레드햇 리눅스를 사용해온 사용자라면, 다음과 같은 말을 많이 들어보았을 것이다.

힘을 사용하라 - 소스를 읽자!

여러분 중에서는 자리에 앉자마자 프로그램을 이해하기 위해 바로 소스를 살펴보는 사용자도 있을 것이다.  다행히도, 리눅스의 본바탕은 자유롭게 사용할 수 있도록 되어 있기 때문에, 소스를 구하기가 무척 쉽다.  이제 남은 것은 소스를 이해하는 것뿐이다.

지금까지 시스템 사용에 필요한 문서의 종류와 역할을 살펴보았다.  이제, 시스템 업무를 수행하는 데 필요한 가장 공통되는 내용을 살펴보자.

6.2 기본 시스템 작업

대부분의 사람들이 윈도우 3.1에서 윈도우 95로 판올림할 때를 기억하는가?  한동안 사람들은 자신들이 1년 동안 3.x에서 해왔던 작업을 윈도우 95에서 똑같이 하는 방법을 알아내느라 허둥거렸다. 이와 별로 다를 바 없다. 리눅스는 처음 사용하지만 다른 운영체제를 사용한 경험이 있다면, 지금까지 해왔던 일을 다른 방법으로 조절하는 게 필요할 것이다. 몇몇 작업은 아주 비슷할 수도 있고, 다른 작업은 전혀 다를 수도 있으며, 어떤 작업은 여러분들이 전에 해왔던 일과 다소 다른 것일 수도 있다.

6.2.1 레드햇 리눅스 시스템으로 부팅하기

레드햇 리눅스가 수행되는 컴퓨터를 얻기 위해 필요한 절차는 여러분들이 사용하기에 따라 다소 바뀔 수 있다.   컴퓨터에 다른 운영체제가 설치되어 있지 않다면, 전원만 켜고 기다리고 있으면, 'LILO'라는 단어가 나타나면서 시스템이 잠시 멈추게 될 것이다.  하지만 곧 계속 진행되어서 상당한 양의 낯선 메시지가 출력될 것이다.

하지만, 컴퓨터에 레드햇 리눅스와 다른 운영체제가 공존한다면, 부팅을 위해서는 다음 중 하나의 작업을 해야 할 것이다.

LILO 입력 대기 상태에서 레드햇 리눅스를 선택하기 - 여러분이 LILO 설치를 선택하였다면, 다른 운영체제가 들어있는 분할 영역에 대한 부트 라벨을 입력하였을 것이며, 이중 부트로 구성되어 있을 것이다.  이 이야기는 LILO Boot: 입력 대기 상태에서 부팅하기를 원하는 운영체제의 이름을 입력할 수 있다는 것이다.  LILO 입력 대기 상태에서 [Tab] 글쇠를 누르면, LILO가 부팅할 수 있는 운영체제의 이름이 나타날 것이다.  이를 위해서는 레드햇 리눅스 설치 시에 항목을 적절히 선택하고, 전원을 내린 다음 다시 올리면 된다.

디스켓으로 부팅하기 - 레드햇 리눅스를 설치할 때, 부트 디스켓을 만들었다면, 리눅스를 부팅하기 위해서 디스켓을 사용할 수 있다.  먼저, 컴퓨터의 첫 번째 디스켓 드라이브에 해당 디스켓이 제대로 끼워졌는지를 확인한다.  그리고 전원을 올리거나, 리셋 단추를 누르거나, [Ctrl], [Alt], [Del] 글쇠를 동시에 눌러서 부팅 과정을 시작한다.

6.2.2 로그온과 로그아웃하기

레드햇 리눅스가 부팅되었다면, 화면에 다음과 비슷한 메시지가 나타날 것이다.

Red Hat Linux release 5.2 (Apollo)

Kernel 2.0.36 on an i586

login:

마지막 줄에서 짐작할 수 있듯이, 이제 로그인 할 차례이다.

6.2.2.1 로그인 하기

처음으로 레드햇 리눅스 시스템에 로그인 하면, □root'로 로그인 하게 될 것이다.  이것은 시스템의 모든 것에 접근할 수 있는 사용자 계정의 이름이다.  보통, root 계정은 가령 새로운 사용자 계정의 생성이나 시스템 종료와 같은 시스템 관리 작업등에만 사용한다.  왜냐하면 root의 무제한 접근은 명령을 잘못 입력하였을 경우에 시스템을 엉망으로 망가뜨릴 수 있기 때문이다. root로 로그인 하였을 경우에는 조심하여야 하며, root 계정은 꼭 필요할 경우에만 사용하여야 한다.

로그인 하기 위해서는 login: 입력 대기 상태에서 root를 입력하고 [Enter] 또는 [Return] 글쇠를 누른다.  Password: 입력 대기 상태가 나타나면 5.7 절에서 입력한 것과 동일한 암호를 입력해야 한다.  다음 [Enter]를 누르면 다음과 비슷한 내용을 보게 될 것이다.

[root@bigdog /root] #

축하한다.  이제 로그인에 성공하였다.  다음에는 로그아웃 하는 방법을 배울 차례이다.

6.2.2.2 로그아웃 하기

레드햇 리눅스 시스템에서 작업을 마쳤다면 이제 로그아웃 하여야 한다.  수많은 쉘에 logout 명령이 있지만, 대부분의 사람들은 [Ctrl]-[D]를 간단히 입력한다.  이제 레드햇 리눅스 시스템을 부팅하였을 때 보았던 로그인 입력 대기 상태가 다시 나타날 것이다.

※참고사항: X 윈도우 시스템을 사용하고 있다면, X를 어떻게 시작하였는가에 따라 로그아웃 절차가 약간 다를 수 있다.  이 내용에 대한 자세한 이야기는 나중에 하기로 한다.

로그인 하는 방법을 알았다면, 이제 다음으로 넘어가자.

6.2.3 계정과 암호

앞에서 이야기했듯이, 항상 root 계정을 사용하는 것은 좋은 생각이 아니다.  필연적으로 실수를 한번쯤은 하게 될 것이고, 여러분을 보호하기 위해 보통 시행되는 접근 검사는 무용지물이 될 것이다.

root로 로그인 하지 않는다면, 누구로 로그인 하여야 할까? 물론, 여러분 자신이다. 하지만 이렇게 하기 위해서는, 사용자 계정을 레드햇 리눅스 시스템에 추가하는 방법을 배워야 한다.

6.2.3.1 계정

계정을 새롭게 만드는 방법에는 여러 가지가 있다.  여기서는 useradd 명령을 사용하는 기본적인 방법을 설명할 것이다.  물론, 계정을 만들기 위해서는 root 상태에서 명령을 입력해야 한다.

[root@bigdog /root]# useradd blarg

[root@bigdog /root]#

너무 간단하게 끝이 나 버린다.  일단 로그인을 시도해보기로 한다.

Red Hat Linux release 5.2 (Apollo)

Kernel 2.0.36 on an i586

login: blarg

Password:

Login incorrect

login:

blarg의 암호가 무엇인지 알 길이 없어서 그냥 [Enter]만 입력하였다.  새로운 계정에서 사용할 암호를 지정하는 방법을 알아보자.

6.2.3.2 암호

passwd 명령은 다음 용도로 사용할 수 있다.

ㅇ 새롭게 만드는 사용자 계정에서 사용할 암호를 지정한다.

ㅇ 이미 있는 계정의 암호를 변경한다.

ㅇ 로그인한 계정의 암호를 변경한다.

처음 두 개의 시나리오는 실제로 하나이고 동일한 것으로, 처음 만드는 계정이나 수년동안 있어왔던 계정이나 passwd 명령을 사용하는 방식이 동일하다.  암호 생성 또는 변경 작업을 하기 위해서는 root로 로그인하여야 하며, 변경하고자하는 암호를 가진 계정 이름을 지정해야 한다.  방금 전의 예에서 만든 계정을 사용하여 암호를 부여해보자.

[root@bigdog /root]# passwd blarg

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully

[root@bigdog /root]#

쉽게 추측할 수 있듯이, 입력하는 암호는 출력되지 않는다.  암호는 입력할 때의 실수를 방지하기 위하여 두 번 입력해야 한다.  새롭게 만든 계정으로 다시 로그인 해보자.

Red Hat Linux release 5.2 (Apollo)

Kernel 2.0.36 on an i586

login: blarg

Password:

[blarg@bigdog blarg]

계정으로 로그인 하였다면, 계정 이름을 사용하지 않고도 해당 계정의 암호를 passwd 명령을 사용하여 변경할 수 있다. 이 경우에는 해당 계정의 현재 암호를 물어볼 것이고, 이어서 새로운 암호를 물어볼 것이다.

[blarg@bigdog blarg] passwd

Changing password for blarg

(current) UNIX password:

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully

[blarg@bigdog blarg]

6.2.3.3 su 명령어

리눅스 시스템을 사용하다보면 작업 중 잠시 다른 사용자로 로그인하여 명령을 사용해야 할 경우가 있다.  보통 시스템 관리자는 이러한 경우가 종종 있게 마련이고, 아울러 (모든 훌륭한 시스템 관리자가 다 그렇겠지만) 개인적이고, 별다른 권한이 없는 일반 계정을 주로 사용할 것이다.  사용자의 암호를 변경하거나 시스템 파일상의 권한을 수정해야 할 필요가 있을 것이다.  이러한 작업은 1분도 채 걸리지 않는데, 로그아웃해서 root로 로그인 한 다음 필요한 작업을 수행하고, 로그아웃하고, 마지막으로 다시 관리자의 개인 계정으로 로그인 하는 과정을 거칠 수 있다.

보다 간단한 방법은 su 명령어를 사용하는 것이다.  su를 사용하면, 현재 로그인 세션에서 root나 다른 사용자의 로그인 세션으로 들어갈 수 있다.  다음 예에서 볼 수 있듯이 사용자 blarg는 root로 들어가 몇 가지 필요한 작업을 할 것을 결정하기로 했다고 하자.

[blarg@bigdog blarg] su

Password:

[root@bigdog blarg]#

위에서 알 수 있듯이, su 명령을 사용하면, root 암호를 물어보게 된다.  암호를 올바로 입력하면 보통의 쉘 입력 대기 상태가 출력된다.  하지만 이때 나타나는 쉘 입력 대기 상태는 조금 다르다는 것을 알 수 있다.  입력 대기 상태가 root로 시작한다는 것은, 현재 사용자가 바뀌었다는 것을 뜻한다.  다른 차이점은 종료 문자로서, $ 기호에서 # 기호로 바뀌었다는 것이다.  이것은 쉘이 root로 수행되는 여부를 나타내는 전통적인 방법이다.

su 명령을 사용하여 다른 사용자로 들어가는 것도 가능하다.  이렇게 하기 위해서는, 다른 사용자의 계정 이름을 su 명령 다음에 지정하면 된다.  가령 blarg 사용자가 되기 위해서는 su blarg명령을 사용하면 된다.  여러분의 계정에서 su 명령을 사용한다면, 되기를 원하는 사용자의 암호를 알아야 한다(위의 예에서는 사용자 blarg의 암호가 필요하다).  하지만 root로 이미 들어가 있다면, 암호는 필요하지 않다.

su 명령이 대부분의 리눅스 사용자에게 시스템 관리자가 되게 해준다는 면에서 여러분들에게 편리하게 느껴질 것이다.

6.2.4 레드햇 리눅스 시스템의 종료

레드햇 리눅스 시스템의 사용을 마쳤다면, 시스템을 종료하여야 할 것이다.  이 작업은 단순히 전원 스위치를 누르는 것보다 다소 복잡하다.  그 이유는 다음과 같다.

시스템을 종료하기 위한 준비를 할 때, 그냥 프로그램만 수행하지 않는다고 되는 것은 아니다.  왜냐하면 레드햇 리눅스 시스템에는 사용자가 직접 수행하지는 않았지만 시스템의 운영을 위해서 수행되는 프로그램이 많이 있기 때문이다.  이 이야기가 무슨 뜻인지를 알기 위해서 다음 명령을 사용해보자.

ps ax

ps 명령을 사용했을 때 나타나는 각각의 줄은 프로세스를 나타낸다.  각각의 프로세스를 □수행중인 프로그램□으로 볼 수 있다.  각각의 프로세스가 파일 관련 작업을 하고 있는 과정에, 컴퓨터 전원 스위치를 내려버리면, 이 프로세스는 파일을 닫을 시간을 가지지 못하고, 수행을 종료하는 정리 과정을 가지지 못하게 된다.  시스템을 종료할 때, 이러한 작업중인 모든 프로세스에게 정리 후 종료할 것을 지시하는 몇 가지 방법이 필요할 것이다.  이 작업은 보통 shutdown 명령을 통해 이루어진다.

shutdown 명령은 root 만이 수행할 수 있으며, 따라서 여러분은 root 사용자로 로그인하거나 su 명령을 통하여 root 가 되어야 한다.  shutdown 명령의 기본 형식은 다음과 같다.

shutdown <선택 사항> <시간>

※참고사항: shutdown 명령은 /sbin 에 존재한다.  여러분의 PATH에 /sbin 이 포함되어 있지 않다면, (/sbin/shutdown -h now와 같이) 전체 경로를 지정해야 한다.

대부분의 경우에, 다음 중 하나의 선택 사항을 사용한다.

-h - 종료가 완료되면 시스템을 정지시킨다.

-r - 종료가 완료되면 시스템을 다시 부팅시킨다.

이러한 선택 사항을 포함하지 않고 shutdown 명령을 사용하면 시스템은 단일 사용자 모드로 들어간다.  단일 사용자 모드로 들어가야 하는 이유를 알지 못하더라도, 단일 사용자 모드로 들어갈 필요는 느끼지 못할 것이다.  간단한 종료 명령을 (-h나 -r 선택 사항을 함께) 사용한다면 보통 완벽하게 시스템이 종료될 것이다.

shutdown 명령은 시간 측면에서 상당한 유연성을 제공한다.  바로 시스템을 종료하고 싶다면, 'now'를 사용하면 된다.  지금으로부터 5분 뒤에 시스템을 종료하고자 한다면, □+5□를 지정하면 된다.  따라서, 다음과 같은 명령은 □지금으로부터 15분 뒤에 시스템 종료를 하고, 종료가 완료되면 시스템을 다시 부팅하라□는 뜻이다.

shutdown -r +15

shutdown 에는 유용한 더 많은 선택 사항을 가지고 있는데, 여기서는 기본적인 간단한 종료만을 수행하는 것만 알아보았다.  좀더 자세히 알고 싶으면, man shutdown 명령을 사용하면 보다 많은 기능에 대해서 배울 수 있다.

6.3 X 윈도우 시스템

여러분이 처음 로그인하면 문자 기반 인터페이스를 사용하게 되겠지만, 사용자들은 그래픽 기반 사용자 인터페이스를 더 좋아한다.  리눅스 시스템에도 X 윈도우 시스템이라는 그래픽 사용자 인터페이스가 있다.

X를 수행하기 위해서는 먼저 필요한 패키지를 설치해야 한다.  레드햇 리눅스의 설치 시에 "X Window System" 컴포넌트를 설치하도록 선택하였다면, X를 수행할 모든 준비가 완료된 것이다.  다른 경우에는, 6.3.2 절을 참고하기 바란다.

6.3.1 X를 설치하지 않았을 경우

레드햇 리눅스의 설치 시에 "X Window System" 컴포넌트를 선택하지 않았다면, 여러분의 시스템에는 필요한 소프트웨어가 설치되지 않을 것이다.  필요한 패키지를 수동으로 설치하는 것도 가능하지만, 여러분이 리눅스 초보자일 경우 필요한 소프트웨어를 설치하기 위해 시스템 전체를 다시 설치할 수도 있다.

6.3.1.1 XFree86 구성

시스템에서 XFree86을 설정하는 데는 세 가지 방법이 있다.

ㅇ Xconfigurator 사용

ㅇ xf86config 사용

ㅇ 완전 수동으로 설정

Xconfigurator와 xf86config는 동일한 역할을 수행하며, 둘 다 잘 작동한다.  이러한 과정에 대해 자신이 없다면, 부가적인 훌륭한 소스 문서가 다음에 있다.

http://www.xfree86.org

Xconfigurator는 전체화면 메뉴 방식 프로그램으로 X 서버 설정에 사용된다.  xf86config는 줄 문자 기반 프로그램으로 XFree86에서 배포하는 것이다. xf86config 사용방법이 Xconfigurator를 사용하는 것만큼 쉽지는 않지만, 구색을 맞추기 위해서 들어있다.  이러한 설정 도구를 사용했는데도 불구하고 XF86Config 파일을 만드는 데 실패하였다면, 사용자가 현재 지원되지 않는 카드를 가지고 있을 가능성이 크거나, 또는 설정 파일을 직접 손으로 작성하여야 할 경우이다.  보통 전자일 경우가 많은데, 이럴 경우에는 설정 파일을 작성하기 이전에 여러분의 카드가 지원되는지 확인할 필요가 있다.  해당 카드를 XFree86에서 아직 지원하지 않는다면 상용 X 서버를 사용해 보는 것을 고려해보는 것도 좋다.  여러분의 비디오 카드가 지원되는지의 여부를 알아보려면 XFree86의 http://www.xfree86.org에서 정보를 검사해보는 것이 좋다.

X 서버

여러분이 선택한 비디오 카드를 설치 시에 지원한다면, 그에 적합한 X 서버가 설치되었을 것이다.  이후에 Xconfigurator나 xf86config를 수행할 때, 동일한 비디오 카드를 선택하여야 하며, 그렇지 않으면 자동 인식을 하지 못할 것이다. 시스템의 비디오 카드에 맞지 않는 X 서버가 설치되었다는 생각이 든다면, 설정 이전에 다시 바로 설치하여야 한다.  예를 들면, CD가 /mnt/cdrom에 마운트되어 있다면, S3 서버를 설치하기 위해서는, 다음의 명령을 사용하면 된다.

cd /mnt/cdrom/RedHat/RPMS

rpm -ivh XFree86-S3-3.1.2-1.i386.rpm

ln -sf ../../usr/X11R6/bin/XF86S3 /etc/X11/X

이제 S3 서버가 설치될 것이고 심볼릭 링크가 만들어질 것이다.

Xconfigurator

X 윈도우를 설정하기 위해서는 먼저 비디오 카드를 선택해야 한다.  지원 카드 목록에서 기계에 장착된 카드와 맞는 것이 나올 때까지 아래로 끌어내린다.  하드웨어에 적합한 비디오 서버를 결정하는데 그림 6.1이 도움이 될 것이다.  카드가 목록에 나타나지 않는다면, XFree86에서 지원되지 않기 때문이다.  이 경우에 목록에서 마지막 카드 항목(Unlisted Card)을 선택하거나 상용 X 윈도우 서버를 구입할 수도 있다.

다음 단계는 사용자의 시스템에 맞는 모니터를 선택하는 것이다.  사용자의 모니터가 목록에 나타나지 않는다면, 일반 모니터 항목 중 하나를 선택하거나 □Custom"을 선택하여 사용자의 시스템에 적합한 매개인자를 입력할 수 있다.  사용자 설정 모니터 구성은 CRT 화면의 내부 원리를 이해하는 경우에만 추천한다.  보통의 사용자는 목록 중에서 하나를 선택하는 것이 좋다.  모니터를 선택하였다면, 시스템에 비디오 메모리가 얼마만큼 장착되어 있는지 Xconfigurator에게 알려줘야 한다.  역상 커서를 해당 목록 항목으로 움직여서 [Enter]를 누르거나 [F12]를 눌러 계속 진행한다.  다음 단계는 기본 값(No Clockchip Setting) 선택을 권장하지만, 경험 많은 사용자는 특정 클럭칩을 선택할 수도 있다.

서버 선택

비디오 카드에 어떤 칩이 장착되어 있는지 확실하지 않다면, 가장 좋은 방법은 카드를 자세히 살펴보는 것이다.  그림 6.1은 해당 서버에 대응하는 칩셋과 보드의 목록을 나타낸 것이다.  시스템의 하드웨어와 가장 잘 맞는 것을 하나 선택하기 바란다.

정리하기

이후에 모니터의 갱신률을 증가시키고 싶다면, 설정파일을 손으로 직접 편집하거나 Xconfigurator를 다시 수행하여 목록에서 사용자의 모니터 사양에 보다 잘 맞는 모니터를 선택할 수 있다.

마지막 구성 단계는 XF86Config 파일에 포함하기를 원하는 비디오 모드를 선택하는 것이다.  화살표 글쇠를 사용하여 커서를 이동시켜 각각의 색상 깊이(8, 16, 24비트)의 아래에 있는 목록으로 들어간다.  [Spacebar]를 사용하여 개별 해상도를 선택하고, [Tab] 글쇠를 눌러 색상 깊이 필드 사이를 이동한다.  원하는 비디오 모드를 선택하였다면 □OK" 단추에 커서를 이동시켜서 [Enter]를 누르거나, [F12]를 사용하면 빨리 진행할 수 있다.  X 서버를 시작하거나 종료할 때 화면에 나타나는 정보에는 선택한 비디오 모드에 대한 현재 정보가 들어있다.

서버	칩셋
8514	IBM 8514/A 기판과 그 복제품
AGX	모든 XGA 그래픽 기판
I128	#9 Imagine 128 (Series II 포함) 기판
Mach32	Mach32 칩셋을 사용하는 ATI 기판
Mach64	Mach64 칩셋을 사용하는 ATI 기판
Mach8	Mach8 칩셋을 사용하는 ATI 기판
Mono	모노크롬의 VGA 기판
P9000	Diamond Viper (9100제외) 와 기타 기판
S3	#9 기판, 대부분의 Diamond, 몇몇 Orchids, 기타
S3V	S3 ViRGE (DX, GX, VX 포함) 칩셋을 사용하는 기판
SVGA	Trident 8900 & 9400, Cirrus Logic, C & T, ET4000, S3 ViRGE, 기타
VGA16	모든 VGA 기판 (16 색상 지원)
W32	모든 ET4000/W32 카드, 표준 ET4000이 아닌 것은 제외

그림 6.1: XFree86 X 서버

6.3.2 이미 X를 설치하였을 경우

레드햇 리눅스를 설치할 때, □X Window System" 컴포넌트를 선택하였다면, 더 이상 설정할 것은 없다.  필요한 것은 X를 수행하는 것뿐이다.  X를 수행하는 것에는 다음의 두 가지 방법을 선택할 수 있다.

ㅇ 로그인한 다음 X를 수동으로 시작하기

ㅇ 시스템 부팅 시에 자동으로 시작하기

수동 과정부터 살펴보도록 한다.

6.3.2.1 X를 수동으로 시작하기

이미 설치한 레드햇 리눅스는 X를 자동으로 시작하지는 않는다.  따라서, 레드햇 리눅스 시스템을 처음 부팅하였다면 문자에 기반한 로그인 입력 대기 상태가 나타날 것이다.

X를 시작하려면, 먼저 로그인 하여야 한다.  root가 아닌 여러분의 개인 계정을 사용하는 것을 권장한다.  다음 startx 명령을 입력한다.  화면이 컴벅거리다가 잠시 후에 하나 이상의 창을 가진 그래픽 데스크탑이 나타날 것이다.  여러분이 보게될 데스크탑의 외양은 설치한 패키지와 다른 변수에 따라 무척 다양한 모습을 가질 것이다.

X에서 작업을 마쳤다면 X를 끝내고 싶을 것이다.  이때에는 마우스의 첫 번째 단추를 사용하여 데스크탑의 임의의 부분(정확히 말하면 창이 없는 화면의 일부분)을 눌러 "Exit Fvwm", "Quit" 또는 "logout" 메뉴 항목을 선택하면 X가 종료될 것이다.  이제 다시 원래의 문자 기반 쉘 입력 대기 상태가 나타날 것이다.  여기서는 보통 때처럼 로그아웃 할 수 있다.

6.3.2.2 X를 자동으로 시작하기

주의: X를 자동으로 시작하도록 만들기 전에, X 설정이 올바로 작동하는지를 검사하여야 한다.  이렇게 하지 않는다면, 레드햇 리눅스 시스템에 들어가는 것이 어려워 질 수가 있다.  설정을 아직 하지 않았다면 계속하기 전에 앞 절을 보기 바란다.

레드햇 리눅스 시스템을 설정할 때 부팅 시 X가 자동으로 시작하도록 구성할 수 있다.  이 방법으로 구성하면, xdm이 수행될 것이고, 그래픽 기반 로그인 화면을 보여줄 것이다.  로그인을 하면 startx 명령을 수동으로 사용했을 때처럼 일반적인 X가 수행될 것이다.  보기에도 산뜻하고 깔끔한 느낌이 들것이다.

이 작업을 어떻게 하는지 간단히 설명한다.

ㅇ telinit를 사용하여 xdm을 테스트하기

ㅇ /etc/inittab 편집하기

ㅇ 다시 부팅하기

각 단계를 보다 자세하게 살펴보자.

telinit를 사용하여 xdm을 테스트하기

telinit 명령은 레드햇 리눅스 시스템의 실행수준(run level)을 변경하는데 사용한다.  xdm을 시작할 것인 지의 여부를 포함한 시스템 작동의 다양한 측면을 규정하는 실행수준을 말한다.  새롭게 설치한 레드햇 리눅스 시스템은 실행수준 3을 기본 값으로 한다.  이 실행수준을 실행한 결과는 여러분이 본 적있는 문자 기반 로그인 입력 대기 상태이다.  여러분이 필요로 하는 명령인 xdm은 실행수준 5에서 시작된다.

/sbin/telinit 5

※참고사항: telinit를 사용하기 위해 root로 로그인할 필요성이 있다.  물론 레드햇 리눅스 시스템에서 실행수준을 변경할 때에는 그 작업 외에는 아무 것도 수행하지 말아야 한다.  왜냐하면 실행수준이 바뀔 때 이미 수행되던 프로그램은 모두 강제로 종료되기 때문이다.

모든 것이 적절히 구성되었다면, 약간의 지연 후에 X 데스크탑을 검사하면서 xdm 로그인 화면이 나타날 것이다.  xdm이 다시 나타나게 하려면 로그아웃을 하면 된다.  로그아웃을 한 후 xdm이 다시 나타나면, X를 자동으로 시작하도록 시스템이 올바로 구성된 것이다. 만일 문제가 발생한다면, telinit(정확히는 "/sbin/telinit 3") 명령을 사용하여 실행수준 3으로 되돌아가거나 시스템을 다시 부팅할 수 있다.

/etc/inittab 편집하기

/etc/inittab 파일은 시스템의 기본 실행수준을 결정한다.  기본 실행수준을 3에서 5로 바꾸려면, /etc/inittab 파일을 편집해야 한다.  적절한 편집기를 사용하여, /etc/inittab에서 다음 줄을 변경한다.

id:3:initdefault:

변경을 완료한 후에는, 다음과 같이 될 것이다.

id:5:initdefault:

※참고사항: 숫자 3을 5로 변경하는 것 이외에는 아무 것도 손대지 말기 바란다!  만일 다른 것까지 무심결에 변경하게 되면, 레드햇 리눅스 시스템은 전혀 부팅하지 못할 수도 있다!  올바로 수정하였다면, 편집기를 빠져나와서 손으로 작업한 것을 확인하기 위해 다음 명령을 사용해보자.

less /etc/inittab

([Space] 글쇠를 누르면 페이지가 넘어가고, [Q]를 누르면 종료한다.) 모든 것이 제대로 되었다면, 시스템을 다시 부팅한다.

다시 부팅하기

레드햇 리눅스 시스템을 올바로 다시 부팅을 하기 위해서는 6.2.4 절을 참고하기 바란다.  축하한다!  여러분들의 시스템은 이제 모두 그래픽 환경을 가지게 되었다.

6.3.2.3 데스크탑의 변경

wmconfig는 정말 유용한 프로그램이다.  이 프로그램을 사용하면 여러분의 데스크탑 모습을 쉽게 변경할 수 있다.  Preferences 메뉴 항목을 선택하여, (보통 윈도우 관리자라고 하는) 여러 다른 데스크탑 형식 중에서 하나를 선택할 수 있다.  화면을 사용자 자신에 맞게 꾸미고 싶으면, wmconfig의 매뉴얼 페이지를 읽어보기 바란다.

6.3.2.4 가상 콘솔과 X

X를 수행한다 하더라도, 일반적인 문자 기반 사용자 인터페이스를 사용할 수 있다.  레드햇 리눅스는 X가 수행되는 도중에도 가상 콘솔을 사용하기 때문이다.  가상 콘솔로 이동하기 위해서는, [Ctrl]-[Alt]-[Fn] 글쇠를 함께 사용한다.  여기에서 [Fn]은 처음 여섯 개의 기능 글쇠 중 어느 하나를 말한다.  가상 콘솔로 이동하면, 표준 로그인 입력 대기 상태가 나타날 것이며, 여기에서 로그인을 하여 아무 가상 콘솔이나 사용할 수 있다.

X로 다시 돌아가기 위해서는, [Ctrl]-[Alt]-[F7]을 누르면 된다.

※참고사항: 어떤 사람들은 X에서 글쇠를 다시 정의하여 사용한다.  이렇게 할 경우, X에 있을 경우에만 해당 X 글쇠 정의가 적용된다는 사실에 주의해야 한다.  이러한 X 글쇠 재 정의는 자신을 혼란에 빠뜨릴 수 있다.  예를 들어, X에서 [Ctrl]을 [Caps Lock] 글쇠로 정의한다면, X와 가상 콘솔 사이를 이동하기 위해서는 두 개의 서로 다른 글쇠를 사용해야 한다.

6.3.2.5 편리한 X용 도구

레드햇 리눅스를 처음 사용하는 사용자를 위해 보다 쉽게 사용할 수 있도록 도와주는 여러 가지 도구가 있다.  이 도구를 사용하면 root 접근이 필요한 작업, 또는 복잡한 명령어를 기억해야 수행할 수 있는 작업을 손쉽게 처리하도록 도와준다.  이들 프로그램을 수행하기 위해서는 X를 먼저 수행해야 한다.  따라서, X를 먼저 설정하는 것이 필요하다.  이러한 용도의 도구에는 다음과 같은 것들이 있다.

ㅇ 사용자 정보 도구 - 사용자 정보와 기본 계정 정보를 쉽게 갱신할 수 있도록 도와준다.

/usr/bin/userinfo를 수행하면 된다.

ㅇ 사용자 암호 도구 - 이 도구를 사용하면 암호를 간단하게 변경할 수 있다.  /usr/bin/userpasswd를 수행하면 된다.

ㅇ 파일 시스템 착탈 도구 - 파일 시스템을 간단히 붙이거나 떼어놓는다.  모든 사용자가 붙일 수 있는 파일 시스템은 반드시 /etc/fstab에서 user 선택 사항이 부여되어 있어야 한다(user 선택 사항에 대한 자세한 정보는 mount 매뉴얼 페이지를 보기 바란다).  /usr/bin/usermount 명령을 수행하면 된다.

ㅇ 네트워크 장치 도구 - 네트워크 인터페이스를 시작하거나 중단하는 작업에 이 도구를 사용하면 한 두 번만에 작업을 완료할 수 있다.  이 도구는 /usr/bin/usernet 명령이다.  usernet으로 모든 인터페이스를 제어하려면 모든 인터페이스들이 "user-controllable"로 구성되어야 한다. 이것은 netcfg를 수행하여 "Allow any user to (de)activate interface" 확인 상자를 선택함으로써 이루어진다.

6.4 레드햇 리눅스 시스템의 사운드 설정

새롭게 설치한 레드햇 리눅스 시스템에서 들을 수 있는 소리는 기본적으로 보통의 따분한 비프음이다.  사용자의 컴퓨터 시스템이 사운드 하드웨어를 가지고 있다면 레드햇 리눅스에서 작동하도록 해볼 수 있다.  (특히 인텔 시스템이 아닌) 몇몇 경우에도 커널을 다시 구성하여 사운드 지원이 제대로 동작하도록 만들 수가 있다.  하지만, 대부분은 모듈 형식의 사운드 구동기를 사용하는 것이 가능하다.

6.4.1 모듈 형식의 사운드 구동기

사운드 구동기 모듈은 알파 기반 시스템에서는 아직 지원하지 않는다.

알파

레드햇 리눅스 5.2에는 표준 OSS/무상 사운드 구동기 모듈 버전이 포함되어 있다.  이것을 사용하면 다양한 종류의 사운드 구동기를 커널을 재구성하거나 다시 부팅하지 않고도 커널에 올리거나 내릴 수 있다.

추가적인 정보를 보기 위해서는, rhsound 문서 디렉토리(/usr/doc/rhsound*)의 README 파일을 살펴보기 바란다.  가장 최신의 정보는 다음에서 찾을 수 있다.

ftp://ftp.redhat.com/pub/sound/

모듈 형식의 사운드 구동기와 관련되는 어떠한 사안이 있다면, sound-bugs@redhat.com으로 전자우편을 보내주기 바란다.  모듈 형식의 사운드 구동기와 관련된 메일링 리스트(sound-list@redhat.com)가 있다.  가입하려면, 편지 제목에 "subscribe"라는 단어를 넣어서 sound-list-request@redhat.com으로 전자우편을 보내주기 바란다.

6.4.1.1 사운드 카드의 인식

대부분의 사운드 카드는 사운드 구동기 모듈에서 인식되지만, 아래에 나열하는 사운드 카드용 구동기는 가장 먼저 개발되었으며, 따라서 충분히 테스트가 된 것이다.

Sound Blaster 1.0

Sound Blaster 2.0

Sound Blaster Pro

Sound Blaster 16

Sound Blaster 16 PnP

Sound Blaster AWE32/AWE64

6.4.2 사운드 카드 구성 도구

레드햇 리눅스 5.2에는 sndconfig라는, 모듈 사운드 카드 구동기를 적절히 구성할 수 있는 화면 기반의 유틸리티가 포함되어 있다.

sndconfig에 대해 몇 가지 알아야 할게 있다.

PnP 인식 - sndconfig를 사용하면 사운드 블라스터 16 PnP와 같은 PnP 사운드 카드를 자동으로 감지하여 구성할 수 있다.  구성 정보는 /etc/isapnp.conf 파일에 저장되며, 다른 PnP 장치에 사용되는 설정 정보도 여기에 저장된다.  구성 정보를 잃어버리지 않게 하기 위해서, sndconfig는 원래의 /etc/isapnp.conf 파일을 /etc/isapnp.conf.bak 파일로 저장한다.

/etc/conf.modules의 수정 - sndconfig는 모듈 구성 파일 /etc/conf.modules를 사운드 카드에 필요한 모듈 선택 사항에 관한 정보를 추가한다.  sndconfig는 원래의 /etc/conf.modules 파일을 /etc/conf.modules.bak 파일로 저장함을 기억하자. 여러분의 사운드 카드를 설정하기 위해서는, /usr/sbin/sndconfig 명령을 수행한다.  sndconfig를 수행하기 위해서는 root이어야 한다.  시스템에 PnP 사운드 카드가 장착되어 있다면, sndconfig는 그것을 식별하여 적절하게 구성할 것이다.

sndconfig를 사용하여 PnP 사운드 카드를 조사하고 싶지 않다면, sndconfig를 --noprobe 선택 사항을 함께 사용하여 실행한다.  사운드 카드를 수동으로 설정하려면, sndconfig를 수행할 때 --noautoconfig 선택 사항을 사용하면 된다.

sndconfig가 시스템에 장착된 사운드 카드를 자동으로 식별하지 못한다면 (또는 sndconfig를 --noprobe 선택 사항을 사용하여 실행한다면), 현재 보유하고 있는 사운드 카드의 종류를 선택하라는 메시지가 나올 것이다(그림 6.2 참조). 화면에 나타난 서로 다른 카드 목록에서 상하 화살표 글쇠를 사용하여 시스템에 있는 사운드 카드와 가장 잘 맞는 항목에 커서를 위치시킨다.

그림 6.2: 사운드 카드 유형 선택

sndconfig를 --noautoconfig 선택 사항을 사용하여 수행할 경우, 그림 54와 비슷한 화면이 나타날 것이다.  여기에서 시스템의 사운드 카드에 맞는 설정을 지정할 수 있다.  [Tab] 글쇠를 사용하여, 필드를 선택한다.  그리고 화살표 글쇠를 사용하여 해당 필드에서 원하는 설정을 선택한다.  끝났으면, Ok를 선택하고, [Space]를 누른다.

그림 6.3: 사운드 카드 설정

이 화면 다음에, /etc/conf.modules가 이미 존재한다는 정보를 나타내는 대화 상자가 나타날 것이다.  Ok를 선택하고, [Space]를 눌러 계속 진행한다.

마지막으로, sndconfig는 시스템의 사운드 카드가 적절히 구성되었는지를 점검하기 위해 예제 사운드를 들려줄 것이다.  사운드 예제를 들을 수 있다면, 성공한 것이다(물론 스피커 볼륨은 올려 두어야 한다).

6.5 마우스 설정

시스템의 마우스를 선택하거나 설치 후에 마우스를 인식하도록 하기 위해서는 /usr/sbin/mouseconfig를 수행한다.  레드햇 리눅스 설치 과정 중에 사용되었던 동일한 인터페이스가 나타날 것이다.  더 자세한 내용은 5.1 절로 돌아가서 살펴보자.

6.6 월드 와이드 웹

월드 와이드 웹은 오늘날 인터넷에서 가장 뜨거운 주제중의 하나이다.  레드햇 리눅스는 두 가지 방법으로 이를 활용할 수 있도록 도와준다.  하나는 웹 브라우저이고, 또 하나는 웹서버이다.  둘 다 살펴보자.

6.6.1 월드 와이드 웹 브라우저

리눅스에서는 다양한 웹 브라우저를 사용하는 것이 가능하다.  자유롭게 배포되고 구할 수 있는 버전에는 아레나(arena), 링스(lynx), 그레일(grail)과 같은 브라우저들이 있다.  가장 인기 좋은 상용 브라우저는 넷스케이프 커뮤니케이션스 사에서 나온 것이다.  아울러 이제 레드햇 리눅스 5.2에서 사용 가능하다! 넷스케이프 커뮤니케이터를 선택하거나 넷스케이프 네비게이터 패키지를 선택하였다면, 모든 준비가 끝난 것이다.  이제 즐기기만 하면 된다.

6.6.2 월드 와이드 웹 서버

(apache 패키지에 포함되어 있는) 아파치 웹서버를 선택하였다면, 여러분의 웹 서비스는 준비를 마치고 이미 수행되고 있다!  웹 브라우저로 다음을 가르켜보자.

http://localhost

기본 페이지인 /home/httpd/html/index.html가 나타날 것이다.  이 파일을 편집하거나 완전히 대체하여 다양한 사이트로 연결할 수 있다.  CGI 프로그램, 아이콘, html 페이지 모두는 /home/httpd에 저장되어 있지만, 아파치 설정 파일에서 이러한 디렉토리를 바꿀 수 있으며, 설정 파일은 기본적으로 /etc/httpd/conf 파일에 저장되어 있다.  httpd 실제 운영으로 인한 기록 파일은 /var/log/httpd/에 저장되어 있다.  여러분의 웹사이트를 설정하는 일은 HTML 페이지를 추가하고, /home/httpd/html/ 디렉토리로 연결하는 것처럼 쉽다.  웹 서버를 커스터마이징 하는 데에 대한 보다 자세한 정보를 위하여, 오렐리 & 어소시에이츠에서 척 무스키아노와 빌 케네디가 공동 집필하여 출간한 HTML: 완성 안내서(원제는 HTML: The Definitive Guide) 책을 추천한다.

7. 문서 구하기

레드햇 리눅스에는 수천 페이지 분량에 달하는 온라인 문서가 포함되어 있어 여러분이 시스템 사용 방법을 배우는 데 도움을 준다. 매뉴얼 페이지, 정보 문서, 일반 텍스트 파일 유형으로 된 문서가 포함되어 있어 리눅스의 전 분야에 대한 정보를 제공한다.  이러한 문서를 설치하였다면, 레드햇 리눅스에는 리눅스 문서 프로젝트(LDP)에서 제작한 문서도 들어 있을 것이다.

7.1 온라인 도움말

명령이나 오류 메시지에 대한 일반적인 도움말을 찾아보고자 할 때, 가장 좋은 것은 시스템에 있는 자료를 보는 것이다.  여러 가지 다른 정보가 있다.

ㅇ 매뉴얼 페이지 - 명령어, 파일 형식, 시스템 호출 등에 대한 믿을 만한 참고 자료

ㅇ 패키지 문서 - 많은 패키지에는 추가적인 문서가 포함되어 있다.  RPM은 이러한 문서를 쉽게 찾을 수 있도록 도와준다.

ㅇ HOWTO와 FAQ - 리눅스 문서 프로젝트에서 나온 도움이 될만한 정보

ㅇ locate 명령 - 명령어와 그에 딸린 문서 사이의 단절을 줄이는데 도움을 주는 명령어

ㅇ info 페이지 - Web을 필요로 하지 않는 하이퍼텍스트 문서

각각의 정보 소스에 대해 보다 자세하게 살펴보도록 하자.

7.1.1 매뉴얼 페이지

시스템에 있는 대부분의 모든 명령어는 "man" 페이지와 관련이 있다.  매뉴얼 페이지는 사용자가 질문이나 기타 문제가 있을 경우에 즉석에서 쉽게 정보를 구할 수 있도록 도와준다.  예를 들어, ls 명령어를 사용하는 데 어떤 문제를 겪는 다면, man ls 명령을 입력하여 보다 많은 정보를 얻는데 매뉴얼 페이지를 사용할 수 있다.

매뉴얼 페이지는 less 프로그램으로 출력된다.  less 명령은 화면에서 앞 뒤 페이지로 이동하는 것을 쉽게 해준다.  따라서 less에서 적용되는 모든 선택 사항은 매뉴얼 페이지에서도 적용된다.  less에서 사용되는 중요한 몇 가지 글쇠는 다음과 같다.

ㅇ [q] : 종료

ㅇ [Enter]: 한 줄 밑으로 이동

ㅇ [Space]: 한 페이지 밑으로 이동

ㅇ [b]: 한 페이지 거꾸로 이동

ㅇ [/]: 문자열을 입력하고 [Enter]를 누르면 해당 문자열을 검색

ㅇ [n]: 이전에 검색한 문자열과 일치하는 다음 번 경우를 검색

종이로 출력한 내용을 읽는 것이 보다 편리하게 느껴질 때가 자주 있다.  제대로 작동하는 프린터가 있다면, 매뉴얼 페이지를 깨끗하게 출력할 수 있다.  하지만 포스트스크립트 인쇄 기능을 가진 프린터를 가지고 있지 않아서, 그냥 ASCII로 인쇄 하고자 한다면, 매뉴얼 페이지를 다음과 같은 명령을 사용하여 출력할 수 있다.

man 명령어 | lpr

포스트스크립트를 지원하는 프린터를 가지고 있다면, 다음 명령을 사용하여 보다 고품질의 문서를 출력할 수 있다.

man -t 명령어 | lpr

위의 두 경우에 "명령어" 자리에는 여러분이 도움을 얻고자 하는 명령어를 넣는다.

가끔 하나의 매뉴얼 페이지 보다 많은 시스템 컴포넌트를 확실히 찾고자 할 경우가 있다. 아래에서 매뉴얼 페이지를 나누는데 사용되는 영역을 설명하는 표를 살펴보자.

영역	내용
1	사용자 명령어
8	시스템 명령어
2	시스템 호출
3	라이브러리 호출
4	장치
5	파일 형식
6	게임
7	기타 잡다한 것
9	커널 내부적인 것
n	Tcl/Tk 명령어

이 표는 아울러 검색하는 영역의 순서이기도 하다.  이 순서는 중요한데, 하나의 예를 들어보도록 하자.

swapon 시스템 호출에 관한 매뉴얼 페이지를 보고 싶다고 하자.  먼저, man swapon을 타이핑 할 것이다.  여러분이 실제로 보게 되는 매뉴얼 페이지는 swapon(8)이 될 것이고, 이 매뉴얼 페이지는 실제로는 스와핑을 제어하는 데 사용하는 명령어에 대한 것이다.  위의 차트를 이용하면, 보기를 원하는 □시스템 호출□은 영역 2에 위치해 있다는 것을 알 수 있다.  이제 man 2 swapon을 입력해보자.  이러한 모든 것은 man 명령은 매뉴얼 페이지 디렉토리를 검색할 때 위의 순서대로 하기 때문인데, swapon(8) 매뉴얼 페이지는 swapon(2) 매뉴얼 페이지 이전에 찾게 된다.

매뉴얼 페이지를 검색할 때 문자열을 이용할 수 있다.  man -k 검색하고자_하는_문자열 형식으로 사용할 수 있다.  이게 제대로 동작하지 않는다면, makewhatis 데이터베이스가 만들어지지 않았기 때문이다.  레드햇 리눅스에서 이러한 작업은 밤새 크론(cron) 작업을 통해서 이루어진다.  하지만 시스템을 밤새 돌아가도록 하지 않고 꺼둔다던지 하면 해당 데이터베이스가 만들어지지 않는다.  이 경우에는, root 사용자로 다음 명령을 수행한다.

/etc/cron.weekly/makewhatis.cron

이러한 작업을 한번 수행하였다면, man -k swapon 명령을 사용할 수 있다.  이 명령의 결과는 다음과 같다.

# man -k swapon

swapon, swapoff (2) - start/stop swapping to file/device

swapon, swapoff (8) - enable/disable devices and files for paging and swapping

여러분은 영역 2와 영역 8에 swapon과 swapoff를 참조하는 관련 페이지가 있다는 것을 알 수 있다.

7.1.1.1 매뉴얼 페이지를 읽는 방법

매뉴얼 페이지는 아주 작은 공간을 활용하여 광범위한 정보를 제공한다.  이러한 이유 때문에, 읽기가 까다로울 수 있다.  대부분의 매뉴얼 페이지에 있는 주요 항목을 간략히 살펴보자.

ㅇ Name - 매뉴얼 페이지에 문서화된 프로그램의 이름.  상호 밀접하게 관련된 프로그램이 있다면 하나 이상의 이름이 있을 수 있다.

ㅇ Synopsis - 프로그램 명령어 형식의 개략으로서, 모든 선택 사항과 독립변수를 보여준다.

ㅇ Description - 프로그램의 기능에 대한 짧은 설명

ㅇ Options - 각각의 선택 사항에 대한 짧은 설명과 함께 전체 선택 사항의 목록을 나열한다.  종종 이전의 항목과 합쳐질 때도 있다.

ㅇ See Also - 이 항목이 존재한다면, 이 프로그램과 몇 가지 측면에서 관련된 다른 프로그램의 이름을 나열한다.

ㅇ Files - 이 항목이 존재한다면, 해당 프로그램에서 사용되거나 수정되는 파일의 목록을 나열한다.

ㅇ History - 이 항목이 존재한다면, 프로그램의 개발과 관련된 중요 이정표를 나타낸다.

ㅇ Authors - 프로그램을 작성한 사람

여러분이 리눅스 초보자라면, 매뉴얼 페이지를 교재로 사용할 수 있다고 기대하지 말기 바란다.  매뉴얼 페이지는 간단한 참고자료로는 괜찮다.  매뉴얼 페이지를 이용하여 리눅스를 배우려고 하는 것은 영어 말하기를 배우기 위해 사전을 읽는 것과 같다.  하지만 리눅스를 이제 사용하기 시작하는 사람들에게 적합한 보다 유용한 다른 정보 소스들이 있다.  문서 찾아보기에 대한 이야기를 계속 하도록 한다.

7.1.2 패키지 문서

많은 패키지에는 README 파일과 소스 패키지의 일부분으로 다른 문서들이 들어있다.  레드햇 리눅스에서 만들어진 패키지는 문서를 설치하는 장소를 표준화하였으므로, 문서를 찾기 위해 소스를 별도로 검색할 필요가 없어졌다.  문서(매뉴얼 페이지가 아닌 다른 것, 그리고 특정 위치에 있어야 할 필요가 있는 파일)를 포함하는 모든 패키지는 해당 문서를 /usr/doc에 위치시킨다.

하부 디렉토리의 이름은 패키지 이름과 버전 번호에 의존한다.  예를 들어, tin 패키지가 버전이 1.22라고 한다면, 문서의 경로는 /usr/doc/tin-1.22 정도 될 것이다.

/usr/doc에 있는 문서는 대부분 ASCII 형식이다.  따라서 사용자는 more 파일이름 또는 less 파일이름 과 같은 명령으로 볼 수 있다.  이러한 특정한 문서 구역이 있다는 것은 편리하긴 하지만, 특정한 명령어나 파일에 관련된 문서를 찾고자 할 때에는, 특정 명령어가 어느 패키지에서 나왔는지 알기 힘들 수가 있다.  하지만 걱정할 필요 없다.  /usr/bin/rtin 파일의 경우를 예를 들어보자.  사용자는 이 파일이 어느 패키지의 일부분인지 알기 힘들지만, 패키지 관리에 대해 조금은 배워두는 것도 좋을 것이다.  다음과 같이 간단하게 입력해보자.

rpm -qdf /usr/bin/rtin

이 명령을 사용하면 /usr/bin/rtin 파일을 포함하는 패키지에 들어있는 모든 문서(매뉴얼 페이지 포함)의 목록을 얻을 수 있다.  RPM은 이러한 간단한 예보다 훨씬 많은 기능을 제공한다.  RPM에 대해 자세히 알고 싶으면, 9장을 보기 바란다.

물론, 이러한 종류의 문서는 여러분이 찾고자 하는 것이 아닐 수도 있다.  하지만 작업 기반 문서에 보다 구미가 당길 것이다.  그렇다면 계속 읽어나가자.

7.1.3 HOWTOs and FAQs

HOWTO와 FAQ 문서를 설치하도록 선택하였다면, 리눅스 문서 프로젝트(LDP)의 내용중 대부분은 시스템의 /usr/doc에 위치할 것이다.

/usr/doc/HOWTO 디렉토리에는 레드햇 리눅스 시디롬을 마스터링할 때 구할 수 있는 모든 HOWTO의 ASCII 버전이 들어있다.  이 문서는 공간을 절약하기 위해 gzip으로 압축되어 있으며, 읽기 전에 압축을 해제하여야 한다.  압축 해제된 버전으로 사용자의 디스크를 어지럽히지 않고 압축된 HOWTO를 읽는 하나의 방법은 zless를 사용하는 것이다.

zless 3Dfx-HOWTO.gz

zless 명령어는 less와 동일한 글쇠 정의를 사용하므로, 쉽게 HOWTO 문서의 앞뒤로 이동할 수 있다.

/usr/doc/HOWTO/mini 디렉토리에는 구할 수 있는 모든 버전의 mini-HOWTO가 들어있다.  이 문서는 압축되어 있지 않으므로, more나 less로 볼 수 있다.  /usr/doc/HOWTO/other-formats/html 디렉토리에는 모든 HOWTO와 리눅스 설치와 시작하기 (원제: Linux Installation and Getting Started) 안내서의 HTML 버전이 들어있다.  이 문서를 보려면, 적당한 웹 브라우저를 사용하면 된다.

/usr/doc/FAQ 디렉토리에는 약간의 쓸만한 FAQ(RedHat-FAQ 포함)의 ASCII 버전과 몇 개의 HTML 버전이 들어있다.  more나 less, 또는 HTML 파일의 경우에는 적당한 웹 브라우저를 사용하여 보면 된다.

7.1.4 "locate" 명령어

명령어나 파일의 전체 이름을 알지 못하면서 그 파일을 찾아야 할 경우에는, 보통 locate 명령을 사용할 수 있다.  locate 명령은 시스템 상에서 모든 파일을 찾기 위해 데이터베이스를 이용한다.  보통, 이 데이터베이스는 매일 밤 크론(cron) 작업을 통해 구축된다.  하지만 시스템이 항상 리눅스로 부팅해 있지 않는다면, 크론작업을 통한 데이터베이스 구축이 되지 않을 수도 있다.  따라서, 이러한 경우에는 가끔 다음의 명령을 수행하는 것도 좋다.

/etc/cron.daily/updatedb.cron

이 데이터베이스 구축 작업을 하기 위해서는 root가 되어야 한다.  root로 명령을 수행해야만 locate가 올바로 작동할 것이다.

이제, "finger"라는 이름이 들어간 파일을 모두 찾아보도록 하자.  다음과 같이 사용하면 된다.

locate finger

결과는 다음과 같다.

/usr/bin/finger

/usr/lib/irc/script/finger

/usr/man/man1/finger.1

/usr/man/man8/in.fingerd.8

/usr/sbin/in.fingerd

한가지 참고할 것은, locate는 파일 이름뿐만 아니라 경로 이름에 찾고자 하는 문자열이 들어 있으면 출력한다는 것이다.  따라서, 시스템에 /home/djb/finger/ 디렉토리가 있다면, 이 디렉토리에 있는 모든 파일도 함께 되돌려 줄 것이다.

7.1.5 □info" 페이지

man이 흔한 문서 형식이라고 한다면, info는 보다 강력하다고 할 수 있다.  info는 대용량 문서를 보다 쉽게 읽도록 하기 위해 하이퍼텍스트 연결을 제공하며, 문서 작성자를 위해 많은 기능을 제공한다.  레드햇(주로 GNU 프로젝트의 일부분이다)의 다양한 관점에서 볼 때, 아주 완성도 높은 info 문서가 더러 있다.

info 문서를 읽으려면, info 프로그램을 아무런 독립 변수 없이 사용한다.  info 명령은 현재 사용가능한 문서의 목록을 사용자에게 보여준다.  info가 아무런 문서도 찾지 못한다면, 해당 문서를 포함하고 있는 패키지를 설치하지 않았을 가능성이 높다.  RPM으로 설치한 후에 다시 시도해보자.

여러분이 이막스(emacs)를 사용하고 있다면 편안하게 느껴질 것인데, 왜냐하면 info 문서를 읽기 위한 브라우저에 이막스가 통합되었기 때문이다. 문서를 보기 위해서는 [Ctrl-h][i] 글쇠 열을 사용한다.

info 시스템은 하이퍼텍스트 기반 시스템이다.  화면에 나타나는 모든 역상 문자열은 보다 많은 정보로 연결되어 있다는 것을 나타낸다.  [Tab]을 사용하여 연결로 커서를 이동하여, [Enter]를 누르면 연결을 따라간다.  [p]를 입력하면 이전 페이지로 이동하고, [n]을 누르면 다음 페이지로 이동하며, [u]를 누르면 한 단계 위의 문서로 이동한다.  info를 빠져나가려면, [Ctrl-x][Ctrl-c](Ctrl-x 다음 Ctrl-c)를 누른다.

info의 사용방법을 배우는 가장 좋은 방법은 info 문서를 직접 info에서 보는 것이다.  info가 출력하는 첫 번째 화면을 보고 있다면, 이제 시작할 수 있을 것이다.

7.2 인터넷 공동체에서 도움 얻기

7.2.1 레드햇 메일링 리스트

사용자가 직면한 문제를 해결하는데 도움이 되는 내용을 온라인에서 찾을 수 없다면, WWW를 접근할 수 있다면, 다음을 보기 바란다.

http://www.redhat.com/support/mailing-lists/.

여기에서 redhat-list 아카이브를 검색할 수 있다.  수많은 질문에 대한 답변이 이미 나와있다.

레드햇 사의 목록에 가입하기 위한 주소는 다음의 형식을 따른다.

<list-name>-request@redhat.com

여기에서 <list-name>을 다음 중 하나로 대체한다.

applixware-list

axp-list

blinux-list

cde-list

gnome-announce

gtk-list

hurricane-list

linux-alert

linux-security

m68k-list

pam-list

redhat-announce-list

redhat-devel-list

redhat-install-list

redhat-list

redhat-ppp-list

rpm-list

sound-list

sparc-list

가입하기 위해서는, Subject: 줄에서 subscribe 단어를 넣어서 가입하기를 원하는 목록의 주소로 편지를 보낸다. 해지하기 위해서는, Subject: 줄에서 unsubscribe 단어를 넣어서 해지하기를 원하는 목록의 주소로 편지를 보낸다. 그리고 목록에 편지를 보내기 위해서는, 위에서 설명한 주소에서 -request를 제거하고 남은 주소로 편지를 보낸다.

7.2.2 유즈넷 뉴스그룹

유즈넷의 comp.os.linux 계열 뉴스그룹을 통하여 좋은 정보를 얻을 수 있다.  뉴스에 익숙하다면, 검색해보기 바란다.

7.2.2.1 레드햇 지정 뉴스그룹

레드햇 소프트웨어는 현재 레드햇 소프트웨어 사용자를 위해 특별히 수많은 뉴스그룹을 운영하고 있다.  여러분은 news.redhat.com을 통해 이러한 뉴스그룹을 곧바로 접할 수 있다.  또는 redhat.* 계열의 뉴스그룹을 여러분의 뉴스 관리자에게 자신들의 뉴스서버에 추가해 주도록 요청해보자.

8. 시스템 설정

리눅스 설치 도중에 설정한 내용이 나중에 바꾸기 어려울 것이라고 생각할 지 모르겠지만, 실제로는 그렇지 않다.

리눅스의 가장 큰 강점중의 하나가 운영체제의 모든 설정 부분을 언제든지 바꿀 수 있다는 점이다. 레드햇 리눅스의 특징 중에 하나는 이러한 리눅스의 시스템 설정을 가능한 한 쉽게 만들려고 했다는 점이다. 현재 두 가지 방식의 설정관리 도구가 존재한다.

ㅇ 시스템을 직접 시스템 콘솔 상에서 설정하는 경우

ㅇ 시스템을 시스템 외부에서 인터넷 상으로 설정이 가능한 경우

레드햇 리눅스에 익숙한 사용자의 대부분은 제어판이라고 불리는 시스템 설정 도구를 몇 년 동안 보아 왔을 것이다. 이 프로그램은 레드햇 소프트웨어에서 시스템 설정을 보다 쉽게 하기 위한 목적으로 개발되었다. 이 프로그램이 사용자들에게 시스템 설정에 대한 부담을 줄여주는 동안 레드햇 소프트웨어는 좀더 융통성 있고 강력한 기능을 가지 시스템 설정 도구를 찾기 시작했다.

이러한 노력의 결과로 1998년 6월에 레드햇 리눅스 5.1 버전에 linuxconf라는 프로그램이 포함되었다. 그리고 현재 버전 5.2에서는 보다 완벽한 설명문서와 보다 대중성을 지닌 linuxconf를 사용한 시스템 설정이 가능하게 되었다.

여기서 보다 대중성을 가졌다는 뜻은 linuxconf의 가장 막강한 기능의 하나인 설정가능 범위의 방대함이 신뢰성을 가지고 제공이 될 뿐 아니라 더불어 이에 대한 전체의 설정에 관련된 완전한 설명문서를 가지고 있다는데서 유래한다. 그러나 여기에 만족하지 않고 linuxconf의 설명문서는 계속해서 확장되고 있으며 새 버전의 레드햇 리눅스 버전에 포함되어 발표될 것이다.

그렇다면 제어판은 어떻게 되는가? 이 설정 도구 역시 아직 레드햇 리눅스에 포함되어 있다. linuxconf가 거의 모든 종류의 시스템 설정에 대한 것을 세세하게 설정할 수 있지만 두 가지 영역에서는 아직도 제어판이 장점을 지니고 있다.

ㅇ 프린터 설정 부분

ㅇ 커널 데몬 설정 부분

이 장의 뒷부분에 제어판에 대한 설명 문서를 덧붙여 놓았으니 살펴보기 바란다.

지금부터 linuxconf를 살펴보자.

8.1 linuxconf를 이용한 시스템 설정

linuxconf는 시스템의 매우 다양한 부분에 대해서 설정하고 조정을 할 수 있도록 해주는 설정도구 이다. 그리고 시스템이 동작하는데 필요한 다양한 종류의 업무와 프로그램을 다룰 수 있다. linuxconf에 대한 전체 설명문서는 별도의 책이 필요할 정도로 방대하기 때문에 이 장에서 다루기에는 너무 양이 많다. 따라서 이 장에서는 네트워크 기본 설정이나 사용자의 기본설정에 대해서만 다루기로 하겠다.

linuxconf에 대한 개발 단계, 최근의 발표 버전등의 자세한 정보는 linuxconf의 홈페이지를 참고하기 바란다(그림 8.1 참고).

http://www.solucorp.qc.ca/linuxconf/

이 웹사이트는 linuxconf에 대한 방대한 정보를 포함하고 있다. 이 프로그램에 대한 설명, 제작동기, 개발 과정 등에 대한 다양한 정보를 얻을 수 있다. linuxconf의 개발자인 Jacques Gelines에 의해 관리되고 있으면 linuxconf에 대한 가장 큰 정보 소스이다.

그림 8.1 linuxconf 프로젝트 홈페이지

표기법

linuxconf에서 특정 부분의 설정 화면을 묘사하는 것은 쉽다. 그러나 linuxconf의 설정에 대한 기능이 너무 장황하기 때문에 특정 설정 화면에 대한 선택구조는 패밀리 트리 유형을 취하고 있다. 대부분의 설정 기능은 네 단계 이하에서 선택이 가능하다. 이러한 패밀리 트리 유형에서 이를 찾아가기 위한 경로를 묘사하기 위해서는;

주 화면에서 Config를 선택하고 여기에서 갈라진 종류에서 users account를 선택하면 사용자 설정 화면이 나타나고 여기서 다시 normal 선택 사항을 선택하고 user account 선택 사항을 선택한다.

이것을 간단하게 표기하기 위해 다음과 같은 표기법을 사용한다.

Config -> User accounts -> Normal -> User accounts

8.1.1 linuxconf 실행하기

linuxconf를 실행하기 위해서는 root 권한이 있어야 한다. root 아이디로 로그인이 되지 않은 상태에서 linuxconf를 실행하려면 두 가지 방법이 있다. 첫 번째는 linuxconf를 그대로 입력하는 방법이다. 그러면 root 암호를 입력하기 위한 대화 상자가 하나 나타난다.

두 번째 방법은 root권한을 얻기 위해 su 명령을 사용하는 방법이다. su 명령을 입력하면 쉘 입력 대기 상태에서 root 암호를 물어보는 입력 대기 상태가 나타난다. 이것을 정확히 입력하면 사용자는 시스템에 대해 무소불위의 권한을 가지게 된다. 이때 쉘에서 linuxconf를 입력하면 프로그램이 실행이 된다. linuxconf는 다음과 같은 사용자 인터페이스를 지니고 있다.

그림 8.2 루트 사용자 확인 화면

ㅇ 명령행 방식: linuxconf를 명령행 모드로 동작시키는 것은 쉘 스크립트에서 설정을 바꾸려고 할 때 유용하다.

ㅇ 메뉴 방식: 레드햇 리눅스 설치 프로그램과 같은 인터페이스를 지닌 모드로 X-Window가 없을 때 linuxconf를 사용할 수 있다. 쉽게 설정하고자 하는 부분을 찾을 수 있도록 구성되어 있다.

ㅇ X-Window 방식: linuxconf를 X-Window의 장점을 사용할 수 있도록 하는 인터페이스로 "point-and-click" 과 패밀리 트리 모양의 메뉴 인터페이스를 지니고 있다. 이런 인터페이스는 버전 1.12에서부터 채용된 방식이다.  이 메뉴 인터페이스에 대한 설명은 다음절에서 설명한다.

ㅇ 웹기반 인터페이스: 웹기반 인터페이스는 원격으로 시스템을 쉽게 관리하도록 해주는 기능이다. 이 기능은 문자 방식의 웹 브라우저인 Lynx와도 잘 동작한다.

linuxconf는 일반적으로 텍스트 콘솔 메뉴 방식이나 X 모드로 동작한다. 동작 방식을 나누는 기준은 DISPLAY 환경 변수에 따라 나뉘어 진다. linuxconf를 처음 동작시키는 경우 소개하는 내용의 메시지가 표시된다. 이 메시지는 처음 동작에서 한 번만 나타나지만 주 설정화면에 도움말(help)을 이용하면 동일한 기본적인 정보를 얻을 수 있다.

도움말(help)은 설정하고자 하는 분야에 대한 도움말을 얻을 수 있다. 이 도움말은 트리 구조의 설정 선택 화면 옆에서 해당 설정 화면이 나오면 우측 하단 부에 존재한다. 그러나 현재로는 모든 설정 분야에 대해서 도움말을 얻을 수는 없다. 이 도움말의 내용은 계속 갱신되고 있으므로 다음 버전의 linuxconf에는 포함이 될 것이다.

트리 메뉴 구조

새버전의 linuxconf는 완전한 트리 메뉴 구조로 되어 있다.

그림 8.3 linuxconf 항목 화면

필요로 하는 설정 패널을 선택하는 것은 쉽고 빠르게 되어 있다. 사용자는 메뉴의 항목을 클릭함으로써 하위 트리를 숨기거나 확장할 수 있다. 상세한 하위 메뉴를 보이도록 하려면 아이콘을 클릭하면 된다. 한 번의 클릭으로 하위 메뉴가 숨겨지고 또 한 번의 클릭으로 하위 메뉴가 나타나게 된다.

설정항목을 선택하면 주 설정화면의 오른쪽 패널에 해당 항목의 설정화면이 나타나고 이것을 닫을 때 까지 남아있게 된다. 이 것으로 인해 이전 버전의 linuxconf에서 나타나던 설정항목을 선택할 때마다 생기는 별개의 설정 창으로 인해 발생하는 번잡함이 많이 줄었다. 각각의 설정 패널은 상단에 이름표를 붙이고 계속해서 겹쳐져 나타나게 된다. 해당 설정 패널에서 Cancel이나 Accept의 누름 단추를 클릭하지 않으면 계속 오른쪽 패널에 남아 있게 된다. Cancel의 경우 아무런 설정상의 변화 없이 설정 패널을 닫는 것이고 Accept의 경우 설정을 바꾼 내용을 적용시키는 것이다.

이전 버전의 X-Window기반 인터페이스가 익숙한 사용자들을 위해 이전 버전의 인터페이스도 사용이 가능하다. 이전 버전의 인터페이스로 되돌아가기 위해서는

1. linuxconf를 쉘 입력 대기 상태에서 입력해서 실행시킨다.

2. 만약 지금이 root로 로그인한 것이 아니라면 나타난 입력 대기 상태에서 root 암호를 입력한다.

3. Control -> Control files and systems -> Linuxconf modules 의 순서로 하위메뉴를 찾는다.

4. 트리 메뉴 모듈에 대한 체크 단추를 토글시켜 트리 메뉴 모듈을 선택 해제한다.

5. Accept 단추를 클릭한다.

6. Quit 단추를 클릭한다.

7. linuxconf를 다시 시작한다.

웹기반 인터페이스를 통한 linuxconf 사용

보안을 이유로 웹기반으로 linuxconf를 사용 가능하도록 하는 선택 사항은 쓸 수 없도록 기본 설정을 해놓았다. 따라서 웹 브라우저를 통해 linuxconf를 사용하기 위해서는 사용이 가능하도록 설정을 변경시켜야 한다. 여기서는 텍스트 콘솔에서 설정하는 방법을 알아보자

1. linuxconf를 쉘 입력 대기 상태에서 입력해서 실행시킨다.

2. 만약 지금이 root로 로그인 한 것이 아니라면 나타난 입력 대기 상태에서 root 암호를 입력한다.

3. Config -> Networking -> Misc -> Linuxconf network access

4. Linuxconf html access control 대화 상자에서 웹기반을 linuxconf를 사용할 수 있도록 허가할 컴퓨터의 호스트 이름을 입력한다. 이 호스트 이름에는 현재 사용하고 있는 컴퓨터도 포함이 된다. 이렇게 설정하면 웹 브라우저를 통해 로컬에서 linuxconf를 사용할 수 있다. Log access 체크 단추를 선택하면 시스템의 htmlaccess.log에 웹을 통한 linuxconf의 사용에 대한 기록이 남겨진다.

5. Accept 단추를 선택하고 스페이스 글쇠를 누른다. 그 다음 Quit 단추를 선택한다. 그리고 Status of the system이라고 이름이 붙은 대화 상자가 나타나면 기본설정으로 맞추기 위해 Enter 글쇠를 누른다. 그러면 설정을 변화시킨 것이 적용이 된다.

현재 웹기반 인터페이스를 이용한 linuxconf의 사용이 가능해졌다. 이것을 외부에서 시험해 보기 위해 설정에서 접근 가능 목록에 추가한 시스템 중에 한 곳으로 가서 웹 브라우저를 동작시킨다. 그리고 다음과 같은 URL을 입력한다.

http://<host>:98/

(물론 현재 설정한 시스템의 호스트 이름을 <host>위치에 입력하는 것이다.) 이렇게 하면 사용자는  linuxconf의 설정에 대한 주 페이지를 보게 된다. 주의할 것은 여기서 하위 메뉴로 가기 위해서 root 암호를 입력해야 한다는 것이다.

사용자 계정의 추가 - (간단한 설명)

1. 쉘에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> User accounts -> normal -> User accounts

4. Add 단추를 눌러 실행시킨다.

5. 로그인 계정과 사용자의 이름을 입력한다.

6. 다른 입력 필드는 필요에 따라 입력한다.

7. Accept 단추를 눌러 입력을 종료한다.

8. 사용자 계정에 대한 암호를 처음 입력한다.

9. 확인 필드에 제대로 입력했는지 확인을 위해 암호를 다시 입력한다.

10. Accept를 단추를 눌러 종료한다.

사용자의 계정의 추가 - (전체적인 개관)

사용자의 추가는 시스템을 관리하는 데 제기되는 가장 일반적인 업무이다. 사용자를 추가하기 위해서는 다음 과정을 거친다.

ㅇ 쉘 입력 대기 상태에서 llinuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> User accounts -> Normal -> User accounts

이것의 결과는 그림 8.5와 같이 나타난다.

ㅇ 시스템 상에 사용자가 15인 이상이라면, linuxconf는 그림 8.4와 같은 필터 화면을 제공할 것이다. 이것을 사용하면 전체 사용자의 기나긴 목록을 볼 필요 없이 필요한 부분에 대해서 사용자 목록을 줄여서 간결하게 볼 수 있다. 전체의 사용자 목록을 보려면 필터화면에서 아무 입력 없이 Accept 단추를 클릭하면 된다. 이 필터 제어화면에 대한 좀더 자세한 사항은 필터 제어 화면상의 Help 단추를 클릭하면 알 수 있다.

ㅇ Add 단추를 클릭하면 사용자 생성 탭(그림 8.6)이 나타나게 된다.

사용자 생성 탭은 새로운 사용자에 대한 필요한 모든 자료를 입력할 수 있도록 되어있다. 여기에는 몇 개의 입력 필드가 있는데 꼭 입력을 해야 하는 것들과 부차적인 선택 사항 입력이 있다.

그림 8.4 필터 제어 화면

꼭 필요한 입력 필드:

ㅇ 로그인 이름: 사용자 계정의 ID로 영문 소문자로 입력하며, 사용자의 이름의 영문 이니셜을 사용하거나 여러 가지 방법을 사용하여 사용자 고유의 ID를 사용해야 한다.  이 입력 필드에 대해서는 기본 설정 값이 없다.

추가적인 입력 필드:

ㅇ Full name(사용자의 이름): 사용자 계정에 대한 이름을 입력한다. 여기에는 줄임말이 아닌 전체 이름을 정확히 기입한다.

ㅇ group: 이 입력 필드에는 사용자 계정이 어느 그룹에 속하는 지를 지정할 수 있다. 기본 설정 값은 로그인 ID와 동일하다.

ㅇ 추가적인 group: 여기에는 기본으로 설정된 그룹 외에 추가적인 그룹을 설정할 수 있다. 이 필드는 일반적인 경우에 있어 사용자 그룹을 변경 시켜야 할 필요가 있을 때 그룹을 변경시키는 것보다는 새로운 그룹을 추가하는 것이 바람직하다. 이 경우에 이 필드에 그룹 이름을 추가한다. 여러 개의 그룹에 속하고자 한다면 이 필드에 공백을 사이에 두고 여러 개를 나열하면 된다.

ㅇ Home 디렉토리: 사용자 계정에 대한 로그인 디렉토리를 지정한다. 기본 설정 값은 /home/(로그인 ID)이다. 이 디렉토리는 사용자가 로그인을 했을 때 모든 일을 시작하는 시작 지점이다. X 윈도우를 시작하거나 xterm을 띄웠을 때의 시작 디렉토리이다.

ㅇ 명령어 해석기: 우리가 컴퓨터에 지시하는 명령을 해석하는 쉘 프로그램을 지칭하는 말로 이 쉘 프로그램의 위치와 쉘 프로그램의 종류를 지정한다. 드롭다운 메뉴 상자에 의해 기본 값이 나타난다.

ㅇ UID: 각각의 사용자 계정에 대해서 하나의 식별 번호가 할당이 된다. 이 번호는 사용자 계정을 만들 때 시스템에서 자동적으로 할당한다.

사용자 생성 화면은 몇 개의 입력 필드를 가지고 있는데 로그인 이름(ID) 만을 입력하면 되지만 일반적으로 사용자의 이름을 입력하는 것을 권장한다. 이렇게 해서 위에서 말한 로그인 이름이나 이런 것들을 입력이 끝났으면 Accept 단추를 클릭하면 된다. 만약 입력한 것을 취소하고 새로운 사용자를 생성하지 않기로 결정했으면 Cancel 단추를 클릭하면 된다.

그림 8.5 사용자 계정 화면

Accept 단추를 클릭하고 나면 암호를 입력하는 입력 대기 상태가 나타난다. 이 입력 대기 상태에는 암호를 입력을 올바르게 입력했는지를 확인하는 Confirmation 입력 필드가 있다. 이것은 사용자가 암호를 입력할 때 실수하는 것을 방지하기 위한 것이다. 암호는 최소 6자 이상을 입력해야 한다. 일반적으로 대문자와 소문자 숫자를 섞어 입력하는 것이 좋다. 입력이 끝났으면 Accept를 누른다.

사용자 계정의 내용 변경 - (간단한 설명)

1. 쉘 상에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> User accounts -> normal -> User accounts

4. 사용자 계정을 선택한다.

5. 변경하고자 하는 사용자 계정의 각 입력 필드를 변경한다.

6. Accept를 눌러서 종료한다.

그림 8.6 사용자 계정 생성

사용자 계정의 내용 변경 - (전체적인 개관)

1. 쉘 입력 대기 상태에서 llinuxconf를 입력 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. Config -> User accounts -> Normal -> User accounts

4. 이것의 결과는 그림 8.5와 같이 나타난다.

5. 시스템 상에 사용자가 15인 이상이라면, linuxconf는 그림 8.4와 같은 필터 화면을 제공할 것이다. 이것을 사용하면 전체 사용자의 기나긴 목록을 볼 필요 없이 필요한 부분에 대해서 사용자 목록을 줄여서 간결하게 볼 수 있다. 전체의 사용자 목록을 보려면 필터화면에서 아무 입력 없이 Accept 단추를 클릭하면 된다. 이 필터 제어화면에 대한 좀더 자세한 사항은 필터 제어 화면상의 Help 단추를 클릭하면 알 수 있다.

6. 변경하고자 하는 사용자를 선택한다. 그러면 사용자 정보 TAB이 나타날 것이다. 사용자 정보 화면에서 원하는 내용을 변경할 수 있다. 변경시킨 내용을 저장시키려면 Accept 단추를 클릭하면 된다. 변경시킨 내용을 저장하기 않으려면 Cancel 단추를 클릭하면 된다.

그림 8.7 암호 변경 화면

사용자 암호의 변경 - ( 간단한 설명 )

1. 쉘에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> User accounts -> normal -> User accounts

4. 변경할 사용자 ID를 고른다.

5. Password를 선택한다.

6. 새로운 암호를 입력한다.

7. 확인을 위해서 Confirmation 필드에 다시 입력을 한다.

8. Accept 단추를 눌러 종료한다.

그림 8.8 사용자 정보화면

사용자 암호의 변경 - (전체적인 개관)

ㅇ 쉘 입력 대기 상태에서 llinuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> User accounts -> Normal -> User accounts

이것의 결과는 그림 8.5와 같이 나타난다.

ㅇ 시스템 상에 사용자가 15인 이상이라면, linuxconf는 그림 8.4와 같은 필터 화면을 제공할 것이다. 이것을 사용하면 전체 사용자의 기나긴 목록을 볼 필요 없이 필요한 부분에 대해서 사용자 목록을 줄여서 간결하게 볼 수 있다. 전체의 사용자 목록을 보려면 필터화면에서 아무 입력 없이 Accept 단추를 클릭하면 된다. 이 필터 제어화면에 대한 좀더 자세한 사항은 필터 제어 화면상의 Help 단추를 클릭하면 알 수 있다.

ㅇ 변경하고자 하는 사용자 ID를 선택한다. 그러면 그림 8.8과 같은 사용자 정보 탭이 나타난다.

ㅇ 나타난 사용자 정보 화면의 하단 부에 있는 선택 사항 중에서 Passwd를 선택한다.

linuxconf는 새로운 암호를 물어 보는 입력 대기 상태가 나타날 것이다. 이 입력 대기 상태 화면에는 확인을 위한 Confirmation 입력필드가 있다. 여기에 잘못된 입력을 방지하기 위해 다시 한번 확인을 위해서 입력을 한다. 암호는 최소 6자 이상을 입력해야 한다. 일반적으로 대문자와 소문자 숫자를 섞어 입력하는 것이 좋다. 입력이 끝났으면 Accept 단추를 클릭하면 된다.

root 암호 변경하기 - (간단한 설명)

1. 쉘에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> User accounts -> normal -> Change root password

4. 현재의 root 암호를 입력한다.

5. Accept 단추를 클릭한다.

6. 새로운 root 암호를 입력한다.

7. 새 root 암호를 Confirmation 필드에 다시 입력한다.

8. Accept 단추를 클릭한다.

root 암호 변경하기 - (전체적인 개관)

root 암호의 변경은 일반 사용자의 암호를 변경하는 것과는 다른 방법으로 해야한다. root 암호와 관련되어 보안측면의 고려와 중요성 때문이다. linuxconf는 현재 root 계정을 쓰고 있는 사람이 실제로 사용권한이 있는지를 다시 한 번 확인한다.

ㅇ 쉘 입력 대기 상태에서 llinuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> User accounts -> Normal -> Change root password

위와 같은 순서로 트리를 연다.

나타난 화면은 조금 혼란스러울 수도 있다. 나타난 화면에 대해 설명하는 어떤 제목이나 설명이 없기 때문이다. 새로운 root 암호를 입력하라는 의미인 것으로 생각하기 쉬우나 현재 나온 입력 대기 상태 화면은 현재의 root 암호를 입력하라는 의미이다. 이것은 root로 로그인한 관리자가 잠시 콘솔을 열어 놓고 화장실을 간 사이에 다른 사람이 관리자 암호를 바꾸는 것 같은 상황을 막기 위한 안전 장치로 현재 암호를 바꾸려는 사람이 root 계정 사용자인지를 다시 한번 확인한다.  일단 linuxconf에서는 모든 root 권한을 행사하며 시스템의 설정 사항을 바꿀 수 있다. 그러나 만약 linuxconf를 열어 놓은 상황에서 다른 사람이 암호를 바꿔 놓고 관리자가 로그 아웃을 하는 경우 관리자는 다시 root 권한으로 로그인을 할 수 없다. 이러한 위험성 때문에 root 암호를 변경하는 경우에 다시 한번 확인을 수행하는 것이다.

다시 한번 현재의 root 암호를 입력한 이후에는 새로운 암호를 물어보는 입력 대기 상태가 나타난다. 여기에도 (그림 8.7 참조) 암호를 잘못 입력하는 것을 방지하기 위한 Confirmation 입력 필드가 있다. 암호는 최소 6자 이상을 입력해야 한다. 일반적으로 대문자와 소문자 숫자를 섞어 입력하는 것이 좋다. 입력한 암호가 마음에 들지 않아 변경하지 않으려면 Cancel 단추를 클릭하면 된다. 암호를 두 번 입력해서 둘이 동일하다는 것이 확인되면 Accept 단추를 클릭하면 변경된 것이 적용이 된다 그렇게 되면 관리자가 현 상태에서 로그아웃한 이후에 다시 로그인 할 때뿐만 아니라 현 상태에서 su명령을 통해 명령을 수행할 때 필요한 암호도 바로 변경된 것이 적용된다.

그림 8.9 root 암호 인증 화면

사용자 계정의 사용정지 시키기 - (간단한 설명)

1. 쉘에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> User accounts -> normal -> User accounts

4. 변경할 사용자 ID를 고른다.

5. the account is enabled 라고 표시가 되어 있는 체크 상자의 표시를 선택 해제한다.

6. Accept 단추를 클릭한다.

사용자 계정의 사용정지 - ( 전체적인 개관 )

사용자 계정을 사용 정지시키는 이유는 여러 가지가 있을 수 있다. 그러나 가장 큰 이유는 보안 때문이다. 예를 들어 친구나 동료, 의뢰인이 시스템의 특별한 파일을 접근할 때 사용되는 특별한 사용자 계정이 있다고 하자. 하지만 이 사용자 계정은 드물게 사용되며 사용의 필요성을 관리자가 알게 될 때만 사용이 된다. 사용하지 않는 계정을 시스템에 두는 것은 시스템에 침입하려는 모든 사람에게 목표물을 제공하는 것과 같다. 그러나 이 계정을 지워 버린다면 필요할 때마다. 다시 만들어야 한다. 이런 경우의 보안 측면과 사용의 편리 측면을 모두 해결하는 방법이 바로 사용자 계정을 정지시키는 것이다.

사용자 계정을 정지시키려면

ㅇ 쉘 입력 대기 상태에서 llinuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> User accounts -> Normal -> User accounts

위와 같은 순서로 트리를 연다.

ㅇ The account is enabled 라고 되어 있는 체크상자를 선택 해제한다. 설정화면의 하단의 Accept 단추를 클릭하면 모든 설정이 끝난다.

사용이 정지된 사용자 계정은 비슷한 방법으로 사용 가능하게 할 수 있다.

사용자 계정의 사용 허가

기본적으로 새로 만들어진 사용자 계정은 사용허가가 되어있다. 어떤 이유에서든지 사용자 계정에 대해 사용허가를 주려면, linuxconf를 사용해서 사용허가를 해줄 수가 있다.

ㅇ 쉘 입력 대기 상태에서 llinuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> User accounts -> Normal -> User accounts

위와 같은 순서로 트리를 연다.

ㅇ 사용을 허가하려는 사용자 계정을 선택한다.

ㅇ The account is enabled라고 쓰여진 체크 상자에 표시를 해준다. 설정화면의 하단의 Accept 단추를 클릭하면 모든 설정이 끝난다.

사용자 계정 삭제 - ( 간단한 설명 )

1. 쉘 상에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> User accounts -> normal -> User accounts

4. 삭제할 사용자 ID를 고른다.

5. User Information이란 이름이 붙은 설정 화면 하단 부의 Del 단추를 클릭한다.

6. 그 뒤에 나타나는 Deleting account....설정 화면상에서 삭제할 사용자 계정에 대한 적당한 선택 사항을 선택한다.

7. Accept 단추를 클릭한다.

사용자 계정의 삭제 - ( 전체적인 개관 )

※주의 사항: 사용자 계정에 관계된 파일을 보존하는 두 가지의 선택 사항이 있다. 반대로 모든 정보나 파일들을 확실하게 복구 할 수 없도록 삭제하는 선택 사항도 존재한다. 이런 선택 사항을 선택할 경우에는 주의하기 바란다.

사용자 계정을 삭제하려면:

ㅇ 쉘 입력 대기 상태에서 linuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> User accounts -> Normal -> User accounts

위와 같은 순서로 트리를 연다.

ㅇ 그림 8.5에서 보이는 것 같은 User accounts 설정화면 상에서 삭제할 사용자 계정을 선택한다.

ㅇ 선택한 사용자 계정을 삭제하기 위해 그림 8.8과 같은 User Information 설정화면의 하단 부에 있는 Del 단추를 클릭한다.

linuxconf는 선택 사항 목록을 가지고 입력 대기 상태를 보여주게 된다.

기본 선택 사항은 사용자 계정의 자료를 압축하는 것이다. 이 선택 사항을 선택하면 다음과 같은 일이 수행된다.

1. 사용자 계정 목록에서 선택한 사용자 계정이 사라진다.

2. 사용자 홈 디렉토리에 포함된 모든 파일들은 tar로 묶여져서 gzip으로 압축된다.  이렇게 압축된 파일은 oldaccounts라고 불리는 디렉토리에 저장이 된다. 삭제된 사용자의 계정이름이 useraccount라고 할 때 묶여지 파일의 이름은

useraccount-1998-10-10-497.tar.gz

삭제된 계정이 언제 삭제되었는지 나타나고 그 뒤에 나타나는 번호는 사용자 계정을 삭제할 때의 프로세스 ID를 나타낸다. oldaccounts 디렉토리는 사용자의 홈디렉토리와 같은 위치에 존재하며 이 디렉토리는 사용자 계정 자료를 압축하는 선택 사항을 사용하여 사용자 계정을 처음 삭제 할 때 자동적으로 생성된다.

3. 사용자의 홈디렉토리에 포함되지 않은 파일들은 시스템 내에 그대로 남겨 진다. 이 파일들은 삭제한 사용자 계정의 UID의 소유로 되어 있다. 만약 새로운 계정을 만들 때 이 새로운 사용자 계정에 대해 삭제된 사용자 계정의 UID를 할당하면 남겨진 파일들은 새로 만들어진 계정에 속한 파일들이 된다.

그림 8.10에서 보이는 것과 같은 Delete the accounts <accountname> 설정화면에서 Delete the account's data 선택 사항을 선택하면,

1. 사용자 계정 목록에서 사용자 계정을 삭제한다.

2. 사용자의 홈 디렉토리와 이 디렉토리에 포함된 모든 내용을 삭제한다.

※주의 사항: 사용자의 홈디렉토리에 포함되지 않은 파일들은 시스템 내에 그대로 남겨 진다. 이   파일들은 삭제한 사용자 계정의 UID의 소유로 되어 있다. 만약 새로운 계정을 만들 때 이 새로운 사용자 계정에 대해 삭제된 사용자 계정의 UID를 할당하면 삭제되지 않고 남겨진 이 고아 파일들은 새로 만들어진 계정에 속한 파일이 된다.

그림 8.10 계정 삭제 화면

8.1.2 그룹

모든 사용자들은 하나 또는 그이상의 그룹에 속해 있다. 각각의 파일이 특정한 소유자가 있는 것처럼, 모든 파일은 어떤 특정한 그룹에 속해 있다. 이 그룹은 파일의 소유자를 명확히 하기도 하고 어떤 그룹은 모든 사용자에게 공유되기도 한다. 읽기 권한, 쓰기 권한 실행 권한 등이 그룹에 할당 될 수 있다. 이것은 파일 소유자의 권한과는 별개다. 예를 들어 파일의 소유주는 문서에 대해 쓸 수 있다. 반면 다른 그룹의 멤버는 단지 읽을 수 있을 뿐이다.

그룹 생성하기 - ( 간단한 설명 )

1. 쉘 상에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> User accounts -> normal -> Group Definitions

4. Add 단추를 선택한다.

5. 그룹 이름을 입력하고 선택 사항으로 그룹의 멤버 등을 지정한다.

6. Accept 단추를 클릭하여 선택한다.

그룹 생성하기 - ( 전체적인 개관 )

새 그룹을 생성하려면

ㅇ 쉘 입력 대기 상태에서 llinuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> User accounts -> Normal -> Group definitions

위와 같은 순서로 트리를 연다.

시스템에 15개 이상의 그룹이 존재 할 경우, 원하고자 하는 그룹을 선택하기 위해서 앞의 글자에 따른 검색 선택 사항 기능을 제공한다.

이 설정 화면에서 바로 새로운 그룹을 추가하거나, User group 설정 화면에서 전환할 수 있다.

User groups 화면으로 전환하기 위해서 접두사가 있거나 또는 없이 Accept 단추를 클릭하고, 새로운 그룹을 추가하기 위해서는 Add 단추를 클릭한다.

User groups 설정화면의 아랫부분에서 Add 단추를 클릭한다.

그룹 이름을 입력한다. 여기서 생성하려는 그룹에 대해서 구성원들을 지정할 수 있다. 이것은 Alternate members 입력 필드에 기술하면 된다. 그룹의 구성원 사용자 목록은 공백으로 사용자들을 서로 구별한다. 따라서 그룹 구성원인 사용자들은 사용자간에 공백을 사이에 두고 계속 나열된다. 그룹 구성원들에 대한 입력이 끝나고, Accept 단추를 클릭하면 그룹이 생성 될 것이다.

그림 8.11 그룹 필터 화면

그룹의 삭제 - ( 간단한 설명 )

1. 쉘 상에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> User accounts -> normal -> Group Definition

4. 삭제하려는 그룹을 선택한다.

5. Del 단추를 클릭한다.

6. 삭제를 확인하는 과정을 거친다.

그림 8.12 사용자 그룹화면

그룹의 삭제 - ( 전체적인 개관 )

그룹을 삭제하려면:

ㅇ 쉘 입력 대기 상태에서 llinuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> User accounts -> Normal -> Group definitions

위와 같은 순서로 트리를 연다.

시스템에 15개 이상의 그룹이 있다면 접두사를 통해 그룹을 지정하여 선택할 수 있도록 그림 8.11에 있는 것과 유사한 필터 화면이 나타날 것이다.

ㅇ 접두사를 기술하거나, 접두사 없이 필터화면 하단의 Accept 단추를 클릭한다.

ㅇ 그림 8.12에서 나타나는 User groups 설정화면에서 삭제하고자 하는 그룹을 선택한다.

ㅇ 그림 8.13에서 보이는 Group specification 설정화면이 나타날 것이다.

ㅇ 그룹을 삭제하기 위해서 Del을 클릭한다. linuxconf는 삭제에 대한 확인을 요구하는 입력 대기 상태가 나타날 것이다. yes를 클릭하면 그룹이 삭제된다.

그림 8.13 그룹 지정 화면

그룹에 속했던 파일은 남아 있으며, 이것에 관련된 사용자 계정은 이 파일에 대한 유일한 제어권을 가지게 된다. 그룹의 이름은 삭제된 그룹에 할당됐던 그룹의 ID 숫자로 대체된다. 이 파일들은 chgrp명령을 통해 다른 그룹에 할당할 수도 있다. chgrp에 대한 좀더 자세한 정보는 쉘 입력 대기 상태에서 info chgrp또는 man chgrp 명령을 입력하면 알 수 있다. 새로운 그룹을 만들고 이 그룹에 삭제되었던 그룹의 ID 숫자를 할당하면 그룹 소유의 모든 파일에 대해 제어권을 행사할 수 있다. 그러나 linuxconf는 오래된 사용자 계정의 ID 숫자 보다 더 오래된 그룹의 ID 숫자를 재사용하지 않으므로 걱정하지 않아도 된다. 따라서 이러한 일이 우연히 발생하지는 않는다.

그룹 구성원의 변경

그룹에 속한 구성원의 사용자 목록을 변경시키는 방법은 두 가지가 있다. 하나는 사용자 계정 자체에서 각각의 사용자 계정의 그룹을 일일이 변경시켜 주는 방법이 있고 또 하나는 group definitions에서 구성원 목록을 갱신하는 방법이 있다. 단지 그룹 정보에 대해서만이 아니고, 각각의 사용자에 대한 좀더 상세한 정보를 변경시키려면 각각의 사용자 계정에 대한 정보를 갱신하는 것이 더 쉽다.

그룹 구성원 목록의 변경 - ( 간단한 설명 )

Group definitions 설정화면에서

1. 쉘 상에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> User accounts -> normal -> Group Definition

4. 구성원을 변경시키려는 그룹을 선택한다.

5. Alternate members(opt) 입력 필드에서 구성원 사용자 계정을 추가하거나 삭제한다.

각각의 사용자 이름이 공백문자로 분리되었는지를 확인한다.

6. Accept 단추를 클릭한다.

그룹 구성원 목록의 변경 - ( 간단한 설명 )

사용자 설정화면에서

1. 쉘 상에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> User accounts -> normal -> User accounts

4. 그룹에 추가시키거나 삭제시킬 사용자 이름을 선택한다.

Supplemantary groups 입력 필드를 적절히 조정한다. 이 입력 필드에 나열된 그룹 이름들이 공백문자로 분리되었는 지 확인한다.

5. Accept 단추를 클릭하여 선택한다.

6. 3에서 5의 단계를 각각의 변경하고 싶은 사용자 이름에 대해 적용한다.

그룹 구성원의 변경 - ( 일반적인 개관 )

groups definitions 설정화면에서 설정하는 것에 대해 우선 설명하면:

ㅇ 쉘 입력 대기 상태에서 llinuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> User accounts -> Normal -> Group definitions

위와 같은 순서로 트리를 연다.

시스템에 15개 이상의 그룹이 있다면 접두사를 통해 그룹을 지정하여 선택할 수 있도록 그림 8.11에 있는 것 같은 필터 화면이 나타날 것이다.

ㅇ 접두사를 기술하거나, 접두사 없이 필터화면 하단의 Accept 단추를 클릭한다.

ㅇ 구성원의 목록을 변경시키려는 그룹을 선택한다. 그러면 그림 8.13에서 보이는 것과 같은 Group specification 설정화면이 나타나게 된다.

ㅇ Alternate members 입력 필드에 각각의 사용자 이름을 추가 또는 삭제한다. 각 사용자 이름이 공백 문자로 분리가 되었는지를 확인 할 것

ㅇ 변경이 모두 끝났으면 설정 화면 하단의 Accept 단추를 클릭할 것.

이것은 Supplementary groups에서 보여지는 각각의 개인 사용자에 대한 추가적인 그룹 정보를 자동적으로 갱신한다.

그룹 구성원에 대한 정보를 각각의 사용자 계정 설정화면에서 변경하는 것은 다음과 같다.

ㅇ 쉘 입력 대기 상태에서 llinuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> User accounts -> Normal -> User accounts

위와 같은 순서로 트리를 연다.

시스템에 15개 이상의 사용자 계정이 있다면 접두사를 통해 사용자 계정을 지정하여 선택할 수 있도록 그림 8.4 에 보이는 것 같은 필터 화면이 나타날 것이다.

ㅇ 사용자 계정 설정화면(그림 8.5)에서 설정 정보를 변경할 사용자 계정을 선택한다. 그리고 나면, User information 설정화면(그림 8.8)이 나타난다.

ㅇ Supplementary groups 입력 필드를 선택하여, 원하는 그룹을 삭제하거나, 추가한다. 여기서 나열된 그룹이 공백문자로 분리되었는지를 확인한다.

ㅇ 설정화면 하단의 Accept를 클릭하여 변경한 내용을 적용시킨다.

이렇게 하면 group definitions에 있는 내용도 자동적으로 갱신된다. 각각의 사용자 계정에 대해서 위의 과정을 반복한다.

8.1.3 시디롬, 디스켓, 하드 드라이브 등의 파일 시스템 관련

파일 시스템은 파일과 디렉토리로 구성된다. 이것은 하나의 루트 디렉토리에서부터 시작한다. 이 루트 디렉토리는 파일들과 디렉토리 안에 다른 디렉토리와 파일을 포함한 디렉토리를 포함하고 있다. 일반적인 파일 시스템의 경우 파일이 나뭇잎이고 디렉토리가 가지인 뒤집어진 나무의 모양을 하고 있다. 파일 시스템은 디스켓이나 하드디스크 드라이브, 시디롬과 같은 대용량 저장장치에 존재한다.

예를 들어 도스나 윈도우 95에서는 디스켓 드라이브를 접근하기 위해 일반적으로 A:\. 라고 표기하여 접근한다.  (A:)는 장치를 나타내고 (\.)는 장치 상의 루트 디렉토리를 나타낸다. 동일한 시스템에서 첫 번째 부팅 가능한 하드디스크를 참고하려면 □C"드라이브라고 표기하여 사용한다, 왜냐 하면, 첫 번째 부팅 가능한 하드 드라이브에 대한 장치 정의가 C:이기 때문이다. 따라서 C 드라이브의 루트 디렉토리를 표시하려면, C:\.이라고 표기한다.

이러한 배열상태에서는 두 개의 파일 시스템이 존재한다. 하나는 A:, 다른 하나는 C:이다. 도스/윈도우 95 파일 시스템에서는 모든 파일의 위치를 나타내려면, 우선 파일이 존재하는 장치를 먼저 명시적으로 표시해 주어야 한다. 이것을 명시적으로 표현하지 않는 경우에는 이 파일은 시스템의 기본 드라이브 상에 있는 것으로 인식된다. ( 하나의 하드디스크를 가지고 있는 시스템에서의 기본 드라이브가 C이기 때문에 유래한 도스의 지긋지긋하기 그지없는 C 입력 대기 상태인 그것이다. )

리눅스 상에서는 여러 개의 저장장치를 파일 시스템간의 연결을 통해 하나의 크고 단일한 파일 시스템으로 묶는 것이 가능하다. 이것은 하나의 장치에 있는 파일 시스템에 다른 장치의 파일 시스템을 위치시킴으로써 가능해 진다. 도스에서 디스켓 드라이브의 루트디렉토리는 A:\.로 참고하던 것이 리눅스에는 동일한 위치를 /mnt/floppy로 접근할 수 있다.

파일 시스템들을 병합시키는 과정을 마운트라고 한다. 장치가 마운트되면, 이 장치는 시스템의 사용자가 접근할 수 있게 된다. 장치의 파일 시스템이 시스템의 사용자가 접근할 수 있는 마운트되는 디렉토리를 마운트 지점이라고 한다. 위 문장의 예에서 /mnt/floppy는 디스켓 드라이브의 마운팅 지점이다. 주의해야 할 사항은 마운트 지점의 이름을 지정하는데 제한이 없다는 것이다. 쉽게 마운트하기 위해 floppy에 대한 마운트 지점을 다음과 같이 /long/path/to/the/floppy/drive라고 지정할 수도 있다.

기억해야 할 사항은 장치의 모든 파일과 디렉토리는 마운트 지점을 기준으로 해서 기술된다는 사실이다. 다음의 예를 주의 깊게 살펴보기 바란다.

* 리눅스 시스템

- / - 시스템 루트 디렉토리

- /foo - 시디롬에 대한 마운트 지점

* 시디롬

- / - 시디롬의 루트 디렉토리

- /images - 시디롬에 있는 이미지들의 디렉토리

- /images/old - 오래된 이미지들의 디렉토리

위의 사항은 각각의 장치에 대한 파일 시스템을 나타낸 것이다. 이 상황에서 시디롬을 /foo 에 마운트하게 되면 새로운 운영체체상에서의 디렉토리 구조는 다음과 같이 될 것이다.

* 리눅스 시스템(시디롬이 마운트된)

- / - 시스템 루트 디렉토리

- /foo - 시디롬 의 루트 디렉토리

- /foo/images - 시디롬의 이미지 디렉토리

- /foo/images/old - 오래된 이미지의 디렉토리

파일 시스템을 마운트하기 위해서는 root권한으로 로그인한다. 또는 일반 사용자로 로그인한 상황에서 su 명령을 사용하여 root 권한을 얻어야 한다. 후자의 경우 쉘 입력 대기 상태에서 su라고 입력하고 그 다음에 root 암호를 입력하면 된다. 일단 root권한이 되면 마운트 명령을 장치 지정자와 마운트 지점을 함께 입력하면 된다. 예를 들면 첫 번째 디스켓 드라이브를 /mnt/floppy 디렉토리에 마운트하기 위해서는 mount /dev/fd0 /mnt/floppy라고 입력하면 된다.

설치를 할 때 레드햇 리눅스는 /etc/fstab 파일을 만든다. 이 파일은 각각의 저장장치 장치에 대한 정보와 이 장치들이 마운트되는 마운트 지점에 대한 정보를 가지고 있다. 이 파일이 가지고 있는 장점은 마운트를 수행할 때 마운트 명령을 짧게 줄일 수 있다는 점이다. /etc/fstab에 있는 정보를 사용하여 마운트 명령을 수행하려면 mount라고 입력한 뒤 마운트 지점이나 장치 지정자중 하나만 입력하면 된다. 그러면 mount프로그램은 /etc/fstab에서 나머지 필요한 인수가 있는지를 찾는다. 이 파일은 손으로 직접 편집해도 되고, linuxconf를 사용해도 된다. linuxconf를 사용해서 이 파일을 설정하려면 8.1.3장을 참고하기 바란다.

현재 시스템의 파일 시스템에 대한 개관 - ( 간단한 설명 )

1. 쉘 상에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> File systems -> Access local drive

또는 네트워크 파일 시스템의 경우에는

Config -> File systems -> Access nfs volume

현재 시스템의 파일 시스템에 대한 개관 - ( 전체적인 개관 )

현재 시스템의 디렉토리 구조를 보기 위해서는 다음과 같은 과정을 수행한다.

ㅇ 쉘 입력 대기 상태에서 llinuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> File systems -> Access nfs volume

위와 같은 순서로 트리를 연다.

나타나는 필드들이 있는데 다음과 같다.

ㅇ Source - 물리적인 하드웨어 장치를 나타내는데, hd로 시작하면 IDE하드디스크를 나타내고, fd로 시작하는 것은 플로피 디스켓을 의미한다. cdrom으로 표기 된 것은 일반적으로 시디롬 드라이브를 나타낸다. 만약 SCSI 하드디스크를 가지고 있다면 이것은 sd로 시작하게 된다. 이러한 하드웨어 장치 유형에 대해 복수의 장치가 존재할 경우에는 위에서 설명한 접두사에 문자가 하나씩 할당되어 서로 구별을 하게 된다. 예를 들어 hda는 첫 번째 IDE 하드디스크 드라이브를 나타내고, hdb는 두 번째 IDE 하드디스크 드라이브를 나타낸다. 여기에 숫자가 추가되면 이것은 각 디스크의 분할 영역 번호가 된다. 그러나, 플로피 디스켓의 경우에는 숫자가 바로 플로피 디스크 드라이브를 표시한다.

그림 8.14 로컬 볼륨 화면

ㅇ Mount point - 마운트할 때 마운트하려는 드라이브가 시스템의 디렉토리 구조에서 마운트되는 지점을 나타낸다.

ㅇ FsType - 이 부분은 파일 시스템의 종류를 표시하는 부분이다. 표준 리눅스 분할 영역은 ext2 파일 시스템을 사용한다. vfat 파일 시스템은 긴 파일명을 붙일 수 있는 도스 파일 시스템을 나타내고, fat 파일 시스템은 전통적인 8.3자의 파일 이름 한계를 가지는 도스 파일 시스템을 나타낸다. iso9660 파일 시스템은 시디롬에서 사용하는 파일 시스템을 나타낸다. 그림 8.14를 참고하기 바란다.

※주의 사항: 레드햇 리눅스 5.2는 vfat 파일 시스템을 사용하는 FAT32 파일 시스템을 읽어 들일 수 있다.

ㅇ Size - 파일 시스템의 크기를 메가바이트 단위로 표시한다. 시디롬이나 플로피 디스켓 같은 착탈식 저장 매체의 경우에는 0 바이트로 표시된다.

ㅇ Partition type - 분할 영역의 유형

네트워크 상에서 다른 시스템의 파일 시스템을 접근하는 것도 가능하다. 이렇게 접근 할 수 있는 범위는 다른 시스템의 일부 디렉토리를 접근하거나 때로는 다른 시스템의 전체 파일 시스템에 접근할 수 있다. 이러한 파일 시스템에 대한 추가적인 정보는 다음에서 설명한다.

Config -> File systems -> Access nfs volume

그림 8.15 NFS 볼륨 화면

이러한 과정을 거쳐 나타나는 화면(그림 8.15)은 각각의 접근 가능한 저장 매체를 표시하는 부분에 대한 정보가 몇 가지 다르다는 것을 제외하면 그림 8.14에서 보여지는 것과 흡사하다.

ㅇ Source - 여기에는 파일 시스템을 서비스하는 서버의 호스트 이름이 첫 번째로 나타나고 그 다음에 공유를 허락한 원격 시스템의 디렉토리를 써준다. 예를 들어 foo:/var/spool/mail을 보면 foo는 파일 시스템을 서비스하는 호스트의 이름이고 /var/spool/mail은 서비스를 통해 공유하는 디렉토리 이름이다.

ㅇ FsType - 이 부분은 언제나 nfs이다.

NFS 마운트 추가하기 - (간단한 설명)

1. 쉘에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> File systems -> Access nfs volume

4. Add 단추를 클릭한다.

5. 파일 시스템을 공유서비스를 해주는 서버의 호스트 이름을 입력한다.

6. Volume 입력 필드에 원격시스템에서 공유를 허가한 파일 시스템의 디렉토리 경로를 입력한다. 예를 들어 /var/spool/mail와 같은 식으로 입력하면 된다.

7. 현재 사용하고 있는 시스템의 어디에 마운트를 시킬 것인가를 나타내는 마운트 지점을 입력한다. 예를 들면 /mnt/foo와 같은 식으로 입력하면 된다.

8. Accept 단추를 클릭한다.

NFS 마운트 추가하기 - ( 전체적인 개관 )

NFS는 네트워크 파일 시스템의 표준이다. 이것은 네트워크를 통해 시스템에 저장된 내용을 공유할 수 있도록 해준다. 이러한 공유하는 내용은 하나의 디렉토리처럼 작을 수도 있고 복잡한 계층 구조를 지닌 디렉토리 상에 있는 수천 개의 파일이 될 수도 있다. 예를 들어 많은 회사들은 하나의 전자우편 서버에 각각의 사용자의 전자우편 파일들을 저장해 놓고 이것을 NFS로 서비스해서 각각의 사용자들이 사용하는 시스템에서 공유 할 수 있도록 설정해서 쓰고 있다.

NFS 마운트 추가하려면

ㅇ 쉘 입력 대기 상태에서 linuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> File systems -> Access nfs volume

위와 같은 순서로 트리를 연다.

ㅇ NFS volume 화면( 그림 8.15 )에서 하단의 Add 단추를 클릭한다.

다음 나타나는 Volume specification 설정화면에서 Base 탭에서 꼭 입력해야 하는 내용을 입력한다.

ㅇ Server - 공유하기를 원하는 파일 시스템을 가지고 있는 호스트 이름을 입력한다.

예) foo.bar.com

ㅇ Volume - 추가하기를 원하는 파일 시스템의 경로 부분을 입력한다.

예) /var/spool/mail

ㅇ Mount point - 원격에서 접근가능한 파일 시스템을 현재 사용하는 시스템의 어디에 붙일 것인가를 지정한다.

예) /mnt/mail

위의 세 가지가 NFS 마운트를 추가하는데 꼭 필요한 내용이다. linuxconf는 /etc/fstab 파일을 적절히 수정한다. 추가적인 설정에 대해 알고 싶다면, Volume specification 설정화면에서 Help 단추를 눌러 help 파일을 보거나, mount에 대한 man page를 참고하기 바란다.

위의 입력 필드에 대한 입력이 끝나면. Accept를 클릭한다.

그림 8.16 볼륨 지정 화면

8.1.4 네트워크 연결

네트워크를 연결할 때 첫 번째로 결정해야 할 사항은 어떤 네트워크에 연결할 것인가 하는 것이다. 예를 들면 사무실에서와 같은 LAN으로 연결할 것인지, 아니면 인터넷과 같은 WAN에 연결을 할 것인지를 결정해야 한다. 그리고 알아야 할 중요한 사항은 이러한 네트워크 연결에 사용할 하드웨어 장치의 종류가 무엇인가 하는 것과 이것이 어떻게 연결되었는지를 아는 것이다. 전화선을 통해 다른 컴퓨터에 연결을 하려고 하면 모뎀이 장착이 되었는지 그리고 전화선이 제대로 연결이 되었는지를 확인해야 한다. 네트워크 카드를 사용하는 경우라면 네트워크 카드가 제대로 장착되었는지, 그리고 케이블이 올바르게 연결이 되었는지를 확인해야 한다. 네트워크에 대한 설정을 우선 제외한다고 해도 컴퓨터에 어떤 전화선이나 케이블도 연결이 되어있지 않다면 현재 사용하는 시스템은 네트워크에 연결할 수 없다.

리눅스에서 이러한 네트워크에 연결하는 것은 모뎀을 통한 연결을 우선 설명하고 그 다음에 네트워크 카드를 사용한 네트워크 연결에 대해서 설명하겠다.

모뎀/PPP/SLIP연결을 추가하기 - ( 간단한 설명 )

1. 쉘에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> Networking -> PPP/SLIP/PLIP

4. Add 단추를 클릭한다.

5. 연결 종류를 선택한다.

6. 전화번호, 로그인 이름, 암호를 입력한다.

7. PPP 연결에만 사용이 가능한 선택 사항이기는 하지만 필요한 경우 Use PAP authentication을 선택한다.

8. Accept 단추를 클릭한다.

모뎀/PPP/SLIP연결을 추가하기 - ( 전체적인 개관 )

PPP나 SLIP으로 연결하기 위해 시스템 관리자나 ISP(Internet Service Provider)로부터 얻어야 할 정보들이 있다. ISP의 종류에 따라 PPP 연결을 설정하는 방법에 있어서 연결 방법을 다르게 설정해야 할지도 모른다. 어떤 ISP에서는 리눅스 시스템을 사용하는 개개인을 다룰 정도의 장비가 부족한 경우도 있다. 걱정할 필요는 없다. 그렇다고 해도 연결은 할 수 있다. 단지 ISP로부터 추가적인 정보를 더 알아내기만 하면 된다. 다음에 나열하는 사항은 레드햇 리눅스에서 PPP 연결을 하는데 필요한 정보들이다. ISP에서는 여러분이 요구하는 정보 이상의 것을 제공할 수도, 아니면 필요한 정보를 일부만 제공할 수도 있다. 레드햇 리눅스는 이러한 설정과정을 단순화하기 위한 linuxconf나 기본적인 설정을 자동화하기 위한 정보 등을 최적화 시켜 왔다. ISP 측에서 레드햇 리눅스를 위한 설정에 필요한 정보를 문서화하지 않았다면, 다음에 나열한 정보들을 ISP에 요청하면 된다. 설정에 필요한 사항들은 다음과 같다.

ㅇ 도메인 네임 서버( DNS )의 IP 주소

ㅇ 전화 접속 번호

ㅇ ISP에 접속하는데 사용하는 로그인 이름과 암호

ㅇ 접속이 이루어졌을 때 ISP쪽에서 자동적으로 IP 주소를 할당하지 않는다고 할 경우에 시스템에 할당될 IP 주소

ㅇ ISP에서 사용자 인증을 사용할 수도하지 않을 수도 있다. 만약 PAP, CHAP, MS-CHAP 같은 사용자 인증을 사용할 경우에 사용자 인증을 가능하게 하는 키가 필요하다. 이 키는 하나의 단어이거나, 또는 문자열이 될 것이다. CHAP나 MS-CHAP은 linuxconf를 사용해서 설정을 할 수 없다. 그러나 이러한 것은 거의 사용되지 않는다.

부 도메인 네임 서버의 IP 주소나 우선 검색 도메인 같은 추가적인 정보는 도움이 되는 정도일 뿐 꼭 필요한 사항을 아니다. 모뎀을 통해 네트워크를 연결하는 데 필요한 정보는 위에서 나열한 사항만 있으면 된다.

ㅇ 쉘 입력 대기 상태에서 llinuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> Networking -> PPP/SLIP/PLIP

위와 같은 순서로 트리를 연다.

ㅇ 하단의 Add 단추를 클릭한다.

그림 8.17 PPP/SLIP/PLIP 설정 화면

처음에는 미리 설정된 사항이 없을 것이다. Add 단추를 클릭해서 선택하면, PPP, SLIP, PLIP중에 하나를 선택하는 화면이 나타날 것이다.

PPP는 가장 많이 쓰이는 모뎀 인터페이스이고 기본적으로 이것으로 설정된다. PPP 연결을 설정하기 위해서는 PPP를 선택하고 Accept 단추를 클릭한다.

다음과 같은 사항을 묻는 설정화면이 나타날 것이다.

ㅇ Phone number - PPP 접속을 하는데 사용되는 전화 번호

ㅇ Modem port - 모뎀이 어느 포트에 연결되어 있는지를 나타낸다( 미리 설정이 되어 있어야 한다).

ㅇ Use PAP authentication (체크 상자) - 전화 접속 시에 사용자 인증으로 이것이 필요하다면 체크 표시를 토글 시킬 것

ㅇ Login name - PPP에 접속하는데 사용하는 로그인 이름

ㅇ Password - PPP에 접속하는 데 필요한 암호

그림 8.18 인터페이스 화면 유형

PPP interface ppp0 라고 붙어 있는 제목을 주의해서 살펴보자. 여기서 ppp0이 의미하는 것은 첫 번째 ppp 인터페이스를 의미한다. ppp1은 두 번째 인터페이스를 의미한다. 이런 식으로 계속 추가 될 수 있다. 시스템에 하나이상의 인터페이스가 존재하는 경우에 어느 인터페이스를 사용하는지를 아는 것이 중요하다. SLIP 연결의 경우에는 인터페이스 접두사가 ppp 대신에 sl이 붙게 된다. PAP 인증 선택 사항을 제외하고는 PPP 설정 화면이나 SLIP 설정화면이나 차이가 없다.

PPP 접속을 하는데 필요한 구내 전화 교환이나 지역번호를 포함한 전체 번호가 필요하다. 만약 구내 전화 시스템에서 PPP연결을 시도하는 경우 구내 전화 외부로 나가기 위해 필요한 모든 번호를 전부 입력해야 한다. 예를 들어 구내전화에서 외부전화를 사용하려면 9번을 누르고 사용하는 경우가 많다. 이 경우에 ISP로 연결하는 데 필요한 전화 번호가 555-0111이면 전화 번호 입력란에 입력해야 하는 전화 번호는 95550111이 된다. 그 다음에 필요한 내용이 모뎀 포트 번호인데 이것은 드롭다운 메뉴에서 선택 가능한다. 윈도우와 리눅스로 다중 부팅을 사용하는 경우라면 윈도우 쪽에서 사용하는 포트번호와 리눅스에서 표기하는 포트번호는 다음과 같이 대응된다.

윈도우의 COM 포트는 다음과 같이 대응된다.

ㅇ cua0 -  도스에서의 COM1

ㅇ cua1 -  도스에서의 COM2

ㅇ cua2 -  도스에서의 COM3

ㅇ cua3 -  도스에서의 COM4

로그인 이름에는 PPP 접속에 필요한 로그인 이름을 입력한다. 입력한 암호는 암호화되지 않고 입력된 그대로 나타난다. 그렇기 때문에 암호를 입력할 때 주위에 사람이 있는지 확인하고 주의해서 입력하기 바란다. PAP 인증을 사용한다면 Use PAP authentication의 체크 상자에 표시한다. 추가적인 정보를 입력하려면 설정화면 중간에 있는 Customize를 클릭한다.

그림 8.19 PPP 인터페이스 화면

그러면 다른 정보에 대해서 다양한 탭으로 분류되어 설정이 가능하도록 Customize 설정 화면이 나타난다. 하지만 처음의 설정화면에서 설정하는 것이 Customize 화면 보다 설정이 쉽다.

Customize 설정화면에서 설정을 해야하는 것은 PAP 탭 상에서 접속할 때 사용하는 로그인 이름과 Secret 입력 필드에 ISP에서 제공하는 비밀키를 입력한다.  나머지 사항은 기본적으로 설정되어 있는 사항만으로도 충분하다. 하지만 추가적인 사항이 필요하다면 Customize 단추를 클릭하여 세부사항을 설정하는 것이 가능하다.

PPP 또는 SLIP설정을 변화시키기 - ( 간단한 설명 )

1. 쉘 상에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Config -> Networking -> PPP/SLIP/PLIP

4. 설정 변경을 위해서 Configuration PPP/SLIP/PLIP을 선택한다.

5. 설정을 원하는 데로 바꾼다; 대부분의 설정은 Communication 탭에서 바꾼다.

6. Accept 단추를 클릭한다.

그림 8.20 SLIP 인터페이스 화면

PPP 또는 SLIP설정을 변화시키기 - ( 전체적인 개관 )

PPP/SLIP/PLIP configuration 설정화면 목록에서 하나를 선택해서 이것을 지우거나 설정되어 있는 내용을 변경할 수 있다.

ㅇ 쉘 입력 대기 상태에서 linuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> Networking -> PPP/SLIP/PLIP

위와 같은 순서로 트리를 연다.

ㅇ PPP/SLIP/PLIP 설정 화면(그림 8.17)이 선택할 수 있는 목록을 가지고 나타날 것이다. 여기에서 지우거나 설정 변경할 항목을 선택한다.

그림 8.21 PPP 인터페이스 사용자 정의 화면

이제 설정을 위해 적당한 인터페이스 화면이 나타날 것이다. 이 설정을 지우고 싶다면 설정화면 하단의 Del 단추를 클릭한다. 모뎀 포트 번호는 Hardware 탭 설정화면에서 팝업 메뉴로 선택할 수 있다. 처음 설정할 때 설정했던 내용을 변경하고 싶다면 Communication 탭을 설정하면 된다. 첫 번째 Send 입력 필드는 접속할 때 사용하는 로그인 이름이고, 두 번째 Send 입력 필드는 암호를 입력한다. Expect 입력 필드는 login: 나 password: 입력 대기 상태에 해당된다. 이것은 ogin: 그리고 ord:로 표시된다.

그림 8.22 SLIP 인터페이스 사용자 정의 화면

일단 설정을 변경했으면 변경한 내용이 제대로 동작하는지 시험해 볼 수 있다. 설정화면 하단의 Connect 단추를 클릭하면 설정한 내용을 가지고 PPP나 SLIP 접속을 시도한다. 일단 설정 변경과 이를 시험해 보는 게 끝나면 모뎀을 사용한 원격 접속을 usernet 프로그램을 사용하여 접속과 해제를 제어할 수 있다. usernet에 대한 좀더 자세한 정보는 man page를 참고하기 바란다.

다른 네트워크 연결 - ( 간단한 설명 )

이 장에서는 여러 가지 선택에 따른 추가적인 다양한 선택이 있을 수 있기 때문에 간단히 설명할 수 없으므로 생략한다.

다른 네트워크 연결 - ( 전체적인 개관 )

이더넷을 통한 네트워크의 연결은 전체적으로 서로 다른 종류의 설정이 필요하다. 토큰링이나 아크넷을 통한 네트워크 연결도 역시 비슷한 과정이 필요하다. 하지만 여기서는 이 두 가지 유형의 인터페이스에 대해서는 설명하지 않는다.

ㅇ 우선 이더넷 네트워크 카드의 설치가 필요하다.

ㅇ 쉘 입력 대기 상태에서 linuxconf를 입력 실행시킨다.

ㅇ 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

ㅇ Config -> Networking -> Client tasks -> Basic host information

위와 같은 순서로 트리를 연다. Host name 탭 설정화면이 호스트 이름 입력을 위해 나타날 것인데 여기에는 기본적으로 localhost.localdoamin.이 설정 되어있다. 탭 설정화면을 그냥 넘어가서 Adoptor 1을 위한 설정 탭을 선택한다.

그림 8.23 어댑터 1

이 설정 화면의 첫 번째 설정 요소는 체크 상자로 이 네트워크 카드 어댑터를 사용 가능하게 할 것인가 말 것인가를 설정한다. 이 네트워크 어댑터를 사용하려고 한다면 체크해야 한다. 그 바로 아래 Config mode를 선택하는 것이 있다. Manual은  이 네트워크 어댑터를 설정하는 데 필요한 모든 정보를 직접 입력하는 것이고 DHCP나 bootp는 필요한 정보를 네트워크의 원격 서버로부터 받아 네트워크를 연결하는 것이다. 만약 어느 선택 사항을 선택해야 할지 확실하지 않다면 시스템 관리자에게 문의를 하기 바란다. 만약 관리자이지만, 확실히 모르겠다면 Manual을 선택하면 된다.

DHCP 와 bootp 설정에 대한 필요한 입력 필드는 다음과 같다.

ㅇ Net device - 사용하는 네트워크 카드의 종류, eth0은 첫 번째 이더넷 카드를 나타낸다.

ㅇ Kernel module - 사용하는 네트워크 카드에 맞는 장치 구동기 모듈, 이것에 대한 좀더 자세한 정보는 다음의 목록에 나와있다.

DHCP와 bootp를 위한 설정에는 위의 두 가지만 있으면 된다. Net device에 대한 설정을 위해서는 이더넷 카드를 나타내는 eth 접두사를 가진 목록으로부터 적당한 것을 고른다. arc접두사를 가진 것들은 arcnet 카드를 나타내는 것이고 tr 접두사를 가진 것들은 토큰링 네트워크 카드를 나타내는 것이다. 네트워크 카드과 거기에 관련된 구동기 모듈에 대한 전체 목록은 D-4장에 있다. 가장 최근의 목록을 위해 다음의 웹사이트를 확인해 보기 바란다.

http://www.redhat.com

넷마스크는 설정하는 내용에 맞게 자동적으로 설정이 된다. 또는 이것을 직접 설정할 수도 있다. 만약 ISP에 연결을 하려고 한다면 필요한 정보를 ISP에 문의하기 바란다. 일반적으로 넷 마스크는 255.255.255.0이다.

Manual 설정을 위해서 필요한 정보들은 다음과 같다.

ㅇ Promary name + domain - Pramary name은 현재 설정 중인 컴퓨터의 이름이다. 반면에 domain은 컴퓨터가 어떤 네트워크에 연결되어 있는지에 대한 정보이다. 예를 들어 foo.bar.com에서 foo는 컴퓨터의 호스트 이름이고 bar.com은 도메인이다.

ㅇ IP address - 이것은 컴퓨터를 나타내는 주소로 x.x.x.x같은 유형으로 표시된다. 예) 192.168.0.13

ㅇ Net device - 사용하는 네트워크 카드의 종류, eth0은 첫 번째 이더넷 카드를 나타낸다.

ㅇ Kernel module - 사용하는 네트워크 카드에 맞는 장치 구동기 모듈

네트워크 장치나 커널 모듈을 위에서 설명한 내용이므로 생략한다. 적당한 주 호스트 이름과 IP 주소는 이미 있는 네트워크에 연결하느냐 아니면 새로운 네트워크를 구성하느냐에 따라 달라진다. 이미 존재하는 네트워크에 연결하는 경우에는 이것에 대한 정보를 시스템 관리자에게 문의하자. 인터넷에 네트워크로 연결하는 방법에 대해 설명하는 것은 이 책의 목적을 벗어나는 것이다. 자세한 내용은 다음 책을 참고하는 것이 도움이 될 것이다.

TCP / IP Network Administration, 2nd Edition, Craig Hunt( O'Reilly and Associates )

인터넷에 연결되지 않은 사설 네트워크를 설정하려고 한다면 주 호스트 이름과 도메인 이름을 마음대로 선택할 수 있다. 그리고 IP 주소는 그림 8.24에 나온 것과 같은 범위에서 선택할 수 잇다.

사용가능 주소	예
10.0.0.0 - 10.255.255.255	10.5.12.14
172.16.0.0 - 172.31.255.255	172.16.9.1, 172.28.2.5
192.168.0.0 - 192.168.255.255	192.168.0.13

그림 8.24 사설 주소 범위

위의 세 가지 세트의 IP 주소는 일반적인 인터넷 주소의 A,B,C 클래스에 해당되는 것들이다.

각각의 클래스는 가지고 있는 IP 주소의 숫자가 다르다. 따라서 필요한 사설 네트워크의 호스트 수에 따라 클래스를 선택해서 사용한다.

참고사항: 위의 IP 주소를 사용하면 이렇게 설정한 시스템은 인터넷에 연결 할 수 없다. 인터넷에 연결하기를 원한다면, 또는 차후에 인터넷에 연결할 계획이라면 위에서 나열한 사설 IP주소가 아닌 IP주소를 신청해야 한다.

네임 서버 지정

네임 서버와 기본 도메인은 시스템이 네트워크에 연결됐는지를 확인하는 데 필요하다. 네임 서버는 privite.network.com같은 호스트 주소를 이것에 대응하는 192.168.7.3 같은 IP 주소로 변환하는 일을 한다. 기본 도메인은 정식 형식을 갖춘 호스트이름이 지정되지 않은 경우에 어디를 찾아 봐야 하는가에 대한 정보를 제공한다. 정식으로 형식을 갖췄다는 말은 예를 들어 foo.redhat.com과 같은 호스트 주소를 말한다. 반면에 단순히 foo라고 하는 것은 아주 간단하게 표시한 것이다. 이렇게 foo 뒤에 도메인이 지정되지 않는다고 하면 이것의 도메인은 redhat.com을 인식한다. 이렇게 해서 짧게 표시해도 호스트 이름을 이용해 네트워크를 연결할 수 있게 된다. 예를 들어 ftp foo라고 입력하는 것만으로 foo가 redhat.com 도메인에 있는 호스트라는 것을 나타내게 된다. 이것이 설정이 되지 않았다면 ftp foo.redhat.com이라고 길게 입력해야 한다.

네임 서버를 설정하기 위해서는

Config -> Networking -> Name server specification (DNS)

의 순서로 메뉴 트리를 연다.

네임 서버는 네임 서버에 요청을 보내는 순서에 따라 순위가 지어져 있다. 네임 서버가 하나 이상 설정이 되어 있다면 어느 한 네임 서버가 동작을 하지 않으면 다음 순위에 있는 네임 서버에게, 다음 순위도 동작을 하지 않으면 다음 순위의 네임 서버로 차례로 요청을 보내게 된다. 각각의 네임 서버는 이름이 아닌 IP 주소를 설정을 해야한다. 컴퓨터가 네임 서버에 연결되기 전까지 컴퓨터는 호스트 이름으로부터 IP 주소를 변환할 방법이 없다. 이러한 상황이 되면 끔찍한 일이 될 것이다.

기본 도메인에 추가로 검색 도메인을 지정할 수 있다. 검색 도메인(search domain)은 약간 다르게 작동한다.  네임 서버와 유사하지만 기본 도메인보다 검색 도메인이 우선 순위가 높다.  검색 도메인을 지정할 때 이 사실에 주의해야 한다.  검색 도메인은 잘 사용하지 않는다.

네임 서버 설정에 대해서 아직 다루지 않은 내용은 DNS 사용을 위한 체크상자이다. 만약 시스템이 인터넷에 연결되지 않은 조그만 사설 네트워크상의 호스트일 경우 /etc/hosts 파일을 이용해서 DNS를 사용하는 것과 동일하게 동작시킬 수 있다. 그러나 각각의 호스트에 대해 따로 설정해줘야 한다. 그러나 사설 네트워크에 호스트가 늘어감에 따라 이것을 갱신해 주는 것이 하나의 시스템에서 DNS를 서비스하는 것보다 복잡해지게 된다.

DNS를 사용하지 않게 되는 또하나의 경우는 DNS 대신에 NIS를 사용하게 되는 경우이다.

NIS는 DNS와 같이 사용할 수 있지만 /etc/hosts 파일을 일일이 편집하는 것보다는 쉽다. 만약 /etc/hosts 파일을 사용하여 호스트 이름에서 IP 주소로 변환하지 않는다면 NIS를 사용하는 것이 가장 좋은 선택이다. 그러나 DNS는 아마도 일반적인 경우에 가장 좋은 선택이 될 것이다.

linuxconf를 사용하여 /etc/hosts 파일에 호스트들에 대한 항목을 추가, 편집 삭제할 수 있다.

Config -> Networking -> Misc -> Information about other hosts 의 순서로 메뉴 트리를 연다.

삭제하거나 변경할 호스트 정보를 클릭한다. 지우려면 설정 화면 하단의 Del 단추를 클릭한다.

필요한 정보를 변경한다. 새로운 호스트 항목을 추가하려면 설정화면 하단의 Add 단추를 클릭한다.

그림 8.25 해결자(resolver) 설정 화면

그러면 host/network definition 설정화면이 나타난다.

꼭 입력이 필요한 입력 필드는

ㅇ Promary name + domain - Pramary name은 현재 설정 중인 컴퓨터의 이름이다. 반면에 domain은 컴퓨터가 어떤 네트워크에 연결되어 있는지에 대한 정보이다. 예를 들어 foo.bar.com에서 foo는 컴퓨터의 호스트 이름이고 bar.com은 도메인이다.

ㅇ IP 숫자 - 이것은 컴퓨터를 나타내는 주소로 x.x.x.x같은 유형으로 표시된다. 예) 192.168.0.13

추가적인 선택 사항 입력 필드는

ㅇ Alias - 정격의 형식을 갖출 호스트 이름의 줄임말 표시이다. 이것은 주 호스트 이름이 기본적으로 많이 쓰인다. 예를 들어 형식을 갖출 호스트 이름이 foo.bar.com이라면 이것에 대한 별명으로 foo를 쓸 수 있다.

ㅇ Comment - 시스템에 대한 짤막한 설명이다.

그림 8.26 /etc/hosts 화면

주 호스트 이름과 도메인 이름 IP 주소는 꼭 필요하다. 나머지 필드는 있으나 없으나 동작에는 지장이 없는 선택 사항이다. 일단 입력이 끝났으면 Accept 단추를 클릭한다.

그림 8.27 호스트/네트워크 정의 화면

날짜와 시간

date & time 설정 화면을 열기 위해서는

1. 쉘 상에서 linuxconf를 실행시킨다.

2. 입력 대기 상태가 나타났을 때 root 암호를 입력한다.

3. 메뉴를 다음과 같은 순서로 연다.

Control -> Date & Time

그림 8.28 워크스테이션의 날짜와 시간

zone 필드는 길고 계속 확장되는 풀다운 메뉴로 되어 있다. 이것은 일단 큰 영역을 구분하고 그 안에서 도시명 등의 작은 영역을 다시 선택하도록 되어 있다. 예를 들어 Europe/Vienna 그리고  US/Eastern 과 같은 식이다. 이 설정화면에는 Store data in CMOS in GMT format라고 이름 붙은 체크 상자가 있다. 이것은 CMOS에 저장할 때 시간을 어떤 형식으로 지정하느냐를 지정한다. 시간은 0에서 23까지 지정할 수 있으며 분이나 초도 비슷하게 설정할 수 있다. 연도는 4자리수로 지정하게 되어 있으며 모든 다른 입력 필드들은 그 자체로 설명이 필요 없을 것이다.

8.2. 제어판으로 시스템 설정하기

※주의 사항: 레드햇 리눅스 5.2에 linuxconf가 포함됨으로 인해 고객은 보다 이해하기 쉬운 시스템 설정 도구를 가지게 되었다. 레드햇 제어판이 했던 거의 모든 설정을 linuxconf를 사용해서 할 수 있다. 부가적으로 linuxconf는 콘솔에서의 메뉴 방식과 X 윈도우에서의 GUI를 지원한다. linuxconf에 대한 소개는 8.1장을 참고하기 바란다.

제어판은 몇 개의 서로 다른 시스템 관리 도구를 실행시키기 위한 실행 단추 창이다. 사용자는 이러한 시스템 도구를 사용하여 불편한 명령행 선택 사항과 설정 파일의 형식을 억지로 외울 필요 없이 시스템을 쉽게 시스템을 관리 할 수 있다.

제어판을 시작하려면 root 권한으로 X 윈도우 시스템을 실행하고 터미널에서 control-panel을 입력한다. 제어판은 root 권한으로 실행시켜야 한다. 만약 지금이 일반 사용자 상태에서 X 윈도우를 실행시킨 상태라면 su -c control-panel을 입력하면 된다. 그러면 암호 입력 대기 상태가 된다. 이때 암호를 입력하면 제어판 창이 화면에 나타난다. 다른 방법으로는 su - 을 입력하면 root 암호 입력 대기 상태가 되고 여기에 암호를 입력하면 root 쉘 상태로 떨어지게 된다.

※주의 사항: X를 root 권한으로 동작시키는 것이 아니라면 시스템의 X 서버를 root 가 접근 할 수 있도록 권한을 주어야 한다. 이것을 하기 위해서는 root 권한이 아닌 다른 터미널 창에서 다음의 명령을 입력하면 된다.

xhost + localhost

제어판을 실행시키고 난 후에 나타나는 단추 창에서 아이콘을 하나 선택해서 더블 클릭하면 아이콘에 해당되는 시스템 관리 도구가 실행된다. 주의해야 할 것은 제어판이 두 개가 동시에 동작할 수도 있다는 것이다. 그러나 이렇게 하는 것은 매우 위험하다. 이것은 두 군데서 동시에 하나의 설정 파일을 편집하려고 하는 것과 똑 같은 것이기 때문이다. 우연히 제어판을 한 번 더 실행시켰다면 빨리 그것을 실행 중지시켜야 한다. 또한 제어판으로 설정이 되는 파일을 제어판이 실행되고 있을 때 수 작업으로 편집하는 것 역시 하나의 파일을 두 군데서 동시에 편집하려고 하는 것과 똑같다. 비슷한 경우로 제어판이 동작하는 동안 설정 파일을 변화시킬 수 있는 프로그램 역시 실행하는 것도 위험하다.

8.2.1 프린터 설정

인쇄 설정 도구(printtool)는 /etc/printcap, 출력 스풀 디렉토리, 출력 필터를 관리한다. 출력 필터는 아래의 목록에서 보여주는 다양한 종류의 파일을 인쇄하도록 해준다.

그림 8.29 제어판

일반적인 텍스트(ASCII) 파일

포스트스크립트 파일들

TeX의 .dvi파일들

GIF, JPEG, TIFF 등의 다른 그래픽 형식 파일들

RPMs

lpr을 사용하여 GIF, RPM 파일들을 간단히 출력해서 제대로 인쇄를 할 수 있다.

그림 8.30 인쇄 도구

새로운 인쇄 대기열을 생성하기 위해서는 Add를 선택하고, 추가할 프린터가 어떠한 종류의 프린터인지를 선택하면 된다. printtool을 가지고 설정할 수 있는 프린터 대기열에는 세 가지 종류가 있다.

ㅇ Local: 사용자의 Red Hat 리눅스 시스템에 직접 프린터가 병렬 포트나 직렬 포트로 연결된 경우를 위한 프린터 대기열이다.

ㅇ Remote: 프린터가 TCP/IP 네트워크를 통해 접근할 수 있는 다른 시스템에 장착되어 있을 경우를 위한 프린터 대기열

ㅇ SMB: LAN-Manager-type(SMB) 네트워킹을 사용하는 다른 시스템에 연결된 프린터를 사용하는 경우

ㅇ NCP: Novell사의 NetWare 네트워크 기술을 사용하는 다른 시스템에 장착된 프린터를 사용하는 경우 (alpha 의 경우에는 아직 NCP를 지원하지 않는다.)

그림 8.31 프린터 종류의 선택

사용할 프린터 유형을 선택한 후, 프린터 대기열에 대한 보다 자세한 사항을 묻는 대화상자가 나타난다. 모든 프린터 대기열은 다음의 정보를 필요로 한다.

ㅇ Queue Name: 프린터로 인쇄할 때 지정하는 대기열의 이름으로 여러 개의 이름을 가질 수 있으며 |(pipe) 문자로 구별한다.

ㅇ Spool Directory: 인쇄가 실제로 수행되기 전에 로컬 컴퓨터 안에 어디에다 임시로 저장해놓을 것인가를 정하는 것이다. 스풀 디렉토리에 대해서 하나의 프린터 대기열만 존재 할 수 있다는 것에 주의하기 바란다.

ㅇ File Limit: 프린터 작업이 받아들일 수 있는 최대 파일 크기로 kbyte단위로 지정하며, 0으로 설정되면 최대 파일 크기의 제한이 없도록 설정하는 것이다.

ㅇ Input Filter: 필터는 프린터로 전송되는 파일들을 프린터가 다룰 수 있는 파일 형식으로 변환한다. 사용자에게 맞는 프린터 필터를 선택하려면 Select 단추를 클릭하면 된다.  여기에서 프린터를 텍스트만을 출력하는 프린터로 설정하거나 아니면 그래픽 출력이 가능한 프린터로 설정할 수 있다. 대부분의 프린터 구동기는 프린터로 들어오는 ASCII 텍스트를 포스트스크립트로 변환하지 않고 직접 출력할 수 있다. 필터를 설정할 때 단순하게 Fast text printing을 선택한다. 이것은 포스트스크립트 내장이 아닌 프린터에 대해서만 속도 향상을 볼 수 있다.

ㅇ Suppress Headers: 매번 인쇄 작업 때마다 헤더 인쇄를 하지 않기를 원한다면 이 선택 사항을 토글시킨다.

로컬 프린터를 위한 설정은 다음과 같은 것이 필요하다.

ㅇ Printer Device: 보통 /dev/lp1로 프린터가 부착된 포트의 이름이 설정된다. 직렬 포트 프린터는 보통 /dev/ttyS? 포트에 설정된다. 직렬 포트를 위한 프린터 선택 사항은 printtool에서 설정할 수 없으며 직접 해당 설정 파일을 편집하여 설정해야 한다.

그림 8.32 로컬 프린터의 추가

그림 8.33 프린터 필터의 설정

원격 프린터를 위한 설정에는 다음과 같은 정보를 설정해 주어야 한다.

ㅇ Remote Host: 프린터 서버로 사용할 원격 기계의 hostname.

ㅇ Remote Queue: 원격 기계에서 인쇄하는데 사용하는 프린터 대기열의 이름

원격 시스템은 로컬 시스템이 인쇄하는 것을 허가해 주는 설정을 해야 한다.

이것은 보통 원격 기계의 /etc/hosts.lpd 파일을 통해 설정한다.

그림 8.34 원격 프린터 추가

그림 8.35  테스트 페이지 인쇄

SMB 프린터를 위해서는 다음과 같은 설정이 필요하다.

ㅇ Hostname of Printer Server: 인쇄하는데 사용되는 프린터가 장착된 컴퓨터의 이름

ㅇ IP number of Server: 인쇄하는데 사용되는 프린터가 장착된 컴퓨터의 IP 주소(이것은 선택)

ㅇ Printer Name: 사용하고자 하는 프린터의 이름

ㅇ User: 프린터를 사용하는 하는데 필요한 로그인 ID (Windows 서버의 경우 guest가 일반적이고, samba 서버의 경우에는 nobody이다.)

ㅇ Password: 프린터를 사용하는데 필요한 암호 (보통은 빈칸으로 되어 있다). 만약 사용자가 암호가 필요한 경우에 암호를 모른다면 관리자에게 문의하여 입력해야 한다.

SMB 프린터 대기열에 대해서 로그인 ID와 암호가 필요하다면, 이것들은 암호화되지 않고 저장되어 명령행에서 smbclient 프로그램으로 전달이 된다. 이것은 다른 사람이 사용자의 로그인 ID와 암호를 알아내는 게 가능하다. 그러므로 프린터를 사용하는데 필요한 로그인 ID와 암호는 로컬 호스트의 로그인에 사용되는 ID와 암호하고 틀리게 만드는 것이 필요하다. 그러면 보안에 관계된 문제가 프린터의 허가되지 않은 사용으로 한정된다.  만약 SMB 서버를 통한 파일 공유를 사용한다면 이것 역시 프린터 대기열의 암호와는 다르게 설정하는 것이 필요하다.

사용자가 프린터 대기열을 추가 한 후에는 프린터 데몬을 다시 시작하는 것이 필요하다. 이것을 수행하려면 lpd 메뉴에서 Restart lpd를 선택하면 된다.

추가하거나 설정을 바꾼 프린터 대기열에 대해 테스트를 해보고 싶은 경우 printtool 메뉴의 Test 메뉴에서 테스트 문서의 종류를 선택한다.

8.2.2 커널 데몬 설정

레드햇 리눅스는 kerneld를 포함한다. 커널 데몬은 필요에 따라 자동적으로 메모리에 몇 가지 소프트웨어와 하드웨어 지원 모듈을 적재하고, 더 이상 쓰이지 않으면 메모리 상에서 해제된다.

그림 18에 보이는 도구가 kerneld를 위한 설정 파일을 관리한다. 상세한 설정이 필요 없는 파일 시스템과 같은 모듈이 적재되는 것과는 상반되게 일반적인 하드웨어 요구가 발생할 때 적재될 하드웨어 지원 모듈이 무엇인지 명시되어야 한다.

그림 8.36: 커널 모듈 관리

예를 들어 커널이 이더넷 지원 모듈의 적재를 원한다면, kerneld에게 장착된 이더넷 카드가 무엇인지 알려줘야 한다. 그리고 이 이더넷 카드가 특별한 설정이 필요하다면 이것 역시 알려줘야 한다.

8.2.2.1 모듈의 선택 사항 바꾸기

모듈이 적재될 때 모듈에 주어진 선택 사항을 바꾸기 위해서는, 선택 사항을 바꾸려는 모듈을 클릭하여 선택하고, Edit 단추를 클릭한다. kernelcfg가 그림 8.37에서 보이는 것과 같이 해당 모듈에 대해 kernelcfg가 알고 있는 선택 사항(일반적으로 가능한 선택 사항)을 각각의 필드로 보여주며 나타난다. 일반적으로 Other argument 필드는 무시하면 된다. 어떤 모듈은 보통 아무런 인자도 없는 경우가 있다. 이 경우에 설정에 대한 정보를 입력하는 단 하나의 인자 필드를 가진다.

그림 8.37: 모듈 선택 사항의 변경

모듈의 변경

이더넷 카드나 SCSI호스트 어댑터 모듈 같이 일반적인 서비스를 제공하기 위해 필요한 모듈의 변경이 필요할 경우, 구 버전의 모듈을 삭제하고 새로운 것을 추가하면 된다.  모듈을 삭제하기 위해서는 삭제하려는 모듈을 클릭하여 선택하고, Delete를 클릭한다. 그리고 다음절에서 설명할 새로운 모듈을 추가하기 위해 Add 단추를 클릭하면 된다.

만약 SCSI 제어기를 바꿨다면 설명한 mkinitrd 명령을 사용하여 새로운 초기화 램디스크를 만들어야 한다는 것을 기억하자.

모듈의 추가

어떤 종류든 모듈을 추가하기 위해서 Add 단추를 클릭한다. 그림 38에서 보이는 대화 상자가 모듈의 유형을 설정하기 위해 나타날 것이다. 이더넷은 eth, 토큰링은 tr, SCSI 제어기는 scsi_hostadapter 기타 등으로 모듈의 종류를 선택한 후 OK를 클릭하면 다음 대화 상자가 나타난다.

그림 8.38: 모듈의 추가

선택한 모듈의 종류에 사용되는 모듈이 여러 개 존재한다면, 사용할 모듈을 선택하기 위해 그리고 모듈 종류에 대한 선택 사항을 설정하기 위해 그림 8.39과 같은 대화 상자가 나타날 것이다. 예를 들어 이더넷의 경우 모듈 종류를 선택하고 eth0, eth1 등의 어느 것인지를 선택해야 한다. 이 설정이 끝나고 OK를 클릭하면 모듈 선택 사항 변경을 위한 그림 21에서 보이는 것과 같은 대화 상자가 나타난다.

그림 8.39: 가능한 모듈의 선택

kerneld의 재시작

여기까지 설명한 커널 데몬 설정 도구에 의한 설정 변화는 /etc/conf.modules 파일에 저장된다. 이 설정 파일은 kerneld가 시작되면 언제나 읽어 들여져 변경된 설정이 반영된다. 일단 설정을 변경한 후에 Restart kerneld단추를 클릭해서 kerneld를 다시 시작할 수 있다. 이것은 현재 사용 중인 모듈을 내리고 다시 적재하지는 않는다. kerneld의 재시작은 앞으로 모듈을 적재할 때 변화된 설정으로 모듈을 적재한다는 것을 알리는 것일 뿐이다.

8.2.3 네트워크 설정

※주의 사항: linuxconf를 사용하는 네트워크의 설정은 8.1.4장에서 찾을 수 있으니 참고하기 바란다.

네트워크 설정 도구(netcfg)는 그림 8.40에서 보는 것과 같은 인터페이스를 가지고 있다. 이 관리 도구는 IP주소나 게이트웨이, 네트워크 주소, DNS 서버나 /etc/hosts파일 등을 설정하기 쉽도록 도와준다.

그림 8.40: 네트워크 설정 도구

네트워크 장치를 추가, 삭제, 설정, 활성화, 비 활성화, 알리아싱을 할 수 있다. 이더넷, 아크넷, 토큰링, 포켓(ATP) 장치, PPP, SLIP, PLIP, 루프백 장치를 설정할 수 있다. PPP/SLIP/PLIP은 대부분의 하드웨어와 잘 동작한다. 그러나 몇몇 하드웨어는 예측하지 못한 현상을 보여주기도 한다.

네트워크 설정 도구를 사용할 때 사용자의 변경 사항을 디스크에 저장하려면 그림 8.40 하단의 Save 단추를 클릭하면 된다. 설정의 변화 없이 관리 도구를 빠져 나오려면 Quit을 선택하면 된다.

네임 관리

네트워크 설정 도구의 Names panel은 두 가지 주된 용도로 사용된다. 컴퓨터의 도메인과 호스트의 이름을 설정하고, 네트워크 상에서 다른 호스트를 찾을 때 사용된 DNS 서버를 결정하는데 사용된다. 이 설정 도구는 로컬 기계를 네임 서버로 사용할 수 있도록 설정 할 수는 없다. 네트워크 정보를 추가하거나 설정되어 있는 정보를 변경하는 경우 해당 필드를 마우스의 왼쪽 단추를 클릭하고 새로운 정보를 입력하면 된다.

호스트 관리

관리 도구의 호스트 관리 패널에서는 /etc/hosts 파일로부터 호스트들을 추가, 삭제, 편집할 수 있다.

추가와 편집은 동일한 인터페이스로 설정을 하도록 되어 있다.  편집 대화 상자가 나타나면, 간단하게 새로운 정보를 입력하고 Done을 클릭한다. 그림 8.41에 예가 나타나 있다.

그림 8.41: 호스트의 추가와 편집

네트워크 인터페이스의 추가

레드햇 리눅스를 설치할 때 또는 설치할 때 이더넷 카드를 설정하지 않았을 경우 네트워크 인터페이스를 추가하고 싶다면, 마우스를 몇 번 클릭하면 네트워크 인터페이스를 설정할 수 있다.

※주의 사항: 8.2.2장에서 설명한 kerneld설정을 통해서 추가하려고 하는 네트워크 인터페이스에 대한 구동기를 메모리에 적재하도록 설정하는 것이 필요하다는 점이다. 자세한 설명은 8.2.2장을 참고하기 바란다.

네트워크 설정 도구의 주창의 상단에 있는 Interface 단추를 클릭하면 인터페이스의 추가에 대한 설정이 시작된다. 여기에는 이미 설정된 장치에 대한 목록이 설정된 선택 사항과 함께 관리 도구 창 중앙에 그림 8.42에서 보는 것처럼 나타날 것이다.

그림 8.42 : 설정된 인터페이스

장치를 추가하기 위해서는 창 하단의 Add 단추를 클릭하고 곧이어 나타나는 대화 상자에서 설정하기를 원하는 인터페이스의 종류를 선택한다(그림 8.43 참고).

그림 8.43: 인터페이스 종류의 선택

PPP인터페이스

PPP인터페이스를 추가하는 것은 전화번호와 로그인 ID, 암호를 입력하기만 하면 그림 8.44에서 보는 것처럼 PPP인터페이스를 추가할 수 있다.  만약 PPP 연결을 위한 PAP 인증을 사용하는 것이 필요하다면 Use PAP authentication 항목을 토글하면 된다. Customize 단추를 클릭하면 PPP 인터페이스에 대해 네트워크 설정과 communication, 하드웨어에 대한 설정을 변경할 수 있다.

그림 8.44: PPP 인터페이스의 생성

SLIP 인터페이스

SLIP인터페이스를 설정하기 위해서는 먼저 전화번호와 로그인 ID, 암호를 입력해야 한다. 이 설정은 SLIP 연결을 수행하는데 필요한 chat 스크립트의 초기 설정 인자를 자동으로 만들어 준다. 입력이 끝나고 Done을 선택하면 SLIP 인터페이스를 위한 네트워크 인자와 communication, 하드웨어를 좀더 자세히 설정할 수 있도록 하는 Edit SLIP Interface라고 이름 붙은 대화 상자가 나타난다.

추가 설정은 이 대화 상자를 통해 한다.

PLIP 인터페이스

PLIP 인터페이스를 추가하려면 IP 주소와 원격 IP 주소, 넷마스크만 입력한다 추가적으로 PLIP 인터페이스를 부팅할 때 자동적으로 활성화시킬 것인가를 선택할 수 있다.

이더넷, 아크넷, 토큰링, 포켓 어댑터 인터페이스

이더넷, 아크넷, 토큰링, 포켓 어댑터 인터페이스를 추가하려면, 다음과 같은 설정 정보를 입력하는 것이 필요하다.

ㅇ Device: 이미 결정한 장치에 대해 설정하는 것이므로 정해진 것이다.

ㅇ IP 주소: 네트워크 장치에 할당할 IP주소를 입력한다.

ㅇ Netmask: 네트워크 장치에 대한 네트워크 마스크를 입력한다.

네트워크와 브로드캐스팅 주소는 위에서 입력한 IP 주소와 넷마스크에 기초해서 자동으로 계산이 된다.

ㅇ Activate interface at boot time:  컴퓨터가 부팅할 때 지금까지 설정한 네트워크 장치가 자동으로 설정된다.

ㅇ Allow any user to (de)activate interface:  이 네트워크 인터페이스를 시스템의 모든 사용자가 (비)활성화 시킬 수 있는 권한을 부여한다.

ㅇ Interface configuration protocol: 네트워크에 BOOTP나 DHCP 서버를 가지고 있다면 네트워크 인터페이스를 초기화하는데 이것을 사용할 수 있다. 그렇지 않다면 none을 선택한다.

새로운 장치에 설정 정보를 입력한 후에 Done을 클릭하면,  이 장치는 비활성 장치로 (활성 표시 줄에 no로 표시된 상태로) 인터페이스 목록에 추가 될 것이다. 이것을 활성화시키기 위해서는 이 장치를 마우스로 클릭해서 선택하고, Active 단추를 클릭한다. 만약 제대로 작동하지 않는다면 Edit을 선택해서 재 설정한다.

라우팅 관리

라우팅 관리 화면에서 정적 라우팅 테이블을 추가하고 편집하고 제거할 수 있다. 라우팅 테이블의 추가와 편집은 Hosts 패널에서처럼 동일한 인터페이스로 설정한다. 설정 대화 상자가 나타나면 그림 8.45의 예에서 보여주는 것처럼 새로운 정보를 입력하고, 입력이 끝났으면 Done을 클릭한다.

그림 8.45: 라우팅의 추가, 편집

8.2.4 시간과 날짜

※주의 사항: linuxconf를 이용한 시스템의 시간과 날짜의 설정에 관한 설명은 8.1.4장에서 찾을 수 있으니 참고하기 바란다.

시간 기계는 시스템의 시간과 날짜를 변경하는데 사용한다. 대화 상자에 표시되는 시간과 날짜의 필요한 부분을 클릭하면 색깔이 변한다. 그리고 화살표를 클릭하면 선택된 부분의 값이 변하게 된다. 시스템의 시간은 Set System Clock 단추를 클릭하지 않으면 변하지 않는다.

Reset Time을 클릭하면 현재 화살표에 의해 변경된 시간과 날짜가 원래의 시스템 시간으로 되돌아간다. 물론 이것은 Set System Clock을 클릭하기 전의 경우이다.

※주의 사항: 시간을 변경하는 것은 어떤 프로그램이 시간의 진행에 의존적인 경우 심각한 혼란이 일어나고 문제가 발생할 수 있다. 시간과 날짜를 변경하기 전에 될 수 있으면 프로세스와 프로그램의 작동을 최소화시키는 것이 좋다.

9. RPM을 사용한 패키지 관리

레드햇 패키지 관리자(RPM)는 누구나 사용이 가능하며 레드햇 리눅스뿐만 아니라 다른 유닉스 시스템에도 사용이 가능하다. 레드햇 사는 다른 업체들이 RPM을 분석하는 것과 업체 고유의 프로그램을 만드는데 이를 사용하는 것을 장려한다. 또한 RPM은 GPL상에서 재 배포가 가능하다.

RPM은 사용자에게 현재까지 나온 프로그램 중 가장 쉽게 여러 가지 시스템의 유지 보수를 위한 많은 기능을 제공한다. 프로그램을 설치, 제거, 판올림하는 모든 과정을 명령행 상에서 처리하며, 상세한 메시지를 통해 사용자가 시스템의 상황을 이해하기 쉽도록 도와준다. RPM은 설치된 패키지와 패키지에 속해 있는 파일의 데이터베이스를 구축하여 사용자가 설치된 패키지의 이상 유무를 확인할 수 있도록 하는 기능을 가지고 있다. 또한 판올림하는 동안 설정 파일을 별도의 방식으로 관리하기 때문에 사용자가 설정한 내용을 안전하게 보호해 준다. 이러한 것은 tar.gz로 묶여진 패키지로는 절대로 불가능한 일이다.

개발자 측면에서 RPM은 실행 파일 패키지만 만드는 것이 아니라 프로그램의 소스 코드를 사용자가 살펴볼 수 있도록 하는 소스 파일 패키지를 만들 수 있다.

이 과정은 꽤 간단하며, 하나의 설정 파일과 패키지 개발자의 추가적인 패치를 가지고 패키지를 만들도록 되어 있다. 원래의 원본 소스, 패키지 개발자의 추가적인 패치, 그리고 패키지 생성 명령으로 이루어진 이런 구조는 새로 버전이 올라간 소프트웨어에 대한 패키지의 관리를 쉽게 해준다.

9.1 RPM의 설계 목적

RPM을 어떻게 사용하는지 알기 위해서 RPM의 설계 목표를 알아두는 것이 도움이 된다.

판올림 가능

사용자가 시스템 전체를 다시 설치할 필요 없이 시스템의 구성 요소를 개별적으로 판올림할 수 있는 기능을 제공한다. 사용자가 RPM에 기반한 운영체제( 예를 들어 레드햇 리눅스)의 새로운 버전을 얻었다면, 사용자는 전체의 시스템을 다시 설치 할 필요가 없다. 사용자는 RPM을 사용하여 지능적이고 완전 자동화된 시스템 판올림을 수행 할 수 있다. 또한 패키지 내의 설정 파일은 판올림이 진행되는 동안 보호되기 때문에 사용자 고유의 설정 내용을 잃어버리지 않게 된다.

강력한 패키지 정보 질의

RPM은 매우 편리한 질의 선택 사항을 가지고 있다. 사용자는 전체의 패키지 데이터베이스를 통해 원하는 패키지나 파일을 찾을 수 있다. 또한 쉽게 어떤 파일이 어떤 패키지에 속해 있는지 또는 그것이 어디서 만들어 졌는지 등을 알 수 있다. 하나의 RPM 패키지가 포함하는 파일은 압축돼서 묶여 있다. 이 패키지 압축 파일은 유용한 패키지 정보와 패키지의 파일 목록을 포함하는 헤더를 가지고 있는데 이것을 통해 사용자는 개별적인 패키지의 정보를 쉽고 빠르게 알 수 있다.

시스템 점검

RPM의 또 다른 기능은 패키지를 점검 기능이다. 사용자는 어떤 패키지를 위한 중요한 파일을 실수로 지웠는지 알고 싶다면 간단히 패키지를 점검 할 수 있다. 이 점검을 통해 어떤 처음 설치된 상황과 다른지 아닌지를 알 수 있다. 만약 필요하다면 해당 패키지를 다시 설치하면 된다. 여기서도 사용자가 변경한 설정 파일은 설치가 진행되는 동안 보존된다.

원본 소스의 보호

RPM은 패키징을 할 때 소프트웨어 개발자의 원래 소스를 보호하면서 패키지 관리자의 소스 변경은 따로 적용하는 중요한 기능을 가지고 있다. RPM은 사용자에게 패키지를 만들 수 있는 프로그램 개발자의 원본 소스 파일, 패키지 개발자의 추가 패치 파일, 패키지를 생성시킬 때 필요한 스크립트 파일 등의 모든 파일을 제공한다. 이것은 몇 가지 이유에서 매우 큰 장점이다. 예를 들어 어떤 프로그램의 새 버전이 나왔을 때, 이것을 컴파일 하기 위해 시스템에 맞게 처음부터 다시 원본 소스를 직접 뜯어고칠 필요는 없다. 사용자는 필요한 부분을 알기 위해 패치 파일을 살펴보기만 하면 된다. 알맞게 생성된 소프트웨어를 얻기 위해 만들어지는 기본 컴파일용 원본 소스와 이것에 대한 변경 내용을 분리해서 저장하는 것은 이러한 과정을 보기 쉽게 해준다.

이러한 기능은 개발자를 위한 중요한 기능일 지 모른다. 하지만 이것은 사용자에게 높은 품질의 소프트웨어를 제공한다. 이러한 개념은 BOGUS 배포판에서 비롯된 것이다.

9.2 RPM의 사용

PRM은 기본적으로 5가지의 기본 사용 방법이 있다. 설치와 제거, 판올림과 패키지 정보 알아내기, 그리고 패키지 점검이다. 이 장은 각각의 모드에 대해 개괄적으로 살펴본다. 좀더 자세한 설명이 필요하다면  rpm --help를 실행하거나 man 페이지, 또는 RPM에 관련된 책을 살펴보기 바란다.

9.2.1 설치

RPM 패키지는 일반적으로 foo-1.0-1.i386.rpm과 같은 식의 이름을 가진다. 이런 이름은 패키지 이름(foo), 버전(1.0), 패키징 버전(1), 시스템 구조(i386)의 정보를 포함한다. 패키지를 설치하는 것은 다음과 같이 간단히 할 수 있다.

# rpm -ivh foo-1.0-1.i386.rpm

foo	############################################

화면에서 보다시피 RPM은 패키지 이름을 출력한다(설치에 있어서 반드시 파일 이름이 필요한 것은 아니다). 그리고 패키지 설치의 진행상황이 우물 정(#)자 표시로 화면에 나타나며 설치가 된다. 패키지의 설치는 간단하게 되어 있다. 하지만 사용자는 상황에 따라 몇 가지 오류 메시지에 직면하게 될 수 있다.

이미 패키지가 설치 됐을 때

패키지가 이미 설치된 상태에서 다시 설치한 경우 다음과 같은 오류 메시지를 보게 된다.

# rpm -ivh foo-1.0-1.i386.rpm

foo	package foo-1.0-1 is already installed

error: foo-1.0-1.i386.rpm cannot be installed

사용자가 꼭 다시 설치를 하기를 원한다면 --placepkgs 선택 사항을 명령행에서 사용하면 된다. 이것은 RPM에게 위와 같은 오류를 무시하라고 하는 명령이다.

파일의 충돌

다른 패키지에서 이미 설치된 패키지의 파일과 똑같은 이름의 파일을 포함한 패키지를 설치하려고 할 때 사용자는 아래와 같은 오류 메시지를 받게 된다.

# rpm -ivh foo-1.0-1.i386.rpm

foo           /usr/bin/foo conflicts with file from bar-1.0-1

error: foo-1.0-1.i386.rpm cannot be installed

이러한 오류 메시지를 무시하려면, 명령행에서 --replacefiles 선택 사항을 추가하면 된다.

의존성 오류

RPM은 패키지와 패키지 사이에 의존성을 설정할 수 있다.. 이런 의존성이란 어떤 패키지가 제대로 작동하기 위해서 다른 패키지가 필요한 경우를 말한다. 만약 의존성 문제가 해결되지 않은 상태에서 패키지를 설치하게 되면 사용자는 다음과 같은 메시지를 보게 된다.

# rpm -ivh bar-1.0-1.i386.rpm

failed dependencies:

foo is needed by bar-1.0-1

이러한 오류 메시지를 해결하기 위해서는 필요한 패키지를 먼저 설치해야 한다. 어떻게든 강제로 패키지를 설치하려고 한다면, 명령행에서 --nodeps 선택 사항을 추가하라 그러나 이것은 별로 좋은 일은 아니다. 대부분 패키지가 제대로 실행이 되지 않을 것이다.

9.2.2 제거

패키지의 제거는 설치하는 것처럼 간단하다.

# rpm -e foo

명령을 내릴 때 설치용 패키지 파일의 이름을 사용하는데 아니라 패키지 이름인 □foo□ 을 사용한다는데 주의한다.

가끔 패키지를 제거하는 동안 의존성 오류가 발생하기도 한다. 이것은 제거하려는 패키지에 의존성이 걸려 있는 다른 패키지가 있을 경우에 일어난다. 예를 들어 아래와 같은 메시지를 받게 된다.

# rpm -e foo

removing these packages would break dependencies:

foo is needed by bar-1.0-1

이 경우 □bar" 패키지가 □foo"패키지에 의존성이 걸려 있는 경우이다. 이때 어떻게든 제거를 하려고 한다면 --nodeps 선택 사항을 쓰면 된다. 이것 역시 설치의 경우와는 반대로 제거한 패키지에 의존하고 있는 패키지가 정상적으로 동작하지 않게 된다.

9.2.3 판올림

판올림 역시 설치와 같이 간단하다.

# rpm -Uvh foo-2.0-1.i386.rpm

foo	####################################

위에서 본 설치와 다른 점은 RPM이 자동적으로 구 버전의 foo 패키지를 제거한다는 점이다. 사실 맨 처음 설치 할 때도 -U 선택 사항을 써서 설치할 수 있다. 이 선택 사항은 이전 버전의 설치된 패키지가 없으면 일반적인 설치를 수행하기 때문이다.

RPM은 지능적인 설정 파일에 대한 판올림을 수행하기 때문에 사용자는 설치 도중 다음과 같은 메시지를 보게 된다.

saving /etc/foo.conf as /etc/foo.conf.rpmsave

이렇게 이전 버전의 설정 파일을 버전이 올라간 패키지에서 바로 사용하지 않는 이유는 버전이 올라간 패키지의 설정 파일의 방식이 이전 버전의 방식과 호환이 되지 않는 경우가 있기 때문이다. 그래서 RPM은 사용자가 변경을 가한 설정 파일을 따로 저장한다. 그리고 새로운 설정 파일을 설치한다. 사용자는 새로운 설정 파일과 이전 설정 파일과의 차이점을 살펴 본 다음, 전에 사용했던 기능을 정상적으로 사용할 수 있도록 새로운 설정 파일에 이전 설정 파일의 내용을 참고해서 변경을 가해 주면 된다.

판올림은 실제로는 제거와 설치의 조합이기 때문에 사용자에게 설치나 제거 모드에서 발생할 수 있는 오류가 똑같이 발생할 수 있고, 여기에 한 가지가 더 추가된다.

만약 사용자가 현재 설치된 버전보다 이전 버전의 패키지로 판올림을 시도하면 다음과 같은 메시지를 보게 된다.

# rpm -Uvh foo-1.0-1.i386.rpm

foo    package foo-2.0-1 (which is newer) is already installed

error: foo-1.0-1.i386.rpm cannot be installed

어떻게든 이런 식으로 판올림을 하고 싶다면 역시 명령행에서 --oldpackages 선택 사항을 추가하면 된다.

9.2.4 패키지 정보 알아내기

설치된 패키지의 데이터베이스로부터 정보를 알아내는 것은 rpm -q 명령을 사용한다.

이런 rpm -q foo와 같은 간단한 사용법은 이미 설치된 패키지 foo의 이름과 버전, 패키징 버전을 아래와 같이 알려준다.

# rpm -q foo

foo-2.0-1

패키지 정보를 알아내는데 있어서 패키지 이름을 사용하는 대신에 -q 선택 사항에 추가적인 선택 사항을 붙여 현재 알고 있는 내용만으로 사용자가 알고 싶은 해당 패키지의 정보를 알아낼 수 있다..

이것들을 패키지 선택 사항이라고 한다.

-a : 현재 설치된 모든 패키지를 알아내는데 사용된다.

-f <파일>: <파일>을 포함한 패키지가 무엇인지 알아낸다.

-F: 이 선택 사항은 파일 이름이 표준 입력으로 들어온다는 것 빼고는 -f 와 같다.

(예: find /usr/bin | rpm -qF)

-p <패키지 파일> : 설치 유무에 관계없이 패키지 파일 안에 있는 패키지 정보를 알아	내는 데 쓰임

-P : -p 선택 사항과 동일 입력만 표준 입력으로부터 받음

(예: find /mnt/cdrom/RedHat/RPMS | rpm -qP)

정보를 알아내고자 하는 패키지에 대해서 어떤 정보를 보여줄 것인지를 결정하는 여러 가지 방법이 있다. 이러한 선택 사항은 사용자가 관심 있는 정보를 선택하는데 사용된다. 이 선택 사항들은 정보 선택 사항이라고 한다.

-i : 패키지 이름, 패키지에 대한 짤막한 설명, 패키징 버전, 크기, 패키징 날짜, 설치된 날짜, 패키징한 업체 등의 정보를 보여준다.

-l : 패키지가 가지고 있는 파일의 목록을 보여준다.

-s : 설치된 패키지에 있는 모든 파일의 상태를 보여준다. 상태는 이상 없음(normal)과 사라짐(missing)의 두 가지로 보여준다.

-d : 패키지에서 문서(man pages, info pages, README...등등)로 표시된 파일의 목록을 보여 준다.

-c : 설정 파일로 표시된 파일의 목록을 보여준다. 이 파일들은 설치된 이후에 사용자가 패키지를 시스템에 따라 용도에 맞도록 변경할 수 있는 파일(sendmail.cf, passwd, inittab 등)들이다.

파일의 목록을 보여주는 선택 사항들에는 -v 선택 사항을 덧붙일 수 있는데 이것은 ls -l로 디렉토리 파일 목록을 볼 때와 비슷한 방식으로 파일 목록을 출력한다.

9.2.5 패키지 검증

패키지 검증은 패키지 파일이 가지고 있는 파일들의 정보와 설치된 패키지의 파일이 가진 정보를 이상이 없는지 비교해 보는 것이다. 패키지의 각각의 파일에 대해서 그룹, 소유자, 파일 형식, 허가권, MD5 체크섬, 크기를 비교한다.

rpm -V 명령은 패키지를 점검한다. 여기에 추가적으로 위에서 설명한 패키지 선택 사항을 붙여 점검하고 싶은 패키지를 기술함으로써 패키지 이름 외에 다른 정보로도 패키지를 점검할 수 있다. 가장 간단한 사용은 rpm -V foo와 같은 방법이다. 이 명령은 해당 패키지에 대해서 패키지가 처음 설치됐을 때와 같은 상태로 있는지 패키지의 모든 파일을 점검한다.

예를 들면

패키지가 포함하는 있는 파일 중에 어떤 특정 파일을 검증할 때는:

rpm -Vf /bin/vi

설치된 모든 패키지에 대해 점검할 경우에는

rpm -Va

설치할 패키지 압축 파일이 이미 설치된 패키지의 어떤 파일과 중복되는지 검증할 경우에는

rpm -Vp foo-1.0-1.i386.rpm

이 명령은 사용자의 시스템에 있는 RPM 데이터베이스가 손상을 입은 것 같을 때 유용하다.

모든 것이 검증에서 이상이 없으면 무소식이 희소식이라고 아무 것도 출력하지 않는다. 만약 점검에서 RPM 데이터베이스에 있는 정보와 설치된 파일의 정보가 서로 어긋나는 경우, 이러한 내용을 출력한다. 이 출력의 형식은 여덟 글자의 문자열로 점검 상태를 표시하고 다음에 해당 파일 이름을 표시한다.  각각의 필드에 표시된 문자에 따라 어떤 정보들이 차이가 나는지를 보여주는데 여덟 글자의 각각의 필드에 따라 어떤 정보가 차이가 난다는 것을 보여준다. □.□은 점검을 이상 없이 통과했다는 표시이고 다음의 문자들이 나타나는 경우 해당 파일의 정보 중 어떤 것이 변경이 됐는지를 알 수 있다.

5	MD5 체크섬

S	파일 크기

L	심볼릭 링크

T	파일의 최종 변경 시간

D	장치

U	사용자

G	그룹

M	파일 허가권이나 파일 형식 등의 모드

만약 어떤 내용이라도 출력이 된다면 해당 패키지를 제거하고 다시 설치하든지, 또는 다른 방법으로 문제를 어떻게든 바로잡을지를 결정하는 것은 신중하게 판단해야 한다.

9.3 RPM을 사용한 유용한 팁

RPM은 사용자의 시스템을 진단하고 문제를 해결하고 관리하는데 매우 유용한 도구이다. 모든 선택 사항을 이해하는 가장 좋은 방법은 예제를 살펴보는 것이다.

사용자가 실수로 어떤 파일들을 지웠다고 가정해 보자, 하지만 사용자는 자신이 지운 것을 확실히 알지 못한다. 사용자가 전체의 시스템을 점검하고, 없어진 파일이 무엇인지 알고 싶다면 다음과 같이 입력하면 된다.

rpm -Va

어떤 파일이 없어지거나 변경됐다면, 사용자는 대개 설치를 하거나 제거하고 다시 설치를

해야 할 것이다.

알지 못하는 파일을 실행시키려고 하는 상황을 가정해 보자. 이 파일이 어느 패키지에 속해 있는 파일인지 찾기 위해서는 다음과 같이 입력한다.

rpm -qf /usr/X11R6/xjewel

출력은 아마도 다음과 같을 것이다.

xjewel-1.6-1

자, 이제 위에서 배운 두 가지 예제를 조합해 보자. /usr/bin/paste 파일이 문제가 있다고 가정해 보자. 이 파일을 포함한 패키지를 점검해 보고 싶지만 이 프로그램을 포함한 패키지를 알지 못할 경우

rpm -Vf /usr/bin/paste

위와 같이 입력하면 해당 패키지에 대한 검증을 할 것이다.

어떤 프로그램을 사용하는데 있어서 그것에 대한 좀더 많은 정보를 찾기를 원한다면 다음과 같이 입력하면 해당 프로그램(예를 들어 ispell)을 포함한 패키지가 가지고 있는 문서 파일을 찾을 수 있다.

rpm -qdf /usr/bin/ispell

이 명령에 대한 출력은

/usr/man/man4/ispell.4

/usr/man/man4/english.4

/usr/man/man1/unsq.1

/usr/man/man1/tryaffix.1

/usr/man/man1/sq.1

/usr/man/man1/munchlist.1

/usr/man/man1/ispell.1

/usr/man/man1/findaffix.1

/usr/man/man1/buildhash.1

/usr/info/ispell.info.gz

/usr/doc/ispell-3.1.18-1/README

이런 식으로 나올 것이다.

새로운 koules RPM을 구했지만 이것이 무엇인지 모를 때, 이것에 대한 어떤 정보를 알아내기 위해서는 다음과 같이 입력한다.

rpm -qip koules-1.2-2.i386.rpm

이 명령에 대한 결과는

Name        : koules Distribution: Red Hat Linux Colgate

Version     : 1.2          Vendor: Red Hat Software

Release     : 2        Build Date: Mon Sep 02 11:59:12 1996

Install date: (none)   Build Host: porky.redhat.com

Group       : Games    Source RPM: koules-1.2-2.src.rpm

Size        : 614939

Summary     : SVGAlib action game; multiplayer, network

Description :

This arcade-style game is novel in conception and

excellent in execution.  No shooting, no blood, no guts,

no gore.  The play is simple, but you still must develop

skill to play.  This version uses SVGAlib to run on a

graphics console.

또한 koules RPM이 설치하는 파일이 어떤 것인지 알고 싶으면 다음을 입력한다.

prm -qlp koules-1.2-2.i386.rpm

그러면

/usr/man/man6/koules.6

/usr/lib/games/kouleslib/start.raw

/usr/lib/games/kouleslib/end.raw

/usr/lib/games/kouleslib/destroy2.raw

/usr/lib/games/kouleslib/destroy1.raw

/usr/lib/games/kouleslib/creator2.raw

/usr/lib/games/kouleslib/creator1.raw

/usr/lib/games/kouleslib/colize.raw

/usr/lib/games/kouleslib

/usr/games/koules

이렇게 설치될 파일 목록이 나온다.

이런 것들은 몇 가지 예에 지나지 않는다. 시스템을 사용함에 따라 점점 더 많은 RPM의 용도를 알게 될 것이다.

9.4 다른 RPM 자료를 찾을 수 있는 곳

RPM에 대한 좀더 상세한 정보는 매뉴얼 페이지, 도움말 화면(rpm --help)을 참고하라. 그리고 RPM에 대한 문서는 다음의 URL에서 구할 수 있다.

http://www.rpm.org/

Maximum RPM이라고 하는 RPM에 대한 책이 ps 파일로 레드햇사의 홈페이지와 서점에서 구할 수 있다.  이 책은 일반 사용자와 패키지 개발자 양 측면에서 RPM에 대한 상세한 정보를 포함하고 있다. 이 책은 또한 http://www.rpm.org/에서 온라인으로 볼 수 있다. RPM에 관련된 주제를 토론하는 메일링 리스트가 있다. 이것은 rpm-list@redhat.com로 불리며

http://www.redhat.com/support/mailing-lists/에 지금까지의 내용이 보관이 되어 있다.  이 메일링 리스트에 가입하려면 rpm-list-request@redhat.com로 제목에 subscribe라고 적어서 전자우편을 보낸다.

10. Glint

레드햇은 패키지의 설치와 삭제를 도와주는 GUI 도구를 제공한다. 이것을 Glint(Graphical Linux INstallation Tool)이라고 부르며 X 윈도우 상에서 동작한다. 이것은 설치와 삭제, 판올림, 패키지에 대한 질문, 검사를 쉽게 해준다. 이 인터페이스는 지금까지 나온 많은 파일 관리자와 비슷하고 사용하기도 간단하다.

glint는 패키지를 선택하고 패키지를 어떻게 할 것인가를 누름 단추를 클릭해서 선택하는 방식으로 동작한다. Installing은 시스템에 패키지를 설치하고, Uninstalling은 패키지의 모든 구성 파일을 추적하여 설정 파일을 제외하고 모두 삭제한다. Upgrading은 이전에 설치된 구 버전의 패키지를 제거하고 새로운 버전을 설치한다. 이것은 가장 최근의 버전에 대해 빠른 판올림을 가능하게 한다.

질의 조작은 설치된 패키지와 설치 가능 패키지에 대해 상세한 검사를 수행한다. 사용자는 이 질의 조작을 통해 패키지에 대한 설명을 보거나, 생성 장소, 패키지의 구성 파일, 그리고 다른 속성들을 볼 수 있다. 각 패키지의 설정과 문서 파일은 그것을 찾는데 필요한 시간을 줄일 수 있도록 확실하게 표시가 되어 있다.

glint를 사용하여 이런 조작을 수행하는 것은 rpm을 사용하여 명령행에서 이러한 조작을 수행하는 것과 똑같다. 그러나 glint의 GUI적인 특성은 이러한 조작을 보다 쉽게 만들어 준다.

glint를 다루는 가장 일반적인 방법은 설치 가능한 패키지와 파일을 출력해 보는 것이다. 그리고 사용자가 조작하기를 원하는 패키지를 선택하고 조작할 기능을 선택하여 단추를 클릭하거나 메뉴 아이템을 선택하여 조작을 수행한다. 예를 들면 패키지를 몇 개 설치하는데 단추 클릭을 몇 번하면 된다.

10.1 glint의 시작

glint의 시작은 간단하게 X 터미널 상에서 glint &을 실행시키면 된다. 그러면 그림 10.1에 보이는 것 같은 창이 나타나게 된다. 시스템의 모든 사용자가 glint를 사용해서 패키지에 대한 질의와 검사를 수행할 수 있다. 하지만 패키지의 설치와 제거, 판올림은 root로 glint를 실행시켜야 한다.

glint 인터페이스는 두 가지 부분으로 나뉘어져 있다. 첫 번째는 화면 왼쪽에 보이는 것으로 시스템에 설치된 패키지를 선택하고 브라우징할 수 있도록 하는 부분이고 오른쪽은 선택된 패키지에 대한 조작을 하는 단추 목록이다.

그림 10.1: glint 주화면

10.2 패키지 디스플레이

glint에서 폴더 아이콘은 패키지의 그룹을 나타낸다. 각 그룹은 다른 그룹을 포함할 수도 있는데 이것은 패키지의 신축성 있게 분류할 수 있도록 해준다. 그룹은 비슷한 위치에 비슷한 기능을 수행하는 패키지를 모아 놓는데 사용된다. 예를 들어 레드햇은 스프레드시트와 에디터 같은 많은 응용 프로그램을 포함하는데, 모든 텍스트 기반의 소프트웨어는 Applications 그룹에 속해 있고 그 그룹 안에 에디터들을 모아 놓은 또 다른 그룹이 존재하는 식이다.

관습적으로 그룹은 유닉스 경로와 같은 방법으로 기술된다. 맨 상위 층의 모든 그룹이 첫 번째로 쓰여지고 부속적인 그룹이 □/□로 구분되어 쓰여진다. X11/Applications/Graphics로 기술된 그룹은 X 윈도우 기반의 그래픽 프로그램을 나타낸다.

그룹 속의 부속 그룹이나 패키지를 보기 위해서는 그룹 아이콘에 마우스 포인터를 놓고 왼쪽 단추를 더블 클릭하면 된다.  그러면 선택한 그룹이 무슨 패키지를 포함하는지를 보여주도록 창이 변하게 된다. 창 가장 윗줄에 현재 보여주고 있는 패키지들이 어떤 그룹에 속해 있는가를 상위 그룹까지 포함해서 보여준다.  이전 상위 그룹으로 돌아가려면 아이콘들을 보여주는 영역의 왼쪽 상단에 있는 Back 폴더를 더블 클릭하면 된다.

만약 하위 그룹을 새로운 창에서 보고 싶다면, 보려는 폴더 아이콘에서 가운데 단추를 더블 클릭하면 된다. 만약 마우스에 단추가 두 개 밖에 없다면 양쪽을 동시에 더블 클릭한다. 그러면 선택한 그룹을 보여주는 새로운 그룹이 나타나게 된다.

10.2.1 마우스 팝업 메뉴(Context Sensitive Menus)

어떤 아이콘에서 오른쪽 단추를 클릭하면 조그마한 메뉴가 나타난다.  이 메뉴의 정확한 동작은 메뉴의 어느 것을 클릭하느냐에 달려 있다. 이 메뉴는 패키지의 선택과 선택 해제, 설치와 제거, 질의, 판올림, 검사 등의 모든 패키지에 대한 조작을 포함하고 있다. 이것에 대한 좀더 자세한 설명은 좀더 뒤에서 다루기로 한다.

마우스 팝업 메뉴에 있는 기능을 선택하려면, 패키지 아이콘에서 오른쪽 마우스 단추를 클릭하고, 클릭한 상태를 유지하면서 선택하려는 기능에다 마우스 포인터를 끌어서 단추를 놓으면 선택되며 메뉴가 사라진다.

10.2.2 패키지의 선택

패키지를 하나 선택하려면 패키지 아이콘에 마우스 포인터를 위치시키고 마우스 왼쪽 단추를 클릭한다. 그러면 선택됐다는 표시로 그림 10.2에서 보는 것처럼 선택된 패키지의 주위에 빨간 테두리가 생긴다. 선택을 해제하려면 주위에 테두리가 나타난 아이콘에서 왼쪽 마우스 단추를 클릭하면 테두리가 사라지면서 선택이 해제된다. 선택된 패키지의 개수는 항상 창의 하단에 표시되며, 그룹 폴더 아이콘은 그룹 내에서 선택된 패키지의 개수를 표시하거나 그룹 내의 패키지가 모두 선택됐으면 All이라고 표시된다.

그림 10.2: Glint에서 패키지 선택하기

패키지를 위한 마우스 팝업 메뉴는 선택과 해제를 쉽게 한다. 패키지 폴더를 선택함으로써 해당 그룹 전체를 선택할 수 있어서 각각의 패키지를 선택하는 것보다 빠르게 선택할 수 있다.

10.2.3 설치 가능한 패키지 보기

현재 설치 할 수 있는 패키지들을 보기 위해서 glint 창 화면에서 우측의 Available 누름 단추를 클릭한다. 잠시 후에 그림 10.4와 같은 새로운 창이 나타난다.   이 창은 우측의 누름 단추와 제목에서 차이가 날 뿐 그룹을 브라우징하고 패키지를 선택하는 것은 다른 glint 창과 같다.

만약 glint에서 어떤 RPM도 찾을 수 없다는 오류 메시지를 보여줄 경우, 다음 장에서 설명할 설정 부분을 살펴보기 바란다.

그림 10.3: 설치 가능한 패키지 목록 창

10.3 설정

glint가 필요로 하는 설정 정보는 새로운 RPM 패키지가 있는 경로뿐이다. 레드햇 리눅스 시디롬을 사용하는 경우 이것은 보통 /mnt/cdrom/RedHat/RPMS가 될 것이다. 이것은 glint에 대한 기본 설정이다. 만약 새로운 RPM 패키지를 인터넷에서 내려 받거나 NFS를 통해 마운트된 시디롬에서 RPM 패키지들을 설치하려고 하면 이것은 기본 설정 경로에 RPM 패키지들이 저장되지 않는다.

그림 10.4: 설정 창

이 경로를 바꾸기 위해서는 우선, 설치 가능한 목록을 보여주는 창을 닫았는지 확인하고 glint 최상위 창의 우측에 있는 누름 단추 중 Configuration 을 선택한다. 그러면 그림 10.4에서 보이는 것 같은 대화 상자가 나타난다. 여기에서 설치하려는 RPM 패키지가 있는 디렉토리의 전체 경로를 입력하고, Save 단추를 클릭한다. 지금 설정한 경로를 기본 경로로 설정하기 위해서는 Default 단추를 클릭한다. 그러면 현재 설정한 경로를 다음에 glint를 실행할 때 설치 가능한 패키지를 찾는 경로로 사용한다.

이 경로를 바꾼 뒤에 대화 상자를 닫고, 바꾼 경로에 있는 패키지를 보기 위해 다시 Available 단추를 누른다.

10.4 패키지에 대한 조작

10.4.1 패키지에 대한 질의

단일 패키지나 그룹에 대한 정보를 알아내는 가장 쉬운 방법은 마우스 팝업 메뉴에서 Query 선택 사항을 선택하는 것이다. 다양한 패키지 종류에 대해서 정보를 알고 싶으면 알고 싶은 패키지를 모두 선택하고 창 우측에 있는 Query 단추를 클릭한다.

이 두 가지 방법 중 어느 것을 사용하더라도 그림 10.5에서 보이는 것과 같은 창을 생성한다. 하나의 패키지만을 선택했다면 그림 10.5에서 보이는 게 몇 가지 부분이 없는 조금 다른 모습일 것이다.

창의 가장 좌측 편에는 정보를 알아내려고 하는 패키지에 목록이 나타난다. 이중에서 하나를 선택하면 창의 나머지 부분에 나타나는 정보가 변한다. 이러한 알고자 하는 패키지의 선택은 창 우측 편에 있는 Previous와 Next 단추를 통해 할 수도 있다.

패키지 이름과 버전, 패키징 버전은 질의 창의 중앙 제목 막대에 표시된다. 바로 그 아래 이 패키지에 대한 설명이 나온다. 이 부분을 크게 하거나, 스크롤 막대를 사용하여 설명을 읽을 수 있다.

그림 10.5: 질의 창

설명의 바로 밑에는 패키지가 포함한 파일의 목록이다. 각각의 파일에 대해서 전체 경로가 각각 표시된다. 파일 목록은 다른 정보도 포함하여 표시해 준다. 경로의 좌측 편에 있는 D 표시는 이 파일이 문서 파일이라는 것을 나타낸다. 그리고 C라고 표시되어 있는 것은 표시되어 있는 파일이 설정 파일임을 나타낸다. * 표시는 시스템에 올바른 버전의 패키지가 설치되지 않았음을 의미한다. 이러한 현상은 좀더 새로운 버전의 패키지가 설치되거나 두 가지 패키지가 같은 이름의 파일을 가진 경우에 발생한다.

그림 10.6: 상세한 정보

Detail 단추를 클릭하면 패키지에 대한 보다 자세한 정보를 볼 수 있다. 그림 10.6에서 보이는 것과 같은 창이 나타날 것이다. 이것은 주 질의 창에서 보여주고 있는 패키지에 대한 좀더 자세한 정보의 목록이다. 질의 창에서 새로운 패키지를 선택하면 상세 정보 창도 새로운 선택에 대한 변화를 반영하여 표시되는 정보가 바뀐다.

10.4.2 패키지의 검사

패키지에 대한 검증은 패키지가 포함하는 모든 파일에 대해서 파일이 시스템에 제대로 설치되어 있는지 확인하기 위해서 검사한다. 체크섬, 파일 크기, 허가권, 기타 다른 속성을 데이터베이스에 저장된 내용과 비교하여 검사한다. 이러한 검사는 새로운 프로그램의 설치로 인해 다른 프로그램들의 파일에 손상이 생긴 것으로 의심이 될 때 사용한다.

검증을 위해 패키지를 선택하는 것은 질의를 위해 패키지를 선택하는 것과 같다. 패키지를 선택하고 Verify 단추를 클릭하여 사용하거나 마우스 팝업 메뉴를 사용한다. 그러면 그림 10.7에 보이는 것 같은 창이 나타난다.

그림 10.7: 검사 창

창의 가장 좌측 편에는 정보를 알아내려고 하는 패키지에 목록이 나타난다. 이중에서 하나를 선택하면 창의 나머지 부분에 나타나는 정보가 변한다. 이러한 알고자 하는 패키지의 선택은 창 우측 편에 있는 Previous와 Next 단추를 통해 할 수도 있다.

패키지 이름과 버전, 패키징 버전은 질의 창의 중앙 제목 막대에 표시된다. 바로 그 아래 이 패키지에 대한 설명이 나온다. 이 부분을 크게 하거나, 스크롤 막대를 사용하여 설명을 읽을 수 있다.

문제	설명
missing	파일이 없음
mode	파일 허가권이 변경되었음
size	파일 크기가 변경되었음
uid	소유자의 uid가 변경되었음
gid	소유자의 gid가 변경되었음
md5	md5 체크섬이 변화되었음
link	파일의 심볼릭 링크가 잘못된 곳으로 연결되었음

그림 10.8: Verification으로 알아낼 수 있는 문제점

그림 10.9: 자세한 검사 결과

발견된 오류에 대해서 좀더 자세한 정보를 알아보기 위해 해당 파일을 더블 클릭하면 그림 10.9에서 보이는 것 같은 창이 설치 당시에 데이터베이스에 저장한 속성 값과 현재 속성 값을 동시에 보여주게 된다.

10.4.3 새로운 패키지의 설치

glint를 사용해서 새로운 패키지를 설치하는 것은 매우 간단하다. 먼저 설치 가능한 패키지를 본다(이것을 보기 위한 방법은 10.2.3절에서 설명하였다). 이러한 설치 가능한 패키지 목록에서 설치할 패키지를 선택한다. 패키지가 무엇에 쓰이는 것인지 모른다면 Query를 사용하면 알 수 있다. 단일 패키지나 그룹 전체를 설치하려고 하면 마우스 팝업 메뉴가 간단한 방법을 제공한다. 그림 10.10은 설치하기 위해 선택한 패키지의 목록을 보여준다.

그림 10.10: 설치를 위해 선택된 패키지 목록

설치가 시작되면 그림 10.11과 같은 창이 나타난다. 이것은 설치 과정을 표시해서 사용자에게 어떤 일이 진행 중인가를 보여준다. 상단의 막대기는 현재 패키지가 얼마나 설치가 되고 있는지를 (그래프 안에 패키지의 이름을 보여주며) 표시해 준다. 하단의 막대 그래프는 여러 개의 패키지를 선택했을 때 선택된 패키지 전체의 설치가 끝날 때까지 얼마나 남았는가를 보여준다. 패키지의 수와 패키지의 크기와 추정 시간들은 계속해서 갱신된다.

그림 10.11 설치 진행 상황

설치 도중에 문제가 발생하면 발생한 문제점에 대한 목록을 보여주는 창이 나타난다.

만약 이런 상황이 일어나면 표시된 문제점들을 해결하고 다시 시도하면 된다.

설치가 완전히 끝난 후에 설치된 패키지와 그룹은 설치가 성공적으로 이루어졌음을 보여주기 위해 설치 가능 창에서 glint 주창으로 옮겨간다.

패키지 판올림

패키지의 새로운 버전이 발표됐을 때 이것을 쉽게 설치하는 것은 쉽다. 설치 가능 창에서 패키지를 선택하고 Upgrade 단추를 클릭하거나 마우스 팝업 메뉴에서 upgrade를 선택하면 된다.

판올림 중에는 설치 때와 같은 설치 과정 표시기를 통해 설치 과정을 보여주고 끝나면 설치된 패키지가 설치 가능 창에서 주창으로 옮겨지고 구 버전의 패키지는 없어진다.

새로운 패키지를 설치할 때 구 버전의 패키지를 삭제하고 새로운 패키지를 설치하는 것보다 판올림을 하는 것이 좋다. 판올림을 사용하면 사용자가 패키지에 대해 변경한 설정을 보존시켜 준다. 하지만 일반적으로 삭제한 후 새 버전을 설치하면 이러한 설정 내용을 잃게 된다.

만약 설치 도중에 디스크가 모자라면 설치는 실패한다. 그러나 설치 도중인 패키지는 오류가 발생한 시점에서 몇몇 파일만 설치된 상태로 남겨지게 된다. 이것을 깨끗이 하기 위해서는 디스크 공간을 더 만든 후에 다시 설치해야 한다.

10.4.4 패키지 삭제

패키지를 삭제하는 것은 판올림과는 다르다. 패키지가 삭제될 때 다른 패키지에서 사용하지 않는 한 패키지에 포함된 모든 파일이 삭제된다. 사용자가 변경한 설정 파일은 <filename>.rpmsave로 복사되어 남겨지고 이것을 나중에 다시 사용할 수 있다.

패키지에 대한 질의를 수행하거나 패키지에 대해서 검사를 수행하는 것과 같이 주 창 우측 편의 Uninstall 단추를 사용하거나 마우스 팝업 메뉴를 사용할 수 있다. 그룹에 대해서 삭제를 수행할 때는 그룹 내의 모든 패키지가 삭제된다는 것을 명심하고 주의해서 선택하기 바란다.

그림 10.12: 삭제 창

한번 삭제가 시작되면 glint는 그림 10.12와 같은 창을 보여주면서 확인을 요구한다. 이 창은 삭제될 패키지를 보여준다. 삭제할 패키지가 무엇인지 확인하기 바란다. Yes를 클릭하면 삭제 과정이 시작된다. 이것이 완전히 끝난 뒤에 삭제된 패키지와 그룹은 주창의 설치된 패키지 목록에서 사라진다.

11. 시스템 관리

이장에서는 레드햇 리눅스 시스템에 대해 개괄적으로 설명한다. 시스템에 대해 알아야 할 사항과 다른 유닉스 시스템과의 차이점을 예를 들어가며 설명할 것이다.

11.1 파일 시스템 구조

레드햇 리눅스는 여러 파일과 디렉토리 이름과 위치를 정해 놓은 통합 문서인 리눅스 파일 시스템 표준을 준수하고 있다. 레드햇 리눅스 5.2를 유연하게 관리하기 위하여 계속해서 표준을 따를 것이다.

표준을 따른다는 것은 많은 것을 의미하는데, 가장 중요한 두 가지 사항을 들어보자. 하나는 다른 시스템과 호환성을 유지할 수 있다는 점이고, 다른 하나는 /usr 분할 영역을 읽기 전용으로 마운트할 수 있는 능력을 제공한다는 것이다. /usr 분할 영역은 사용자에 의해 변경될 수 있음을 의미하는 것이 아니라 시스템에서 공유하는 실행 파일을 담고 있다. 따라서 /usr 분할 영역은 시디롬이나 읽기 전용 NFS를 통해 다른 기계로 마운트할 수 있다. 현재의 리눅스 파일 시스템 표준(FSSTND) 문서는 어떠한 FSSTND를 따르는 파일 시스템에 대해서도 믿을 만한 참고 자료가 될 수 있지만, 표준이라 해도 정의되지 않은 부분이 있거나 확장할 수 있는 부분이 있다. 이 절에서는 표준에 대한 개관과 표준에서 언급되지 않은 부분에 대해 설명하고자 한다.

완전한 표준에 대한 사항은

http://www.pathname.com/fhs/

에서 볼 수 있다.

11.1.1 FSSTND의 개관

여기서 사용되는 디렉토리와 파일은 FSSTND 문서에 명시된 내용의 일부이다. 가장 최신의 완벽한 정보를 원한다면 최신의 FSSTND 문서를 확인해 보기 바란다.

/etc 디렉토리

/etc 디렉토리는 기계에 국한되는 설정 파일들을 담고 있다. 바이너리 파일을 /etc 디렉토리에 두지 않는다. 과거에 /etc 디렉토리에 있던 파일은 이제 /sbin 디렉토리나 가능하다면 /bin 디렉토리에 위치시켜야 한다.

X11과 skel 디렉토리는 /etc 디렉토리 밑에 위치시켜야 한다.

/etc

|-X11

+-skel

X11 디렉토리는 XF86Config 같은 X11 설정 파일을 위한 디렉토리이다. skel 디렉토리는 사용자를 생성할 경우, 홈 디렉토리를 만들 때 사용되는 사용자의 기본 설정 파일 골격이다.

/lib 디렉토리

/lib 디렉토리는 /bin 과 /sbin 디렉토리에 있는 바이너리를 실행할 때 필요한 라이브러리를 가지고 있어야 한다.

/sbin 디렉토리

/sbin 디렉토리는 root에 의해 사용되는 실행 파일을 위한 디렉토리이며, 부팅과 /usr 디렉토리 마운트, 시스템 복구 작업을 하는데 필요한 실행 파일이 있는 디렉토리이다. FSSTND에는 다음과 같은 내용이 있다.

□/sbin 디렉토리는 일반적으로 /bin에 있는 바이너리 외에 시스템을 부팅하는데 필수적인 파일을 담고 있다. /usr 디렉토리가 마운트된 후에 실행되는 파일들은 /usr/sbin 디렉토리에 위치해야 한다. 시스템 고유의 시스템 관리 바이너리는 /usr/local/sbin에 위치해야 한다.□

최소한 다음 프로그램들은 /sbin에 위치해야 한다.

clock, getty, init, update, mkswap, swapon, swapoff, halt, reboot

shutdown, fdisk, fsck.*, mkfs.*, lilo, arp, ifconfig, route

/usr 디렉토리

/usr 디렉토리는 시스템 전체에 걸쳐 공유되는 파일을 위한 디렉토리이다. /usr 디렉토리는 보통 자신만의 분할 영역을 갖으며, 읽기 전용으로 마운트되어야 한다. 다음의 디렉토리가 /usr의 하위 디렉토리가 되어야 한다.

/usr

|-X11R6

|-bin

|-dict

|-doc

|-etc

|-games

|-include

|-info

|-lib

|-local

|-man

|-sbin

|-share

+-src

X11R6은 X 윈도우 시스템(레드햇 리눅스의 XFree86), bin은 실행파일, doc는 man-page가 아닌 임의의 문서, etc는 시스템 전체에 걸친 설정 파일, include는 C 헤더 파일, info는 GNU info 파일, lib는 라이브러리, man은 매뉴얼 페이지, sbin은 시스템 관리에 사용되는 (/sbin 디렉토리에 없는) 바이너리, src는 소스 코드를 위한 디렉토리이다.

/usr/local 디렉토리

FSSTND에는 다음과 같은 내용이 있다.

□/usr/local 체계는 시스템 관리자가 시스템 고유의 소프트웨어를 설치할 때 사용하기 위한 것이다. 시스템 소프트웨어가 판올림될 때 덮어쓰기로부터 안전하게 유지될 필요가 있다. 이 디렉토리는 기계 내 그룹간에 공유할 수 있으면서 /usr 디렉토리에서 찾을 수 없는 프로그램과 자료를 위해 사용할 수 있다.□

/usr/local 디렉토리는 구조적으로 /usr 디렉토리와 비슷하다. 이 디렉토리는 /usr의 하위 디렉토리들의 용도와 비슷한 목적을 가지는 하위 디렉토리 구조를 갖는다.

/usr/local

|-bin

|-doc

|-etc

|-games

|-include

|-info

|-lib

|-man

|-sbin

+-src

/var 디렉토리

FSSTND는 /usr 디렉토리를 읽기 전용으로 마운트하도록 권고하고 있기 때문에, 기록 파일을 작성하거나 스풀 디렉토리나 lock 디렉토리를 필요로 하는 프로그램은 /var 디렉토리를 사용해야 한다. FSSTND는 다음과 같이 적고 있다.

□...변할 수 있는 자료 파일. 이 디렉토리에는 스풀 디렉토리 및 파일, 관리 및 접속기록 자료와 임시로 생성되는 파일이 포함하고 있다.□

다음의 디렉토리는 /var의 하위 디렉토리 구조이다 :

/var

|-log

|-catman

|-lib

|-local

|-named

|-nis

|-preserve

|-run

|-lock

|-tmp

+-spool

|-at

|-cron

|-lpd

|-mail

|-mqeue

|-rwho

|-smail

|-uucp

+-news

wtmp와 lastlog와 같은 시스템 기록 파일들은 /var/log 디렉토리에 위치한다. 또한 /var/lib 디렉토리는 RPM 시스템 데이터베이스를 포함하고 있다. 형식화된 매뉴얼 페이지는 /var/catman에 위치하게 되고, lock 파일은 /var/lock 디렉토리에 위치한다. /var/spool 디렉토리는 자료 파일을 저장할 필요가 있는 다양한 시스템을 위한 하위 디렉토리를 가지고 있다.

11.1.2 레드햇 리눅스에서의 /usr/local

레드햇 리눅스에서는 /usr/local 디렉토리의 계획적인 사용은 FSSTND에 명시된 내용과는 약간 다르다. FSSTND에는 /usr/local 디렉토리에는 시스템 소프트웨어 판올림할 때 상업용 소프트웨어의 안전을 위한 것이다. 레드햇 소프트웨어 사의 시스템 판올림 방식은 RPM 시스템과 Glint로 안전하게 수행하므로 상업용 소프트웨어를 보호하기 위해 /usr/local에 위치시킬 필요가 없다. 대신에, 시스템 고유의 소프트웨어를 /usr/local에 위치시킬 것을 권장한다.

예를 들어, beavis라는 시스템으로부터 읽기 전용 NFS로 /usr 디렉토리를 마운트했다고 하자. 만일 설치하고 싶은 패키지나 프로그램이 있는데 beavis에 쓰기가 금지되어 있다면, 그 프로그램들을 /usr/local 디렉토리에 설치해야 한다. 그리고 나중에 beavis의 시스템 관리자에게 /usr 디렉토리에 프로그램을 설치할 것을 납득시키게 된다면, /usr/local 디렉토리에서 제거할 수 있다.

11.2 레드햇 리눅스 파일의 특별한 위치

/var/lib/rpm에 위치한 RPM과 관련된 파일 외에, 레드햇 리눅스의 설정과 작동을 위한 두 가지 다른 특별한 위치가 있다.

control-panel과 그에 관련된 도구들은 /usr/lib/rhs에 위치한다. 여기에 있는 파일은 사용자가 편집할 것이 없다. 대부분 작은 크기의 스크립트, 비트맵, 텍스트 파일이다.

또 다른 위치인 /etc/sysconfig 디렉토리는 설정 정보를 저장하고 있다. 부팅할 때 실행되는 스크립트에서 이 파일을 주로 사용한다. 이 파일은 편집을 할 수 있지만, 적당한 control-panel 도구를 이용하는 것이 좋다.

11.3 사용자, 그룹, 사용자-개별 그룹

사용자와 그룹을 관리하는 것은 지루한 작업으로 인식되어 왔다. 레드햇 리눅스는 사용자와 그룹을 좀 더 쉽게 관리하기 위한 도구와 규정을 지원하기 때문에 보다 유용하다.

사용자와 그룹을 관리하는 가장 쉬운 방법은 제어판의 사용자와 그룹 모듈을 이용하는 것이다(제어판에  대한 것은 9장을 참조하고, 사용자와 그룹 모듈에 대한 것은 9.1절을 참고한다).

또한 명령행에서 사용자를 추가하는데 adduser 명령을 사용할 수 있다.

11.3.1 표준 사용자(기본 사용자)

그림 11.1은 설치 과정에서 설정되는 표준 사용자(기본 사용자)를 나열한 것이다(이들은 /etc/passwd 파일에 필수적인 요소들이다). 이 표의 그룹 ID(GID)는 사용자를 위한 초기 그룹(primary group)이다. 그룹이 어떻게 사용되는지에 대한 자세한 내용은 11.3.3절을 보자.

그림 11.1 표준 사용자(기본 사용자)

사용자	UID	GID	홈 디렉토리	쉘
root	0	0	/root	/bin/bash
bin	1	1	/bin
daemon	2	2	/sbin
adm	3	4	/var/adm
lp	4	7	/var/spool/lpd
sync	5	0	/sbin	/bin/sync
shutdown	6	0	/sbin	/sbin/shutdown
halt	7	0	/sbin	/sbin/halt
mail	8	12	/var/spool/mail
news	9	13	/var/spool/news
uucp	10	14	/var/spool/uucp
operator	11	0	/root	/bin/bash
games	12	100	/usr/local/games
gopher	13	30	/usr/lib/gopher-data
ftp	14	50	/usr/rhs/ftp
nobody	99	99	/root

11.3.2 표준 그룹(기본 그룹)

그림 11.2는 설치 과정에서 설정되는 표준 그룹(기본 그룹)을 나열한 것이다(이 그룹은 /etc/group 파일의 필수적인 요소이다).

그림 11.2 표준 그룹(기본 그룹)

그룹	GID	구성원
root	0	root
bin	1	root,bin,daemon
daemon	2	root,bin,daemon
sys	3	root,bin,adm
adm	4	root,adm,daemon
tty	5
disk	6	root
lp	7	daemon,lp
mem	8
kmem	9
wheel	10	root
mail	12	mail
news	13	news
uucp	14	uucp
man	15
games	20
gopher	30
dip	40
ftp	50	ftp
nobody	99
users	100

11.3.3 사용자-개별 그룹

레드햇 리눅스는 유닉스의 그룹을 더 쉽게 이용하기 위해 사용자 개별 그룹(UPG)을 사용한다. UPG는 표준 유닉스의 그룹을 다루는 방식으로 그룹을 추가하거나 변경하지 않는다. 그룹을 관리하기 위하여 단순히 새로운 그룹을 제공한다. 새로운 사용자를 생성할 때 기본적으로 사용자는 자신만의 유일한 그룹을 가지게 된다.  그 유형은 다음과 같다.

사용자 개별 그룹

각각의 사용자는 자신이 그 구성원이 되는 초기 그룹을 갖는다.

umask=002

기존의 유닉스 umask 값은 다른 사용자나 user 초기 그룹의 구성원이 사용자의 파일을 변경하지 못하도록 022로 설정되어 있다. 모든 사용자는 자신만의 개별적인 그룹을	갖고 있기 때문에 기존 유닉스의 □그룹 보호□ 기능은 필요 없다. 002의 umask값은 사용자들이 다른 사용자의 파일들을 변경할 수 없도록 할 것이다. umask 값은 /etc/profile에 설정되어 있다.

SGID bit on 디렉토리

만일 디렉토리에 (chmod g+s directory로) SGID를 설정한다면, 그 디렉토리에서 생성되는 파일은 그룹이 디렉토리의 그룹에 맞춰진다.

대부분의 사이트들은 각각의 프로젝트에 따라 그룹을 생성해 사람을 필요한 그룹에 넣고 싶어할 것이다. 파일이 생성되면 사용자가 속한 초기 그룹에 의해 소유되기 때문에 파일 관리가 어려웠다. 한 사람이 여러 프로젝트를 수행한다면, 그 프로젝트와 관련된, 그룹에 의해 소유되는 파일을 만드는 것은 어렵게 된다. 그룹 관리를 매우 간단하게 해주는 UPG 체제에서는 프로젝트에 관련된 파일을 자동으로 그룹에 할당한다

많은 사람들이 devel 디렉토리에서 파일들을 편집하는 devel이라는 큰 프로젝트가 있다고 하자. devel 그룹을 만들고, devel이라는 chgrp를 이용해 그룹 권한을 주고, 모든 devel 사용자들을 devel 그룹에 추가해보자. 이제 모든 devel 사용자들은 그 디렉토리에서 그룹에 속한 파일을 편집하고 새 파일을 생성할 수 있고, 이들 파일은 항상 devel 그룹을 유지하게 될 것이다. 따라서 파일들은 devel 사용자들에 의해 언제나 편집 가능하다.

만일 예로 든 devel처럼 여러 가지 프로젝트를 수행하고, 그 프로젝트를 수행하는 사용자들이 시스템에 있다면, 이 사용자들은 프로젝트를 옮겨갈 때마다 결코 그들의 umask값이나 그룹을 변경하려 하지 않을 것이다. 각각의 주요 프로젝트 디렉토리에 설정된 SGID 비트는 적절한 그룹을 □선택□할 것이다.

사용자의 홈 디렉토리는 사용자와 사용자-개별 그룹에 소유권이 있으므로 홈 디렉토리에 SGID 비트를 설정하는 것이 안전하다. 그러나 파일은 기본적으로 사용자의 초기 그룹의 소유권한을 갖게 생성되므로 SGID 비트는 없어도 좋을 것이다.

사용자-개별 그룹의 원리

UPG 체제는 새로운 기능이기 때문에, 많은 사람들이 궁금해하고 왜 필요한 것인지 알고 싶어한다. 다음은 UPG의 원리이다.

ㅇ /usr/lib/emacs/site-lisp 디렉토리에서 작업하는 사람들의 그룹을 만들고자 한다면 그 디렉토리에서 작업하는 사람들 중에 몇몇 사람들은 믿을 수가 있겠지만, 모든 사람을 신뢰할 수는 없다.

ㅇ 그러므로 다음과 같이 입력할 것이다:

chown -R root.emacs /usr/lib/emacs/site-lisp

그리고 적당한 사용자들을 그룹에 추가하면 된다.

ㅇ 사용자들에게 파일을 생성할 수 있도록 다음과 같이 권한을 줄 것이다:

chmod 775 /usr/lib/emacs/site-lisp

ㅇ 사용자가 새 파일을 생성할 때 그 파일은 사용자의 기본 그룹(보통 users)에 포함된	다. 그렇게 되지 않게 하기 위해 다음과 같이 한다.

chmod 2775 /usr/lib/emacs/site-lisp

위의 입력은 디렉토리의 모든 것을 "emacs" 그룹에 속하도록 만든다.

ㅇ 하지만 emacs 그룹의 다른 사용자들이 파일을 편집하려면 664 모드가 되어야 한다. 그렇게 하기 위해서 기본 umask 값을 002로 한다. 기본 그룹이 □user"인 것을 제외하고는 모든 것이 순조롭게 되었다. 당신의 홈 디렉토리에 생성되는 모든 파일은 □users" 그룹에 속한 모든 사용자(보통 전부가 users에 속해 있다)에 의해 쓰기가 허용된다.

ㅇ 위의 문제점을 해결하기 위해서는, 개개의 사용자가 독자적인 그룹을 기본 그룹으로 갖도록 만들어야 한다.

이런  점에서 umask를 002로 맞추고, 모든 사용자에게 개인 기본그룹을 설정함으로써 어떤 비결 없이 쉽게 사용자에게 그룹을 설정할 수 있다.  그룹을 만들고 사용자를 더하고,  그 그룹의 디렉토리에 대해서 소유권과 실행 모드를 설정하기만 하면 된다.

11.4 PAM을 이용한 사용자 인증

사용자에게 특정 권한을 사용할 수 있도록 하는 종류의 프로그램은 사용자 인증 기능을 필요로 한다. 시스템에 로그인할 때 사용자 ID와 암호를 입력하면, 로그인 프로세스는 입력한 사용자 ID에 대해 실제 사용자가 맞는지를 확인하기 위해 로그인을 인증하기 위한 것을 사용한다. 암호 외의 다른 형식의 인증도 가능하다. 그리고 일반적인 유닉스에서 사용하는 암호저장 방식이 아닌 다른 암호 저장방식에 대한 것도 가능하다.

교체가능 인증 모듈을 의미하는 PAM은 인증에 대한 프로그램에 대해 새로운 버전이 나올 때마다 컴파일 할 필요 없이 인증 방식에 대한 정책을 바꿀 수 있는 기능을 시스템 관리자에게 제공한다. PAM을 사용하면 설정파일을 변경하여 필요한 인증 모듈을 프로그램에 삽입함으로써 인증 방식을 바꿀 수 있다.

대부분의 일반 사용자들은 이 설정 파일을 건드릴 필요가 없다. 인증을 필요로 하는 프로그램을 설치하기 위해서 RPM을 사용하면, 이 프로그램들은 기본적으로 일반적인 암호 인증 방식을 사용하도록 설정된다. 그러나 이 설정을 변경하고 싶으면 설정파일에 대한 이해가 필요하다.

11.4.1 모듈

PAM 표준에 의해 정의된 4종류의 모듈이 있다. 인증 모듈(auth module)은 인증을 수행하기 위한 암호 요청이나, 그룹의 구성원이나, 커베로스 티켓 등과 같은 자격 인증을 설정하는 기능을 수행한다. 계정 모듈(account module)은 사용자 계정의 유효 사용기간, 로그인 가능 시간 등을 검사한다. 암호 모듈(password module)은 암호를 설정하거나 변경하는데 사용된다. 세션 모듈(session module)은 일단 인증된 사용자가 사용자 계정에서 일을 수행하기 위해 하는 모든 세션들이 가능한 것인지 확인하는데 사용된다. 예를 들어 사용자의 홈 디렉토리를 만들거나 전자우편 상자를 만드는 일 같은 것을 말한다.

이러한 모듈은 중첩해서 사용할 수 있다. 그래서 보통 다중 모듈에 사용된다. 예를 들어 rlogin은 보통 적어도 두 가지의 인증 방법을 사용한다. rhosts 인증이 성공하면, 그것으로 연결을 허가한다. 만약 이것이 실패하면 표준 암호 인증이 다시 한번 인증을 시도한다.

새로운 모듈이 언제라도 추가될 수 있다. PAM을 사용하는 응용 프로그램은 이러한 것을 사용하는 것인 가능하다. 예를 들어 일회용 암호 인증 시스템을 가지고 있다고 하면, 이것을 지원하는 모듈을 만들 수 있다( 모듈을 만들기 위한 문서 파일이 시스템에 포함되어 있다). PAM을 지원하는 프로그램은 이러한 새로운 모듈을 사용할 수 있다. 그리고 새로 컴파일 하거나 어떤 방법으로든 프로그램을 변경할 필요 없이 사용이 가능하다.

11.4.2 서비스

PAM을 사용하는 프로그램들은 각각 그 자신만의 서비스 이름을 정의한다. 예를 들어 로그인 프로그램은 서비스 종류를 login이라고 정의하고, ftpd는 서비스 종류를 ftp로 정의한다. 보통 서비스 종류는 서비스에 접근하는데 사용되는 프로그램의 이름이다, 아니면 서비스를 제공하는 프로그램의 이름이 쓰이기도 한다.

11.4.3 설정 파일

/etc/pam.d 디렉토리는 모든 PAM을 사용하는 프로그램을 설정하는데 사용된다 (이전의 PAM 버전에서는 /etc/pam.conf 파일을 사용했다. /etc/pam.d 디렉토리에 해당 파일이 없다면 이전 방식처럼, /etc/pam.conf가 읽혀진다. 이것은 지금은 사용하지 말자는 쪽으로 바뀌었다). 각각의 프로그램은 자신의 설정 파일을 가진다. 이러한 설정 파일의 예를 보면 다음과 같다.

#%PAM-1.0

auth      required  /lib/security/pam_securetty.so

auth      required  /lib/security/pam_pwdb.so shadow nullok

auth      required  /lib/security/pam_nologin.so

account   required  /lib/security/pam_pwdb.so

password  required  /lib/security/pam_cracklib.so

password  required  /lib/security/pam_pwdb.so shadow nullok use_authtok

session   required  /lib/security/pam_pwdb.so

첫 번째 줄은 설명문이다. #로 시작되는 줄은 모두 설명문이다. 그 다음의 세 줄은 로그인 인증에 대해 사용하는 모듈을 쌓아 놓은 것이다. 그 중 첫 줄은 사용자가 root로 로그인을 시도한다면 /etc/security파일이 있을 경우 이 파일에 기록된 tty 장치를 사용하는지를 검사한다. 그 다음 줄은 로그인하는 사용자에게 암호를 요청하고 이것을 검사하는 부분이다. 세 번째 줄은 /etc/nologin 파일이 있을 경우 이 내용을 참고하여 파일 내에 기록된 사용자는 root를 제외하고 로그인을 거부한다.

만약 첫 번째 모듈이 실패하더라도 세 가지 모듈이 모두 작동하여 검사한다는 사실에 주의하라. 이것은 사용자의 인증이 거부당했을 때 어디서 인증이 실패했는지를 알려주지 않도록 고안된 보안 정책이다. 왜냐하면 거부된 이유를 알려주는 것은 인증을 보다 쉽게 깨뜨릴 수 있게 만들어 주기 때문이다. 이렇게 required로 설정된 것을 requisite로 바꿀 수도 있다. 이 설정은 어떤 인증 모듈이 인증에 실패하면 다른 모듈을 동작시키지 않고 바로 인증 실패를 되돌려준다.

5번째 줄은 사용자 계정 관리에 관계된 것이다. 예를 들어 쉐도우 암호를 사용하도록 설정한 경우, pam_pwdb.so 모듈은 사용자의 사용기간과 사용자의 암호의 유효기간을 검사할 것이다.

여섯 번째 줄은 로그인 프로그램이 암호를 교체할 때(예를 들어 쉐도우 암호의 유효기간이 지나서 인증 모듈이 암호를 교체를 결정했을 경우) pam_pwdb.so를 사용하도록 설정한 것이다.

마지막 줄은 세션을 관리하는 경우에 사용하는 모듈을 pam_pwdb.so로 설정한 것이다. 현재 설정은 아무런 동작을 하지 않는다. 이것은 다중모듈로 설정하거나 새로운 모듈을 쓰도록 설정할 수 있다.

각각의 설정파일에 있는 줄의 위치에 따른 순서에 주의할 필요가 있다. required로 설정된 모듈의 경우는 각 모듈간에 우선 순위가 차이가 없다. 여러 개의 required로 설정된 모듈은 각 모듈 중 어느 하나가 인증에 실패하더라도 다른 모듈이 인증과정을 계속 수행한다. 그러나, 단 하나의 모듈만 실패해도 전체의 인증 과정이 실패한 것으로 간주된다. optional로 설정하는 경우는 거의 드물며 기본 설정으로는 절대로 쓰지 않는 설정이다. sufficient나 requisite의 경우 줄의 위치에 따른 순서가 중요하다.

rlogin을 위한 PAM인증 설정 파일을 보자.

auth  required    /lib/security/pam_securetty.so

auth  sufficient   /lib/security/pam_rhosts_auth.so

auth  required    /lib/security/pam_pwdb.so shadow nullok

auth  required    /lib/security/pam_nologin.so

로그인 인증 설정파일과 비슷해 보인다. 그러나 추가적인 모듈이 에 대한 설정이 추가되어있고, 인증 모듈의 순서가 좀 다르게 설정되어 있다.

첫 줄의 pam_securitty.so는 보안상 안전하지 못한 터미널로부터의 root 로그인을 차단한다. 이것은 root 로 rlogin을 시도하는 것을 효과적으로 차단한다. 만약 이것을 가능하게 하고 싶으면 이 줄을 지워 버리기만 하면 된다. 그러나 이러한 설정은 인트라넷으로만 되어 있는 네트워크나 좋은 방화벽 시스템이 없으면 권하고 싶지 않은 설정이다.

두 번째 둘의 pam_nologin.so 모듈은 위에서 설명했듯이 /etc/nologin파일을 검사한다.

세 번째 줄은 pam_rhosts_auth.so 모듈이 사용자에 대한 인증이 성공한 경우 PAM은 PAM을 호출한 프로그램에 다른 모듈의 추가적인 인증 과정 없이 인증 성공을 반환한다. 이 모듈이 sufficient로 설정되어 있어서 인증에 실패한 경우 이 모듈의 실패가 전체 인증과정에는 영향을 미치지 않는다.

마지막 줄은 pam_rhosts_auth.so 모듈이 실패한 경우에 그 다음 순서로 동작하는 인증 모듈로 일반적인 암호 인증과정을 수행한다.

11.4.4 쉐도우 암호

레드햇 리눅스에서는 쉐도우 암호에 대한 지원이 많이 변화했다. 이 부분은 레드햇 리눅스 사용 설명서  11.5절에 자세히 설명이 되어있다.

pam_pwdb.so 모듈은 자동적으로 사용자가 쉐도우 암호로 설정된 것을 인식하며 필요한 조작을 수행한다.

11.4.5 추가적인 정보

지금까지의 설명은 PAM에 대한 간단한 소개정도에 지나지 않는다. 좀더 자세한 정보는 시스템의 /usr/doc/pam*디렉토리에 있는데 여기에는 관리자 설명서, 모듈 개발자 설명서. 응용 프로그램 개발자 설명서, PAM 표준 기술 문서인 DCE-RFC 86.0 등이 포함되어 있다. 추가적으로 레드햇 웹사이트의 다음의 URL에서 정보를 얻을 수 있다.

http://www.redhat.com/linux-info/pam/

11.5 쉐도우 프로그램

쉐도우 암호에 대한 지원이 레드햇 리눅스 5.2에서는 크게 개선되었다. 쉐도우 암호는 암호화된 암호를 다른 파일(/etc/passwd 에서 보통 찾을 수 있다)에 옮기는 방법을 사용하여 암호에 대한 접근을 제한함으로써 시스템의 보안성을 향상시키는 방법이다. shadow-utils 패키지 안에 이를 지원하는 프로그램들이 포함되어 있다.

ㅇ 일반 암호와 쉐도우 암호간의 변환 기능( pwconv, pwunconv )

ㅇ 쉐도우 파일과 관련된 암호, 그룹에 대한 인증 ( pwck, grpch )

ㅇ 사용자 계정을 추가하거나 삭제 변경시키는 유닉스 업계 표준적인 방법의 지원

( useradd, usermod, userdel )

ㅇ 사용자 그룹을 추가하거나 삭제 변경시키는 유닉스 업계 표준적인 방법의 지원

( groupadd, groupmod, groupdel )

ㅇ /etc/passwd 파일을 관리하는 유닉스 업계 표준적인 방법의 지원( gpasswd )

※주의 사항: 이 프로그램들과 관련해서 몇 가지 알아두어야 할 사항이 있다.

ㅇ 이 프로그램은 대부분 쉐도우 암호 사용 여부에 관계없이 잘 동작한다.

ㅇ 이 프로그램들은 레드햇 리눅스 시스템의 사용자-개별 그룹 정책을 지원하기 위해 조금씩 변경되었다. 변경사항은 useradd 매뉴얼 페이지를 참고하기 바란다. 사용자-개별 그룹에 대한 보다 자세한 설명은 11.3.3장을 참고하기 바란다.

ㅇ adduser 스크립트는 /usr/sbin/useradd에 대한 심볼릭 링크로 대체되었다.

11.6 맞춤 커널 컴파일하기

리눅스 커널 2.0.x에서 모듈 기능은 커널을 컴파일 하는 데 있어서 중대한 변화를 가져왔다. 이전에는 사용자가 필요로 하는 하드웨어 지원이나 파일 시스템 지원 같은 요소들을 원한다면 커널이 이것을 지원하도록 컴파일을 해야만 했다. 어떤 하드웨어 사양의 설정에서는 커널의 크기가 빨리 상황에 꼭 맞는 상태가 될 수 가 있었다. 그러나 그리 자주 사용하지 않는 구성요소에 대한 지원을 하도록 컴파일 하면 이것은 시스템 자원을 낭비하는 결과를 가져왔다. 커널 2.0.x의 편리한 기능은 어떤 하드웨어 구동기 구성 요소와 파일 시스템이 그리 자주 쓰이지 않는 경우라면 구동기 모듈을 필요한 때에만 시스템 주 기억 장치에 적재할 수 있다는 것이다. 커널 모듈을 다루는 데에 대한 자세한 설명은 8.2절을 참고하기 바란다.

리눅스에 새로 접하는 많은 사람들이 자주 질문하는 것 중의 하나가 □왜 내 시스템 상황에 맞는 커널을 만들어야 하는가?□ 하는 것이다. 커널 모듈 사용에 있어서의 장점 때문에 이 질문에 대한 정확한 대답은 □자신의 시스템에 맞는 커널을 만들어야 할 이유를 모른다면 그렇게 하지 않으면 된다.□ 자신의 시스템에 맞는 커널을 만들어야 할 특별한 이유를 가지고 있지 않으면 11.7장으로 건너뛴다.

11.6.1 모듈화된 커널 컴파일하기

여기서는 커널 모듈을 통하여 유연성과 기능성의 장점을 활용하기 위해 필요한 지식을 설명한다. 모듈화의 장점을 활용할 필요가 없다면 11.6.3절에서 설명하는 단일 집적 커널로 만드는 경우와의 차이점을 읽어보기 바란다. 여기서는 커널 소스와 헤더 패키지가 미리 설치되어 있다고 가정하며 다음에 설명하는 명령들은 /usr/src/linux 디렉토리에서 실행되는 것으로 가정한다.

소스에서 커널을 만드는데 있어서 시스템의 사양에 맞도록 하는 조건에서 시작하는 것이 중요하다. 그래서 make mrproper 명령으로 시작하는 것이 필요하다. 이것은 커널 소스 디렉토리 곳곳에 흩어져 있는 이전에 커널을 만들 때 남아 있던 설정파일을 지워버린다. 사용하는 시스템에 포함시킬 구성요소가 무엇인지를 지정하는 설정파일을 만들어야 한다. 이것은 시스템 상황과 개인 취향에 따라 커널을 설정하는 방법을 다음 세 가지 중에 하나를 선택할 수 있다.

ㅇ make config - 텍스트 방식의 상호 대화형 프로그램으로 구성요소에 대해서 Y(yes), N(no), M(module)의 세 가지로 답할 수 있다.

ㅇ make menuconfig - 텍스트 메뉴 방식의 프로그램으로 구성요소는 메뉴의 종류에 따라 분류되어 나타난다. 레드햇 리눅스의 설치방식과 비슷한 방법으로 구성요소를 선택할 수 있다. 포함하기를 원하는 구성요소를 Y(yes), N(no), M(module)의 세 가지 중의 하나로 토글시킬 수 있다.

ㅇ make xconfig - X 윈도우용 프로그램으로 구성 요소를 각각의 단계에 따라 나타나서 나열되며 마우스를 사용하여 선택할 수 있다. 역시 Y(yes), N(no), M(module)의 세 가지 중의 하나로 토글시킬 수 있다.

※참고사항: 커널 모듈과 kerneld를 사용하기 위해서는 kerneld support 항목과 module version  (CONFIG_MODVERSIONS) support 항목에서 Yes를 선택해야 한다.

※참고사항: Cyrix나 AMD에서 만들어진 Intel 프로세서 호환 칩의 경우 설정에 있어서 프로세서 종류를 386으로 선택해야 한다.

이전에 위에서 설명한 세 가지 설정 방법으로 만들어진 설정 파일(/usr/sr/linux/.config)이 있을 경우 다시 커널을 만들 때 이 설정 파일을 그대로 사용한다고 한다면 make mrproper과 make config 명령을 생략할 수 있다. 그 다음에 필요한 명령은 make dep와 make clean인데 이것으로 소스로부터 커널을 컴파일할 준비 작업이 모두 끝났다고 할 수 있다.

ㅇ make boot 명령으로 커널을 만든다.

ㅇ make modules 명령으로 설정한 모듈을 만든다.

ㅇ 다음의 명령으로 이전에 사용하던 커널에서 사용하던 모듈들을 백업을 받는다.

rm -rf /lib/modules/2.0.29-old

mv /lib/modules/2.0.29 /lib/modules/2.0.29-old

물론 커널 버전이 판올림 됐다면 2.0.29의 번호는 현재 사용하는 커널 번호로 대체된다는 것을 잊지 말자.

ㅇ make modules_install 명령으로 새로운 모듈을 설치한다.

만약 SCSI가 장착된 상황에서 SCSI 하드웨어 구동기를 모듈로 만든다면 새로운 initrd 이미지를 만들어야 한다 ( 11.6.2절 참고. 몇 가지 이유에서 맞춤 커널을 만들 때 SCSI 구동기를 모듈로 만들어야 할 때가 생긴다).

새로운 커널에서 발생할 지 모르는 오류를 대비하여 이전 커널을 보관하고 있어야 한다. 커널을 LILO 메뉴에 추가하는 것은 /boot 디렉토리에서 원래의 커널을 새로운 이름으로 바꾸는 것만큼 쉽다. 새로운 커널을 /boot 디렉토리에 복사를 하고 /etc/lilo.conf에서 추가 설정을 몇 줄 추가한 다음 /sbin/lilo를 실행시키면 된다. 아래의 내용을 레드햇 리눅스가 설치될 때 기본적으로 생기는 /etc/lilo.conf의 내용이다.

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=100

image=/boot/vmlinuz

label=linux

root=/dev/hda1

read-only

이제는 /etc/lilo.conf의 내용을 바꾸어야 한다. 새로운 initrd 이미지를 만들었다면 LILO에게 이것을 사용한다고 알려줘야 한다. 아래의 예에서 /etc/lilo.conf의 내용에 네 줄을 마지막에 추가하였다. 이제 원래의 커널을 다음과 같이 /boot/vmlinuz을 /boot/vmlinuz.old로 이름을 바꾼다. 그리고 initrd 이미지에 관계된 설정을 새로운 커널에 대해서 추가한다.

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=100

image=/boot/vmlinuz

label=linux

initrd=/boot/initrd

root=/dev/hda1

read-only

image=/boot/vmlinuz.old

label=old

root=/dev/hda1

read-only

이제 시스템을 부팅하고 나타나는 LILO boot:에서 (Tab)를 누르면 두 가지 선택할 수 있는 목록이 나타날 것이다.

LILO boot:

linux	old

새로운 커널로 부팅하기 위해서는 간단히 Enter 글쇠를 누르거나 LILO가 대기 시간을 종료할 때까지 기다린다. 이전의 old 커널로 부팅하려면 old라고 입력하고 Enter 글쇠를 누른다.

이 과정들을 요약해 보면

ㅇ mv /boot/vmlinuz boot/vmlinuz.old

ㅇ cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz

ㅇ edit /etc/lilo.conf

ㅇ /sbin/lilo를 실행한다.

이 과정을 마치고 컴퓨터를 다시 부팅해서 새로운 커널을 시험해 볼 수 있다. 그리고 부팅 시에 나타나는 메시지를 검사하여 하드웨어를 제대로 인식했는지 확인할 수 있다.

11.6.2 initrd 이미지를 만들기

부팅할 경우에 SCSI 모듈을 주 기억 장치에 적재하기 위해서는 initrd 이미지가 필요하다. /sbin/mkinitrd 라는 쉘 스크립트가 다음의 조건이 만족할 때 새로운 커널에 맞는 initrd 이미지를 만들 수 있다.

ㅇ 루프백 블록 장치가 커널에서 사용 가능하도록 컴파일이 되어야 한다.

ㅇ /etc/conf.modules 파일에 SCSI 어댑터 모듈에 대한 설정이 필요하다. 예를 들면 다음과 같다.

alias scsi_hostadatper BusLogic

새로운 initrd 이미지를 만들기 위해서는 /sbin/mkinitrd 명령을 다음과 같은 인자를 주어 실행한다.

/sbin/mkinitrd /boot/newinitrd-image 2.0.12

여기서 /boot/newinitrd-image는 새로운 이미지에서 사용될 파일이다. 그리고 2.0.12는 initrd 이미지에서 사용되는 커널의 모듈 버전이다. ( /lib/modules에 있는 ) 이 버전은 현재 커널 버전일 필요는 없다.

11.6.3 단일 집적 커널 만들기

단일 집적 커널을 만들기 위해서는 모듈 커널을 만드는 경우와 몇 가지 사항을 제외하고는 동일한 과정을 거친다.

ㅇ 커널을 설정할 때 구성요소에 대한 선택은 Yes 이거나 No 둘 중에 하나로만 선택해야 한다 ( Module로 선택하면 되지 않는다).

ㅇ 다음의 과정을 생략한다.

make modules

make modules_install

ㅇ /etc/rc.d/rc.sysinit파일에서 depmod -a 라고 되어있는 줄의 맨 앞에 #을 붙여 주석문으로 만든다.

11.7 Sendmail

sendmail의 기본 설정 파일인 sendmail.cf는 /etc 에 설치된다. 기본적으로 설치되는 설정파일은 대부분의 SMTP 전자우편 프로토콜을 사용하는 네트워크 호스트에서만 동작하도록 설정되어 있다. UUCP 전자우편 프로토콜을 사용하는 경우에는 동작하지 않는다. UUCP전자우편 프로토콜로 동작하도록 하기 위해서는 새로운 sendmail.cf가 필요하다. 새로운 sendmail.cf를 만들기 위해선 m4 패키지와 sendmail 소스 패키지가 필요하다. sendmail 설정파일에 대한 자세한 정보는 sendmail 소스 패키지 안에 있는 README 파일을 읽어보기 바란다. 또 다른 참고 자료로는 오렐리 출판사가 발간하고 Bryan Costales가 저술한 sendmail이라는 서적을 참고하기 바란다.

sendmail에 대한 가장 일반적인 설정은 하나의 로컬 LAN상에 연결된 모든 컴퓨터에 대한 전자우편 게이트웨이로 하나의 컴퓨터를 동작시키는 것이다. 예를 들어 레드햇 소프트웨어의 경우  레드햇 사 내부의 모든 전자우편을 처리하는 mail.redhat.com이라는 호스트를 가지고 있다. 이 전자우편 서버에서는 네트워크에 대한 전자우편을 다루기 위해 /etc/sendmail.cw라는 설정 파일에 다음과 같은 설정이 필요하다.

# sendmail.cw - include all aliases for your machine

# here.

torgo.redhat.com

poodle.redhat.com

devel.redhat.com

그리고 여기에 나열된 torgo, poodle, devel의 컴퓨터에서는 자신들의 시스템에서 보낸 전자우편을 mail.redhat.com에서 보낸 것처럼 가장하기 위한 설정이 필요하다. 그리고 redhat.com으로 외부에서 보낸 전자우편을 자신들을 시스템에서 받아보기 위한 설정이 필요한데 그 설정은 다음과 같다. 이 내용들은 /etc/sendmail.cf 설정파일에서 설정한다.

# who I send unqualified names to

# (null means deliver locally)

DRmail.redhat.com

# who gets all local email traffic

DHmail.redhat.com

# who I masquerade as (null for no masquerading)

DMredhat.com

이러한 종류의 설정에서는 보내는 전자 우편은 redhat.com으로부터 보낸 것처럼 나타나며 torgo.redhat.com이나 같은 도메인의 다른 시스템으로 가는 전자 우편은 모두 mail.redhat.com으로 배달 된다.

지금 사용하는 시스템에서 보내는 전자 우편을 다른 시스템에서 보낸 전자 우편에서 보낸 것처럼 가장 하도록 설정했다면 자신의 시스템에서 보내지는 모든 전자 우편이 가장되도록 만들어진 시스템으로 보내진다. 예를 들면 다음과 같은 방식이 된다. 위에서 설명한 대로 cron 데몬에 의해 root@poodle.redhat.com으로 보내지는 주기적인 기록파일은 root@mail.redhat.com로 보내진다.

11.8 네트워크 서비스에 대한 접근 제어

보안 측면에서 모든 네트워크 서비스는 TCP wrapper라고 불리는 보안 프로그램에 의해 관리된다. 보호를 받는 서비스는 /etc/inet.conf 파일에 /usr/sbin/tcpd로 지정되어 나열된다. tcpd는 요청한 쪽의 위치와 /etc/hosts.allow파일과 /etc/hosts.deny 설정에 기초해서 서비스를 접근하는 것을 거부하거나, 허가한다. 레드햇 리눅스는 기본을 설정하는 것이 모든 서비스 요청을 허가한다. 서비스를 불가능하게 하거나 제한하려면 /etc/hosts.allow를 편집하면 된다. 다음의 /etc/hosts.allow의 예제이다.

ALL: redhat.com .redhat.com

in.talkd: ALL

in.ntalkd: ALL

in.fingerd: ALL

in.ftpd: ALL

이 설정은 redhat.com과 *.redhat.com으로부터 오는 모든 서비스 요청을 허가한다. 이것은 또한 talk, finger, ftp에 대해서 모든 컴퓨터로부터 오는 서비스를 허가한다.

tcpd는 /etc/hosts.allow와 /etc/hosts.deny의 조합을 사용하여 보다 지능적인 접근 제어를 할 수 있다. 좀더 자세한 내용은 tcpd(8)과 hosts_access(5)에 대한 맨 페이지를 참고하기 바란다.

11.9 익명 ftp

익명 ftp를 설정하는 것은 간단하다. 설정하는 데 필요한 사항은 anon-ftp rpm 패키지를 설치하면 된다 (이 패키지는 레드햇 리눅스를 설치할 때 설치하면 된다).  일단 설치가 끝나면 동작시키는 데 필요한 작업을 모두 끝내고 동작시킨다.

다음의 몇 개의 파일은 ftp 서버를 설정하는 데 필요한 파일들이다.

ㅇ /etc/ftpaccess : 이 파일은 사용자의 FTP 서버에 대한 접근제어를 정의하는 것이다. 여기에서 정의해야할 사항 중 몇 가지는 서로 다른 호스트로부터의 접근제어를 하는 논리적인 그룹을 설정하는 것, 동시 FTP 연결의 숫자를 제한하는 것, 로그인 전환의 설정 등이 있다. ftpaccess에 대한 매뉴얼 페이지를 보면 자세한 사항이 나와있다.

ㅇ /etc/ftphosts : 이 파일은 다양한 네트워크상의 호스트로부터 연결에 대한 접근 제어를 하는 경우에 대한 설정 파일이다.

ㅇ /etc/ftpusers : 이 파일은 시스템에 대해 ftp로 접속이 거부되는 사용자들의 목록이다. 예를 들어 root는 /etc/ftpusers에서 기본적으로 기록되어 있다. 이것은 ftp로는 root 권한으로 접속할 수 없다는 것을 의미한다. 이것은 아주 좋은 보안 수단이다. 그러나 어떤 관리자들을 이 파일에서 root를 삭제하기를 좋아한다.

11.10 NFS 설정

NFS는 네트워크 파일 시스템을 의미한다. 그리고 이것은 네트워크를 통해 다른 네트워크에 연결된 시스템의 파일 시스템을 현재 사용자가 사용하는 시스템의 파일 시스템에 접근하듯이 네트워크를 통해서 공유하는 방법이다. 리눅스는 NFS 서버로서도 NFS 클라이언트로 사용할 수 있다. 이것은 네트워크 상의 다른 시스템에 대해 사용자가 사용하고 있는 시스템의 자료를 공개할 수 있고 다른 시스템의 공개된 자료를 마운트할 수 있다는 것을 의미한다.

11.10.1 NFS 파일 시스템 마운트

다른 시스템의 공개된 NFS 파일 시스템을 마운트하기 위해서는 mount 명령을 사용한다.

mkdir /mnt/local # 이 부분은 /mnt/local이 존재하지 않을 때만 필요한 명령이다.

mount bigdog:/mnt/export /mnt/local

이 명령에서 bigdog은 NFS를 서비스해 주는 호스트이다. /mnt/export는 bigdog이 공개한 파일 시스템 부분이다.  /mnt/local은 사용자가 마운트하려는 내용에 대한 사용자 시스템의 마운트 지점이다. mount 명령을 사용한 다음에는 (물론 bigdog에 대한 올바른 허가권한이 있어야 한다)  ls /mnt/local 명령을 통해 bigdog상의 /mnt/export 에 있는 파일의 목록을 얻게 된다.

11.10.2 NFS 파일 시스템 공개하기

NFS서버로 동작시킬 때 전체 파일 시스템 중 어느 부분을 공개할 것인가에 대해 설정하는 파일이 /etc/exports 파일이다. 이 파일의 형식은

디렉토리	호스트이름(선택 사항)

(선택 사항) 안에 들어가는 내용은 추가적인 선택 사항으로 생략해도 무관하다.  예를 들면

/mnt/export	speedy.redhat.com

이런 설정은 speedy.redhat.com의 /mnt/export 에 있는 내용을 마운트할 수 있다는 의미이다.

하지만

/mnt/export	speedy.redhat.com(ro)

이 설정 역시 위와 동일하게 마운트가 가능하지만 차이점은 /mnt/export의 내용을 읽기 전용으로 마운트할 수 있다는 점이다.

위의 설정 파일을 바꿔줄 때마다. NFS 데몬에게 새로운 설정 정보를 알려줄 필요가 있다. 간단한 방법 중에 하나는 데몬을 정지 시켰다가 다시 실행시키는 것이다.

/etc/rc.d/init.d/nfs stop

/etc/rc.d/init.d/nfs start

또 다른 방법은

killall -HUP rpc.nfsd rpc.mountd

좀더 자세한 정보는 nfsd(8), mountd(8), exports(5)에 대한 맨 페이지를 살펴보기 바란다. 또 오렐리 출판사에서 출판된 Hal stern이 쓴 managing NFS and NIS Service를 참고하기 바란다.

11.11 부팅 과정, 초기화, 시스템 종료

이 장의 내용은 레드햇 리눅스 시스템이 부팅하거나 시스템을 종료할 때 어떤 일이 일어나는지에 대한 정보의 설명이다. 우선 /etc/sysconfig 디렉토리에 있는 내용부터 살펴보자.

11.11.1 Sysconfig 정보

지금부터 설명하는 내용은 /etc/sysconfig 디렉토리에 있는 다양한 파일에 대한 개략적인 정보와 기능, 내용 등의 정보이다.

/etc/sysconfig에 있는 파일들

/etc/sysconfig에서 있는 파일들은 다음과 같다.

ㅇ /etc/sysconfig/clock

ㅇ /etc/sysconfig/keyboard

ㅇ /etc/sysconfig/mouse

ㅇ /etc/sysconfig/network

ㅇ /etc/sysconfig/pcmcia

ㅇ /etc/sysconfig/amd

ㅇ /etc/sysconfig/tape

각각의 파일을 살펴보면

/etc/sysconfig/clock - 이 파일은 시스템의 하드웨어 시계로부터 자료를 읽어들여 이것을 어떤 식으로 변환해서 시스템에서 사용할 것이냐를 설정한다. 이전 버전의 레드햇 리눅스에서는 다음과 같은 값이 사용된다 (이것은 평이 그리 좋지 않았다).

ㅇ CLOCKMODE=mode, mode에 쓰일 수 있는 값은 다음과 같다.

GMT - 시스템 시간이 그리니치 시간을 기준으로 하는 UTC로 설정된 것으로 인식한다.

ARC - 알파 CPU를 가진 시스템에서만 유효한 설정으로  ARC 콘솔의 42년 단위로 색인하여 시간을 변환하는 방법이다.

현재의 설정 값은 다음과 같다.

ㅇ UTC=boolean, boolean에 들어 갈 수 있는 값은 다음과 같다.

true - 시스템 시계가 UTC로 설정된 것으로 인식한다. 다른 값의 경우 지역시간으로 설정된 것으로 인식한다.

ㅇ ARC=boolean, boolean에 들어 갈 수 있는 값은 다음과 같다.

true - 알파 CPU를 가진 시스템에서만 유효한 설정으로  ARC 콘솔의 42년 단위로 색인하여 시간을 변환하는 방법이다. 다른 값으로 설정된 경우 유닉스 일반적인 시간 설정 방식으로 인식한다.

/etc/sysconfig/keyboard - 이 파일은 키보드에 대한 설정을 제어하는 파일이다. 다음과 같은 값이 사용된다.

ㅇ KEYTABLE=file, 여기서 file에 들어갈 수 있는 내용은 예를 들면 다음과 같다.

KEYTABLE="/usr/lib/kbd/keytables/us.map"

/etc/sysconfig/mouse - 사용할 수 있는 마우스에 대한 정보를 지정하는데 사용되는 파일이다. 다음과 같은 값이 사용된다.

ㅇ MOUSETYPE=type, type은 다음과 같은 값이 사용된다.

- microsoft -- 마이크로소프트 마우스

- mouseman -- 마우스맨 마우스

- mousesystems -- 마우스 시스템 마우스

- ps/2 -- PS/2 마우스

- msbm -- 마이크로소프트 버스 마우스

- logibm -- 로지텍 버스 마우스

- atibm -- ATI 버스 마우스

- logitech -- 로지텍 마우스

- mmseries -- 구형 마우스맨 마우스

- mmhittab -- mmhittab 마우스

ㅇ XEMU3=emulation, emulation은 다음과 같은 값 중에 하나가 사용된다.

- yes -- 세 단추 에뮬레이션을 사용한다.

- no -- 마우스에서 세 단추를 지원한다.

추가적으로 /dev/mouse는 실제로 동작하는 마우스 장치에 심볼릭 링크되어 있다.

/etc/sysconfig/network - 원하는 네트워크 설정에 대한 정보를 지정하는 파일이다. 다음과 같은 값들이 사용된다.

ㅇ NETWORKING=answer, answer에 사용된 값은 다음과 같다.

- yes -- 네트워크 사용가능으로 설정

- no -- 네트워크 사용하지 않는 것으로 설정

ㅇ HOSTNAME=hostname, 호스트 이름은 정식으로 형식을 갖추어서 입력해야 한다. 내용은 상관이 없다.

※참고사항 : 옛날의 구형 소프트웨어는 /etc/HOSTNAME에서 호스트 이름에 관한 자료를 읽어들여 참고한다. 호환성을 위해 /etc/HOSTNME에도 같은 내용이 저장된다.

ㅇ FORWARD_IPV4=answer, answer에 사용된 값은 다음과 같다.

- yes -- IP 패킷 전달기능을 수행한다.

- no -- IP 패킷 전달기능을 꺼놓는다.

(현재의 레드햇 리눅스 시스템 설치 시에는 기본적으로 no 값이 설정이 된다. 하지만	레드햇 4.2 버전 이전에서는 이 값을 no로 설정해도 IP 패킷 전달기능이 동작했었다.)

ㅇ GATEWAY=gw-ip, gw-ip는 네트워크의 게이트웨이 장치의 IP 주소로 사용한다.

ㅇ GATEWAYDEV=gw-dev, gw-dev는 게이트웨이 장치를 써준다(예를 들면 eth0).

ㅇ NISDOMAIN=dom-name, dom-name은 NIS 도메인 이름을 의미한다.

/etc/sysconfig/pcmcia - 이 파일은 PCMCIA 설정정보를 지정하는 파일이다. 다음과 같은 값을 포함하고 있다.

ㅇ PCMCIA=answer, answer에 쓰일 수 있는 값은 다음과 같다.

- yes -- PCMCIA를 지원하여 사용한다.

- no -- PCMCIA를 사용하지 않는다.

ㅇ PCIC=pcic-type, pcic-type에 쓰일 수 있는 값은 다음과 같다.

- i82365 -- i82365-종류의 PCMCIA 소켓 칩셋을 가진 컴퓨터를 의미

- tcic -- tcic-종류의 PCMCIA 소켓 칩셋을 가진 컴퓨터를 의미

ㅇ PCIC_OPTS=option, option은 소켓 구동기의 타이밍 인자 값을 써준다.

ㅇ CORE_OPTS=option, option은 pcmcia_core의 선택 사항 목록을 써준다.

ㅇ CARDMGR_OPTS=option, option은 PCMCIA 카드 관리자의 선택 사항 목록을 써준다.

/etc/sysconfig/amd - 이 파일은 amd를 위한 추가적인 선택 사항 인자를 지정하는 데 쓰인다.

ㅇ ADIR=path, path는 amd 디렉토리이다. 이것은 ``/.automount''가 되어야 하며 일반적으로 바뀌지 않는다.

ㅇ MOUNTPTS=mountpts, mountpts는 예를 들어 ``/net /etc/amd.conf''

ㅇ AMDOPTS=options, options는 AMD를 위한 추가적인 설정이다.

/etc/sysconfig/tape - 이 파일은 테이프 백업 장치에 관련된 설정정보를 지정하는 파일이다.

ㅇ DEV=devnam, devnam는 테이프 장치를 의미한다( 예를 들어``/dev/nst0□). 이 설정 파일에 관련된 스크립트에서 되감지 않는 장치를 사용한다.

SCSI 테이프 드라이브의 경우는 장치 이름으로 ``/dev/nst#''를 사용한다. 여기서	``#''는 테이프 드라이브의 숫자를 뜻한다. 만약 하나의 테이프 드라이브를 가지고 있다면 □/dev/nst0" 가 된다.

IDE 테이프 드라이브의 경우는 장치 이름으로 ``/dev/ht#''를 사용한다. 여기서 ``#''는 테이프 드라이브의 숫자를 뜻한다. 만약 하나의 테이프 드라이브를 가지고 있다면 □/dev/ht0"가 된다. 플로피 테이프 드라이브의 경우에는 □/dev/ftape"를 사용한다.

ㅇ ADMIN=account, account는 어떤 이유로든 백업이 실패했을 경우 이것을 전자우편으로 알려줄 사용자 계정을 말한다. 보통 root로 설정되어 있다.

ㅇ SLEEP=time, time은 테이프 조작 사이에 사이사이 쉬는 횟수를 말한다. 어떤 테이프 드라이브는 다른 것들보다 조금더 많이 필요하기도 한다. 일반적으로 8mm, 4mm 그리고 DLT의 경우 5가 많이 쓰인다.

ㅇ BLOCKSIZE=size, size는 테이프 드라이브의 최적화된 블록 크기를 말한다. 8mm, 4mm, DLT의 경우 32768로 설정하면 잘 동작한다. 그러나 최적화된 설정은 한번에 테이프 드라이브에 얼마나 많은 자료를 쓸 수 있느냐 하는 것이다.

ㅇ SHORTDATE=date, date는 백업 기록 파일 이름에 사용되는 간단한 형식의 날짜 문자열을 평가하는 문자열이다. 기본 설정은 ``$(date +log-%y:%m:%d)''이다.

ㅇ DAY=date, date는 로그 파일 디렉토리를 만들 때 쓰는 이름에 사용되는 날짜 문자열을 나타내는 문자열이다. 이것의 기본 설정은 ``$(date +log-%y:%m:%d)''이다.

ㅇ DATE=date, date는 로그 파일 이름에 사용되는 날짜 문자열을 표현하는 문자열이다. 이것의 기본 설정은 ``$(date)''이다.

ㅇ LOGROOT=path, path는 로그 파일을 남기는 디렉토리의 최상위 디렉토리 경로를 의미한다.

ㅇ LIST=file, file은 백업을 한꺼번에 하지 않고 조금씩 조금씩 수행할 때 그 순서를 지정한 목록이 들어 있는 파일이다. 이것은 안에 각 디렉토리나 파일에 순서가 따라 붙는다.

ㅇ DOTCOUNT=count, count는 위의 점진적인 백업을 수행할 때 위의 목록에서 얼마까지를 수행하고 있는가를 저장하는 파일이다.

ㅇ COUNTER=count-file, count-file은 백업이 완료되었을 때 되감을 때 사용되는 파일이다. 보통 쓰이지 않는다.

ㅇ BACKUPTAB=file, file은 시스템에서 만들고자 하는 백업의 목록을 가지고 있는 파일의 이름이다.

/etc/sysconfig/network-scripts/에 있는 파일

다음의 파일들은 /etc/sysconfig/network-scripts/ 디렉토리에 있는 파일들이다.

ㅇ /etc/sysconfig/network-scripts/ifup

ㅇ /etc/sysconfig/network-scripts/ifdown

ㅇ /etc/sysconfig/network-scripts/network-functions

ㅇ /etc/sysconfig/network-scripts/ifcfg-<interface-name>

ㅇ /etc/sysconfig/network-scripts/ifcfg-<interface-name>-<clone-name>

ㅇ /etc/sysconfig/network-scripts/chat-<interface-name>

ㅇ /etc/sysconfig/network-scripts/dip-<interface-name>

ㅇ /etc/sysconfig/network-scripts/ifup-post

ㅇ /etc/sysconfig/network-scripts/ifdhcpc-done

각각의 파일을 살펴보면

/etc/sysconfig/network-scripts/ifup, /etc/sysconfig/network-scripts/ifdown - /sbin/ifup과 /sbin/ifdown에 심볼릭 링크되어 있다. 각각 이 두 개의 파일만이 이 디렉토리 안에서 직접적으로 실행되는 스크립트 파일이다. 이 스크립트가 필요한 다른 스크립트 파일을 호출하게 된다. 새로운 버전이 나올 경우에 이 설정 파일은 사라질 수도 있다 그러나 이 두 파일의 원래위치인 /sbin에 그대로 남아 있게 된다. 그리고 이 두 파일만이 필요하게 된다.

이 스크립트들은 보통 하나의 인자만을 필요로 한다. 예) □eth0"

부팅하는 동안에는 이 스크립트들이 boot라는 인자를 두 번째로 취하면서 호출이 된다. 그래서 각 장치에 해당하는 (ONBOOT=no)라고 설정되어 있는 파일들은 무시하고 이렇게 설정되어 있지 않는 장치만을 활성화시킨다.

/etc/sysconfig/network-scripts/network-functions - 이 파일은 실제적으로 설정되는 파일은 아니다. 이 파일은 네트워크 장치 인터페이스를 활성화시키고 비활성화 시키는데 사용하는 함수들을 포함하여 다른 스크립트들이 이 기능을 활용하도록 되어 있는 스크립트 라이브러리 파일과 같은 것이다.

/etc/sysconfig/network-scripts/ifcfg-<interface-name>,

/etc/sysconfig/network-scripts/ifcfg-<interface-name>-<clone-name> - 첫 번째 파일은 인터페이스에 대한 정의 파일이다. 반면 두 번째 파일은 clone 인터페이스와 다른 정의를 가지고 있는 파일로 이것은 같은 인터페이스에 대한 두 가지 설정을 가지고 서로 번갈아 가면서 설정을 바꿔 사용할 수 있다. 예를 들면, 노트북에서 랜 카드를 사용하는 경우 이동하면서 연결할 수 있는 네트워크가 여러 군데가 될 수 있다. 이  각각의 네트워크에 대한 설정을 매번 바꿀 필요 없이 부팅하고 나서 네트워크에 따라 설정에 맞는 인터페이스를 활성화시킬 수 있게 된다.

ifcfg 파일 안에서 정의되는 내용은 인터페이스 종류에 따라 달라진다.

다음과 같은 값들이 모든 기본 파일에서 공통적으로 설정되는 항목들이다.

ㅇ DEVICE=name, name은 실제적인 하드웨어 장치 이름이다(단 동적으로 할당되는 PPP 장치는 논리적 이름을 사용한다).

ㅇ IPADDR=addr, addr는 IP 주소를 말한다.

ㅇ NETMASK=mask, mask는 넷 마스크 값이다.

ㅇ NETWORK=addr, addr는 네트워크 주소이다.

ㅇ BROADCAST=addr, addr는 브로드캐스트 주소이다.

ㅇ GATEWAY=addr, addr는 게이트웨이의 주소이다.

ㅇ ONBOOT=answer, answer에 쓰일 수 있는 값은 다음과 같다.

- yes -- yes로 설정하면 부팅하는 과정 중에 인터페이스가 활성화된다.

- no -- 이렇게 설정하면 부팅하는 도중에 활성화되지 않는다.

ㅇ USERCTL=answer, answer에 쓰일 수 있는 값은 다음과 같다.

- yes -- root 가 아닌 사용자도 이 장치를 제어할 수 있도록 허가한다.

- no -- root 가 아닌 사용자는 이 장치를 제어할 수 있도록 허가하지 않는다.

ㅇ BOOTPROTO=proto, proto에 쓰일 수 있는 값은 다음과 같다.

- none -- 부팅할 때 동적 IP할당에 사용하는 프로토콜을 사용하지 않는다.

- bootp -- bootp 프로토콜을 사용한다.

- dhcp -- dhcp 프로토콜을 사용한다.

다음의 내용은 모든 PPP나 SLIP파일에서 공통적으로 설정하는 아이템이다.

ㅇ PERSIST=answer, answer에 쓰일 수 있는 값은 다음과 같다.

- yes -- 이 장치를 언제나 활성인 상태를 유지한다. 심지어 모뎀이 끊어졌을 때도.

-  no -- 이 장치를 언제나 활성인 상태로 유지한지는 않는다.

ㅇ MODEMPORT=port, 여기서 port는 모뎀 포트의 장치 이름 ( 예를 들어 ``/dev/modem'')

ㅇ LINESPEED=baud, baud는 모뎀의 전화선 속도(예를 들어, ``115200'').

ㅇ DEFABORT=answer, answer에 쓰일 수 있는 값은 다음과 같다

- yes -- 이 인터페이스를 위한 스크립트를 생성하고 편집할 때 abort 문자열을 삽입한다.

- no -- 이 인터페이스를 위한 스크립트를 생성하고 편집할 때 abort 문자열을 삽입하지 않는다.

다음의 설정 항목들은 모든 PPP 파일에서 공통적으로 사용된다.

ㅇ DEFROUTE=answer, answer에 쓰일 수 있는 값은 다음과 같다

- yes -- 이 장치를 기본 라우팅 장치로 설정한다.

- no -- 이 장치를 기본 라우팅 장치로 설정하지 않음

ㅇ ESCAPECHARS=answer, answer에 쓰일 수 있는 값은 다음과 같다

- yes -- 미리 정의된 asyncmap을 사용한다.

- no -- 미리 정의된 asyncmap을 사용하지 않는다.

ㅇ HARDFLOWCTL=answer, answer에 쓰일 수 있는 값은 다음과 같다

- yes -- 하드웨어 흐름 제어를 사용한다.

- no -- 하드웨어 흐름 제어를 사용하지 않는다.

ㅇ PPPOPTIONS=options, options는 모든 선택 사항 문자열이다 일반적인 pppd 명령에 추가되는 나머지 선택 사항들이 여기에 추가된다..

ㅇ PAPNAME=name, name는 pppd 명령행 선택 사항 중 "name $PAPNAME" 에 사용된다.

remotename 선택 사항은 ppp0 같은 논리적인 ppp 장치로 지정된다는 사실에 주의할 것 (다른 ppp 장치가 이미 활성화되었다면 이것은 ppp1같은 실제 하드웨어 장치의 이름을 사용할 수도 있다). 이러한 논리적인 장치 이름은 pap/chap 같은 파일을 관리하기가 쉬워진다. -- 이름과 암호에 관련된 논리적인 장치 이름으로 관리할 수 있다.

원칙적으로는 논리적인 ppp 장치 이름은  ppp0 - pppN 대신에 worldnet이나 myISP같은 이름을 써도 상관없다.

ㅇ REMIP=addr, addr는 원격 IP 주소로 보통 지정하지 않는다.

ㅇ MTU=value, MTU 설정 값을 여기에 써준다.

ㅇ MRU=value, MRU 설정 값을 여기에 써준다.

ㅇ DISCONNECTTIMEOUT=value, 연결이 이루어진 이후에 재 연결을 시도하기 전에 신호검출 대기 시간

ㅇ RETRYTIMEOUT=value, 연결을 시도했을 때 연결이 실패한 후 다시 연결을 시도하기 전까지 대가하는 시간

/etc/sysconfig/network-scripts/chat-<interface-name> - 이 파일은 PPP또는 SLIP 연결을 실제적으로 수행하기 위한 chat 스크립트 파일이다. SLIP 연결을 위해서는 chat 스크립트 안에서 DIP스크립트를 호출한다. PPP 장치를 위해서는 chat 스크립트자신이 직접 동작한다.

/etc/sysconfig/network-scripts/dip-<interface-name> - 이 스크립트는 netcfg에 의해 만들어지는 쓰기만 가능한 스크립트이다. 이 파일은 변경하지 말 것. 앞으로는 이 파일이 필요 없어지고 대신에 chat 스크립트에서 모든 것을 처리할 것이다

/etc/sysconfig/network-scripts/ifup-post - 이 파일은 SLIP 장치를 제외한 네트워크 장치가 활성화 됐을 때 호출된다. /etc/sysconfig/network-scripts/ifup-routes를 호출해서 해당 네트워크 장치에 정적 라우팅을 설정하고, alias를 설정하고 만약 설정되지 않았다면 호스트이름을 설정하고, 해당 장치에 할당된 IP로 호스트 이름을 찾을 수 있도록 만들고 네트워크 이벤트를 인식하는 모든 프로그램에 대해 새로운 네트워크 설정이 됐다는 것을 SIGIO 시그널을 보내서 알린다.

이 파일은 필요하다면 네임 서버 설정 다른 스크립트의 기타 설정 파일을 사용하기 위해 확장될 수 있다.

11.11.2 System V Init

여기에서는 부팅과정의 내부에 대해 짧게 설명한다. SysV Init를 사용하여 부팅이 어떻게 이루어지는지를 다루며 옛날 버전의 리눅스에서 사용된 초기 고유의 초기화 과정과의 차이점을 다룬다.

Init는 부팅이 될 때 커널이 동작시키는 프로그램이다. 이것은 부팅이 될 때 돌아가야 할 일반적인 프로세스들을 모두 동작시키도록 하는 역할을 맡고 있다. 이러한 것은 로그인 할 때 사용되는 getty, NFS 데몬, FTP 데몬 등이 포함된다. 그리고 사용자가 시스템이 부팅할 때 실행하고자 하는 프로그램도 포함된다.

SysV Init는 부팅할 때 시동되는 프로그램을 제어하는데 있어서 표준으로 아주 빨리 리눅스 사회에서 정착되었다. 그것은 전통적인 BSD 초기화 프로그램 보다 많은 기능과 활용성을 가지고 있으며 훨씬 더 사용하기 쉽다.

SysV Init는 설정파일이 /etc 디렉토리에 따로 디렉토리를 만들어 저장이 된다는 점에서 BSD init 와 다른 점이다. 이 디렉토리는 rc.d인데  여기에는 rc.sysinit파일과 다음과 같은 디렉토리가 있다.

init.d

rc0.d

rc1.d

rc2.d

rc3.d

rc4.d

rc5.d

rc6.d

init.d에는 많은 수의 스크립트 파일이 들어있다. 기본적으로 부팅할 때 동작시키고자 하는 서비스는 각각의 서비스에 대해 하나씩의 스크립트가 필요하다. 이러한 서비스들은 네트워킹이나 nfs 센드메일, 웹서버 등과 같은 것이다. 서비스 중에는 한 번 실행되고 끝나는 setserial 같은 프로그램은 포함되지 않는다. 이러한 사항은 rc.local 이나 rc.serial 파일에서 처리한다.

rc.local 파일은 /etc/rc.d 디렉토리에 위치해야 한다. 이 파일이 많은 일을 하지 않는다고 해도 대부분의 시스템이 이 파일을 가지고 있다. 추가적으로 부팅할 때 직렬 포트에 대한 설정이 필요하다고 하면 /etc/rc.d 디렉토리에 rc.serial 파일을 가지고 설정할 수 있다.

초기화의 일련의 순서는 다음과 같다.

커널은 몇 군데에서 초기화 과정을 수행하는 데 필요한 파일을 찾는다. 그리고 첫 번째 수행해야 할 일을 가지고 있는 /etc/rc.d/rc.sysinit를 실행시킨다. rc.sysinit는 일련의 필요한 일을 실행하고 rc.serial 파일이 있으면 이것을 실행한다.

그 후 init는 기본 설정된 실행수준에 있는 모든 서비스 구동 스크립트를 실행하고 마지막으로 rc.local을 실행한다.

기본 실행수준은 /etc/inittab에서 결정된다. 이 파일의 앞부분에는 다음과 같은 내용의 줄을 포함하고 있다.

id:3:initdefault:

여기에서 두 번째 항목에 기본 실행수준 설정이 3으로 되어있는 것을 볼 수 있다. 대부분의 시스템은 기본 설정을 3으로 맞추어 놓고 있다. 만약 이것을 바꾸기를 원한다면 이 파일을 직접 편집한다. 그러나 이 inittab 파일에 손을 대는 것은 세심한 주의가 필요하다. 만약 이 내용을 변경해서 무엇인가 잘못됐다면 이것을 고치기 위해 다시 부팅을 하고 boot 입력 대기 상태가 되었을 때 다음과 같이 명령을 내린다.

LILO boot: linux single

이것은 단일 사용자 모드로 부팅하는 방법이다. 그리고 단일 사용자 모드에서 inittab을 변경할 수 있다.

적당한 스크립트를 어떻게 구동되는 지 알고 싶다면 rc3.d 디렉토리에서 ls -l 명령을 입력한다.

lrwxrwxrwx 1 root root 17 3:11 S10network -> ../init.d/network

lrwxrwxrwx 1 root root 16 3:11 S30syslog -> ../init.d/syslog

lrwxrwxrwx 1 root root 14 3:32 S40cron -> ../init.d/cron

lrwxrwxrwx 1 root root 14 3:11 S50inet -> ../init.d/inet

lrwxrwxrwx 1 root root 13 3:11 S60nfs -> ../init.d/nfs

lrwxrwxrwx 1 root root 15 3:11 S70nfsfs -> ../init.d/nfsfs

lrwxrwxrwx 1 root root 18 3:11 S90lpd -> ../init.d/lpd.init

lrwxrwxrwx 1 root root 11 3:11 S99local -> ../rc.local

이 디렉토리에는 실제 파일들이 하나도 없다는 것을 주의해야한다. 모든 것은 init.d디렉토리에 있는 파일에 링크가 되어있을 뿐이다. 이 심볼릭 링크는 "S"와 숫자로 시작한다. "S"는 이 스크립트가 시작 스크립트 파일임을 의미한다. 그리고 "K"로 시작되는 링크들은 서비스를 중단시키는 스크립트 파일이다. 숫자는 구동되는 순서를 나타낸다. Init는 모든 서비스를 이 링크에 나타난 숫자 순서대로 구동시키거나 정지시킨다. 동일한 숫자의 구동 스크립트를 설정할 수도 있는데, 이것은 관리자에게 혼란을 주기만 할뿐이다. 이 구동 순서는 "S"나 "K" 문자 뒤에 두 자리 숫자로만 설정이 가능하다.

Init가 서비스를 구동시키거나 정지시키는 방법은 간단하다. /etc/rc.d/init.d 디렉토리에 있는 해당 서비스 스크립트는 start나 stop 인자를 받아들이도록 되어있다. 이것을 직접 명령행 상에서 다음과 같이 실행시킬 수 있다.

/etc/rc.d/init.d/httpd.init stop

이것은 웹서버 운영을 중단시키는 명령이다. Init는 해당 실행수준 디렉토리에 있는 스크립트의 이름을 읽어 들여 □S"로 시작하면 start인자를 주어 실행시키고, "K"로 시작하면 stop인자를 주어 실행시킨다.  이러한 다양한 실행수준을 지원하도록 한 이유는 사용자들이 다양한 용도로 컴퓨터를 설정하기 쉬운 방법을 원했기 때문이다. 상황에 따라 httpd나 sendmail 네트워킹 같은 것만 구동시키는 server 실행수준을 설정하기도 하고, xdm, 네트워킹 등을 구동시키는 user 실행수준을 설정할 수 있다.

11.11.3 Init 실행수준

일반적으로 레드햇 리눅스는 기본 실행수준 3번을 동작시킨다. 이 실행수준은 다중 사용자 모드이다. 다음은 레드햇 리눅스에서 사용되는 실행수준이다.

0        정지

1        단일 사용자 모드

2        NFS를 사용하지 않는 다중 사용자 모드

3        전 기능 다중 사용자 모드

4	사용하지 않음

5        전 기능 다중 사용자 모드 (X 기반 로그인 화면이 나타남)

6        재부팅

만약 시스템이 부팅이 되지 않는 상태가 되는 경우 이것은 /etc/inittab이 잘못 설정되어 있는 경우이다. 또는 시스템에 로그인 할 수 없는 경우 이것은 /etc/passwd 파일이 잘못되었거나 암호를 잃어 버렸을 경우이다. 이러한 상황이 되면 LILO boot 입력 대기 상태에서 "linux 1"를 입력하여 단일 사용자 모드로 부팅한다. 이 단일 사용자 모드는 대단히 취약한 보안상태를 지니고 로그인 입력 대기 상태도 없이 명령쉘 상태로 떨어지게 된다. 이 상태에서 잘못된 부분을 바로잡고 다시 부팅한다.

11.11.6 시스템 종료

레드햇 시스템을 종료하기 위해서 shutdown 명령을 사용한다. shutdown에 대한 자세한 설명은 □man shutdown□을 입력해서 자세한 선택 사항 등을 알 수 있지만 일반적으로 쓰이는 두 가지 사용법은 다음과 같다.

shutdown -h now

shutdown -r now

양쪽 다 시스템을 안전하게 종료시킨다. 양쪽이 모두 시스템을 종료시킨다. 그리고, 첫 번째 명령은 정지상태로 시스템 전원이 꺼지기를 기다리게 되고, 두 번째는 다시 부팅한다.

직접 reboot나 halt명령으로 시스템을 종료하거나 재시동 시키지 말기 바란다. 이 명령은 파일 시스템에 손상을 입힐 수 있다.

11.12 복구 모드

시스템 동작에 문제가 있을 경우 이것을 복구하기 위한 몇 가지 방법이 있다. 그러나 이러한 방법은 시스템에 대해서 아주 잘 이해하고 있어야 한다. 이 매뉴얼은 시스템 복구를 위해 무엇을 해야하는지를 설명할 수는 없다. 여기서는 관리자가 어느 정도 시스템에 대한 지식을 가지고 있을 경우, 이것을 이용해 시스템을 복구하기 위해 복구 모드로 들어가는 방법을 설명한다.

11.12.1 LILO를 통해 복구모드 들어가기

시스템이 완전한 부팅 과정을 마치고 난 후에 사용자가 올바른 ID와 암호를 가지고 로그인을 할 수 없는 경우 단일 사용자 모드로 부팅하거나 비상 부팅 선택 사항을 사용해야 한다. LILO boot: 입력 대기 상태에서 linux single을 입력하면 단일 사용자 모드로 부팅이 된다. 단일 사용자 모드에서는 현재 시스템에 장착된 하드디스크가 마운트될 것이다. 그러나 네트워크 서비스는 시동이 되지 않을 것이다. 비상 복구 모드에서는 거의 모든 서비스가 설정이 되지 않은 상태로 부팅이 될 것이다. 오직 기본 파일 시스템이 마운트가 된 상태이고 이것도 읽기 가능한 상태로 마운트 될 것이다.

11.12.2 비상 부팅 디스켓

설치 디스켓 두 장을 비상 복구 디스크 세트로 사용할 수 있다. 보다 자세한 정보는, 레드햇 리눅스 5.2 시디롬의 /doc 디렉토리에 있는 rescue.txt 파일을 읽어보기 바란다.

부록 A. 기술 지원 받기

이번 장은 레드햇 리눅스 소프트웨어 사의 지원에 대해 설명한다.

ㅇ 지원 설명

ㅇ 지원 받을 수 있는 방법

ㅇ FAQ

A.1 지원 정책 개요

정품 래드햇 리눅스 제품을 구입한 고객은 레드햇 소프트웨어 사를 통해 90일간의 설치 지원을 받을 수 있다.

레드햇은 레드햇 리눅스 제품 세트를 구입하여 등록한 고객에게만 지원을 제공하며 전자 우편을 이용한다. 전자우편을 사용할 수 없는 사용자에게는 등록 번호를 이용하여 지원 요청을 하면 팩스 지원을 받을 수 있다.

지원을 받으려면 웹의 □http://www.redhat.com/support/register□ 에서 제품 등록을 하거나 "register@redhat.com"으로 등록 번호를 포함하여 전자우편을 보내면 된다.

등록을 성공적으로 한 후에 □support@redhat.com"에 일정한 유형의 메시지를 보내면 지원을 제공한다.

메시지 유형은 support HOW-TO에서 보거나  "http://www.redhat.com/support/register/support-how2.

html"에서 확인한다.

이렇게 하고 나서 전자우편을 보내면 레드햇 지원 담당자가 전자우편을 받을 수 있다.

이름에서 보듯 설치 지원은 사용자의 컴퓨터에 레드햇 리눅스를 성공적으로 설치하는 것을 돕는데 목적이 있다. 설치 지원은 세 가지 분야가 있다.

ㅇ 설치를 시작하기 전의 질문에 대한 답변

- 하드웨어 호환성 문제

- 하드 드라이브 분할 영역 구성

ㅇ 설치 과정 지원

- 설치하면서 지원되는 하드웨어 정보 (http://www.redhat.com/hardware/에 정보가 있음)

- 하드 드라이브의 여유 공간을 이용하여 루트 분할 영역과 교환 분할 영역을 만드는 방법

- 레드햇 리눅스와 이미 설치되어 있는 다른 운영체제 (도스, 윈도우 95, 윈도우 NT 등)를 다중 부팅해서 사용하기 위해 LILO를 사용하는 방법

ㅇ 설정 작업 마무리 지원

- 메트로-X 나 XFree86 소프트웨어 등을 사용하여 지원되는 하드웨어에서 X 윈도우 시스템을 설정하는 방법 (다시 부팅했을 때 자동으로 X 윈도우로 부팅하거나 윈도우 관리자를 바꾸거나 상황에 맞게 설정하는 등 추가적인 설정은 사용자가 해야 한다)

- 레드햇 리눅스 시스템에 직접 연결된 프린터를 설정하는 방법

- 텍스트 기반 콘솔이나 X 윈도우 시스템에서 마우스를 설정하는 방법

- 시디롬에 접근하여 정보를 읽는 방법

자연히 설치 지원 서비스는 사용자의 시스템에서 레드햇 리눅스를 운영하는 것이지만 사용자는 이외에도 많은 부가적인 작업을 하려고 할 것이다. 예를 들면 커널 컴파일 최적화,  설치 과정 중에 포함되지 않는 장치에 대한 지원 등이 있다.

이런 작업에 도움을 받으려면 서점에서 리눅스 관련 서적을 보거나 온라인의 자료들을 찾아보는 것이 좋다. 온라인에서 자료를 찾는다면 먼저 여기부터 보아야 한다.

http://www.redhat.com/support/

ㅇ 레드햇 리눅스의 특징에 대한 정보 : http://www.redhat.com/linux-info/

ㅇ 리눅스 일반에 대한 정보 : http://www.linux.org/

레드햇 소프트웨어 사는 공식 레드햇 리눅스 제품을 구입한 고객만 지원할 수 있다. 다른 회사에서 레드햇을 구했다면 지원요청을 그 회사에 해야 한다. 다른 회사의 예는 다음과 같다.

ㅇ Macmillan/Sams

ㅇ Cheapbytes

ㅇ Pacific Hi-Tech(PHT)

ㅇ Infomagic

ㅇ Linux Systems Labs(LSL)

ㅇ ADRAS Computing

레드햇 리눅스는 정식 지원을 받을 수는 없지만 다음의 방법을 통해 구할 수 있다.

ㅇ Red Hat Linux PowerTools Archive

ㅇ 인터넷의 FTP를 통해 내려받기

ㅇ 애플릭스나 모티브 등의 패키지에 포함

ㅇ 다른 사용자의 시디에서 복사나 설치

A.2 지원 받을 수 있는 방법

1997년 8월에 레드햇 소프트웨어 사는 온라인 기술 지원 시스템을 새로 구축했다. 지원 시스템은 자동으로 질문을 지원 기술자에게 넘겨준다. 이 문서는 레드햇 소프트웨어 기술 지원 시스템을 사용하는 방법에 대해 설명한다.

A.2.1 등록

레드햇 소프트웨어 제품의 기술 지원을 받으려면 등록을 해야 한다. 모든 정식 레드햇 제품에는 등록 카드가 들어있다. 제품 등록 번호는 우편에도 적혀있고 등록 카드의 위에도 적혀있다. 제품 등록 번호로 사용자가 구입한 제품을 유일하게 확인할 수 있으며 팩스나 전자우편으로 90일간의 설치 지원을 받을 수 있다.

웹에서 등록하기

레드햇의 웹사이트인 "http://www.redhat.com/support/register/에서 온라인 상으로 제품 등록을 할 수 있다. "Register a Product"를 선택한다. 올바른 정보를 입력해야 하며 시스템의 사양과 맞아야 한다. 입력한 정보를 이용해 문제를 풀 수 있고 빠르고 쉽게 질문에 답변할 수 있다. 잘못된 정보는 레드햇 사나 고객에게 도움이 되지 않는다. 또한 전자우편 주소가 올바른지 확인한다. 모든 지원은 여기서 입력한 전자우편 주소로 간다. 전자우편 주소가 바뀌면 등록 페이지에 접속하여 정보를 바꾼다.

예전과 비교해 등록이 조금 바뀌었다. 이제 더 이상 기억하기 힘든 지원 ID 번호가 없어졌다. 지원 데이터베이스에 접속하지 않았다면 로그인 아이디를 하나 만들어야한다. □Support Login□에서 이름을 넣고 "Create Login□ 단추를 클릭하면 제품 등록이 시작된다. 1997년 8월 14일 이전에 기술지원 신청을 등록하였으면 Support Login에 전자우편 주소를 넣고 password에 이전의 지원/고객 ID를 입력한다. 한 번 로그인하면 암호를 바꿀 수 있다. 암호를 잊었으면 처음 로그인하는 것으로 생각하면서 등록 번호와 정보를 다시 입력한다.

전자우편으로 등록하기

웹에 접속할 수 없지만 인터넷 우편을 사용할 수 있으면 register@redhat.com에 등록 정보를 보낼 수 있다. 다음의 정보가 포함되어 있어야 한다.

ㅇ 연락 정보 : 이름, 주소, 시, 주/도, 지역, 우편번호, 전화번호, 팩스번호. 또한 지원 받을 전자우편 주소.

ㅇ 제품 정보 : 등록할 제품 이름, 제품 등록 번호(매우 중요!), 제품을 사용하고 있는 구조(인텔, 알파/AXP, 스팍), 제품의 용도(파일서버, 인터넷 서버, 워크스테이션, 가정용 컴퓨터, 기타)

ㅇ 시스템 정보 : CPU(i386,i486,i586,i686/펜티엄프로, AXP21164, AXP21064, Sparc4C, Sparc4M), CPU 속도(MHZ), 램 용량(MB), 하드 드라이브(숫자, 크기, 유형, 분할 영역), 비디오 카드, 시디롬 드라이브, 네트워크 카드, 기타 하드웨어(SCSI 또는 ISDN 어댑터 등)

팩스 또는 일반 우편으로 등록하기

등록 카드를 이용해 일반 우편으로 등록할 수 있지만 웹이나 인터넷 우편을 이용할 수 있으면 팩스나 일반 우편으로 등록하는 것을 권장하지 않는다. 왜냐하면 등록을 하는데 시간이 걸릴 수 있기 때문이다. 팩스로 등록을 하려하면 등록카드의 복사본을 팩스로 레드햇 소프트웨어 사( 1-919-361-2711)에 보낸다.

A.2.2 질문에 대한 지원

기술 지원은 쉬운 부분이 아니다. 대부분의 경우 지원 담당자는 물리적으로 볼 수 없는 하드웨어에서 생긴 설치 문제를 해결하기 위해서 단지 고객과의 대화에만 의존할 수 밖에 없다. 그러므로 다음의 자세한 정보를 포함하여 상세하게 질문을 하는 것이 중요하다.

ㅇ 문제의 증상(□레드햇 리눅스 5.2가 시디롬 드라이브를 인식하지 못한다□ 등)

ㅇ 문제가 생긴 시기(□어제 작동이 멈추었다□ 등)

ㅇ 문제가 생겼을 때 시스템을 변경한 내용(□... IDE 제어기에서 연결된 것을 뺐을 때□ 등)

ㅇ 문제에 관련되어 나오는 진단 메시지 (□부팅할 때 'Cannot find /dev/hdb; device disconnected' 이런 메시지가 나왔다□ 등) 그러나 이것은 극단적인 경우이고 레드햇 사에서 요청하기 전에 시스템 기록을 보낼 필요는 없다.

ㅇ 기타 관련 정보(□CD에서 플로피 설치 방법을 사용한다□ 등)

질문을 보내는 방법

레드햇 지원 시스템은 전자우편 기반의 시스템이며 부분적으로 자동화되어 있다. 이것 때문에 적절한 유형으로 질문을 보내는 게 중요하며 그래야 질문이 인식되어 적절한 지원 담당자가 받을 수 있다. 레드햇 소프트웨어 제품에 대해 기술 지원을 받으려면 먼저 등록을 해야 한다.

문제 해결 티켓은 전통적인 전자우편 방식으로 보낼 수도 있고 웹을 통할 수도 있다. 등록을 하고 나면 등록정보를 수정하거나 문제해결 티켓을 쓸 수 있는 메뉴를 사용할 수 있다. 문제해결 티켓을 열기 위해 웹에 로그인하자. http://www.redhat.com/support/register/

문제해결 티켓을 열려면 [registration #nnnn nnnn nnnn nnnn] 이라고 제목을 단 메시지를 지원 시스템에 보내면 된다. nnnn nnnn nnnn nnnn 는 지원을 요청할 수 있는 제품 등록 번호이다. 예를 들어 등록 번호가 fffe 0fff ff00 ff00 이면 제목은 다음과 같다.

Subject : [registration #fffe 0fff ff00 ff00]

[ 기호, 숫자, □restration'이라는 단어가 있어야 한다. 원한다면 제목에 추가로 제목을 붙일 수 있다.

Subject : [registration #fffe 0fff ff00 ff00] CD-ROM problem

티켓을 열었으면 이에 반응하여 제목에 지원 티켓 번호가 나온다.

Subject : [ticket #12015] CD-ROM problem

같은 문제에 부딪치면 단지 같은 주제로 답장을 보내면 된다.

Subject : Re: [ticket #12015] CD-ROM problem

문제가 해결되었다고 생각하면 티켓을 닫을 수 있다. 같은 주제에 close를 추가하면 된다.

Subject : Re: [close #12015] CD-ROM problem

문제가 해결되었거나 질문에 답변을 받았으면 지원 티켓을 다룬 지원 담당자가 티켓을 닫을 수 있다. 웹을 통하여 사용자가 할 수도 있다. 티켓을 닫으면 티켓이 닫힌다는 메시지와 함께 문제 및 문제 해결에 대한 요약 정보가 표시된다. 다음 질문에 지원을 받기 위해서 새로운 티켓을 열 수 있다. 이러한 과정이 티켓 번호와 함께 데이터베이스에 저장이 되어 언제나 사용자의 계정으로 접근할 수 있다.

질문을 보낼 곳

레드햇 기술 지원 시스템의 주소는 support@redhat.com이다. 모든 질문은 이 주소로 보내야 한다. 이 주소에는 관련된 몇 개의 주소가 있다.

ㅇ 레드햇 FAQ(자주 요청하는 질문과 답변)를 받으려면 faq@redhat.com.에 전자우편을 보낸다.

ㅇ 레드햇 PPP 팁(PPP 연결을 설정하는 팁)을 받으려면 ppp-tips@redhat.com.에 전자우편을 보낸다.

A.3 FAQ 지원(자주 요청하는 질문)

레드햇 직원들이 자주 보는 질문과 답변이 몇 가지 있다.

질문 - 레드햇 지원 시스템에 몇 가지 질문을 보냈지만 답변이 없다. 왜 그런가?

답변 - 전자우편 주소가 정확한지 등록 정보를 확인해야 한다. 다음 웹사이트에 접속해서 확인할 수 있다. http://www.redhat.com/support/register/.

질문 - 이미 등록한 것으로 알고 있는데 지원 시스템에서는 아직 등록하지 않았다는 메시지가 나온다. 시스템에 문제가 있는 것이 아닌가?

답변 - http://www.redhat.com/support/register/ 에서 등록을 했는지 확인한다. 등록하지 않았으면 등록 페이지에 접속을 한다. 다음에 로그인 이름을 입력하고 "Create Login"을 누른다. 그러면 몇 가지 개인 정보를 입력하는 화면이 나온다. 입력을 마쳤으면 "Submit" 단추를 누르고 fffe 0fff ff00 ff00과 같은 등록 번호를 입력한다. 그 다음에는 시스템 관련 정보를 입력한다. 이 정보는 http://www.redhat.com/support/register/에 접속하고 등록 정보에 접근할 때 보존된다.

질문 - 전자우편으로 등록을 했다. 그렇지만 지원 시스템이 작동하지 않는 이유는 무엇인가?

답변 - 전자우편으로 등록을 하면 수동으로 등록을 하는 담당자에게 전자우편이 간다. 전자우편으로 등록을 하는 사람들의 수에 따라 등록에 몇 시간이나 몇 일이 걸릴 수 있다.

질문 - 등록을 완전히 마쳤는데 잘못된 등록번호라는 메시지가 계속 나온다.

답변 - 정확한 제품 등록 번호를 사용했는지 확인한다. 레드햇 소프트웨어 사나 공식 버전을 파는 다른 업체(상자에 □official이라고 표시되어 있음)의 공식 제품 세트를 구입하지 않았으면 등록을 할 수 없다. 레드햇 소프트웨어 사는 다른 소프트웨어 업체에서 패키지 하였거나 판매한 제품은 지원을 할 수 없기 때문이다.

질문 - 등록 페이지에서 접속 아이디를 물어본다. 어떻게 해야 하나?

답변 - 지원 시스템에 처음 접속하거나 1997년 8월 15일 이후에 접속하는 것이라면 원하는 아이디로 접속을 할 수 있다. 접속 아이디는 하나의 단어만 되며 중복되는 아이디가 있으면 오류 메시지가 나온다. 1997년 8월 15일 이전에 시스템에 접속하여 정확히 등록하였으면 접속 id는 등록했을 때의 전자우편 주소이고 암호는 예전의 지원 ID 번호이다. 원한다면 암호를 바꿀 수 있다. 그러나 접속 ID는 바꿀 수 없다.

질문 - 접속 ID와 암호를 쳤지만 접속할 수 없다. 무엇 때문인가?

답변 - 암호는 문자와 숫자를 조합하여 5자에서 8자 사이여야 한다. 등록 페이지에서 입력한 암호와 같은 암호를 입력했는지 확인한다.

질문 - 등록 정보를 바꿀 수 있고 예전의 지원 티켓과 이에 대한 답변을 볼 수 있다고 들었다. 어떻게 하면 되나?

답변 - 등록 페이지(http://www.redhat.com/support/register)에 접속하면 이와 관련된 정보를 모두 볼 수 있다. 예전의 문제 해결 티켓을 참고하려면 시스템 정보를 바꾸거나 문제 해결 티켓의 상태를 체크하고 등록 페이지에 접속한다. 등록 페이지에서 직접 등록 번호를 가지고 문제 해결 티켓을 열 수 있다.

부록 B. 설치 디스켓 만들기

때때로 이미지 파일로 디스켓을 만들어야 할 때가 있다(예를 들어 레드햇 리눅스의 고침표(正誤表)에서 갱신된 디스켓 이미지를 사용해야 할 때가 있다).

이름이 말해 주듯이 이미지 파일은 디스켓 내용의 정확한 복사본(또는 이미지)을 담고 있는 파일이다. 디스켓에는 파일에 담긴 자료와 더불어 파일 시스템 정보가 있기 때문에, 이미지 파일은 디스켓에 쓰고 난 후에 사용할 수 있다.

시작하기 전에 고밀도(high-density, 1.44MB)의 형식화된 빈 디스켓이 필요하다. 컴퓨터에 3.5인치 디스켓 드라이브가 있어야 하고 도스 프로그램을 사용할 수 있거나 대부분의 리눅스 호환 운영체제에 있는 dd 유틸리티를 사용할 줄 알아야 한다.

이미지 파일은 레드햇 리눅스 시디의 다음 디렉토리에 있다.

ㅇ images - 레드햇 리눅스/인텔의 부트 이미지와 보충 이미지, 레드햇 리눅스/알파의 다양한 커널과 램디스크 이미지가 들어있다.

레드햇 리눅스/스팍 시디에는 부트 이미지와 네트워크 부팅을 위한 이미지가 들어있다.

ㅇ milo - 레드햇 리눅스/알파 miniloader(MILO)의 다양한 이미지가 들어있다. 이 디렉토리는 레드햇 리눅스/알파 시디에만 있다.

적당한 이미지를 골랐으면 이미지 파일을 디스켓에 담아야 한다. 앞에서 말했듯이 이 작업은 도스 시스템이나 리눅스 호환 시스템에서 해야한다.

B.1 MS-DOS에서 디스켓 만들기

도스에서 디스켓을 만들려면 레드햇 리눅스 시디의 dosutils 디렉토리에 있는 rawrite를 사용한다. 먼저 형식화된 3.5인치 공 디스켓에 이름을 붙인다. (□부트 디스켓□, □보충 디스켓□ 등) 디스켓을 디스켓 드라이브에 넣고 다음 명령을 사용한다. (시디롬 드라이브가 d:라고 가정함)

C:\> d:

D:\> cd \dosutils

D:\dosutils> rawrite

Enter disk image source file name: ..\images\boot.img

Enter target diskette drive: a:

Please insert a formatted diskette into drive A: and

press --ENTER-- : Enter 누름

D:\dosutils>

rawrite에서는 먼저 디스켓 이미지 이름을 물어본다. 이미지의 디렉토리와 이름을 적는다(예: ..\images\boot.img). 그러면 이미지를 기록할 디스켓 드라이브를 묻는다. a: 라고 입력한다. 마지막으로 rawrite는 형식화된 디스켓을 선택한 드라이브에 넣었는지 물어본다. 디스켓을 넣고 엔터를 누르면 rawrite는 이미지 파일을 디스켓에 기록한다. 다른 디스켓을 만들어야 하면 먼저 디스켓이 이름을 붙이고 알맞은 이미지 파일을 지정하여 rawrite 프로그램을 다시 수행한다.

B.2 리눅스 호환 운영체제에서 디스켓 만들기

리눅스 또는 리눅스 호환 운영체제에서 디스켓을 만들려면 3.5인치 디스크 드라이브를 나타내는 장치(리눅스에서는 dev/fd0)에 기록할 수 있는 권한이 있어야 한다. 먼저 형식화된 3.5인치 공 디스켓에 이름을 붙인다 (□부트 디스켓□, □보충 디스켓□ 등의) 디스켓을 드라이브에 넣는다 (mount 명령을 사용하지 않는다). 레드햇 리눅스 시디를 마운트한 후에 원하는 이미지 파일이 있는 디렉토리로 이동하고 다음의 명령을 쓴다(이미지 파일 이름과 디스켓 장치는 적절하게 바꾼다).

# dd if=boot.img of=dev/fd0 bs=1440k

다른 디스켓을 만들려면 먼저 디스켓에 이름을 붙이고 적당한 이미지 파일을 지정하여 dd 프로그램을 다시 수행한다.

부록 C. 패키지 목록

이 부분은 레드햇 리눅스를 구성하고 있는 패키지 목록이다. 각 목록에서 다음의 정보를 볼 수 있다.

ㅇ 패키지 이름

ㅇ 패키징된 소프트웨어의 버전

ㅇ 패키징된 소프트웨어 크기 (KB 단위)

ㅇ 소프트웨어에 대한 간략한 설명

일부 패키지는 패키지 이름 옆에 다음의 표시가 되어있다.

□ 언제나 설치되는 레드햇 리눅스 기본 패키지

□ 워크스테이션 유형에서 설치되는 패키지

□ 서버 유형에서 설치되는 패키지

※참고사항 : 패키지 목록은 레드햇 리눅스 5.2 제품 이전에는 자동으로 생성되었다. 시간이 짧아서 패키지 목록에 약간의 오타가 있을 수 있다. 하지만 보기에 완벽한 패키지 목록보다는 변경된 최신 내용을 반영한 것이 보다 중요하다고 생각한다. 이점을 이해해 주었으면 좋겠다.

어떤 패키지는 다른 버전을 가지고 있으며 여기에 있는 패키지 중 설치 프로그램에서는 나오지 않는 것이 있다. 보통 버그를 고치는 과정에서 패키지의 버전에 차이가 생길 수 있다. 시디롬을 찍기 바로 전에 바뀌어서 빠지거나 추가된 패키지가 있을 수 있다. □Base" 그룹에 있는 모든 패키지는 항상 설치가 되므로 설치 과정 중에는 나오지 않는다.

설치 후에 패키지 목록 사용하기

레드햇 리눅스를 설치한 후에 설치한 패키지 목록을 수동으로 볼 수 있다. 문서에서도 패키지를 찾을 수 있다.

1. 설치 안내서에서 목록을 찾는다.

2. 패키지 이름을 적는다. (각 패키지 설명의 시작부분에 있는 굵은 글씨)

3. 목록에 있는 패키지 이름을 정확하게 입력하여 다음의 명령을 수행한다(패키지 이름은 소문자이다).

rpm -qd 패키지 이름

(물론 패키지 이름을 실제 패키지 이름으로 바꾸어야 한다)

패키지를 설치했으면, 파일 이름 목록을 알아야 한다. 각 파일에는 지정한 패키지에 관련된 문서가 포함되어 있다. 파일 이름의 유형은 다음과 같다.

ㅇ /usr/man...  xxxxx.n - 이러한 유형은 맨 페이지이며 man 명령을 이용하여 볼 수 있다. man 명령에서 파일 끝의 번호를 넣어야 할 때가 있다(man n 명령).

ㅇ /usr/X11R6/man... xxxxx.n - 이러한 유형은 X 윈도우 시스템에서 사용되는 맨 페이지이며 일반적인 맨 페이지를 보는 방식과 같이 볼 수 있다.

ㅇ /usr/doc/xxxxx... - /usr/doc 밑에 있는 파일은 몇 가지 다른 형식으로 되어 있다. 어떤 경우에는 파일 이름의 끝을 참고하여 문서를 보는 방법을 알 수 있다.

- .html - HTML 파일. 웹 브라우저로 본다.

- .txt - 텍스트 파일. cat 이나 less로 본다.

- .ps - 포스트스크립트 파일. 포스트스크립트 프린터로 인쇄할 수도 있고 gv로 볼 수 있다.

- .gz - gzip으로 압축된 파일. 원본 파일을 복사했으면 gunzip으로 압축을 풀 수 있다. 공간을 절약하기 위해 압축된 원본 파일을 그대로 유지하고 싶다면, gunzip과 less의 기능을 결합한 zless 명령을 이용하여 압축된 텍스트 파일을 즉석에서 볼 수 있다. 압축된 파일을 다루는 다른 좋은 방법이 있지만 리눅스를 처음 시작하는 사람들에게는 이러한 방법을 쓰는 것이 좋다.

일반적으로 우리가 보는 대부분의 문서는 위에서 나열한 것 중의 하나이다. 잘 모르면 텍스트 문서로 간주하자. file 명령을 이용하여 file이 어떤 것인지 확인할 수 있다.

ㅇ /usr/info... - /usr/info 에 있는 파일은 info (또는 이막스의 info 모드)로 볼 수 있다. 이막스를 쓰면 Ctrl+l을 누르고 이어서 l을 눌러서 Info 화면을 볼 수 있다.

C.1 애플리케이션

여기에서는 레드햇 리눅스에서 쓸 수 있는 대부분의 애플리케이션 목록을 설명한다. 쉽게 찾기 위해서 다른 몇 개의 범주로 애플리케이션을 나누었다.

(위에서 □대부분의 애플리케이션□이라는 말을 주의 깊게 보았다면, 이번 부록의 마지막에서 X11 애플리케이션 관련 절에서 많은 애플리케이션의 목록을 발견할 수 있다.)

C.1.1 통신

통신을 하는데 사용하는 패키지를 소개한다. 이 종류의 프로그램에는 팩스, 온라인 채팅, 간단한 터미널 에뮬레이터 등이 있다.

efax - (버전 0.8a, 203k)

클래스 1이나 클래스 2 팩스 모뎀을 이용하여 팩스를 주고받는데 사용하는 프로그램. 팩스를 쉽게 주고받을 수 있는 좋은 인터페이스를 가졌다.

ircii - (버전 4.4, 1,678k)

유명한 인터넷 릴레이 채팅(IRC) 클라이언트 프로그램. 전세계에 걸쳐 있는 IRC 서버에 접속하여 다른 사람과 채팅할 수 있는 프로그램.

ircii-help -- (버전 4.4, 441K)

ircii 클라이언트 프로그램에 필요한 도움말 파일과 문서

lrzsz -- (버전 0.12.14, 322K) □ □

Z, X, Y 프로토콜을 사용하여 파일을 내려받기/올리기를 할 때 사용하는 프로그램. 미니콤 등 많은 터미널 프로그램이 파일을 전송하는데 이 프로그램을 쓴다.

minicom -- (버전 1.82, 289K) □ □

MSDOS의 텔릭스와 비슷한 통신 프로그램. 전화번호부, 색상 지원, ANSI 지원, VT100 에뮬레이션, (외부) 스크립팅 언어 등의 기능이 있다.

C.1.2 데이터베이스

여기서는 레드햇 리눅스에서 기본적으로 제공하는 데이터베이스 패키지를 소개한다.

postgresql -- (버전 6.3.2, 9,312K) □

PostgreSQL 데이터베이스 관리 시스템. 옛날에는 Postgres95가 아닌 Postrgres였다.

PostgresSQL은 POSTGRES 데이터베이스 관리 시스템의 향상된 버전이며, 차세대 DBMS 연구의 원형을 담고 있다. PostgreSQL은 POSTGRES의 강력한 자료 모델과 풍부한 자료 유형을 그대로 유지하며, PostQuel 질의 언어를 SQL 확장 하부 집합으로 바꾸었다. PostgreSQL은 공개 프로그램이며 완전한 소스를 이용할 수 있다.

PostgresSQL 메일링 리스트에 가입되어 있는 인터넷 개발자 모임에서 PostgresSQL 개발이 진행되고 있다. 현재 총지휘자는 Marc G. Fournier 이다(전자우편 주소 scrappy@postgreSQL.org). 이제 이 모임에서 현재 그리고 미래의 PostgresSQL 개발을 책임지고 있다.

PostgresSQL 1.01의 개발자는 Andrew Yu와 Jolly Chen이다. 다른 많은 사람들이 포팅, 테스팅, 디버깅과 코드를 향상시키는데 많은 기여를 하였다. PostgresSQL이 출발했던 원래의 Postgres 코드는 캘리포니아 버클리 대학에서 Michael Stonebraker의 지도를 받았던 학생들과 전직 프로그래머들의 노력으로 만들어졌다.

버클리 대학에서 만든 원래 소프트웨어의 이름은 Postgres 이다. 1995년에 SQL 기능이 추가되었을 때 이름이 Postgres95로 바뀌었다. 1996년에 말에 다시 이름이 PostgresSQL로 바뀌었다.

PostgresSQL은 솔라리스, 썬OS, HP-UX, AIX, 리눅스, Irix, FreeBSD, 그리고 대부분의 유닉스에서 운영할 수 있다.

postgresql-clients -- (버전 6.3.2, 1,131K) □

PostgresSQL 서버에 접근하는데 필요한 클라이언트와 클라이언트 라이브러리만 들어있는 패키지. 다른 PostgresSQL 서버에 접속하는 것만 필요하면 이 패키지만 설치하면 된다.

패키지 안에는 C, C++, PERL을 이용한 클라이언트 라이브러리와 함께 원격 PostgresSQL 서버에 있는 데이터베이스를 다룰 수 있는 몇 가지 명령행 방식 유틸리티가 들어있다.

postgresql-data -- (버전 6.3.2, 780K) □

PostgresSQL의 데이터베이스 구조 디렉토리를 초기화할 때 쓰는 패키지. PostgresSQL을 빠르게 시작하기 위해 PostgresSQL 후위 서버(backend server)와 함께 이 패키지를 설치하는 것이 좋다(반드시 필요한 것은 아님).

이 패키지를 설치하지 않으면 초기화 데이터베이스를 직접 'initdb' 명령을 사용하여 만들어야 하며, 데이터베이스 저장 디렉토리를 /var/lib/pgsql이 아닌 다른 디렉토리로 설정하면 postgresql 시작 스크립트 파일을 수정해야 한다.

C.1.3 편집기

여기서는 기본적인 (어떤 경우는 전혀 기본적이지 않은) 파일을 편집할 수 있는 패키지를 소개한다.

ed -- (버전 0.2, 103K) □

GNU 줄 편집기. 유닉스 호환 시스템에서 가장 처음 사용하던 편집기 중의 하나이다. 어떤 프로그램은 이 프로그램을 필요로 하지만 일반적으로는 필요 없다.

emacs -- (버전 20.3, 17,337K) □ □

확장성, 사용자 정의(커스커마이징), 셀프 다큐멘팅(self-documenting) 기능을 가진 실시간 디스플레이 편집기. 이막스는 편집 모드라는 특수한 코드, 스크립팅 언어(elisp)와  전자우편, 뉴스그룹 등을 편집기에서 사용할 수 있는 기능 등이 있다.

emacs-X11 -- (버전 20.3, 5,839K) □

X 윈도우를 지원하도록 컴파일된 이막스 바이너리 패키지. X 윈도우가 아닌 콘솔에서도 작동하지만 X 윈도우 시스템에서 사용할 때 마우스와 GUI 요소를 지원한다.

emacs-el -- (버전 20.3, 16,778K)

이막스 패키지에 포함되어 있는 많은 elisp 프로그램의 소스를 포함한 패키지. elisp 프로그램 소스를 수정하거나 elisp 예제를 볼 필요가 없으면 설치하지 않아도 된다.

emacs-nox -- (버전 20.3, 2,443K) □ □

X 윈도우 지원을 하지 않도록 컴파일된 이막스 바이너리 패키지. 이막스 본 패키지 안에 있는 이막스 바이너리 파일도 X 윈도우 없이 잘 작동하지만 여기에 있는 프로그램은 더 적은 메모리를 차지한다.

jed -- (버전 0.98.4, 1,193K)

슬랭 스크린 라이브러리(slang screen library)에 기반한 빠르고 아담한 편집기. C, C++, 기타 다른 언어를 위한 특별한 편집 모드를 제공한다. 이막스, 워드스타, 기타 다른 편집기를 흉내낼 수 있고 사용자가 정의할 수 있는 슬랭 매크로, 색상, 단축 글쇠 등을 지원한다.

jed-xjed -- (버전 0.98.4, 153K)

jed와 같은 편집기이지만 X 윈도우에서 실행된다.

joe -- (버전 2.8, 282K)

친근하고 사용하기 쉬운 편집기. 인터페이스가 잘 되어 있고 텍스트 편집기를 처음 쓰는 사람에게 좋다. joe는 볼랜드 개발 환경에서 사용하는 워드스타와 같은 단축 글쇠를 사용한다.

vim-X11 -- (버전 5.3, 1,306K)

거의 대부분의 유닉스 시스템서 사용하는 vi 편집기를 개정하고 기능을 추가한 vi 클론 편집기. vim-X11은 표준 vi 프로그램에 다중 창, 다중 단계의 복구기능(undo), 블록 선택기능 등 많은 기능이 추가되었다.

vim-color -- (버전 5.3, 427K)

거의 대부분의 유닉스 시스템서 사용하는 vi 편집기를 갱신하고 기능을 추가한 vi 클론 편집기. vim-X11은 표준 vi 프로그램에 다중 창, 다중 단계의 복구기능(undo), 블록 선택기능 등 많은 기능이 추가되었다.

vim-common -- (버전 5.3, 4,354K) □

거의 대부분의 유닉스 시스템서 사용하는 vi 편집기를 갱신하고 기능을 추가한 vi 클론 편집기. vim-X11은 표준 vi 프로그램에 다중 창, 다중 단계의 복구기능(undo), 블록 선택기능 등 많은 기능이 추가되었다.

vim-common 패키지에는 다른 vim 바이너리 파일을 실행하는데 필요한 파일이 들어있다.

vim-enhanced -- (버전 5.3, 1,214K)

거의 대부분의 유닉스 시스템서 사용하는 vi 편집기를 갱신하고 기능을 추가한 vi 클론 편집기. vim-X11은 표준 vi 프로그램에 다중 창, 다중 단계의 복구기능(undo), 블록 선택기능 등 많은 기능이 추가되었다.

vim-enhanced 패키지는 펄과 python 해석기 등 vim에 최근 도입된 많은 추가 기능을 가지고 있다.

vim-minimal -- (버전 5.3, 427K) □

거의 대부분의 유닉스 시스템서 사용하는 vi 편집기를 갱신하고 기능을 추가한 vi 클론 편집기. vim-X11은 표준 vi 프로그램에 다중 창, 다중 단계의 복구기능(undo), 블록 선택기능 등 많은 기능이 추가되었다.

vim-minimal 패키지는 오직 루트 분할 영역만 있을 때 실행하기에 적합하게 vim을 /bin/vi 에 설치한다.

C.1.4 에뮬레이터

다른 운영체제에서 사용하는 프로그램을 리눅스에서 실행할 수 있게 해주는 패키지.

dosemu -- (버전 0.98.1, 1,721K) □

도스 프로그램을 리눅스에서 실행할 수 있도록 해주는 패키지.  DOS-C 커널(MS 도스 3.31 호환) 이미지와 FreeDos 유틸리티가 포함되어 있다. 루트로 접속하여 도스 에뮬레이터를 실행하고 'dos' 명령을 입력한다.

dosemu-freedos -- (버전 0.98.1, 8,194K)

dosemu를 시작하기 위해 어떤 도스 버전이 필요할 때 /var/lib/dosemu 디렉토리에 설치되는 hdimage 파일이 들어있다.

일반적으로 dosemu는 처음 사용하기 전에 hdimage 파일로 직접 부팅하기 위해 어떤 도스 버전이 필요하다. 또는 도스로 형식화하고 설치한 분할 영역이 필요하기도 하다. 둘 모두 없을 때 FreeDOS로 부팅할 수 있는 이 이미지를 쓸 수 있다.

dosemu에서 쓰는 □드라이브□ 목록에 이 이미지를 추가하기 위해 /etc/dosemu.conf 파일을 수정해야 한다.

xdosemu -- (버전 0.98.1, 26K) □

X 윈도우용 도스 에뮬레이터. 마우스와 VGA 그래픽을 지원한다.

C.1.5 공학

여기에서는 공학용 패키지를 설명한다.

spice -- (버전 2g6, 769K)

이 패키지는 범용 회로 시뮬레이션 프로그램으로 비선형 dc, 비선형 전류 및 선형 ac 분석 용도에 사용된다.  회로에는 레지스터와 콘덴서, 전도체, 상호 전도체, 독립 전압과 현재 원인, 종속 원인의 네 가지 유형, 전송 라인, 네 가지의 대부분 공통 반도체 장치: 다이오드, BJT, JFET, MOSFET를 포함할 수 있다.

units -- (버전 1.0, 24K)

이 프로그램은 다양한 범주의 양 표현을 다른 범주의 동등한 것으로 변환한다.  이 프로그램은 곱셈 범주의 변경만 처리할 수 있다.

C.1.6 그래픽

여기에서는 그래픽 관련 패키지를 설명한다.

ghostscript -- (버전 4.03, 2,737K) □ □

포스트스크립트 해석(인터프리터) 프로그램. 포스트스크립트와 PDF 호환 파일을 X 윈도우나 프린터 형식(컬러 프린터 지원 포함), 또는 일반적인 그래픽 파일 형식 등으로 표현한다.

ghostscript-fonts -- (버전 4.03, 3,679K) □ □

텍스트로 변환하는 동안 고스트스크립트가 사용하는 글꼴

giftrans -- (버전 1.12.2, 20K)

명령행에서 GIF 이미지를 변환하고 다루는 프로그램. 웹사이트에서 투명한 이미지를 만들 때 유용하다.

libgr-progs -- (버전 2.0.13, 1,388K) □ □

ligbr 프로그램에서 JPEG 파일을 다루는 다양한 유틸리티 프로그램을 담은 패키지.

libungif-progs -- (버전 3.0, 285K)

gif 이미지 파일을 처리하는 데 사용되는 다양한 프로그램을 담은 패키지.

xfig -- (버전 3.2.2, 2,241K)

기본 단계에서 중간 단계 벡터 그래픽을 만들 수 있는 프로그램(bezier curves, lines, rulers 등).

zgv -- (버전 3.0, 168K)

컴퓨서브에서 정의한 GIF 파일을 볼 수 있는 그림 보기 프로그램. JPEG/JEIF 파일, PBM/PGM/PPM 파일, BMP 파일, TGA 파일, PNG 형식 등을 볼 수 있다.

C.1.7 전자우편

여기서는 전자우편 관련 프로그램을 소개한다.

elm -- (버전 2.4.25, 476K) □ □

가장 일반적으로 쓰이는 터미널 모드 전자우편 프로그램. 기능이 강력하며 사용하기 쉽고 도움말을 쉽게 찾을 수 있다. MIME 지원 등 사용자가 바라는 모든 전자우편 기능을 가지고 있다.

exmh -- (버전 2.0.2, 1,814K) □ □

MH 전자우편 시스템의 그래픽 인터페이스. MIME 지원, 글림프스 인덱싱, 색상 하이라이팅, PGP 인터페이스 등의 기능이 있다. 사운드 지원을 위해서는 sox(또는 play)가 필요하다

fetchmail -- (버전 4.5.8, 549K) □ □

원격 우편서버에서 우편을 가져오는 프로그램. POP(Post Office Protocol)이나 IMAP(Internet Mail Access Protocol)을 이용해 우편을 가져오고 로컬 SMTP 서버(일반적으로 sendmail)를 이용해 우편을 보낸다.

mailx -- (버전 8.1.1, 88K) □

/bin/mail 프로그램은 빠르게 우편 메시지를 보낼 수 있으며 쉘 스크립트에서도 자주 쓴다.

metamail -- (버전 2.7, 333K) □ □

인터넷에서 멀티미디어 우편을 위해 제안된 표준인 MIME(Multipurpose Internet Mail Extensions)기능을 한다. MINE 문서의 지침서인 RFC에 기술된 "mailcap" 메커니즘을 통해 확장성과 설정을 만족시킨다.

mutt -- (버전 0.93.2, 507K) □ □

작지만 매우 강력한 전화면 유닉스 우편 클라이언트. MIME 지원, 칼라, POP3 지원, 메시지 스레딩, 글쇠 정의, 쓰레드 정렬 모드 등의 특징이 있다.

nmh -- (버전 0.27, 4,353K) □ □

우편 시스템.(POP 지원) 대중적인 우편 시스템으로 명령행 인터페이스만 제공한다. 그러나 xmh, exmh 등의 프로그램에서 중요한 기반이 되는 프로그램이다.

pine -- (버전 4.04, 3,071K) □ □

매우 다양한 기능이 있는 텍스트 기반 우편, 뉴스 클라이언트. 초보자와 전문가 모두에게 적합하다. 메시지를 보내는데 쉽게 사용할 수 있도록 pico 편집기를 지원한다. 피코는 독자적인 텍스트 편집기로 인기를 얻었다. MIME 지원, 주소록, IMAP과 mail 지원, MH 유형 폴더 등의 특징이 있다.

C.1.8 수학

여기서는 수학에 관련된 패키지를 소개한다.

bc -- (버전 1.05a, 128K) □

텍스트 모드 계산기. 기본 해석과 함께 확장된 특징이 많이 있다. 표준입력에서 받아서 표준출력으로 결과를 보여줄 수 있다. dc는 RPN 버전이다.

gnuplot -- (버전 3.6, 940K)

GNU 플로팅 패키지. X 윈도우에서 그래프 자료나 파일을 사용할 수 있다.

C.1.9 네트워킹

여기서는 네트워크 관련 패키지를 소개한다.

arpwatch -- (버전 2.1a4, 117K)

Arpwatch 와 arpsnmp는 이더넷이나 fddi의 활동을 모니터링하고 이더넷/ip 주소 쌍의 데이터베이스를 유지하는 프로그램이다.

libpcap -- (버전 0.4, 123K)

사용자 단계에서 패킷을 포착할 수 있는 시스템 독립적인 인터페이스 프로그램. 저 수준의 네트워크 모니터링을 위한 휴대용 프레임워크를 제공한다. 네트워크 통계 수집, 보안 모니터링, 네트워크 디버깅 등의 기능이 있다. tcpdump와 arpwatch 등의 다른 애플리케이션에서 쓸 수 있는 시스템 독립적인 API이다.

lynx -- (버전 2.8.1, 2,031K) □ □

터미널 기반 웹 브라우저. 그래픽을 표현하지는 않지만 HTML 텍스트 형식화, 폼, 테이블을 잘 지원한다.

ncftp -- (버전 2.4.3, 170K) □ □

표준 ftp 클라이언트보다 많은 장점을 가진 ftp 클라이언트 프로그램. 명령행 편집, 명령 히스토리, 미러링, 자동 로그인 등의 기능을 지원한다.

rsync -- (버전 2.1.1, 188K)

빠르게 rcp를 대체하고 있는 프로그램으로서 압축된 폼에서 두 시스템간의 디렉토리 사이에서 차이점만을 전송하여 서로 다른 시스템 사이에 파일과 디렉토리를 빠르고 효율적으로 동기화시켜준다. 한쪽의 시스템에서 다른 시스템을 복사할 필요가 없다.

tcpdump -- (버전 3.4, 215K) □ □

네트워크 인터페이스에서 패킷의 헤더를 출력하는 프로그램. 네트워크에서 발생하는 문제와 보안 운영을 디버깅하는데 유용하다.

wget -- (버전 1.5.2, 352K)

가장 광범위하게 사용되는 인터넷 프로토콜인 HTTP와 FTP를 이용하여 웹의 파일을 가져오는 공개 네트워크 유틸리티 프로그램. 이 프로그램은 상호작용으로 동작하지 않기 때문에 로그 오프한 후에 백그라운드에서 작동할 수 있다. 이 프로그램은 FTP 사이트뿐만 아니라 HTML 페이지를 하부 디렉토리까지 가져올 수 있다. wget을 ftp나 홈페이지의 미러로 쓸 수 있고 www 로봇처럼 웹을 돌아다닐 수 있다(wget은 /robots.txt를 이해한다).

Wget은 문서를 완전하게 다 받을 때까지 작동하므로 느리거나 불안정한 네트워크에서 정말로 좋다. 파일을 받다가 서버에서 끊겼어도 다시 파일을 받아오는 것을 지원한다. FTP를 통해 파일을 받아올 때 와일드 카드와 하부 디렉토리 미러링을 사용할 수 있다. HTTP와 FTP에서의 정보검색은 시간 기록이 남기 때문에 마지막으로 파일을 가져온 시간에서 원격 파일이 바뀌었으면 자동으로 새로운 파일을 가져온다. 그리고 기본적으로 프록시 서버를 지원한다. 프록시 서버는 네트워크 부하를 줄이고 전송 속도를 늘리고 방화벽 뒤에서 접근할 수 있도록 한다. 그러나 socks 스타일 게이트웨이가 필요한 방화벽이면 socks 라이브러리를 구해오고 socks 지원을 받게 wget을 컴파일해야 한다.

대부분의 기능은 명령행 선택 사항이나 초기화 파일 .wgetrc을 통해 설정할 수 있다.

C.1.10 뉴스

여기서는 온라인 뉴스그룹 관련 패키지를 소개한다.

slrn -- (버전 0.9.4.3, 302K) □ □

사용하기 쉽지만 강력한 전화면 NNTP 기반 뉴스 리더. 많은 기능을 슬랭 프로그래머 라이브러리에 의존하고 있다. slrn은 특별히 느린 네트워크 연결에서 잘 작동한다.

tin -- (버전 1.22, 537K) □ □

사용하기 쉬운 전화면 뉴스 리더. NNTP(Network News Transport Protocol) 서버를 통해 지역 컴퓨터(/usr/spool/news 등)나 원격 컴퓨터에서 뉴스를 읽을 수 있다.

trn -- (버전 3.6, 431K) □ □

최초의 threded 뉴스 리더중의 하나. NNTP 뉴스서버에서 뉴스를 읽을 수 있도록 설정되어 있다.

C.1.11 생산성

여기서는 시간을 절약하거나 생산성을 유지하는 데 도움을 주는 패키지를 소개한다.

ical -- (버전 2.2, 785K) □ □

유명한 X 기반의 달력, 시간표 애플리케이션. 연중 기념일이나 반복되는 행사(일, 주, 달, 년)를 기록하고 약속 시간을 지정하는 알람 기능을 제공한다.

C.1.12 출판

여기서는 레드햇 리눅스 시스템을 고성능의 출판용 워크스테이션으로 만들어 주는 패키지를 소개한다. 레드햇 사의 문서가 이러한 도구들을 이용하여 출판하고 있다.

groff -- (버전 1.11a, 2,941K) □

groff 텍스트 형식화 시스템은 종이와 컴퓨터 화면에서 전문적인 검색 문서를 만들 수 있다. 모든 맨 페이지가 groff로 제작되었다. 따라서 맨 페이지를 보기 위해서는 이 패키지가 필요하다.

groff-gxditview -- (버전 1.11a, 70K)

X 윈도우에서 groff 문서를 형식화하고 보는 프로그램을 담은 패키지.

lout -- (버전 3.08, 3,427K)

lout 시스템은 라텍스 양식과 비슷한 고수준의 문서 종류를 읽을 수 있고 많은 레이저 프린터와 그래픽 디스플레이 장치에 출력할 수 있는 포스트스크립트 파일을 만들 수 있다. 평범한 텍스트 출력도 당연히 가능하다.

lout 시스템은 광범위하고 진보된 기능을 제공한다. 제공하는 기능은 단락 최적화, 쪽 나누기, 자동 하이픈 연결, 포스트스크립트 EPS 파일 산입 및 생성, 동일 포맷팅, 테이블, 도식, 회전 및 축소, 색인 정렬, 목록 데이터베이스, 연속 헤더 및 홀짝 쪽, 자동 상호 참조, 하이픈을 포함하는 다중 문서 등이다. 아울러 러시아어를 포함하여 대부분의 유럽 언어를 지원하며, C/C++ 프로그램 형식화 등도 지원한다. 또한 lout는 지난 8년간의 연구 프로젝트 결과로 꾸준히 발전되어온 고수준 언어이기 때문에 텍스 매크로의 TROFF보다 쉽게 확장 정의를 사용할 수 있다.

lout-doc -- (버전 3.08, 2,069K)

lout와 포스트스크립트로 된 "user"와 "export" 설명서를 포함한 완전한 lout 문서 패키지. lout으로 큰 문서를 작성하는 좋은 예제가 들어있다.

sgml-tools -- (버전 1.0.7, 1,997K)

다양한 출력 형식을 만들 수 있는 SGML 기반의 텍스트 형식화 프로그램. 단일한 SGML 원본 파일에서 포스트스크립트, dvi(라텍스), 일반 텍스트(groff), HTML, textinfo 파일을 만들 수 있다.

tetex -- (버전 0.9, 41,786K) □

산재된 텍스트와 명령 파일을 형식화하고 식자기에 독립적인 파일(DVI, DeVice Independent)을 출력한다. 텍스의 기능과 언어는 Knuth가 저술한 TeXbook에 설명이 되어 있다.

tetex-afm -- (버전 0.9, 2,134K) □

포스트스크립트 글꼴은 Times-Roman이라는 이름의 글꼴의 특성을 묘사하는 Times-Roman.afm 같은 metrc 파일을 같이 가지고 있다. 텍스에서 이런 글꼴을 사용하려면 유사한 정보를 담은 TFM 파일이 있어야 한다. afm2tfm은 이러한 변환 작업을 수행한다.

tetex-doc -- (버전 0.9, 24,455K)

테텍스 시스템의 문서 파일을 담은 패키지. 패키지의 크기가 커서 이제 문서가 하부 패키지로 분리되어 나온다.

tetex-dvilj -- (버전 0.9, 375K) □

Dvilj와 sibling는 텍스의 출력 파일인 .dvi를 HP LaserJet+, HP LaserJet IIP(dvilj2p 사용), HP LaserJet 4(dvilj4 사용) 호환 프린터에서 사용할 수 있는 HP PCL (HP 프린터 통제 언어) 명령으로 변환한다.

tetex-dvips -- (버전 0.9, 831K) □

dvips는 텍스(또는 GFtoDVI 등의 다른 처리기)에서 만든 DVI 파일을 읽어들여 그 결과를 레이저프린터로 바로 보내 포스트스크립트로 변환한다.

tetex-latex -- (버전 0.9, 6,443K) □

라텍스는 텍스 매크로 패키지이다. 라텍스 매크로는 작자가 문서의 형식보다 내용에 집중할 수 있도록 도와준다. 이 프로그램은 문서에서 형식화 명령("switch to italic", □skipn 2 picas" 등)을 전혀 사용할 필요가 없는 환경을 목표로 하고 있다. 대신 모든 것이 지정한 □emphasize", "start a section"과 같은 마크업 명령에 의해 이루어진다.

tetex-xdvi -- (버전 0.9, 1,025K) □ □

X 윈도우에서 실행하는 프로그램. 텍스와 라텍스에서 만든 dvi 파일을 미리 볼 때 사용한다.

texinfo -- (버전 3.12, 505K) □ □

GNU 프로젝트에서는 많은 문서에 textinfo 파일 형식을 사용한다. textinfo 패키지는 이막스 인터페이스뿐만 아니라 .textinfo 원본 파일에서 .info 파일을 만드는 데 필요한 프로그램이 포함되어 있다.

C.1.13 사운드

여기서는 레드햇 리눅스 시스템의 사운드 기능을 사용하는데 필요한 패키지를 소개한다.

aumix -- (버전 1.13, 47K) □

사운드 카드 믹서를 제어할 수 있는 tty 기반의 상호작용 대화 방법을 제공하는 프로그램. 이 프로그램을 이용하여 시디, 마이크로폰의 입력 수준, 그리고 출력 볼륨과 함께 보드 신서사이저를 조절할 수 있다.

cdp -- (버전 0.33, 36K)

시디롬 드라이브에서 오디오 시디를 실행할 수 있는 프로그램. 명령행 방식과 함께 전 화면 인터페이스를 제공한다.

maplay -- (버전 1.2, 70K)

MPEG 2 형식 오디오 파일을 실행할 수 있는 프로그램. MPEG 오디오 파일은 인터넷에서 고음질의 음악을 보낼 수 있는 것으로 유명하다. http://www.iuma.com에는 MPEG 2 사운드 파일이 많이 있다.

mikmod -- (버전 3.0.3, 362K)

가장 좋고 많이 알려진 MOD 플레이어. MOD 노래를 연주할 수 있다.

MikMod는 원래 도스에서 Jean-Paul Mikkers(MikMak)가 만든 이동 모듈 플레이어이다. 그 이후에 많은 사람들이 프로그램을 개선하였고 이제 많은 플랫폼에서 작동한다. 이 mikmod 패키지는 유닉스(리눅스) 환경에서 쉽게 컴파일할 수 있도록 만들어졌다. 출력을 위해 최근의 커널에 포함되어 있는 OSS /DEV/DSP 구동기를 사용하며 wav 파일을 기록할 수 있다. 지원하는 파일 형식은 mod, stm, s3m, mtm, xm 등이다. 플레이어는 콘솔 출력을 위해 ncurses를 사용하고 gzip/pkzip/zoo 압축 파일에서 적재하는 기능과 목록 적재/저장 기능을 지원한다.

playmidi -- (버전 2.4, 145K) □

사운드 카드 신서사이저를 통해 미디 사운드 파일을 연주하는 프로그램. 간단한 FM 신서사이저를 사용하는 기본적인 드럼 예제가 들어있다.

playmidi-X11 -- (버전 2.4, 46K) □

사운드 카드 신서사이저를 통해 미디 사운드 파일을 연주하는 X 윈도우 프로그램. 간단한 FM 신서사이저를 사용하는 기본적인 드럼 예제가 들어있다.

sox -- (버전 12.14, 349K) □

다양한 디지털 사운드 형식을 변환할 수 있고 간단한 사운드 처리 기능을 할 수 있는 프로그램이다.

C.2 기본 패키지

여기서는 모든 레드햇 리눅스 시스템에 기본적인 패키지를 설명한다. 설치과정에서는 볼 수 없는 정보들이다.

C.2.1 커널

레드햇 리눅스 시스템 커널에 관련된 패키지. 운영체제의 가장 중심적인 부분이다.

kernel -- (Version 2.0.36, 4,726K) □

시스템을 부팅하고 실행하는데 사용하는 리눅스 커널 패키지. 특정한 하드웨어에 필요한 몇 가지 장치 구동기가 들어있다. 대부분의 하드웨어는 부팅 후에 적재되는 모듈을 이용하여 지원한다.

kernel-headers -- (Version 2.0.36, 1,551K) □ □

리눅스 커널을 위한 C 헤더 파일이며 커널 컴파일뿐만 아니라 리눅스에서 대부분의 표준 프로그램을 컴파일할 때 필요한 구조체와 상수를 정의한다.

kernel-ibcs -- (Version 2.0.36, 219K)

iBCS2(Intel binary Compatibility Standard, version 2)와 관련된 실행 형식에서 프로그램을 실행할 수 있도록 하는 패키지이다.

kernel-source -- (Version 2.0.36, 30,727K)

리눅스 커널의 소스 코드. 커널 소스에 정의된 상수에 의존하는 대부분의 C 프로그램을 컴파일할 때 필요한 패키지이다. 특별한 하드웨어에 맞추어 최적화된 커널 컴파일을 할 수도 있다.

basesystem -- (Version 4.9, 0K) □

다른 파일을 포함하지는 않지만 중요한 기능을 수행하는 패키지. 부팅할 때 사용하는 패키지 설치 순서에 따라 기본 레드햇 시스템의 요소를 정의한다. basesystem 패키지는 시스템에 가장 먼저 설치되는 패키지이며 절대 삭제해서는 되지 않는다.

crontabs -- (Version 1.7, 4K) □

다양한 프로그램을 계획에 따라 실행할 때 사용되는 루트 crontab 파일

dev -- (Version 2.5.9, 0K) □

유닉스와 유닉스 호환 시스템(리눅스 포함)은 시스템에 연결된 장치를 나타내는 파일 시스템 목록을 사용한다. 모든 목록은 /dev 디렉토리에 있으며 dev 패키지에는 거의 대부분 사용하는 /dev 목록이 들어있다.  dev 파일들이 있어야 시스템의 기능이 제대로 작동할 수 있다.

etcskel -- (Version 1.3, 5K) □

기본 레드햇 시스템의 일부분. /etc/skel 디렉토리에 들어갈 파일이 있으며 새로운 계정이 만들어질 때 사용자의 홈 디렉토리에 복사된다.

filesystem -- (Version 1.3.2, 79K) □

디렉토리에 적절한 권한을 포함하여 리눅스 시스템의 기본적인 디렉토리 설계를 담은 패키지. 디렉토리 설계는 리눅스 파일 시스템 표준(FSSTND) 1.3에 따른다.

initscripts -- (Version 3.72, 94K) □

시스템 부팅, 실행 레벨 전환, 시스템 종료 등에 쓰는 스크립트를 담은 패키지. 또한 대부분의 네트워크 인터페이스를 활성화하는 스크립트를 포함하고 있다.

mailcap -- (Version 1.0, 29K) □

레드햇 mailcap 패키지. 패키지를 설치하면 lynx 같은 프로그램에서 그림을 표시하기 위해 zgv를 자동으로 사용할 수 있다.

pam -- (Version 0.64, 2,747K) □

PAM (Pluggable Authentication Modules)은 강력하고 유연하며 확장 가능한 인증 시스템으로, 시스템 관리자가 애플리케이션을 다시 컴파일할 필요 없이 모든 pam 지원 애플리케이션 각각마다 인증 서비스를 설정할 수 있다.

pamconfig -- (Version 0.51, 2K) □

잘 안 쓰이는 pam-0.56을 위해 만들어졌으며 호환성 때문에 제공하는 패키지이다.

다음의 명령으로 실험을 해본다:

rpm -q --whatrequires pamconfig

패키지 이름이 나오지 않으면, pamconfig 패키지를 지워도 된다:

rpm -e pamconfig

passwd -- (Version 0.50, 17K) □

암호를 설정하거나 바꾸기 위해 암호 수정 프로그램은 PAM을 사용한다. 다른 PAM 사용 애플리케이션처럼 /etc/pam.d/ 디렉토리에 있는 파일을 이용하여 설정할 수 있다.

pwdb -- (Version 0.54, 1,260K) □

pwdb (Password Database Library)는 /etc/passwd, /etc/shadow, NIS와 Radius에 포함된 네트워크 인증 시스템에 접근하고 관리하는 것에 대해 설정한다.

redhat-release -- (Version 5.2, 0K) □

레드햇 리눅스 릴리즈 파일.

rootfiles -- (Version 5.2, 2K) □

루트 사용자를 위한 시작 파일이 담긴 패키지. 기본적으로 etcskel 패키지와 같은 파일이다.

setup -- (Version 1.9.1, 8K) □

passwd, group, profile 파일 등을 포함하여 매우 중요한 환경 설정, 설정 파일이 들어있다.

termcap -- (Version 9.12.6, 424K) □

/etc/termcap 파일은 터미널과 터미널 에뮬레이터의 특성을 정의한 데이터베이스이다. 프로그래머가 벨, 색깔, 그래픽 등 다양한 터미널의 특성에 대해 알기 위해 사용한다.

C.3 데몬

레드햇 리눅스 시스템에서 쓸 수 있는 데몬에 관련된 패키지. 데몬은 자동으로 실행되며 다양한 시스템 기능을 하는 프로그램이다.

SysVinit -- (Version 2.74, 141K) □

부팅할 때 리눅스 커널에 의해 처음으로 시작하는 프로그램이며 다른 프로그램의 시작, 실행, 종료를 제어한다.

at -- (Version 3.1.7, 60K) □

at와 batch는 표준 입력이나 지정한 파일에서 명령을 읽어서 /bin/sh를 사용하여 나중에 수행한다.

bdflush -- (Version 1.5, 9K) □

커널이 저장하고 있는 디스크 버퍼를 지우는 프로그램.

gpm -- (Version 1.13, 193K) □

이막스나 MC(Midnight Commander) 등 텍스트 기반의 애플리케이션에서 마우스를 지원하는 프로그램이다. 또한 마우스를 이용해 콘솔에서 짤라 붙이기(cut-and-paste)를 지원한다. 마우스 단추를 눌렀을 때 팝업 메뉴가 나오는 프로그램이 들어있다.

kernel-pcmcia-cs -- (Version 2.0.36, 754K) □

많은 랩탑 컴퓨터는 확장 PCMCIA 카드를 지원한다. □credit card adapter"로 알려진 PCMCIA 카드는 SCSI 지원부터 모뎀 지원까지 필요한 조그만 카드이다. 쉽게 교체할 수 있으며, 다시 부팅할 필요 없이 교체할 수 있어 매우 편리하다. kernel-pcmcia-cs 패키지는 다양한 PCMCIA 카드를 지원하며 카드를 쉽게 교체할 수 있는 데몬을 제공한다.

procmail -- (Version 3.10, 179K) □

레드햇 리눅스는 로컬 우편 전송을 위해 procmail을 사용한다. 정규적인 우편 전송 작업에 더하여 자동 필터링, 자유 정렬, 우편 처리 작업 등을 한다. procmail은 SmartList 메일링 리스트 처리기의 기초가 된다.

sendmail-cf -- (Version 8.8.7, 611K)

기본 센드메일 패키지와 함께 배포되는 sendmail.cf 파일을 만드는 데 사용하는 설정 파일이 들어있는 패키지이다. sendmail.cf를 다시 설정하려면 이 패키지가 필요하다. 예를 들면 sendmail.cf 기본 값은 UUCP용으로 설정되어 있지 않다. 우편을 UUCP를 통해 주고받으려면 이 패키지를 사용하여 센드메일을 다시 설정한다.

sendmail-doc -- (Version 8.8.7, 1,219K)

센드메일에 대한 릴리즈 기록 파일이다, sendmail FAQ 등의 새로운 문서가 들어있는 패키지로서 포스트스크립트와 troff로 사용할 수 있다.

sysklogd -- (Version 1.3, 105K) □

리눅스 시스템과 커널 기록을 기록하는 프로그램. sysklogd는 서로 다른 위치의 메시지를 기록하기 위해 데몬(백그라운드 프로세스)으로 동작한다. 일반적으로 센드메일 기록, 보안 기록, 기타 데몬의 기록 등이 있다.

uucp -- (Version 1.06.1, 2,012K) □ □

UUCP는 □유닉스에서 유닉스로(Unix to Unix)□ 전송 메커니즘이다. 주로 원격 사이트에서 지역 시스템에 전자우편과 뉴스를 내려받고 올릴 때 사용한다. 잘 모르겠다면 설치할 필요 없다.

vixie-cron -- (Version 3.0.1, 54K) □

cron은 지정한 시간에 사용자가 정의한 프로그램을 실행하는 표준 유닉스 프로그램이다. vixie cron은 기본 유닉스 cron에 몇 가지 특징을 추가한 것으로, 향상된 보안, 강력한 환경 설정 선택 사항 등을 지원한다.

C.4 개발

프로그래머에게 관심 있는 패키지이다. 레드햇 리눅스에는 매우 강력하고 풍부한 프로그래머를 위한 개발 도구들이 포함되어 있는데, 몇 개로 분리하여 살펴본다.

C.4.1 패키지 생성

프로그래머가 프로그램을 쉽게 만들 수 있도록 도와주는 패키지이다.

autoconf -- (Version 2.12, 524K) □ □

GNU "autoconf" 는 소스와 Makefile 설정을 위한 프로그램이다. 사용자가 다양한 설정 선택 사항을 지정하여 패키지를 생성할 수 있도록 프로그래머가 이식가능하고 설정 가능한 패키지를 만드는 것을 돕는다.

□autoconf"는 최종 사용자에게 필요하지 않고 오직 설정 스크립트를 만들 때만 필요하다.

automake -- (Version 1.3, 777K) □ □

automake는 실험적인 makefile 생성 프로그램이다. 4.4BSD의 make와 include 파일에서 영감을 받았지만 GNU 표준 Makefile 변수와 GNU 개발도구를 사용하는 여러 가지 플랫폼에 이식하기 쉽게 하는 것이 목표이다.

libtool -- (Version 1.2b, 485K)

GNU libtool은 일반적인 방식으로 공유 라이브러리를 만들기 위해 자동으로 관련된 유닉스 환경변수나 필요한 정보들을 자동으로 설정해 주는 쉘 스크립트 모음이다.

make -- (Version 3.76.1, 247K) □ □

make는 소스 묶음으로부터 컴파일과 링크를 통해 프로그램을 통합적으로 만들어 내는데 사용되며 재 컴파일을 할 때 변경된 소스만을 다시 컴파일하여 개발자의 시간을 절약한다. 사실 make는 이것보다 더 많은 일을 한다. 자세한 내용은 info 문서를 읽어야 한다.

pmake -- (Version 1.0, 123K) □ □

pmake는 표준 make 프로그램에 없는 몇 가지 추가적인 구문을 지원하는 make의 특별한 버전이다 어떤 버클리 프로그램은 pmake로 작성된 Makefile을 가지고 있다.

C.4.2 디버깅

프로그램에서 쉽게 버그를 찾을 수 있도록 도와주는 프로그램 패키지를 소개한다.

ElectricFence -- (Version 2.0.5, 44K) □ □

Electric Fence는 C 프로그램의 디버깅을 하는 데 사용된다. 컴파일을 할 때 이 라이브러리를 링크시키면 할당하지 않는 메모리를 할당 해제하려는 경우에 메모리 관련 버그를 경고해 준다.

gdb -- (Version 4.17.0.4, 1,251K) □ □

많은 기능을 가진 명령행 방식의 디버깅 프로그램. 프로그램 수행을 추적하고 내부 상태를 검사한다. C와 C++을 GNU C 컴파일러인 gcc와 컴파일할 때 작동한다.

strace -- (Version 3.1, 114K) □ □

Strace는 프로그램이 수행될 때 공유 라이브러리 함수나 다른 프로그램을 호출하는 모든 시스템 호출을 전달 인자와 그 결과의 반환 값을 동시에 출력한다.

xxgdb -- (Version 1.12, 95K) □

GNU 디버거의 그래픽 인터페이스 프로그램. 사용하기 쉬운 X 윈도우 인터페이스를 사용한다. 디버깅 시에 현재 실행중인 부분 표시, 중단점 설정, 명령을 통한 단계별 실행을 쉽게 할 수 있도록 해준다.

C.4.3 언어

다양한 프로그램 언어의 목록을 담은 패키지를 소개한다.

basic -- (Version 1.20, 52K)

BASIC 언어 해석기. BASIC으로 짠 프로그램을 실행할 수 있다. BASIC은 프로그래밍의 기초를 배우기 위해 옛날에 사용되었던 언어이며 별로 유용하지 않다.

bin86 -- (Version 0.4, 70K) □ □

리얼 모드 80x86 명령을 위한 어셈블러와 링커를 제공하는 패키지. LILO와 커널 부트스트랩 코드 등 리얼 모드에서 실행하는 프로그램을 소스에서 만들기 위하여 이 패키지를 설치할  필요가 있다.

blt -- (Version 2.4f, 4,096K)

tk 프로그램에 필요한 특별한 위젯과 명령을 제공하는 패키지. 이미지 제어 위젯과, 표와 좌표관리, 폴더 등에 관한 위젯 등이 있다.

ctags -- (Version 2.0.3, 77K) □ □

참조링크가 가능한 모든 유형에 대해서 참조링크를 만드는 프로그램이다. 참조링크가 가능한 것들은 매크로 정의, 열거형 값들, 함수와 메쏘드 선언. 열거/구조체/공용체 참조링크, 외부 함수 원형 선언, 형정의, 변수 선언(variable declarations)등이다.  복잡한 선택 문제를 해결하는 조건 경로 선택 알고리즘과 이중 하나가 실패할 때 fall-back 알고리즘을 사용하는 경우 #if 전처리기 조건 구조를 포함하는 코드 등에 있어서 개발 시간을 줄일 수 있다. 또한 소스 파일에서 찾을 수 있는 일부 선택된 객체 목록을 출력할 때 사용할 수도 있다.

egcs -- (Version 1.0.3a, 2,782K) □ □

고성능과 안정적인 개발 환경에 필요한 특징과 최적화를 통합하는 것을 목표로 하는 컴파일러이다.

egcs-c++ -- (Version 1.0.3a, 1,780K) □

GNU C 컴파일러에 C++ 지원을 추가한 패키지. 템플릿과 예외 처리 등 최근 대부분의 C++ 규격을 지원한다. 개별적으로 이용할 수 있는 표준 C++ 라이브러리는 포함하고 있지 않다.

egcs-g77 -- (Version 1.0.3a, 2,356K)

GNU 컴파일러에서 포트란 77 프로그램 컴파일을 지원하는 패키지.

egcs-objc -- (Version 1.0.3a, 1,490K)

GNU 컴파일러에서 오브젝트 C를 지원하는 패키지. 오브젝트 C는 넥스트스텝을 사용하는 시스템에서 주로 사용했던 객체 지향의 C 언어에서 파생되어 나왔다. 표준 오브젝트 C 객체 라이브러리는 포함하지 않고 있다.

expect -- (Version 5.26, 746K) □ □

telnet, ftp, passwd, fsck, rlogin, tip 등의 대화식 애플리케이션을 자동화하는데 사용되는 도구. 스크립트가 다른 프로그램을 쉽게 통제하고 상호 작용할 수 있도록 한다.

f2c -- (Version 19970805, 819K)

포트란을 C로 변환하여 프로그램을 만드는 패키지. 포트란 소스 코드를 읽어와서 C로 변환하고 gcc를 이용하여 실행파일로 컴파일한다.

fort77 -- (Version 1.14a, 11K)

포트란을 C로 변환하는 f2c의 구동기.

gcc -- (Version 2.7.2.3, 2,041K) □ □

GNU C 컴파일러. ANSI C 호환이며 K&R C 지원을 한다. GCC는 lint와 같은 다른 도구에서 제공되는 여러 단계의 소스 코드 오류 검사 기능을 제공하며 디버깅 정보를 만들고, 컴파일한 오브젝트 코드에 매우 다양한 최적화를 수행한다. 또한 C++과 Objective C 컴파일러의 후위 프로그램을 포함하고 있다.

guavac -- (Version 1.2, 2,564K)

자바 프로그래밍 언어를 위한 독립적인 컴파일러. 전부 C++로 작성되었으면 GNU C ++ 컴파일러의 지원을 받는 이식 가능한 플랫폼이나 비슷한 C++ 컴파일러를 지원하는 시스템에 이식할 수 있다.

guile -- (Version 1.2, 634K)

C로 짜여진 이식가능하고 내장 가능한 Scheme 해석기. 확장성 있는 프로그램을 만들 때 라이브러리로 링크될 수 있는 하드웨어 독립적인 실행 플랫폼을 제공한다.

guile-devel -- (Version 1.2, 1,949K)

w/ guile에 링크되는 애플리케이션을 개발할 때 필요한 프로그램.

kaffe -- (Version 1.0.b1, 1,495K)

자바 바이트 코드를 실행할 수 있도록 설계된 가상 기계. 두 가지 모드로 설정할 수 있다. 첫 번째 모드에서는 단순한 바이트 코드 해석기로 작동한다. 두 번째 모드는 □just-in-time"으로 실행하면 추상적인 코드에서 호스트 기계의 native 코드로 변환을 한다. 결국 표준으로 컴파일된 코드와 동일한 속도로 자바 코드를 실행할 수 있지만 코드 독립성이라는 장점과 유연성을 유지한다.

p2c-devel -- (Version 1.20, 24K)

파스칼을 C로 변환하는 개발 도구. 변환기를 사용할 때 유용한 헤더 파일과 몇 가지 다른 프로그램이 들어있다.

python -- (Version 1.5.1, 5,320K) □

객체 지향 스크립트 해석기 언어. 객체 동적 적재, 클래스, 모듈, 예외 처리를 지원한다. Python은 맞춤 설정을 쉽게 사용할 수 있어서 C 코드를 통해 새로운 시스템 라이브러리에 인터페이스를 쉽게 추가할 수 있다. 이 Python 패키지는 Tk와 RPM를 위한 Tix widget와 인터페이스 하는 모듈과 함께 대부분의 표준 Python 모듈이 들어있다.

python-devel -- (Version 1.5.1, 2,877K)

Python 해석기는 다른 프로그램에 대해 동적 적재 확장으로 확장 및 내장하는 것이 비교적 쉽게 되어 있다.

python-docs -- (Version 1.5.1, 2,611K)

Python 언어와 해석기에 대한 문서로 아스키 파일과 레이텍 소스 파일 모두 존재한다.

tcl -- (Version 8.0.3, 5,464K) □ □

다른 애플리케이션에서 내장할 수 있도록 설계된 간단한 스크립트 언어. tcl 애플리케이션의 간단한 예제인 tclsh가 들어있다. TCL은 TCL에 밀접히 관련된 TK 위젯 모음을 함께 사용하면 작은 그래픽 기반의 애플리케이션을 개발하는데 매우 유용하다.

tclx -- (Version 8.0.3, 1,942K) □ □

일반적인 유닉스 프로그래밍 작업에 적합하도록 만들어진 확장 프로그램. 파일, 네트워크 접근, 디버깅, 수학(math), 목록처리, 메시지 카탈로그에 대한 지원 기능이 추가되거나 향상되었다. tcl 과 tcl/tk 애플리케이션과 함께 사용할 수 있다.

tix -- (Version 4.1.0.6, 2,709K) □ □

tk 위젯 요소의 부속 프로그램으로 tk 생성 블록에서 만들어진 많은 복합 위젯이 추가되었다.  별도의 위젯으로는 콤보 상자, 파일 선택, 노트북, 틀 모양의 창, 회전 제어, 계층 목록 상자 등이 있다.

tk -- (Version 8.0.3, 5,227K) □ □

tcl 스크립트 언어와 함께 작동하도록 설계된 X 윈도우 위젯 모음. 텍스트 기반 인터페이스로 작성하는 시간 보다 빨리 완전한 기능의 GUI 인터페이스를 가진 간단한 프로그램을 만들 수 있다. Tcl/Tk 애플리케이션은 윈도우와 매킨토시 플랫폼에서도 실행을 할 수 있다.

tkinter -- (Version 1.5.1, 639K) □ □

Tcl/Tk에 기반한 Python의 그래픽 인터페이스로 설정 프로그램에서 많이 사용된다.

umb-scheme -- (Version 3.2, 1,211K)

Scheme 프로그래밍 언어를 위한 IEEE 표준에 기술된 언어를 지원하는 해석기

xlispstat -- (Version 3.52.5, 2,847K)

고도의 통계 계산을 가능하게 해주는 확장 요소를 가진 X 윈도우를 위한 리스프 프로그래밍 언어를 위한 해석기

C.4.4 Libraries

이 장의 내용은 다양한 라이브러리 패키지에 대한 정보를 설명한다. 일부는 일반적인 시스템 조작에 필요한 라이브러리이고, 나머지 부분은 사용자의 프로그램이 필요로 하는 라이브러리들이다.

cracklib -- (Version 2.7, 69K) □

보안 측면에 대해 암호를 검사한다. 검사하는 내용은 암호의 길이, 유일성, 사전에 있는 단어인지의 여부 등이다.

e2fsprogs-devel -- (Version 1.12, 257K)

ext2 파일 시스템을 조작하는 프로그램을 개발하는 데 필요한 라이브러리와 헤더파일들

faces-devel -- (Version 1.6.1, 22K) □

이것은 인터페이스 개발에 필요한 라이브러리들로 정적 라이브러리와 헤더파일을 포함한다.

gd-devel -- (Version 1.3, 7K) □

이 패키지는 GD 라이브러리로 링크된 프로그램을 개발하는 데 필요한 파일을 포함한다.

gdbm-devel -- (Version 1.7.3, 70K) □

GNU 데이터베이스 시스템인 gdbm을 사용하는 프로그램을 만들기 위한 라이브러리와 헤더파일

gdbm 데이터베이스를 사용하는 개발 계획이 있다면 이것이 필요하다.

glibc -- (Version 2.0.7, 15,608K) □

시스템에 있는 다양한 프로그램이 사용하는 표준 라이브러리로 손쉬운 판올림뿐만 아니라 기억장치와 디스크 공간을 절약하기 위해 공통적인 시스템 라이브러리 코드를 한 곳에 적재시켜 놓고 프로그램들간에 공유한다. 이 패키지는 공유 라이브러리의 가장 중요한 모음인 표준 C 라이브러리와 표준 수학함수를 가지고 있다. 이것들이 없다면 리눅스는 동작하지 않을 것이다. 또한 이 패키지는 국가별 언어 지원과 시간대 표시에 대한 데이터베이스를 포함한다.

glibc-debug -- (Version 2.0.7, 2K)

이 라이브러리는 프로그램 실행에서 오류 추적에 사용되는 디버거의 디버깅 정보를 가지는 라이브러리이다. 이 라이브러리는 공유 라이브러리 자체를 디버깅할 때만 필요하다. 이것은 공유 라이브러리를 사용하는 프로그램을 디버깅하는 데는 필요하지 않다.

glibc-devel -- (Version 2.0.7, 11,688K) □□

표준 C 라이브러리를 사용하는 프로그램(거의 모든 프로그램이 여기에 해당된다)을 개발하는 데 사용된다. 시스템은 실행 파일을 만들기 위해서 이 패키지가 포함하고 있는 헤더 파일과 목적 코드 파일들이 필요하다.

glibc-profile -- (Version 2.0.7, 10,010K)

gprof에서 사용되는 프로파일된 프로그램을 만드는데 필요하다. 프로그램에 대한 통계 분석이 제대로 이루어지기 위해서는 gprof가 이해할 수 있도록 표준 C라이브러리에 대응되는 glibc-profile 라이브러리를 사용해야 한다.

gpm-devel -- (Version 1.13, 23K) □

이 패키지는 텍스트 모드 프로그램에서 마우스를 지원하도록 하는 개발을 할 때 필요하다.

inn-devel -- (Version 1.7.2, 128K)

이 라이브러리는 INN에 대한 인터페이스를 제공하는 newsgate나 tin같은 프로그램에 필요하다.

libgr-devel -- (Version 2.0.13, 302K) □

이 패키지는 libgr을 지원하는 다양한 그래픽 파일 형식을 다루는 프로그램을 개발하는 데 필요한 모든 것이 포함되어 있다.

libjpeg-devel -- (Version 6b, 228K) □

이 패키지는 jpeg 파일 형식의 그림 파일을 조작하는 프로그램을 개발하기 위한 관련 문서를 포함한 모든 것을 담고 있다.

libpng-devel -- (Version 1.0.1, 332K) □

PNG라이브러리를 사용하는 프로그램을 개발하는 데 필요한 정적 라이브러리와 헤더파일을 포함한 패키지이다.

libstdc++-devel -- (Version 2.8.0, 1,090K) □

표준 C++ 라이브러리 명세를 만족하는 GNU 버전의 라이브러리로 이것은 C++ 언어로 개발하는 프로그램에 필요한 라이브러리와 헤더파일을 포함한다.

libtiff-devel -- (Version 3.4, 1,372K) □

이 패키지는 tiff 그림 파일을 조작하는 프로그램을 개발하는 데 필요한 모든 것을 포함한다.

libungif-devel -- (Version 3.0, 237K)

gif 파일형식의 그림파일을 불러오고 저장하는 데 사용하는 libungif를 쓰는 프로그램에 필요한 패키지 이다.

ncurses-devel -- (Version 4.2, 6,418K) □

이 패키지는 ncurses를 사용하는 프로그램을 개발하는 데 필요한 라이브러리와 헤더파일을 포함한다.

newt-devel -- (Version 0.30, 116K) □

이것은 newt를 사용하는 프로그램을 개발하는데 필요한 라이브러리와 헤더파일이다. Newt는 텍스트 모드에서 동작하는 창 형식의 도구모음으로 다양한 도구 모음과 다중창을 지원한다.

postgresql-devel -- (Version 6.3.2, 1,000K) □

이 패키지는 PostgresSQL에 대해 직접적으로 통신할 수 있는 후위 응용 프로그램을 컴파일하는 데 필요한 라이브러리와 헤더파일을 포함한다.

pythonlib -- (Version 1.22, 236K) -□ □ □

레드햇 프로그램의 다양한 부분에서 사용되는 코드를 포함하는 패키지. 이것은 다중 필드 목록상자와 비표준 글쇠 바인딩을 가진 입력 필드 위젯 및 기타에 대한 코드를 포함한다.

readline-devel -- (Version 2.2.1, 255K) □

□readline□ 라이브러리는 터미널로부터 입력 대기 상태가 있을 때는 입력 대기 상태로, 입력 대기 상태가 없을 때는 표시 없이 한 줄을 읽어 들여 이것을 반환한다. 반환된 입력 줄은 주기억장치의 공간에 할당되어 저장된다. 그래서 호출한 함수는 끝났을 때 이것을 할당 해제해야 한다. 반환된 입력 줄은 맨 끝의 새줄 문자가 삭제된 채로 반환된다. 그래서 반환된 줄에는 텍스트만 남아 있게 된다.

rpm-devel -- (Version 2.5.5, 232K) □

RPM 패키징 시스템은 RPM 패키지와 데이터베이스를 조작하기 쉽도록 만들어주는 C 라이브러리를 포함한다. 이것은 그래픽 인터페이스를 지닌 패키지 관리자와 RPM 패키지의 내부 자료를 필요로 하는 다른 도구들을 만들기 쉽게 만들어 준다.

slang-devel -- (Version 0.99.38, 472K) □

이 패키지는 slang에 기초한 응용프로그램을 만드는 데 필요한 slang 정적 라이브러리와 헤더파일을 포함하고 있다. 이것은 관련 문서를 포함하고 있다.

svgalib-devel -- (Version 1.3.0, 751K) □

이것은 SVGAlib을 사용하는 프로그램을 만드는데 필요한 라이브러리와 헤더파일이다. SVGAlib는 다양한 하드웨어 플랫폼에서 전 화면 그래픽을 사용하고, X의 오버헤드가 없는 프로그램을 가능하게 해준다.

xpm-devel -- (Version 3.4j, 217K) □

X 윈도우의 비트맵을 디스플레이 하는 응용프로그램을 개발 가능하게 해준다.

zlib-devel -- (Version 1.1.3, 162K) □

zlib는 압축라이브러리로 메모리 상에서의 압축과 압축해제, 압축되지 않은 자료에 대한 압축를 검사 등의 기능을 제공한다. 이 버전의 라이브러리는 한 가지 방법의 압축과 해제 밖에는 지원하지 않지만 나중에 다른 알고리즘에 추가될 것이고 동일한 스트림 인터페이스를 가질 것이다. 이러한 zlib를 사용하는 프로그램을 개발하는 데 필요한 라이브러리와 헤더파일을 포함하는 패키지이다.

C.4.5 System

이 장은 시스템 계층의 개발 도구를 포함하는 패키지를 나열한다.

linuxconf-devel -- (Version 1.12r5, 2,706K) □

이 패키지는 원래의 linuxconf 소스 외의 linuxconf 모듈을 개발하는 데 필요한 요소를 제공한다.

이 모음은 linuxconf 인터페이스 도구모음을 사용하는 독립적인 유틸리티를 개발하는 데도 필요하다.

C.4.6 Tools

이 장에서 설명하는 것들은 프로그래머들이 필요로 하는 유용하고 잡다한 도구를 제공하는 패키지들이다.

binutils -- (Version 2.9.1.0.14, 4,537K) □ □ □

binutils는 프로그램을 컴파일하는 데 필요한 유틸리티들의 모음이다. 이것은 어셈블러와 링커뿐 아니라 실행 파일을 다루는 다른 잡다한 프로그램을 포함한다.

bison -- (Version 1.25, 154K) □ □

이것은 yacc와 호환되는 GNU 구문 분석기이다. 많은 프로그램들이 컴파일과정에서 이 프로그램을 사용한다. bison은 개발할 시스템에서만 사용된다.

byacc -- (Version 1.9, 52K) □ □

이것은 공개 버전의 yacc 구문 분석기이다. 많은 프로그램들이 컴파일과정에서 이 프로그램을 사용한다. 개발할 경우에만 필요한 패키지이다.

cdecl -- (Version 2.5, 74K) □ □

이 패키지는 영어를 C/C++ 함수 선언으로 변환하는 패키지이다. 프로그래머에게 유용하다.

cproto -- (Version 4.4, 84K) □ □

cproto는 특정한 C 소스 파일에서 정의 되어있는 함수에 대한 함수 원형선언을 표준 출력으로 출력한다. 함수 정의는 구 형식 또는 ANSI C 형식이 될 수 있다. 추가적으로 cproto는 파일에 정의된 변수 선언을 출력할 수 있다. 만약 아무런 파일인자가 주어지지 않으면 cproto는 표준 출력으로부터 입력을 받는다.

flex -- (Version 2.5.4a, 290K) □ □

이것은 GNU의 빠른 어휘 분석기 생성기이다.  (정규 표현식에 기반한) 입력을 설명한 어휘에 기반하여 어휘 토큰 코드를 생성한다. yacc와 bison과 함께 작동하도록 설계되었으며, 구축 과정의 일부분으로 여러 프로그램에서 사용한다.

gettext -- (Version 0.10.35, 824K) □ □

gettext 라이브러리는 국가별 언어의 목록을 변경, 사용, 생성하는데 사용되는 쉬운 도구와 라이브러리를 제공한다. 이것은 국제화된 프로그램을 위한 간단하고 강력한 기능을 제공한다.

gperf -- (Version 2.7, 245K)

GNU gperf는 일정한 예약어에 대해서 완벽한 해쉬 테이블을 생성한다. 완벽한 해쉬 테이블은 간단하다. 해쉬 함수와 자료구조가 하나의 예약어에 대해서 자료구조 내에 오직 하나만이 해당되는 값을 가지는 경우를 말한다.

indent -- (Version 1.9.1, 80K)

C 소스 파일을 보기 좋게 만들 때 사용되는 들여쓰기 처리 프로그램이다.

xwpe -- (Version 1.5.12a, 712K)

XWPE는 네 가지 프로그램이 포함된 패키지로 각 프로그램은 we, wpe, xwe xwpe이다. 이들은 기본적으로 동일한 프로그래머용 편집기 개발 환경이다. MS 윈도우의 개발환경 IDE중 하나를 사용해왔고 X 윈도우 상에서도 비슷한 것을 찾는다면, 이것을 사용하면 좋을 것이다. 또한 X 윈도우와 동일한 텍스트 모드의 버전도 포함하고 있어서 개발환경이 어떠한 상황이 되든 xwpe를 사용하는 것이 가능하다. 이 패키지는 기본 xwpe 라이브러리와 텍스트 모드 프로그램을 포함하고 있다. 여기에 해당되는 X 윈도우 프로그램은 xwpe-X11 패키지에 포함되어 있다.

C.4.7 버전 제어

이장에서 설명하는 패키지는 프로그래머에게 그들의 프로그램에 대해서 다양한 버전의 제어를 가능하게 해주는 프로그램이다.

cvs -- (Version 1.10.2, 3,024K) □ □

CVS는 단일 디렉토리에 있는 파일의 모음에서 개정된 내용에 대한 제어가 이루어진 파일을 가진 계층적인 디렉토리 모음으로 개념을 확장한 rcs 개정판 제어 시스템의 전위 인터페이스 프로그램이다. 이러한 디렉토리와 파일은 소프트웨어 릴리즈 버전에 따라 함께 묶여져 나올 수 있다. CVS는 여러 명의 개발자간에 소스 파일을 협력해서 작업을 하는 경우에 개발자들 간의 조정을 담당하고 이러한 소프트웨어 버전을 관리하는 데 필요한 기능을 제공한다.

rcs -- (Version 5.7, 487K) □ □

개정판 제어 시스템(RCS)은 다양한 파일에 대한 여러 개의 개정판을 관리한다. RCS는 저장과 복구, 변한 내용에 대한 기록, 인증, 변형판의 조합 등을 자동처리 해준다. RCS는 자주 개정되는 텍스트에 대해서 유용하다. 예를 들면 프로그램 소스 파일, 문서 파일, 그래픽, 기사, 형식문서 등이 있다.

C.5 문서

리눅스 관련 정보를 담은 패키지. 여기에는 많은 정보가 있다. 디스크 공간이 충분히 있으면 문서 패키지를 설치한다. 하지만 모든 howto 문서가 필요하지 않을 것이다. 대개 howto와 howto-html 문서 정도면 적당할 것이다.

faq -- (버전 5.2, 1,116K)

sunsite.unc.edu에 있는 리눅스 관련 FAQ(Frequently Asked Questions) 패키지. FAQ는 리눅스에 관해 가장 좋은 정보 중의 하나이다.

gimp-manual -- (버전 1.0.0, 17,979K)

GIMP 사용자 설명서(GUM) 1.0.0. 약 일년간의 작업을 거친 첫 번째 정식 설명서이다. HTML, PS, PDF, FM(FrameMaker) 소스 코드로 이용할 수 있다. 설명서의 라이선스에 관해서는 COPYING 파일을 읽어보기 바란다. 설명서는 590페이지에 달하며 이전 버전보다 몇 가지 개선된 내용이 있다. GIMP를 어떻게 쓸지 도움이 될 수 있는 새로운 갤러리 장을 자세하게 보자. 갤러리는 GIMP로 무엇을 다룰 수 있는지 보여주는 좋은 예이다. 설명서의 모든 그림은 100% 순수하게 GIMP로 제작한 그림이다. HTML 버전은 온라인에서 볼 수 있으며 PS와 PDF는 일반적인 프린터에서 출력하거나 온라인에서 볼 수 있다. FM 소스 코드는 그래픽 문서 프로젝트(Graphic Documentation Project)에 기부할 때만 이용할 수 있다. GIMP 사용자 설명서에 대한 기부는 COPYING 파일에 있는 라이선스 동의에 같이 들어있다.

HTML 버전의 설명서는 온라인에서 보기에는 좋지만 PDF나 포스트스크립트 형식과 동일한 질을 바랄 수 없다. HTML 버전은 뒤에 더 개선되어야 한다. 이번 버전은 시간에 쫓겨 만들어졌다. 설명서의 다른 형식을 찾는다면 ftp://manual.gimp.org/pub/manual을 점검한다.

howto -- (버전 5.2, 9,803K)

howto 문서는 리눅스 문서를 가장 잘 모아 놓았으며 1998년 4월에 편집되었다. 새로운 버전의 문서를 찾으려면 http://sunsite.unc.edu/linux를 찾아본다. 현재의 패키지에서 버전을 확인하려면 /usr/doc/HOTWO를 본다.

howto-dvi -- (버전 5.2, 3,306K)

howto 문서의 DVI 버전으로 텍스로 볼 수 있다.

howto-html -- (버전 5.2, 11,214K)

howto 문서의 HTML 버전으로 웹브라우저로 볼 수 있다.

howto-ps -- (버전 5.2, 6,417K)

howto 문서의 포스트스크립트 버전으로 고스트뷰로 볼 수 있고 포스트스크립트 프린터로 출력할 수 있다.

howto-sgml -- (버전 5.2, 8,498K)

howto 문서의 SGML 버전. howto 문서의 소스 파일이다(linuxdoc-sgml 사용).

howto-korean -- (버전 5.2, 14,272K)

howto 문서의 한글 번역 버전으로 모든 문서가 번역된 것은 아니기 때문에 howto 문서가 모두 필요하면 영문 버전의 howto 문서를 설치해야 한다.

howto-chinese -- (버전 5.2, 13,708K)

howto-croatian -- (버전 5.2, 1,872K)

howto-french -- (버전 5.2, 38,101K)

howto-german -- (버전 5.2, 11,760K)

howto-greek -- (버전 5.2, 2,822K)

howto-indonesian -- (버전 5.2, 3,727K)

howto-italian -- (버전 5.2, 15,179K)

howto-japanese -- (버전 5.2, 25,676K)

howto-polish -- (버전 5.2, 15,832K)

howto-serbian -- (버전 5.2, 37K)

howto-slovenian -- (버전 5.2, 2,137K)

howto-spanish -- (버전 5.2, 18,413K)

howto-swedish -- (버전 5.2, 4,867K)-

howto-turkish -- (버전 5.2, 816K)

각 국가별 howto 문서의 번역판으로 모든 문서가 번역되지 않았기 때문에 howto 문서가 모두 필요하면 영문 버전의 howto 문서를 설치해야 한다.

indexhtml -- (버전 5.2, 6K) □ □

레드햇 html 인덱스 페이지.

install-guide -- (버전 3.2, 1,373K)

설치와 리눅스 시작 안내에 관한 일반적인 안내서. 설치 관련된 내용은 레드햇 리눅스 설명서를 보면 된다. 많은 내용이 중복되지만 다른 유용한 정보가 있다.

lpg -- (버전 0.4, 1,739K)

리눅스 시스템 프로그래밍 안내서. 리눅스 문서 프로젝트에 관한 보다 많은 정보는 http://sunsite.unc.edu/LDP를 참조한다.

man-pages -- (버전 1.21, 1,575K) □ □

프로그래밍 API 설명서로 파일 형식, 프로토콜 등에 관련한 맨 페이지의 모음이다.

1절 = 사용자 명령(소개만 있음) / 2절 = 시스템 호출 / 3절 = libc 호출 / 4절 = 장치(hd, sd 등) / 5절 = 파일 형식과 프로토콜(wtmp, /etcpasswd,nfs 등) / 6절 = 게임(소개만 있음) / 7절 = 규정, 매크로 패키지 등(nroff, ascii 등) / 8절 = 시스템 관리(소개만 있음)

nag -- (버전 1.0, 1,217K)

리눅스 시스템 네트워크 관리 안내서. 리눅스 문서 프로젝트에 관해서는 더 많은 정보는 http://sunsite.unc.edu/LDP에서 확인을 하면 되며 갱신된 내용이 있을 수 있다.

rhl-alpha-install-addend-en -- (버전 5.2, 196K)

레드햇 리눅스 5.2 알파 설치 부록 HTML 버전의 복사본.

rhl-install-guide-en -- (버전 5.2, 1,472K)

레드햇 리눅스 5.2 설치 부록 HTML 버전의 복사본. 온라인에서는 http://www.redhat.com에서 볼 수 있다.

sag -- (버전 0.6, 644K)

리눅스 시스템 관리 안내서. 리눅스 문서 프로젝트에 관한 보다 많은 정보는 http://sunsite.unc.edu/LDP를 참조한다.

C.6 확장

레드햇 리눅스에서 제공하는 언어 확장 기능.

C.6.1 일본어

레드햇 리눅스에서 제공하는 일본어 확장 기능.

kterm - (버전 6.2.0, 147k)

Kanji 터미널 에뮬레이터. Kanji를 좋아하는 사람을 위해 일반적인 영어 문자 세트가 아닌 Kanji 문자 세트를 사용한다.

C.7 게임

레드햇 리눅스 사용자에게 제공하는 오락 패키지. 부록의 마지막의 X11절에 X 윈도우 시스템에서 작동하는 게임 패키지가 있다.

bsd-games -- (Version 2.1, 1,786K)

게임 묶음. 흥미 있는 게임은 backgammon, cribbage, hangman, monop, primes, trek, battlestar 등이다.

christminster -- (Version 3, 223K)

xzip을 사용한 텍스트 어드벤처 게임.

colour-yahtzee -- (Version 1.0, 19K)

유명한 게임인 yahtzee의 터미널 모드 버전. 주사위와 보드 게임이다.

fortune-mod -- (Version 1.0, 2,337K)

유명한 행운 프로그램. 프로그램을 실행할 때마다 임의대로 행운을 출력한다. 사용자의 .login 파일에 넣어놓으면 사용자가 로그인할 때마다 볼 수 있다.

gnuchess -- (Version 4.0.pl77, 1,328K)

유명한 GNU 체스 프로그램. 텍스트 기반이지만 X 기반 체스 프로그램을 실행하는 xboard와 결합하여 사용할 수 있다.

mysterious -- (Version 1.0, 163K)

브라이언 하우아스의 텍스트 기반 미스테리 어드벤처 게임 시리즈

pinfocom -- (Version 3.0, 170K)

예전의 infocom 호환 텍스트 어드벤처 게임의 해석기.

scottfree -- (Version 1.14, 31K)

텍스트 어드벤처 게임의 해석기.

trojka -- (Version 1.1, 15K)

떨어지는 블록을 조정하여 적어도 세 개의 블록을 수평이나 대각선 방향으로 또는 둘다 유형을 맞추는 게임이다. 유형을 맞추면 블록이 없어지고 위의 블록이 화면의 꼭대기에 도달하면 게임이 끝난다.

vga_cardgames -- (Version 1.3.1, 110K)

리눅스 콘솔에서 실행하는 다양한 카드 게임. 크론다이크, 오우 헬, 솔리테어, 스파이더 등이 있다.

vga_gamespack -- (Version 1.3, 54K)

SVGAlib을 사용하는 리눅스 콘솔용 게임. 오델로, 마인스위퍼, 커넥트 4 등이 있다.

C.8 라이브러리

다양한 라이브러리를 담은 패키지. 라이브러리는 다른 프로그램에서 이미지 조작, 오래된 바이너리 프로그램 형식과의 호환성, 화면 조작 등 다양한 기능을 지원할 때 사용한다.

aout-libs -- (Version 1.4, 3,663K)

오래된 리눅스 시스템은 최근에 사용하는 ELF 대신에 a.out이라고 불린 프로그램 형식과 공유 라이브러리를 사용하였다. 예전의 a.out 형식 프로그램을 실행하기 위해서는 aout-libs에서 제공하는 a.out 형식 라이브러리가 필요하다. 텍스트, X, SVGAlib 모드의 대부분의 a.out 형식 패키지를 실행할 수 있다.

gd -- (Version 1.3, 312K) □

C 프로그램에서 GIF 이미지 파일을 쉽게 만들고 조작할 수 있도록 하는 라이브러리.

gdbm -- (Version 1.7.3, 25K) □

데이터베이스 색인 라이브러리. C 애플리케이션을 만들고 간단하면서 효율적인 데이터베이스에 접근해야 하거나 데이터베이스를 사용하는 C 애플리케이션을 만들 때 유용하다.

glib -- (Version 1.0.6, 54K) □

실용적인 기능의 편리한 라이브러리. 개발 라이브러리와 헤더는 gtk+-devel에 들어있다.

gmp -- (Version 2.0.2, 111K)

GNU의 임의적인 정밀도 라이브러리로서 gmp를 링크하면 저 수준, 또는 고수준의 인터페이스로 마음대로 대규모의 숫자를 다룰 수 있다.

gmp-devel -- (Version 2.0.2, 313K)

프로그램에서 gmp 라이브러리를 사용할 때 쓰는 정적 라이브러리, 헤더 파일, 문서 등이 들어있다. gmp-devel 라이브러리를 사용하는 자신만의 프로그램을 만들 수 있다.

gsl -- (Version 0.3b, 455K)

GNU 과학용 라이브러리. gsl을 링크하면 과학용 컴퓨팅에서 발생하는 많은 문제를 다룰 수 있다.

ld.so -- (Version 1.9.5, 246K) □

많은 패키지에서 필요한 공유 라이브러리 설정 도구인 ldconfig가 들어있다. 또한 리눅스 libc 5 용의 공유 라이브러리 로더와 동적 로더가 포함되어 있다.

libc -- (Version 5.3.12, 5,293K) □

예전의 리눅스 시스템(레드햇 리눅스 릴리즈 2.0부터 4.2)은 libc 5에 기반하였다. glibc(libc 6) 기반에서 예전의 애플리케이션을 실행하기 위해 libc 5에 기반한 라이브러리가 들어있다.

libelf -- (Version 0.6.4, 74K)

ELF 목적 파일 형식의 내부에 접근할 수 있도록 도와주는 라이브러리. 심볼을 체크하는 등 ELF 파일의 다양한 부분을 조사할 수 있다.

libg++ -- (Version 2.7.2.8, 1,897K) □

부가적인 GNU 도구에 같이 있는 표준 C++ 라이브러리의 GNU 버전. C++ 애플리케이션 실행에 필요한 공유 라이브러리가 들어있다.

libgr -- (Version 2.0.13, 206K) □ □

FBM, PBM, PGM, PNM, PPM, REL 등 다양한 그래픽 파일 형식을 다룰 수 있는 라이브러리.

libjpeg -- (Version 6b, 243K) □ □

jpeg 이미지를 조작하는 간단한 클라이언트에 함께 있는 jpeg 이미지 조작 기능의 라이브러리.

libjpeg6a -- (Version 6a, 131K)

jpeg 이미지를 조작하는 간단한 클라이언트에 함께 있는 jpeg 이미지 조작 기능의 라이브러리.

libpng -- (Version 1.0.1, 244K) □ □

PNG 라이브러리는 PNG 형식의 그래픽 파일을 만들고 조작하는데 사용하는 루틴을 모아놓은 라이브러리이다. PNG 형식은 GIF 형식을 대체하기 위해 설계되었으며 많은 개선과 확장된 기능이 있다.

libstdc++ -- (Version 2.8.0, 366K) □

부가적인 GNU 도구에 같이 있는 표준 C++ 라이브러리의 GNU 버전. C++ 애플리케이션 실행에 필요한 공유 라이브러리가 들어있다.

libtermcap -- (Version 2.0.8, 55K) □

termcap 데이터베이스에 접근할 수 있는 라이브러리. 여러 가지 작업에 기본으로 필요하므로 시스템에 설치되어야 한다.

libtermcap-devel -- (Version 2.0.8, 11K) □

termcap 데이터베이스에 접근할 수 있는 프로그램을 만들 때 사용하는 개발 라이브러리와 헤더 파일이 들어있다.

libtiff -- (Version 3.4, 602K) □ □

TIFF 이미지를 조작하는 기능의 라이브러리.

libungif -- (Version 3.0, 37K) □ □

GIF를 불러오고 저장하는 공유 라이브러리. LZW 압축을 사용하지 않으면 압축하지 않은 gif 알고리즘을 사용하여 저장한다.

ncurses -- (Version 4.2, 2,334K) □

cursess 라이브러리 루틴을 이용하여 사용자가 적당한 방법으로 문자 화면을 갱신하는 터미널 독립적인 방법을 사용할 수 있다. □새로운 curses"(ncurses)이며 더 이상 개발되지 않는 4.4BSD의 고전적인 curses를 대체하고 있다.

ncurses3 -- (Version 1.9.9e, 317K)

cursess 라이브러리 루틴을 이용하여 사용자가 적당한 방법으로 문자 화면을 갱신하는 터미널 독립적인 방법을 사용할 수 있다. □새로운 curses"(ncurses)이며 더 이상 개발되지 않는 4.4BSD의 고전적인 curses를 대체하고 있다.

newt -- (Version 0.30, 122K) □

slang 라이브러리에서 만들어진 텍스트 모드의 창 도구모음. 컬러 텍스트 모드 애플리케이션에서 스택 윈도우, 누름 단추, 체크 상자, 라디오 단추, 목록, 항목 필드, 라벨, 전시 문자열을 사용할 수 있다. 스크롤 막대가 지원되며 추가 기능 제공을 통해 폼을 집어넣을 수 있다. newt 패키지에는 whiptail의  대체물인 /usr/bin/diallog와 함께 newt로 제작된 프로그램의 공유 라이브러리가 들어있다.

p2c -- (Version 1.20, 495K)

파스칼을 C로 변환하는 프로그램. 파스칼 소스 코드를 C 소스 코드로 변환할 때 사용하며 표준 C 컴파일러(gcc 등)로 컴파일할 수 있다.

readline -- (Version 2.2.1, 250K) □

터미널에서 줄을 읽어서 그 내용을 반환하며 사용자가 표준 이막스 편집 글쇠로 그 줄을 편집할 수 있도록 한다. 사용하기 쉽고 직관적인 인터페이스를 만들 수 있다.

slang -- (Version 0.99.38, 164K) □

slang은 C 호환 구문을 지원하는 강력한 스택 기반의 해석기이다. 처음부터 프로그램을 확장 가능하게 하기 위하여 프로그램에 쉽게 내장할 수 있도록 설계되었다. slang은 안전하고 효율적인 방식으로 슬랭을 내장하는 애플리케이션을 빠르게 개발하고 디버깅할 수 있는 방법을 제공한다.

sox-devel -- (Version 12.14, 518K)

sox 라이브러리를 사용하여 애플리케이션을 컴파일할 때 사용하는 라이브러리.

svgalib -- (Version 1.3.0, 718K) □

다양한 하드웨어 플랫폼에서 전 화면 그래픽을 사용하는 애플리케이션에 필요한 라이브러리. 많은 게임과 유틸리티에서 그래픽 접근을 할 때 SVGAlib을 활용할 수 있으며 X 윈도우보다 적은 메모리를 가진 기계에 적당하다.

zlib -- (Version 1.1.3, 57K) □

zlib 압축 라이브러리는 압축되지 않은 자료의 보전 검사를 포함한 메모리 압축과 압축 해제 기능을 지원한다. 현재 버전에서는 한가지 압축 방식을 지원하지만 이후 다른 알고리즘을 추가할 수 있으며 비슷한 인터페이스를 사용할 것이다. zlib 라이브러리는 몇 가지 시스템 프로그램에서 사용된다.

C.9 네트워킹

네트워킹 관련 패키지. 쉽게 찾을 수 있도록 몇 부분으로 나누었다.

C.9.1 관리

기본 네트워크 관리 기능을 제공하는 패키지이다.

anonftp -- (버전 2.6, 1,046K) □

익명 ftp 접근을 제공하는데 필요한 파일. 인터넷에서 프로그램을 제공하는 가장 일반적인 방법으로 다른 사용자들이 계정 없이 파일을 내려받을 수 있다.

caching-nameserver -- (버전 5.2, 3K) □

간단한 캐싱 네임 서버로 bind(DNS 네임 서버)를 위한 설정 파일이 들어있다. 전화접속을 사용하는 많은 사용자들이 (bind와 함께) 캐싱 네임 서버를 사용하며 네임 서버의 이름 변환 속도를 빠르게 해준다.

net-tools -- (버전 1.46, 190K) □

리눅스 시스템에서 네트워크 설정에 필요한 기본적인 도구를 모아놓은 패키지로 ifconfig, route, netstat, rarp와 기타의 작은 도구들이 들어있다.

nfs-server-clients -- (버전 2.2beta37, 10K) □ □

NFS 서버와 상호작용 하는 클라이언트 프로그램으로 NFS 볼륨을 마운트 하는 데 필요하지는 않다. showmount 명령을 사용해서 마운트된 파일 시스템을 볼 경우에 사용되는 프로그램이다.

tcp_wrappers -- (버전 7.6, 242K) □ □

SYSTAT, FINGER, FTP, TELNET, RLOGIN, RSH, EXEC, TFTP, TALK 등의 네트워크 서비스에서 들어오는 요청에 대해서 모니터링하고 필터링할 수 있는 패키지이다.

C.9.2 데몬

네트워크 관련 데몬 패키지. 데몬은 다양한 시스템 기능을 수행하는 자동 실행 프로그램이다.

am-utils -- (버전 6.0a16, 1,978K)

인기있는 BSD 자동 마운트 도구인 Amd의 차세대 프로그램이다. 추가로 여러 가지가 갱신되었고, 포트, 프로그램, 기능, 버그 수정 등이 되었다. Amd는 버클리 자동 마운트 데몬이다. NFS 파일 시스템, 시디롬, 로컬 드라이브 등 모든 유형의 파일 시스템을 자동으로 마운트하고 사용하지 않을 때는 마운트 해제할 수 있다. 기본 설정을 하면 /net/[hostname] 디렉토리로 이동하여 호스트에서 export 할 수 있는 디렉토리 목록을 가져온다.

apache -- (버전 1.3.2, 1,904K) □

자유롭게 사용할 수 있는 완전한 기능의 웹 서버 프로그램이며 가장 많이 쓰고 있다.

apache-devel -- (버전 1.3.2, 257K)

아파치 1.3.1의 소스 코드이며 DSOs(동적 고유 객체. dynamic shared objects)를 만들 수 있는 apxs 바이너리도 같이 들어있다. 아파치 추가 모듈을 컴파일하거나 개발할 때 설치해야 한다.

autofs -- (버전 3.1.1, 100K)

파일 시스템을 자동으로 마운트, 언마운트 하는 데몬. 네트워크 파일 시스템, 시디롬, 플로피 등을 마운트 하는 데 사용된다.

bind -- (버전 8.1.2, 496K) □

호스트 이름의 IP 주소 변환을 정의하는 네임 서버. 워크스테이션에서 캐쉬 네임 서버로 사용할 수 있지만 일반적으로는 전체 네트워크에서 한 대만 필요하다.

bootp -- (버전 2.4.3, 101K)

bootp 프로토콜 서버. 네트워크 관리자가 서버의 /etc/bootptab 파일을 통해 클라이언트의 네트워크 정보를 설정할 수 있어 클라이언트에서 자동으로 네트워크 정보를 얻을 수 있다. bootp 서버는 기본적인 DHCP 지원을 하지만 DHCP 지원이 필요하면 더 완전한 dhcpd 패키지를 쓰는 것이 좋다.

cleanfeed -- (버전 0.95.7b, 107K) □

뉴스를 가져올 때 스팸을 제거하는 INN을 위한 자동 필터.

dhcp -- (버전 2.0b1pl6, 437K)

인터넷 소프트웨어 협회의 dhcp 패키지 두 번째 릴리즈. 서버와 중계 대행(relay agent)을 한다.

dhcpcd -- (버전 0.70, 34K) □

draft-ietf-dhc-dhcp-09(-r 선택 사항을 지정하지 않았을 때)와 RFC1541 (-r 선택 사항을 지정했을 때)에서 지정한 DHCP 클라이언트 기능 수행. DHCP 서버에서 호스트 정보(IP 주소, 넷마스크, 브로드캐스트 주소 및 기타)를 가져오며 실행하고 있는 시스템의 네트워크 인터페이스를 설정한다. 또한 RFC1541 나 draft-ietf-dhc-dhcp-09에 따른 임대 시간(lease time)을 갱신한다.

gated -- (버전 3.5.10, 2,248K)

다중 라우팅 프로토콜을 제어하는 라우팅 데몬이며 routed와 egpup을 대체하는 프로그램. 현재는  RIP, BGP, EGP, HELLO, OSPF 라우팅 프로토콜을 제어한다. gated 프로세스는 모든 라우팅 프로토콜이나 라우팅 프로토콜의 일부 하부 집합을 실행할 수 있도록 설정할 수 있다.

imap -- (버전 4.4, 1,419K)

POP(Post Office Protocol)과 IMAP 우편 프로토콜 서버. POP 프로토콜은 사용자의 전자우편을 모으고 읽을 수 있도록 사용자의 지역 시스템에 내려받는 일을 한다. IMAP은 POP의 기능을 제공하며 사용자가 전자우편을 지역 우편상자로 옮기지 않고 원격 시스템에서 전자우편을 읽을 수 있다.

inn -- (버전 1.7.2, 3,217K) □

뉴스서버로서 개인 newsfeeds와 함께 유즈넷 뉴스를 다룰 수 있도록 설정할 수 있다. /usr/doc에 INN을 설정하는데 관련된 많은 정보가 있다.

intimed -- (버전 1.10, 96K)

네트워크로 연결된 시스템에 시간을 알려주는 서버. 네트워크에 연결된 시스템에서 적절한 시간으로 동기화할 때 유용하다.

mars-nwe -- (버전 0.99pl10, 533K) □

MARS는 넷웨어 호환의 파일/프린터 서버이다. 리눅스 시스템을 넷웨어의 IPX 프로토콜을 사용하는 넷웨어 기반의 파일/프린터 서버로 사용할 수 있다.

mod_perl -- (버전 1.15, 1,407K)

HTML 파일 안에서 펄 언어를 사용할 수 있는 강력한 아파치 모듈.

mod_php -- (버전 2.0.1, 667K)

PHP는 아파치 서버에 스크립트와 데이터베이스 연결 기능을 제공하는 강력한 아파치 모듈이다.

mod_php3 -- (버전 3.0.4, 2,935K)

PHP3은 아파치 서버에 스크립트와 데이터베이스 연결 기능을 제공하는 강력한 아파치 모듈이다.

nfs-server -- (버전 2.2beta37, 155K) □

NFS와 마운트 데몬은 다른 시스템에서 파일 시스템을 사용할 수 있도록 하는 NFS 서버를 만들 때 사용한다. NFS파일 시스템을 마운트하는 데는 필요하지 않다. 이 기능은 이미 리눅스 커널에 있다.

portmap -- (버전 4.0, 43K) □ □

포트 매퍼(portmapper)는 NFS와 NIS 등의 프로토콜에서 사용하는 RPC 연결을 관리한다. 포트맵 서버는 RPC 메커니즘을 사용하는 프로토콜의 서버로서 작동하는 시스템에서 실행되어야 한다. 포트 매퍼는 hosts.allow,deyny 유형의 접근 제어를 지원한다.

ppp -- (버전 2.3.5, 275K) □ □

PPP 지원을 위한 데몬과 문서. PPP 지원이 내장된 커널 2.0 이후 버전이 필요하다. 레드햇 커널은 기본적으로 모듈로 PPP지원을 한다.

sendmail -- (버전 8.8.7, 553K) □

우편 전송 프로그램(MTA)으로 시스템간에 전자우편을 주고받는데 사용한다. 센드메일은 일반적인 인터넷 우편 라우팅 기능, 알리아싱 및 포워딩 기능, 네트워크 게이트웨이에 대한 자동 라우팅, 유연한 설정 등을 지원한다. 인터넷을 통해 전자우편을 주고받은 기능이 필요하면 센드메일이 필요하다.

squid -- (버전 1.1.22, 919K)

웹 클라이언트를 위한 고성능의 프록시 서버 캐쉬 서버로서 FTP, gopher, HTTP를 지원한다. 전통적인 캐쉬 소프트웨어와 다르게 스퀴드는 single, non-blocking, I/O-Driven 프로세스의 모든 요청을 다룬다. 메타 자료와 특히 램에서 캐쉬된 자료를 보관하며, DNS lookups를 캐쉬하고 non-blocking DNS lookups를 지원하며 실패한 요청의 네거티브 캐쉬를 수행한다. 메모리가 부족하면 스퀴드 패키지의 NOVM 버전을 확인해야 한다. 스퀴드는 SSL, 확장된 접근 제어, 로깅에 대한 모든 요청을 지원한다. 가벼운 캐쉬 프로토콜을 사용하여 스퀴드 캐쉬는 계층적으로 배열되거나 추가적인 대역폭 저장을 잡아낼 수 있다. 스퀴드는 주 서버 프로그램인 squid, 도메인 네임 시스템 lookup 프로그램인 dnsserver, FTP 자료를 가져오는 프로그램인 ftpget, 관리와 클라이언트 도구로 구성되어 있다. squid가 시작할 때 dnsserver 프로세스의 개수를 지정할 수 있는데 각 프로세스는 single, blocking 도메인 네임 시스템 lookup을 수행한다. 이러한 과정을 통해 캐쉬에서 DNS lookup을 기다리는 시간을 줄일 수 있다.

squid-novm -- (버전 1.1.22, 911K)

스퀴드의 NOVM 버전은 파일 기술자 확장으로 프록시 작업에 작은 메모리를 사용한다(NOVEM은 No Virtual Memory를 나타낸다). 프록시/캐쉬 서버의 메모리가 부족할 때 유용하다. 웹 클라이언트를 위한 고성능의 프록시 캐쉬 서버로서 FTP, gopher, HTTP를 지원한다. 전통적인 캐쉬 소프트웨어와 다르게 스퀴드는 single, non-blocking, I/O-Driven 프로세스의 모든 요청을 다룬다.  메타자료와 특히 램에서 캐쉬된 자료를 보관하며, DNS lokkups를 캐쉬하고 non-blocking DNS lookups를 지원하며 실패한 요청의 네거티브 캐쉬를 수행한다. 메모리가 부족하면 스퀴드 패키지의 NOVM 버전을 확인해야 한다.  스퀴드는 SSL, 확장된 접근 제어, 로깅에 대한 모든 요청을 지원한다. 가벼운 캐쉬 프로토콜을 사용하여 스퀴드 캐쉬는 계층적으로 배열되거나 추가적인 대역폭 저장을 잡아낼 수 있다. 스퀴드는 주 서버 프로그램인 squid, 도메인 네임 시스템 lookup 프로그램인 dnsserver, FTP 자료를 가져오는 프로그램인 ftpget, 관리와 클라이언트 도구로 구성되어 있다. squid가 시작할 때 dnsserver 프로세스의 개수를 지정할 수 있는데 각 프로세스는 single, blocking 도메인 네임 시스템 lookup을 수행한다. 이러한 과정을 통해 캐쉬에서 DNS lookup을 기다리는 시간을 줄일 수 있다. 스퀴드는 ARPA-funded Harvest project에서 만들었다.

ucd-snmp -- (버전 3.5.3, 2,105K) □ □

카네기 멜론 대학의 SNMP(Sinple Network Management Protocol) 버전 2(SNMPv2)에서 파생된 프로그램. 네트워크를 관리하고 계산하는데 유용하다.

wu-ftpd -- (버전 2.4.2b18, 297K) □

wu-ftpd는 ftp 클라이언트에 FTP 파일을 제공하는 데몬 프로그램이다. NFS 등의 네트워크 파일 시스템을 사용하지 않고 컴퓨터 사이에서 프로그램을 교환할 때, 익명 FTP 사이트를 운영할 때(이런 경우 anonftp 패키지를 설치하고 싶을 것이다) 유용하다.

xntp3 -- (버전 5.93, 2,043K)

UTC 표준시간에 컴퓨터의 시간을 동기화시킬 때 사용하는 유틸리티와 데몬 패키지. rdate 프로그램과 비슷한 ntpdate, 시스템의 시간을 지속적으로 조절하는 데몬인 xntpd 프로그램이 포함되어 있다.

ypserv -- (버전 1.3.5, 261K)

표준 NIS/YP 네트워크 프로토콜을 수행하는 프로그램. 네트워크에서 호스트 이름, 사용자 이름, 기타 정보 데이터베이스를 배포하는데 사용한다. NIS 서버이며 NIS 클라이언트가 필요 없다.

C.9.3 개발

네트워크 관련 코드를 개발하는데 사용하는 패키지를 설명한다.

bind-devel -- (버전 8.1.2, 230K)

bind 8.x.x의 DNS 개발에 필요한 파일과 라이브러리이다.

C.9.4 뉴스

유즈넷 뉴스에 관련된 패키지를 설명한다.

inews -- (버전 1.7.2, 47K)

일부 뉴스 리더에서 뉴스를 올리는데 사용하는 프로그램. 일관성 검사, 헤더 재형식, nnn.conf에 지정한 뉴스서버에 글 올리기 등의 기능이 있다.

C.9.5 유틸리티

네트워킹 관련 편리한 유틸리티를 제공하는 패키지.

bind-utils -- (버전 8.1.2, 471K) □ □

네임 서버를 질의하고 호스트를 찾는 유틸리티 모음. 주어진 호스트 이름에 IP 주소를 결정할 수 있고 등록된 도메인과 네트워크 주소와 관한 정보를 찾을 수 있다.

bootpc -- (버전 061, 35K) □ □ □

네트워크를 통해 서버에서 네트워크 정보를 가져올 수 있는 리눅스용 bootp 클라이언트 프로그램. 반환되는 정보를 요청하는 일반적인 브로드캐스트를 보낸다.

comanche -- (버전 0.6a, 189K)

아파치 설정 관리자. 아파치 서버 프로젝트의 전위 프로그램으로서 아파치는 인터넷에 가장 유명하고 빠르며 신뢰성 있는 웹서버이다. www.apache.org에서 더 많은 정보를 찾을 수 있다. 아파치 설정 파일의 변화에 대한 정보를 담은 RCS를 같이 제공한다.

dip -- (버전 3.3.7o, 86K) □ □

모뎀으로 전화를 할 때 사용하는 자동 스크립트를 제공하는 프로그램. PPP와 SLIP 접속을 설정할 때 유용하지만 모두 필요한 것은 아니다. SLIP 접속을 설정하는데는 netcfg를 사용한다.

fwhois -- (버전 1.00, 7K) □ □

whois 프로그램. 전세계의 whois 데이터베이스에 저장된 사람에 대한 정보를 찾을 수 있다.

ipxutils -- (버전 1.0, 44K) □

리눅스에서 IPX 인터페이스와 네트워크를 설정하고 디버깅하는데 필요한 유틸리티. IPX는 넷웨어에서 자료를 전송할 때 사용하는 저 수준 프로토콜이다.

ltrace -- (버전 0.3.4, 70K)

지정한 명령을 존재할 때까지 실행하는 프로그램. 실행되는 프로세스에서 호출하는 동적 라이브러리 호출과 프로세스에서 받는 시그널을 가로채고 기록한다. 또한 프로그램에서 실행되는 시스템 호출을 가로채고 출력할 수 있다.

mgetty -- (버전 1.1.14, 1,166K)

모뎀 등 직렬 라인을 통해 로그인할 수 있는 지능적인 getty 프로그램. 자동 콜백(callback) 기능이 있고 팩스를 지원한다(팩스 지원 사용을 완전하게 설치해야 함).

mgetty-sendfax -- (버전 1.1.14, 271K)

팩스를 주고받기 위한 팩스 클래스 2 모뎀을 지원. 간단한 팩스 대기열을 지원한다.

mgetty-voice -- (버전 1.1.14, 622K)

음성 우편 확장 기능을 가진 모뎀을 지원.

nc -- (버전 1.10, 104K)

NetCat은 최소 네트워크 클라이언트이다. 임의의 포트에서 터미널 TCP 연결을 하거나 UDP를 통해 위조 연결을 할 수 있다.

ncpfs -- (버전 2.2.0, 446K) □

NCP 프로토콜을 이해하는 리눅스 파일 시스템인 ncpfs 파일 시스템을 설정하고 사용할 때 쓰는 패키지. NCP 프로토콜은 노벨 넷웨어 클라이언트가 넷웨어 서버와 통신할 때 사용한다.

rdate -- (버전 0.960923, 5K) □ □

네트워크에 있는 다른 시스템에서 시간을 가져오는 프로그램. 루트로 실행하면 지역 시간을 질의한 시스템의 시간으로 설정한다.

rdist -- (버전 1.0, 118K) □ □

다중 호스트에서 동일한 파일 복사본을 유지하는 프로그램. 소유자, 그룹, 모드, 파일의 변경시간을 보관하며 실행하는 프로그램을 갱신할 수 있다.

traceroute -- (버전 1.4a5, 29K) □ □

TCP/IP를 통과하는 라우트 패킷을 출력. traceroute가 대상 컴퓨터에 실행하고 있는 컴퓨터의 패킷을 라우팅하는 컴퓨터의 이름(이름이 없으면 주소)이 출력되며 대상 컴퓨터에서 패킷 승인을 받는데 걸리는 시간도 같이 출력된다. 네트워크의 문제를 진단할 때 매우 유용하다.

ucd-snmp-devel -- (버전 3.5.3, 583K)

UCD SNMP 용의 개발 라이브러리와 헤더 파일. 네트워크 관리자가 네트워크 관리를 위한 프로그램을 개발할 수 있도록 한다.

ucd-snmp-utils -- (버전 3.5.3, 731K) □ □

UCD SNMP를 사용하기 위한 다양한 유틸리티. snmpwalk, snmptest 등의 유틸리티가 들어있다.

yp-tools -- (버전 2.0, 153K) □ □

FreeBSD의 YP 프로그램에 기반한 리눅스용 NIS를 실행한다. 특별히 glibc 2.x 와 libc >=5.4.21. 에 포팅되었다. 오직 NIS의 클라이언트만 제공한다. 이미 NIS 서버를 가지고 있어야 한다. http://www-vt.uni-paderborn.de/ kukuk/linux/nis.html 에서 관련 정보를 찾을 수 있다. 또한 NIS-howto 문서를 읽어보자.

biff -- (버전 0.10, 16K)

biff 클라이언트와 comsat 서버는 비동기 우편 통지 기능의 오래된 방법이다. 아직도 지원되지만 대부분의 사용자는 쉘에서 우편을 점검하는 MAIL 변수(또는 csh 변수에서 mail)를 사용하거나 xbiff나 xmailbox 등의 전용 애플리케이션을 사용한다.

bootparamd -- (버전 0.10, 17K)

일부 네트워크 부트 로더는 rarp와 tftp 서버에 추가하여 서버에 있는 특별한 부트 서버 코드에 의존한다.  부터 서버는 썬OS bootparm 클라이언트/서버와 호환된다.

finger -- (버전 0.10, 30K) □ □

사용자가 다른 컴퓨터의 사용자 정보를 찾을 수 있는 간단한 프로토콜. 표준 핑거 클라이언트와 서버가 들어있다. 서버는 /etc/inted.conf에서 실행하며 핑거 요청을 사용하지 않도록 수정되어야 한다.

ftp -- (버전 0.10, 83K) □ □

표준 유닉스 명령행 방식 ftp 클라이언트. ftp는 표준 인터넷 파일 전송 프로토콜이며 개인간에 파일을 주고받는 것으로 가장 유명하다.

netkit-base -- (버전 0.10, 53K) □ □

기본 네트워킹에 사용하는 ping과 inted 프로그램.

ntalk -- (버전 0.10, 31K) □ □

인터넷 talk 프로토콜용 클라이언트와 데몬이며 서로 다른 시스템의 사용자간에 일대일로 대화를 할 수 있다.

pidentd -- (버전 2.7, 116K) □ □

identd는 RFC1413 확인 서버 프로그램이다. identd는 특정한 TCP/IP 연결을 검색하며 연결을 사용하는 프로세스의 사용자 이름을 반환한다.

routed -- (버전 0.10, 38K) □ □

TCP/IP 라우팅 테이블의 자동 갱신 기능을 사용하는 몇 가지 프로토콜이 있다. RIP는 이러한 프로토콜 중 가장 간단하며 routed 패키지는 RIP 라우팅 통지를 방송하며, 들어오는 RIP 패키지를 다루는 데몬이 들어있다.

rsh -- (버전 0.10, 95K) □ □

Rsh, rlogin, rcp는 사용자가 원격 컴퓨터에서 명령을 수행할 수 있으며, 다른 컴퓨터에 로그인하고 컴퓨터 사이에서 파일을 복사할 수 있는 프로그램이다. 이런 명령어는 모두 rhosts 유형의 인증을 사용한다. rsh 패키지에는 원격 명령을 실행하는 교체가능한 방법인 rexec 서버뿐만 아니라 이러한 서비스를 제공하는데 필요한 클라이언트/서버가 포함되어 있다. 이런 서비스들은 모두 inted에서 실행되고 /etc/inetd.conf와 PAM으로 설정한다. rexecd 서버는 기본적으로 사용하지 않게 되어있지만 나머지 서비스는 사용 가능하게 되어있다.

rusers -- (버전 0.10, 36K) □ □

rusers 서버와 클라이언트는 사용자가 지역 네트워크의 다양한 컴퓨터에 어떤 사용자가 로그인했는 지를 알아내는 프로그램이다.

rwall -- (버전 0.10, 17K)

rwall 클라이언트는 원격 컴퓨터에서 실행하는 rwall 데몬에 메시지를 보내며 메시지를 원격 컴퓨터의 모든 사용자에게 중계한다. rwall 데몬은 /etc/inetd.conf에서 실행되며 레드햇 시스템에서는 기본적으로 사용하지 않게 되어있다.

rwho -- (버전 0.10, 23K) □ □

rwho 프로그램은 rwho 데몬이 실행되고 있는 지역 네트워크의 모든 컴퓨터에 어떤 사용자가 로그인했는 지를 보여준다. rwho 클라이언트와 데몬 모두 제공된다.

samba -- (버전 1.9.18p10, 3,248K) □

삼바는 MS 윈도우의 여러 가지 버전, OS/2, 리눅스 컴퓨터 등을 포함하여 SMB("lan manager□라고 부르기도 함) 클라이언트에 네트워크 서비스를 제공할 때 사용한다. 삼바는 또한 리눅스에 내장된 SMB 파일 시스템을 보충하여 주는 SMB 클라이언트를 제공한다. 삼바는 TCP/IP(NetBT) 프로토콜에서 NetBIOS를 사용하며 NetBEUI(Microsoft Raw NetBIOS fram) 프로토콜이 필요 없다.

이번 버전은 "Locking Update"로 알려져 있으며 완전한 Opportunistic 파일 잠금을 지원한다. 추가로 이번 버전에서는 마이크로소프트 암호화된 암호, 개선된 브라우즈 목록, WINS 데이터베이스 관리 등을 지원한다.

수정된 정보에 관한 문서는 WHATSNEW.txt를 참고한다. 이번 바이너리 버전은 암호화된 암호를 지원한다. 자세한 내용은 smb.conf 파일과 docs 디렉토리의 ENCRYPTION.txt를 참고한다.

telnet -- (버전 0.10, 175K) □ □

텔넷은 인터넷을 통해 원격 로그인할 수 있는 유명한 프로토콜이다. telnet 패키지에는 텔넷 데몬이 실행되고 있는 컴퓨터에 원격 로그인할 수 있는 텔넷 데몬과 함께 명령행 방식의 텔넷 클라이언트를 제공한다. 텔넷 데몬은 기본적으로 사용가능하고 /etc/inetd.conf를 편집하여 사용하지 못하게 할 수 있다.

tftp -- (버전 0.10, 32K) □ □

trivial 파일 전송 프로토콜(tftp)은 일반적으로 디스켓 없는 워크스테이션에서 부팅할 때 사용한다. 보안 지원이 미약하고 필요하지 않으면 enable 되지 않는다. tftp 서버는 /etc/inetd.conf에서 실행되고 레드햇 시스템에서는 기본적으로 사용하지 않는다.

timed -- (버전 0.10, 60K) □ □

timed 서버는 원격 컴퓨터가 timed 서버가 실행되고 있는 컴퓨터의 시간과 날짜를 질의할 수 있도록 한다. 이것을 통해 네트워크에 걸쳐 간단하게 시간을 동기화할 수 있다.

ypbind -- (버전 3.3, 37K)

NIS/YP 클라이언트를 실행하며 NIS 도메인으로 묶는 데몬이다. NIS 클라이언트로서 행동하기 위해 glibc에 기반한 시스템에서 실행되어야 한다.

ytalk -- (버전 3.0.3, 72K)

두 명 이상의 사용자가 대화를 하고 프로그램 출력을 다른 곳으로 돌릴 수 있으며, 사용하기 편한 메뉴 방식 명령을 사용하는 표준 인터넷 talk 프로토콜의 확장된 프로그램이다.

C.10 쉘

여기에서는 레드햇 리눅스 시스템에서 제공하는 다양한 종류의 쉘을 설명한다.

ash -- (Version 0.2, 247K) □

ash는 버컬리에서 유래한 본 쉘의 변종이다.  표준 본 쉘의 명령을 모두 제공하며, bash 보다 훨씬 작으면서도 본 쉘을 지원하는 장점을 가지고 있다.

bash -- (Version 1.14.7, 1,327K) □

Bash는 sh 호환 명령어 해석기로 표준 입력이나 파일로부터 명령을 읽어들여서 실행한다.  Bash는 콘 쉘과 C 쉘 (ksh와 csh)의 유용한 기능을 통합하였다.

Bash는 마침내 IEEE Posix 쉘과 도구 명세서의 표준을 준수한다 (IEEE Working Group 1003.2).

mc -- (Version 4.1.35, 869K) □

미드나잇 코맨더(Midnight Commander)는 파일 관리자같은 시각적인 쉘로 보다 많은 기능을 가지고 있다.  mc는 텍스트 모드로 실행되지만, GPM이 실행되고 있으면 마우스를 지원한다.  mc의 특징적인 기능은 ftp를 이용한 파일 전송, tar나 zip 파일 보기, RPM 파일 안에 있는 특정 파일 축출 등이 있다.

pdksh -- (Version 5.2.12, 391K)

pdksh는 ksh를 다시 구현한 것으로, 상호대화 식이나 쉘 스크립트 용도를 모두 만족하는 명령어 해석기이다.

sash -- (Version 2.1, 280K) □

Sash는 아주 단순한 쉘로, 이 쉘에는 ls나 dd, gzip과 같은 명령을 단순화시킨 버전이 내장되어 있다.  Sash는 시스템 복구에 아주 유용하다.

tcsh -- (Version 6.07.09, 487K) □

tcsh는 csh (C 쉘)의 확장 버전으로, 명령어 기억, 파일이름 완성 등의 확장 가능을 가지고 있다.

zsh -- (Version 3.0.5, 953K)

zsh는 본 쉘의 확장 버전으로, ksh/sh 문법과 아주 흡사하며 csh 와도 유사하다.  아울러, ksh, bash, tcsh 의 대부분의 기능을 가지고 있다.  75개의 내장 명령, 89개의 선택 사항, 154개의 글쇠 바인딩 기능과, 간결한 반복문(예: for i (*.c) echo $i)의 특징을 보유하고 있다.

C.11 유틸리티

여기서는 레드햇 리눅스 시스템에서 제공하는 다양한 종류의 유틸리티를 살펴본다.  너무 많아서 종류별로 나누었다.

C.11.1 압축

여기서는 자료 압축을 다루는 유틸리티 패키지를 설명한다.

bzip2 -- (Version 0.9.0b, 239K)

bzip2는 버로우 휘슬러(Burrows-Wheeler) 블록 정렬 문자열 압축 알고리즘과 후프만 코딩을 사용하여 파일을 압축한다.  압축률은 일반적으로 전통적인 LZ77/LZ78 기반 압축기로 압축하는 것보다 상당히 높아서, 통계학상의 압축기의 PPM 패밀리 성능에 근접한다.

명령행 선택 사항은 고의적이라 할만큼 GNU Gzip과 아주 유사하지만, 동일하지는 않다.

cpio -- (Version 2.4.2, 68K) □

cpio는 tar 아카이브나 cpio로 복사하거나 축출한다.  이 아카이브는 다른 파일과 파일에 대한 정보, 가령 파일이름, 소유자, 시간 정보, 접근 권한에 대한 정보를 추가로 가지고 있는 파일이다.  아키이브는 디스크나 마그네틱 테이프, 또는 파이프 상의 또다른 파일이 될 수 있다.  cpio는 세 가지 작동 모드가 있다.

gzip -- (Version 1.2.4, 227K) □

gzip은 파일 압축 및 해재 기능을 하는 인기있는 GNU 프로그램이다.

lha -- (Version 1.00, 52K) □

lha는 파일 보관 및 압축 유틸리티이다.  도스에서 주로 사용되지만, 리눅스에서도 LHA 아카이브에서 도스 파일을 축출하는 데 사용할 수 있다.

ncompress -- (Version 4.2.4, 30K) □

ncompress는 원래의 *nix 용 compress 유틸리티(.Z 확장자 사용)와 호환되는 빠른 압축 및 해제 유틸리티이다.  이 유틸리티는 gzip으로 압축된 (.gz 확장자 사용) 이미지는 처리하지 못한다.  참고로 gzip은 compress 이미지를 처리할 수 있다.

tar -- (Version 1.12, 471K) □

GNU tar는 여러 개의 파일을 하나의 테이프나 디스크 아카이브로 저장하거나 해당 아카이브에서 개별 파일을 복구한다.  여러 개의 파일로 저장하는 멀티볼륨을 지원하며, 자동화된 아카이브 압축/해제 및 원격 보관과 전체 백업과 증가 백업을 지원하는 특별 기능이 포함되어 있다.  tar로 원격 백업을 하려면, rmt 패키지를 설치하면 된다.

unarj -- (Version 2.41a, 25K) □

unarj 프로그램은 .arj 형식 아카이브를 압축 해제하는 데 사용된다.  원래의 압축 프로그램인 arj는 도스에서 보다 인기가 좋다.

unzip -- (Version 5.31, 335K) □

unzip은 ZIP 아카이브에 포함되어 있는 파일을 축출하거나 목록을 보여주거나 테스트를 하는데 사용된다.  보통 ZIP은 MS-DOS 시스템에서 찾을 수 있다.  zip 압축 프로그램은 ZIP 아카이브를 생성한다.  두 프로그램 공히 PKWARE의 MS-DOS 용 프로그램인 PKZIP과 PKUNZIP으로 생성된 아카이브와 호환된다.  하지만 프로그램의 여러 선택 사항이나 기본 행동은 다르다.

zip -- (Version 2.1, 206K) □

zip은 압축 프로그램으로 유닉스, VMS, MSDOS, OS/2, 윈도우 NT, 미닉스, 아타리, 매킨토시 등에서 사용되는 파일 패키징 유틸리티이다.  zip은 유닉스 명령어 tar(1), compress(1)을 결합시킨 기능을 하는 것으로 PKZIP과 호환된다.  PKZIP은 Phil Katz의 MSDOS 시스템용 ZIP이다.

C.11.2 콘솔

여기에서는 레드햇 리눅스 시스템의 콘솔 관리를 위한 유틸리티 패키지를 소개한다.

SVGATextMode -- (Version 1.8, 845K)

SVGATextMode는 리눅스 콘솔의 화면 모드를 자세하게 설정하는데 사용된다.  이 프로그램을 사용하면 화면상에서 보다 많은 문자, 또는 적은 문자를 표현할 수 있다.  하지만, 가끔 좋지 못한 하드웨어에서는 모니터가 이상해질 수 있다. 제대로 동작하려면 몇 가지 여분의 글꼴이 필요하다.  이러한 글꼴이 없이도 좋은 결과를 가져올 수도 있다.

open -- (Version 1.4, 12K)

이 프로그램은 지정한 가상 콘솔 번호 상에서 명령어를 실행한다.  지정한 콘솔이 이미 사용중이면 첫 번째 가상 콘솔에서 수행할 수 있다.

vlock -- (Version 1.2, 9K)

vlock는 현재 터미널을 잠그거나 전체 가상 콘솔 시스템을 잠그는데 사용한다.  이 때의 터미널은 로컬 또는 원격의 어떠한 종류의 터미널이 될 수 있다.  아울러, 모든 콘솔에 완벽하게 접근하지 못하도록 할 수 있다.  잠겨진 것을 풀려면, vlock을 실행시킨 사용자의 암호나 루트 사용자의 암호를 입력하면 된다.

C.11.3 파일

여기에서는 파일 관련 유틸리티를 포함하는 패키지를 설명한다.

file -- (Version 3.25, 198K) □

이 패키지는 시스템에서 찾고자 하는 파일의 유형을 아는데 유용하다.  예를 들어, fsck가 파일 시스템을 검사하는 과정에서 일부 파일을 lost+found에 저장하면, file 명령을 lost+found에서 실행하여 어떤 유형의 파일인지 살펴볼 수 있다.  이 프로그램은 수많은 파일 유형을 인식할 수 있으며, ELF 바이너리, 시스템 바이너리, RPM 패키지와 다른 많은 그래픽 형식을 인식한다.

fileutils -- (Version 3.16, 868K) □

이 패키지는 GNU 파일 관리 유틸리티이다.  여기에는 파일을 복사, 이동, 목록출력과 관계된 프로그램이 들어있다.

findutils -- (Version 4.1, 155K) □

이 패키지는 시스템의 파일을 찾는 데 도움을 주는 프로그램을 포함하고 있다.  find 프로그램은 파일이름 패턴과 같은 특징과 일치하는 파일을 찾아서 여러 단계의 디렉토리를 걸쳐 검색할 수 있다.  locate 프로그램은 updatedb로 생성된 데이터베이스를 빠르게 검색하여 주어진 패턴과 일치하는 파일을 찾아낸다.

git -- (Version 4.3.17, 698K) □

GIT는 유닉스용 파일 시스템 브라우저이다.  프로세스 보기/종료시키기, 이진/아스키 파일 보기, 자동 마운트 쉘 스크립트와 파일 유형에 따른 특정 실행 스크립트를 대응시키는 것이 가능하다. 표준 ANSI 색상 순열이 사용되는 어디서나 사용 가능하다.  매뉴얼 페이지와 info 문서가 제공된다.

lslk -- (Version 1.18, 33K)

lslk는 유닉스 잠금 파일 목록 출력기이다.  이 프로그램은 실행 시스템의 로컬 파일 상에서 실제로 inode에 기반하여 잠겨져있는 파일의 모든 목록을 나열할 것이다.  잠금 상태는 로컬 프로세스나 NFS 클라이언트 상의 원격 프로세스가 만든다.  리눅스와 PTX 2.1.9 lslk는 원격 NFS 클라이언트 프로세스가 만든 잠금은 보고하지 않는 다는 것을 기억하자.

lsof -- (Version 4.37, 534K)

lsof는 LiSt Open Files의 줄임말로, 말 그대로 유닉스 시스템에서 수행되고 있는 프로세스가 현재 열고 있는 파일에 대한 정보를 출력한다.

macutils -- (Version 2.0b3, 201K)

이 패키지는 매킨토시에서 사용하는 파일을 처리하는 유틸리티를 모아둔 것이다.  macunpack, hexbin, binhex와 같은 인기 좋은 유틸리티가 포함되어 있다.

mtools -- (Version 3.9.1, 481K) □

mtools는 유닉스에서 MS-DOS 디스크를 마운트하지 않고 접근할 수 있는 유틸리티의 모음집이다.  윈도우 95 형식의 긴 파일 이름을 지원하며, OS/2 Xdf 디스크와 ZIP/JAZ 디스크, 2m 디스크(고밀도 3.5□ 디스크에 1992K까지 저장 가능하다)를 지원한다.

sharutils -- (Version 4.2, 217K) □ □

shar 유틸리티는 특정 평문 형식에서 바이너리와 텍스트 등의 여러 파일로 이루어진 패키지를 기호화하는 데 사용할 수 있다.  이 형식은 전자우편이나 다른 방법을 통해 안전하게 보내질 수 있다.  바이너리 파일을 전송하는 것은 까다롭게 된다.

smbfs -- (Version 2.0.1, 50K) □

이 패키지에는 SMB 서버로부터 파일 시스템을 마운트하는 데 필요한 도구가 들어있다.

stat -- (Version 1.5, 6K) □

stat 프로그램은 하나의 파일이 가지고 있는 권한, 링크 개수, inode 등에 관한 파일 시스템 수준의 정보를 출력한다.

symlinks -- (Version 1.2, 98K)

이 프로그램은 시스템에서 심볼릭 링크와 관련된 문제점을 찾아낸다.  존재하지 않는 파일을 가르키는 심볼릭 링크의 문제도 찾아낸다.  아울러 절대 링크를 상대 링크로 자동으로 변환한다.

tree -- (Version 1.2, 18K)

이 프로그램은 기본으로 도스 유틸리티인 tree의 유닉스 버전이라고 볼 수 있다.  tree는 지정한 디렉토리 구조를 출력한다.  컬러 ls 형식의 목록 출력 기능을 지원한다.

which -- (Version 1.0, 7K) □

프로그램 이름을 매개인자로 주면, 지정한 파일이 사용자의 PATH 상에 존재하는지 확인해준다. 예를 들어, which ls와 같이 사용하면 /bin/ls를 출력한다.  ls 프로그램은 사용자의 PATH 환경 변수에 나열된 디렉토리 중의 하나에 위치해 있기 때문이다.  ls 프로그램은 /bin 디렉토리에 있다.

C.11.4 인쇄

여기에서는 인쇄와 관련된 유틸리티 프로그램을 소개한다.

mpage -- (Version 2.4, 84K) □ □

mpage는 여러 페이지의 아스키(ASCII) 텍스트를 하나의 포스트스크립트 페이지로 형식화한다.  여러 다른 수많은 종류의 레이아웃을 제공한다.

C.11.5 시스템

여기에서는 다양한 시스템 관련 기능을 수행하는 유틸리티를 소개한다.

MAKEDEV -- (Version 2.3.1, 24K)□

/dev 디렉토리는 특수한 파일을 저장하고 있으며, 각각의 파일은 리눅스가 지원하는 하드웨어 장치의 유형에 대응한다.  이 패키지에는 장치 파일의 생성과 관리를 쉽게 할 수 있도록 도와주는 스크립트가 들어있다.

adjtimex -- (Version 1.3, 22K)

adjtimex는 커널 시계 관리 시스템으로, 시스템 시계를 정밀하게 조절하는데 유용하다.

apmd -- (Version 2.4, 63K)

이 프로그램은 Advanced Power Management 데몬과 유틸리티이다.  사용자의 노트북의 전지를 관찰할 수 있으며, 전지가 낮아졌을 경우 모든 사용자에게 경고를 보낼 수 있다. 중지하기 이전에 PCMCIA 소켓의 종료를 위한 비공식 패치가 추가되어 있다.

awesfx -- (Version 0.4.2, 251K) □

awesfx는 AWE32 사운드 구동기용 유틸리티 모음집이다.  이 유틸리티를 사용하여 구동기에서 적절하게 사운드를 켤 수 있다.  이 패키지에는 SB AWE32에 따라오는 SYNTHGM.SBK를 위한 사운드 글꼴이 들어있다.

chkconfig -- (Version 0.9.4, 44K) □

chkconfig는 /etc/rc.d 디렉토리 계층을 관리하는 간단한 명령행 도구를 제공한다.  /etc/rc.d 디렉토리에 있는 다수의 심볼릭 링크를 직접 처리함으로써 시스템 관리자에게 많은 도움을 준다.

control-panel -- (Version 3.7, 177K) □ □

레드햇 제어판은 다양한 설정도구를 가지고 있는 X 프로그램이다.

cracklib-dicts -- (Version 2.7, 227K) □

/usr/dict/words에 위치하는 표준 크랙 라이브러리 사전과 새로운 사전을 만드는 데 필요한 유틸리티가 포함되어 있다.

dump -- (Version 0.3, 123K)

dump와 restore는 ext2 분할 영역을 다양한 방법으로 백업하는 데 사용하고 있다.

e2fsprogs -- (Version 1.12, 843K) □

이 패키지는 ext2 파일 시스템을 만들고, 검사하며, 수리하는 다수의 유틸리티를 포함하고 있다.

eject -- (Version 1.5, 34K) □

이 프로그램은 사용자가 시디롬이나 재즈, 집 드라이브와 스팍 기계의 플로피 드라이브와 같은 매체가 자동으로 열리도록 하는 역할을 한다.

ext2ed -- (Version 0.1, 283K)

이 패키지는 ext2 파일 시스템을 해킹하는 데 도움을 준다.  해커나 전문가가 이 도구를 사용하여야 한다.  이게 여러분에게 어떻게 소용되는지 모르겠다면, 그냥 두면 된다.

getty_ps -- (Version 2.0.7j, 122K) □

getty와 uugetty는 콘솔이나 터미널에서 사용자의 로그인을 접수하는 데 사용된다.  이 프로그램은 전화 접속을 통해 들어오는 요청에 대한 답변을 처리할 수 있다.  이러한 용도로는 mgetty를 사용하기를 권장한다.

glint -- (Version 2.6.1, 227K) □ □

glint는 RPM 패키지 관리 도구의 그래픽 인터페이스이다.  이 프로그램을 사용하여 시스템에 이미 설치된 패키지를 보거나, 검사, 질의를 할 수 있다.  패키지를 갱신하거나 새로 설치할 수도 있다.

hdparm -- (Version 3.3, 36K) □

이 프로그램은 하드 드라이브 매개변수를 설정하는 유틸리티이다.  하드디스크의 성능을 향상시키거나 전원을 절약하기 위해 하드 드라이브의 회전을 감소시키는 것과 같은 일을 한다.

helptool -- (Version 2.4, 23K) □ □

이 도구는 일관된 그래픽 인터페이스를 제공하여 사용가능한 수많은 도움말 소스를 쉽게 검색하도록 도와준다.  이러한 검색 대상 소스에는 매뉴얼 페이지와 GNU texinfo 문서가 포함된다.

info -- (Version 3.12, 193K) □

GNU 프로젝트는 texinfo 파일 형식을 자신들의 문서에 주로 사용한다.  이 패키지에는 이러한 문서 형식을 보여주는 독립된 브라우저 프로그램이 들어있다.

ipfwadm -- (Version 2.3.0, 85K) □ □

이 패키지는 IP 방화벽 및 계정 관리 도구로서, 인터넷에서 보안 게이트웨이로 작동하는 방화벽을 수행하는데 보다 유용하다.

isapnptools -- (Version 1.15a, 175K) □

이 프로그램은 ISA PnP 장치를 리눅스 기계에서 구성가능 하도록 지원하는 프로그램이다.

이 프로그램은 PnP 바이오스를 포함하고 있던지 아니던지 간에, 모든 시스템에서 사용할 수 있다.  사실, PnP 바이오스는 몇 가지 문제를 야기시킨다.  PnP 바이오스가 이미 몇몇 카드를 활성화하고 있을 수 있기 때문에, 해당 구동기는 그것을 찾을 수 있으며, isapnptools 도구는 이 설정을 해제하거나 변경하여 좋지 않은 영향을 미치는 모든 종류의 설정을 제거할 수 있다.  혹시 사용자의 시스템에 PnP 네트워크 카드가 이미 작동하고 있다면, 아래의 4절에서 설정 파일의 형식을 조심스럽게 읽어보기 바란다.

kbd -- (Version 0.96a, 1,080K) □

이 패키지에는 콘솔 글꼴과 키보드 맵을 적재하는데 사용하는 유틸리티가 들어있다.  물론 다른 여러 개의 글꼴과 키보드 맵이 들어있다.

kbdconfig -- (Version 1.8.2, 23K) □

이 패키지는 터미널 모드 프로그램으로 시스템의 키보드 맵을 설정하는 데 사용한다.  키보드 맵은 US 기본 키보드를 사용하지 않는 시스템에 필요하다.  kbdconfig는 선택된 키맵을 적재하여 시스템에서 지정한 키보드를 사용할 수 있도록 자동으로 설정한다.

kbdconfig -- (Version 1.8.2, 23K) □

레드햇 리눅스 kernelcfg는 커널 설정을 사용자가 쉽게 관리할 수 있도록 도와주는 GUI 인터페이스를 제공한다.

ldconfig -- (Version 1.9.5, 109K) □

ldconfig는 수행 중인 시스템을 검색하여 공유 라이브러리를 적절하게 적재하는 데 사용되는 심볼릭 링크를 설정한다.  아울러 /etc/ld.so.cache를 생성하여 공유 라이브러리를 사용하는 프로그램을 적재하는 속도를 빠르게 해준다.

lilo -- (Version 0.20, 1,437K)  □

lilo는 리눅스 커널을 플로피나 하드 드라이브로 적재하는 역할을 하는 중요한 프로그램이다.  커널을 적재한 다음에는 시스템의 제어권을 커널에게 넘긴다.  lilo는 여러 운영체제를 부팅하는 데 사용할 수 있으며, 이러한 운영체제에는 BSD 류, 도스, OS/2 등이 있다.

linuxconf -- (Version 1.12r5, 7,324K) □

linuxconf는 사용하기 편리한 인터페이스를 제공하며, 콘솔 텍스트나 웹 인터페이스, GUI 인터페이스를 통해 사용할 수 있다. linuxconf는 다음 사항을 관리할 수 있는 기능을 가지고 있다.

네트워킹: 호스트 정보: IP 주소, 호스트 이름 등. IP 서브넷 할당 네임 서버 라우팅과 게이트웨이 NIS IPX 인터페이스 설정 PPP와 Slip 전화걸기 NFS 파일 시스템 Named (DNS) 존과 세컨더리 역 검색 센드메일 가상 전자우편 도메인 UUCP IP 알리아싱 DHCP/BOOTP 서버 RARP 서버 입력 방화벽 출력 방화벽 블록킹 방화벽 IP 마스커레이딩 패킷 계정 팩스 게이트웨이로의 우편 전송 사용자 계정: 사용자와 그룹 관리 PPP 계정 Slip 계정 UUCP 계정 POP 계정 가상 전자우편 도메인 계정 일반 및 가상 도메인을 위한 전자우편 알리아스 암호 및 사용자 계정 정책 사용 가능하다한 사용자 쉘 크론탭 관리 쉐도우 관리 파일 시스템: 로컬 분할 영역 관리(/etc/fstab) NFS 볼륨 관리(삼바 볼륨 관리는 곧 추가될 예정) 교환 파일 및 분할 영역 관리 사용자와 그룹 디스크 할당 파일 권한 부트 모드: Lilo 설정 기본 부팅 모드 실행수준 정의 등등

logrotate -- (Version 2.6, 41K) □

logrotate는 수많은 기록 파일을 생성하는 시스템 관리 작업을 쉽게 할 목적으로 만들어졌다.  이 프로그램을 사용하여 자동 선회, 압축, 삭제, 기록 파일의 편지 처리를 할 수 있다.  각 기록 파일은 날마다, 주마다, 월마다 또는 너무 커졌을 때 처리할 수 있을 것이다.

losetup -- (Version 2.8a, 7K) □

리눅스는 루프백 장치라고 부르는 특수한 블록 장치를 제공하는데, 이는 보통 파일을 가상 블록 장치로 대응시킨다.  이 패키지에는 파일과 루프백 장치 사이의 대응 관계를 설정하거나 삭제하는 프로그램이 들어있다. 블록 루프백 장치는 네트워킹 루프백 장치에서는 보통 적용되지 않으며, 네트워킹 루프백 장치는 일반적으로 ifconfig 명령에 의해 설정된다.

lpr -- (Version 0.33, 168K) □ □

이 패키지는 출력 서비스를 관리한다.  lpr은 출력 대기열을 관리하며, 작업을 로컬 프린터와 원격 프린터로 보내며, 원격 클라이언트에서 오는 작업을 접수한다.

man -- (Version 1.5f, 89K) □

매뉴얼 페이지 꾸러미에는 man과 apropos, whatis 등의 프로그램이 들어있다.  이 프로그램은 리눅스 시스템에서 사용가능한 대부분의 문서를 읽는데 사용된다.  whatis와 apropos 프로그램은 특정한 제목과 관련되는 문서를 찾는 데 사용할 수 있다.

mingetty -- (Version 0.9.4, 31K)□

mingetty는 경량급 최소형 getty로, 가상 콘솔에서만 사용할 수 있으며, 직렬 라인에는 적합하지 않다.  직렬 라인에는 mgetty를 추천한다.

mkbootdisk -- (Version 1.1, 5K)□

이 패키지는 시스템 부팅용 부트 디스크를 생성한다.  mkbootdisk는 부트 디스크가 /etc/fstab에 나와있는 루트 분할 영역을 사용한다고 추정한다.  결과로서 생기는 부트 디스크에는 시스템을 사용하는데 필요한 SCSI 모듈이 모두 들어있다.

mkdosfs-ygg -- (Version 0.3b, 15K)□

이것은 mkdosfs 패키지이다.  리눅스 상에서 MS-DOS FAT 파일 시스템을 만드는 데 사용한다.

mkinitrd -- (Version 1.8, 6K)□

일반적인 커널은 아무런 SCSI 어댑터 구동기를 넣지 않고도 구축할 수 있다.  이 SCSI 어댑터 구동기는 필요시에 모듈로 적재할 수 있다.  사용할 SCSI 어댑터를 저장하지 않고도 필요한 모듈을 커널이 읽을 수 있도록 하기 위해, 초기 램디스크가 사용된다.  램디스크는 운영체제 적재기(lilo와 같은 것)에서 적재하며, 이후 바로 커널에서 사용 가능해진다.  해당 이미지는 적절한 SCSI 어댑터를 적재하는 데 사용되며, 커널이 루트 파일 시스템을 마운트 할 수 있도록 한다.  이 프로그램은 /etc/conf.modules에 있는 정보를 사용하여 램디스크 이미지 같은 것을 만든다.

mkisofs -- (Version 1.12b4, 138K)

이것은 mkisofs 패키지이다.  시디롬을 만들 때 필요한 ISO 9660 파일 시스템 이미지를 만드는 데 사용한다.  이제 부팅 가능한 "El Torito" 시디롬 만들기 기능을 제공한다.

mkkickstart -- (Version 1.0, 4K)

이 패키지는 현재 기계로부터 자동시작 설명을 작성한다. 사용자로 하여금 자동화된 기계 구축과 그 클론을 만들 수 있도록 한다.

mktemp -- (Version 1.4, 7K) □

mktemp는 mktemp() 함수 호출을 사용하여 쉘 스크립트 및 다른 프로그램이 /tmp 디렉토리에 있는 파일을 안전하게 사용할 수 있도록 하는 인터페이스의 작은 유틸리티이다.

modemtool -- (Version 1.21, 15K)□ □

modemtool은 간단한 그래픽을 사용한 설정 도구로 사용자의 어느 직렬 포트에 모뎀이 연결되었는지를 선택하는 역할을 한다.

modutils -- (Version 2.1.85, 577K)□

리눅스 커널은 커널의 일부분을 적재하거나 커널이 수행 중일 때에도 다른 일부분을 내리는 것을 허용한다.  적재 가능한 이러한 조각을 모듈이라고 하는데, 여기에는 장치 구동기나 파일 시스템과 같은 다른 것들이 될 수 있다.  이 패키지에는 자동 및 수동으로 프로그램을 올리거나 내리는 프로그램이 들어있다.

mount -- (Version 2.8a, 107K)□

mount는 로컬 및 네트워크로 연결된 새 파일 시스템을 기존의 디렉토리 구조에 덧붙이는 용도로 사용한다.  이렇게 하기 위해서는 파일 시스템이 이미 존재해야 한다.  또한 mount는 이미 마운트된 파일 시스템 상에서 커널이 사용하는 접근 유형을 변경하는 데에도 사용할 수 있다. 이 패키지는 사용자의 시스템에서 없어서는 안될 중요한 기능을 제공한다.

mouseconfig -- (Version 3.0.8, 61K)□

이 패키지는 텍스트 기반 마우스 설정 도구이다.  gpm 등의 프로그램 사용을 위해 적절한 마우스 유형을 설정하는 데 사용할 수 있다.  또한 레드햇 Xconfigurator와 연동하여 사용하여 X 윈도우 시스템을 위해 마우스를 설정할 수 있다.

mt-st -- (Version 0.5, 64K)□

mt 프로그램은 테이프 상에서 다시 감기, 꺼내기, 파일이나 블록을 건너뛰기 등을 하는 데 사용할 수 있다.

netcfg -- (Version 2.19, 165K)□ □

레드햇 리눅스 netcfg는 네트워크 설정을 쉽게 관리할 수 있도록 도와주는 그래픽 인터페이스를 제공한다.

ntsysv -- (Version 0.9.4, 19K)□

ntsysv는 /etc/rc.d 디렉토리 계층을 갱신하는 데 사용하는 전체화면 도구를 제공한다.  이 프로그램은 시스템 서비스의 시동과 중단을 통제한다.

popt -- (Version 1.1.1, 10K)

popt는 명령행 매개인자를 파싱하는 데 사용되는 C 라이브러리이다.  이 프로그램은 getopt()와 getopt_long() 함수에 상당히 의존적이지만, 보다 강력한 인자 확장이 가능하다.  특별히 정해지지 않은 argv[] 형식의 배열을 해석하여 명령행 인자에 기반한 변수를 자동으로 설정한다.  popt는 또한 명령행 인자가 설정 파일을 통해 알리아스 되도록 할 수 있으며, 일정한 규칙이 없는 문자열을 쉘 등에서 사용하는 규칙을 사용하여 argv[] 배열로 해석하는 유틸리티 기능을 포함한다.

printtool -- (Version 3.29, 112K)□ □

printtool은 프린터 대기열 설정을 위한 그래픽 인터페이스를 제공한다.  이 프로그램은 지역 프린터와 원격 프린터를 함께 관리한다.  아울러 윈도 (SMB)와 네트웨어 (NCP) 프린터도 설정할 수 있다.

procinfo -- (Version 14, 41K)

procinfo는 /proc에서 유용한 정보를 얻는 데 도움을 주는 패키지이다.  /proc은 커널 파일 시스템이다.  /proc은 수행중인 커널로부터 정보를 얻을 수 있는 장소이다.

procps -- (Version 1.2.9, 210K)□

시스템의 상태를 보고하는 유틸리티 패키지로, 수행중인 프로세스 정보와 사용 가능하다한 메모리 용량, 현재 로그인한 사용자에 대한 정보를 알려준다.

psacct -- (Version 6.3, 80K)

이 도구에는 프로세스의 활동량을 계산하는 데 필요한 프로그램이 들어있다.

psmisc -- (Version 17, 41K)□

이 패키지에는 프로세스의 계층을 나무 구조로 보여주는 프로그램이 들어있다.  어느 사용자가 파일을 열었는지를 찾아내어, 해당 프로세스의 이름을 사용하여 시그널을 보낸다.

quota -- (Version 1.55, 80K)□

quota는 시스템 관리자가 파일 시스템 당 사용자나 그룹 당 사용할 수 있는 디스크 용량을 제한할 수 있도록 한다.  이 패키지에는 쿼타를 켜거나, 수정, 갱신하는데 필요한 도구가 들어있다.

raidtools -- (Version 0.51beta6, 115K)

레이드 도구 설명

rhbackup -- (Version 0.2, 29K)

rhbackup은 로컬 및 원격 백업을 위해 사용할 수 있는 백업 유틸리티이다.  이 소프트웨어는 알파 수준 품질의 소프트웨어이기 때문에 사용에 조심하여야 한다.

rhmask -- (Version 1.0, 9K)

rhmask는 다른 파일에 대비하여 파일의 배포를 마스크로 할 수 있도록 한다.  이 프로그램은 새로운 버전의 소프트웨어가 자유로이 공공 인터넷 서버에 배포되도록 하지만, 패키지 복사본을 이미 가지고 있는 사람들에게는 그들이 불필요하게 노력을 하지 않아도 되도록 한다.  이 프로그램은 단순한 XOR  유형을 사용하여 파일 마스크를 생성하며 파일 크기와 md5 합계를 사용하여 결과의 완성도를 보증한다.

rhs-hwdiag -- (Version 0.30, 70K)□

이 유틸리티 패키지는 시스템의 장치를 보고하는 데 사용할 수 있다.  직렬 장치와 병렬 장치에 대한 PnP 검사를 지원한다.  하드웨어와 연관된 오류를 레드햇에 보고하는 데 유용할 것이다.

rhs-printfilters -- (Version 1.46, 90K)□ □

레드햇 출력 필터 시스템은 다양한 파일 형식의 출력을 쉽게 처리하는 방법을 제공한다.  레드햇 printtool과 조합하여 사용할 수 있다.

rhsound -- (Version 1.7, 11K)□

rhsound가 제공하는 서비스는 사운드 모듈을 통제 가능한 실행수준으로 적재할 수 있으며, 종료 및 시작 시에 믹서 설정을 보호한다.

rmt -- (Version 0.3, 12K)□

rmt는 dump, restore, tar와 유사한 프로그램에서 테이프 장치에 원격 접근을 할 수 있는 기능을 제공한다.

rpm -- (Version 2.5.5, 1,015K)□

RPM은 훌륭한 패키지 관리자로서, 개별 소프트웨어 패키지를 구축, 설치, 질의, 검사, 갱신, 삭제 등을 하는 데 사용할 수 있다.  하나의 패키지는 파일의 실제 내용, 패키지 정보로 구성된다.  패키지 정보는 패키지 이름, 버전, 설명 등으로 이루어져 있다.

setconsole -- (Version 1.0, 4K)□

setconsole은 새로운 콘솔을 위해 /etc/inittab, /dev/systty, /dev/console을 설정한다.  하나의 콘솔은 로컬 터미널이나 직렬 콘솔이 될 수 있다.  로컬 터미널은 비디오 카드를 통해 시스템에 바로 연결된 것을 말한다.

setserial -- (Version 2.14, 40K)□

setserial 프로그램은 직렬 장치를 찾아서 포트, IRQ, 기타 직렬 포트 선택 사항 등의 다양한 속성을 변경하는 기능을 가지고 있다.

setuptool -- (Version 1.0, 9K)□

setup은 사용자에게 친숙한 텍스트 모드 메뉴 프로그램으로 레드햇 리눅스에서 모든 텍스트 모드 설정 프로그램에 즉시 접근할 수 있는 편리성과 용이성을 제공한다.

sh-utils -- (Version 1.16, 337K)□

이 GNU 쉘 유틸리티는 쉘 프로그래밍에서 공통으로 사용되는 기본 명령어를 제공한다.  실제로 모든 쉘 스크립트는 이들 프로그램 중 하나 정도는 사용할 것이다.

shadow-utils -- (Version 980403, 583K)□

이 패키지에는 표준 유닉스 암호 파일을 쉐도우 암호 형식으로 바꾸는 데 필요한 프로그램이 들어있다.  아울러 사용자 계정 관리를 위한 명령행 도구도 들어있다.  pwconv는 일반 암호 형식을 쉐도우 암호 형식으로 변환한다.  pwunconv는 쉐도우 암호를 일반 암호 형식으로 다시 복구하여 사용자의 현재 디렉토리에 npasswd라고 하는 표준 유닉스 암호 파일을 만든다.  pwck는 쉐도우 암호 파일과 표준 유닉스 암호 파일간의 완결성을 검사한다.  lastlog는 모든 사용자의 마지막 로그인 시간을 출력한다.  useradd와 userdel, usermod는 계정 관리에 사용된다.  groupadd와 groupdel 그리고 groupmod는 그룹 관리에 사용된다. 이들 유틸리티와 쉐도우 암호에 대한 관련된 수많은 매뉴얼 페이지들이 함께 들어있다.

shapecfg -- (Version 2.0.36, 3K)

이 프로그램은 트래픽 유형 대역폭 제한기를 설정하고 조절한다.  이 패키지를 사용하려면 커널이 형태(shaper) 모듈을 지원하도록 한다.  현재 이 기능은 2.0.36 이상의 커널과 2.1.X 커널에서 지원한다.

sliplogin -- (Version 2.1.1, 52K)

SLIP 인터페이스를 표준 입력으로 연결한다.  이 프로그램은 주로 전화 SLIP 연결에 사용된다.

sndconfig -- (Version 0.26, 148K) □

레드햇 사운드 패키지에는 텍스트 기반 사운드 설정 도구인 sndconfig 도구가 들어있다.  /dev/dsp, /dev/audio, /dev/mixer 장치를 사용할 프로그램을 위해 적절한 사운드 유형을 설정하는 데 사용할 수 있다.  사운드 설정은 aumix와 sysV 실행수준 스크립트를 통해 저장된다.

statserial -- (Version 1.1, 169K)□ □

statserial은 표준 9핀 또는 25핀 직렬 포트에서 신호 표를 보여주며, 신호변경 라인의 상태를 표시한다.  직렬 포트나 모뎀에서 문제가 있을 때 디버깅 용도로 유용하게 활용할 수 있다.

swatch -- (Version 2.2, 129K)

swatch 프로그램은 기록 파일을 관찰하는 데 사용된다.  사용자가 지정한 패턴과 일치하는 라인을 찾아서, 그 줄을 강조하여 출력하거나 편지나 다른 것으로 사용자에게 알리기 위해 다른 외부 프로그램을 실행할 수 있다.

taper -- (Version 6.9, 874K)

이 패키지는 테이프 백업과 복구 프로그램이다.  테이프 드라이브에 파일 백업/복구 기능을 제공하는 친숙한 사용자 인터페이스를 제공한다.  그 외에, 파일을 하드디스크에 백업할 수도 있다.   백업이나 복구를 할 파일을 선택하는 인터페이스는 미드나잇 코맨더(MC)와 아주 비슷하며, 디렉토리 사이를 쉽게 이동할 수 있다.  순환하는 디렉토리 선택 기능도 제공된다.  증가 백업과 자동화된 가장 최근 복구는 기본값으로 설정되어 있다.  SCSI, ftape, zftape, 이동 드라이브를 지원한다.

time -- (Version 1.7, 17K)□

time 유틸리티는 시간이 되면 지정된 명령을 실행하는 스톱워치처럼 사용된다.  이 프로그램은 프로그램이 최상의 속도를 낼 수 있도록 최적화하는 데 도움을 줄 수 있으며, 다른 용도로도 사용할 수 있다.

timeconfig -- (Version 2.4, 44K)□

이 프로그램은 사용자 시스템의 시간대와 시간을 저장하는 방법을 설정하는 간단한 도구이다.  이 프로그램은 간단한 창 시스템을 사용하여 텍스트 모드로 실행된다.

timetool -- (Version 2.3, 22K)□ □

timetool은 시스템의 현재 날짜와 시간을 설정하는 그래픽 인터페이스 프로그램이다.

tksysv -- (Version 1.0, 35K)□ □

이 프로그램은 실행수준을 처리하는 그래픽 도구이다.  모든 실행수준에서 어떤 서비스를 시작하고 중지시킬 것인가를 제어할 수 있다.

tmpwatch -- (Version 1.5.1, 8K)□

이 패키지는 디렉토리를 정리하는 데 사용할 수 있는 프로그램을 제공한다.  이 프로그램은 심볼릭 링크는 무시하고 디렉토리를 재귀로 검색하며 사용자가 지정한 시간동안 접근되지 않았던 파일을 제거한다.

tunelp -- (Version 1.3, 9K)

이 프로그램은 커널 병렬 포트 구동기를 설정하는 데 도움을 준다.

usernet -- (Version 1.0.7, 26K) □ □

이 프로그램은 사용자가 제어할 수 있는 네트워크 장치를 올리거나 내리는 것을 쉽게 하도록 도와주며, 장치의 상태를 검사한다.

util-linux -- (Version 2.8, 752K) □

util-linux에는 리눅스 시스템 업무에 필요한 아주 다양한 저수준 시스템 유틸리티가 들어있다.  여기에는 fdisk과 같은 설정도구나 login과 같은 시스템 프로그램이 포함된다.

C.11.6 터미널

여기에서는 터미널을 다루는 것과 관련된 유틸리티를 제공하는 패키지를 설명한다.

dialog -- (Version 0.6, 88K)□

dialog는 TTY (텍스트 모드만 가능)에서 사용자 인터페이스를 만들 수 있도록 도와주는 유틸리티이다.  쉘 스크립트에서 dialog를 호출하여 사용자에게 질문을 던질 수도 있으며, 보다 쉽게 선택할 수 있도록 선택 메뉴를 꾸밀 수도 있다.  보다 자세한 내용은 /usr/doc/dialog-*/samples를 참고하기 바란다.

screen -- (Version 3.7.4, 358K)

screen은 사용자가 하나의 터미널에 다중으로 로그인 할 수 있는 기능을 제공한다.  하나의 기계에 telnet으로 들어가거나 멍텅구리 터미널을 통해 접속 할 때 하나 이상의 로그인을 원하는 상황에서 유용하다.

C.11.7 텍스트

여기에서는 텍스트를 다루고 처리하는 것과 관련된 유틸리티를 제공하는 패키지를 설명한다.

diffstat -- (Version 1.25, 13K)

diffstat는 diff가 만들어낸 패치 상에서 여러 가지 통계를 제공한다.  패치에서 추가된 횟수, 제거된 횟수, 변경된 전체 회수 등의 정보가 포함된다.  예를 들어, 프로그램에서 어떤 변경이 적용되었는지를 찾고자 할 때 유용하다.

diffutils -- (Version 2.7, 149K)□

diff 유틸리티는 파일을 비교하거나, 파일 사이에 서로 다른 점을 기록한 내용을 만들 때 사용될 수 있다.  이 기록은 patch 프로그램으로 하나의 파일을 다른 파일에 갱신할 때 사용된다.  이기에 포함된 모든 유틸리티는 텍스트 파일에 대하여 작동할 수 있다(cmp만 예외).

faces -- (Version 1.6.1, 139K)

이 패키지는 주로 exmh와 함께 사용된다.  어떤 사진을 face로 처리하여 모든 전자우편에 덧붙일 수 있으며, exmh나 다른 우편 프로그램에서 돋보이게 할 수 있다.

faces-xface -- (Version 1.6.1, 20K)

이것은 X-Face 우편 헤더를 처리하는 유틸리티이다.  편지를 읽는 사람이 메시지에서 face를 볼 목적으로 호출한다.

gawk -- (Version 3.0.3, 2,288K) □

이 패키지는 GNU awk로, 벨 연구소의 awk 버전과 호환되며 보다 기능이 강화된 버전이다.  gawk는 1993 POSIX 1003.2 awk 표준과 거의 대부분을 완벽하게 준수하고 있다. gawk는 텍스트 파일을 처리하는데 사용될 수 있으며, 표준 리눅스 도구로 여겨지는 추세다.

gecko -- (Version 1.5, 66K) □

linuxconf 시스템을 위한 newt 기반 전위 프로그램이다. X 윈도우 시스템이 사용가능하지 않을 경우(아울러 DISPLAY 환경 변수가 설정되지 않았을 경우)에 레드햇 리눅스 시스템에서 기본 linuxconf 인터페이스이다.

grep -- (Version 2.2, 258K)□

이 프로그램은 인기좋은 grep *nix 유틸리티의 GNU 버전이다.  grep은 텍스트 파일에서 원하는 문자열을 빠르게 찾을 수 있다.

ispell -- (Version 3.1.20, 2,386K)□ □

ispell은 GNU 대화식 철자 검사기이다.  텍스트 파일에서 ispell을 실행하여 상호 대화식으로 철자를 검사할 수 있다.  ispell이 이해하지 못하는 단어는 여러분에게 이야기 할 것이며, 가능하다면 대체할 것을 제안할 것이다.

less -- (Version 332, 138K)□

less는 more보다 더 많은 기능을 가지고 있는 텍스트 파일 뷰어이다.

m4 -- (Version 1.4, 117K)□ □

이것은 GNU 매크로 처리 언어이다.  논리적으로 분석가능한 텍스트 파일을 작성할 경우에 유용하다.  많은 프로그램은 구축 처리를 위해 부분적으로 m4를 사용한다.

mawk -- (Version 1.2.2, 126K)

mawk는 awk 버전으로, 보다 강력한 문서 처리 프로그램이다.  어떤 부분에서는 mawk가 gawk보다 성능이 더 나은 경우도 있다.  gawk은 리눅스에서 표준 awk 프로그램이다.

nenscript -- (Version 1.13++, 24K)

nenscript는 출력 필터이다.  ASCII로 입력을 받아서 포스트스크립트 양식으로 출력하며, 동시에 (양면인쇄가 가능하도록) 하나의 종이에 2면의 ASCII 페이지로 변환하는 것과 같은 괜찮은 기능을 가지고 있다.

patch -- (Version 2.5, 94K) □ □

patch 프로그램은 프로그램을 패치하는 데 도움을 준다.  diff를 사용하여 패치 파일을 만들 수 있다.  기본으로, 파일에서의 변경된 내용을 참조하는데 diff를 사용하여, 원래 파일을 가진 어떤 이에게 변경된 내용을 보낼 수 있으며, 그 사람들은 patch 프로그램을 사용하여 원래의 파일에 변경된 내용을 조합할 수 있다.

perl -- (Version 5.004m4, 12,155K)□ □ □

perl은 특정한 형식이 없는 텍스트 파일을 검색하거나, 이러한 텍스트 파일에서 정보를 축출하거나, 해당 정보에 기반하여 보고서를 출력하는데 최적화된 해석 언어이다.  또한 여러 시스템 관리 작업에 사용하면 좋은 언어이다.  이 언어는 (작고, 품위 있으며, 최소한의 기능을 가지도록 설계된) 깔끔함보다는 (사용하기 쉽고, 효율적이며, 완벽하게) 실전에서 사용할 목적으로 설계되었다.

perl-MD5 -- (Version 1.7, 29K)□

RSA의 md5 알고리즘에 대한 접근을 제공한다.

sed -- (Version 3.02, 68K)□

sed는 □이름있는 파일(named file)'(표준 입력이 기본임)을 명령어 스크립트에 따라 처리한 다음 표준 출력으로 내보낸다.

textutils -- (Version 1.22, 683K)□

이 프로그램은 GNU 텍스트 파일(정확히 말하면 파일의 내용) 처리 유틸리티이다.  여기에는 split, join, compare 등을 비롯하여 파일을 수정하는 프로그램이 들어있다.

words -- (Version 2, 411K)□

이 패키지는 /usr/dict에 들어가는 영어사전을 포함하고 있다.  이 사전은 ispell 등의 프로그램에서 철자를 검사하기 위하여 사용하는 단어 데이터베이스이다.

rgrep -- (Version 0.98.4, 16K)

재귀적인 grep 유틸리티로 표현식에 일치하는 부분을 강조한다.  jed 편집기의 제작자가 만들었다.

C.12 X11

X 윈도우 시스템에 관련된 패키지. 레드햇 시스템에서 멋진 그래픽 사용자 인터페이스를 사용하고 싶으면 관련된 패키지가 여기에 있다. X 관련 패키지가 많이 있기 때문에 찾기 쉽게 몇 가지로 세분하였다.

C.12.1 오락(Amusements)

X에서 실행할 수 있는 재미있는 프로그램.

multimedia -- (버전 2.1, 325K) □

XPlaycd, XMixer, XGetfile 가 들어있는 패키지. XPlaycd는 시디롬 드라이브를 사용하여 오디오 시디를 실행하는 프로그램. XMixer는 사운드카드의 믹서를 조절하는 프로그램. XGetfile은 쉘 스크립트에서 사용하도록 만든 다재다능한 파일 브라우저 프로그램.

xbanner -- (버전 1.31, 648K) □ □

XBanner는 루트 창에서 텍스트, 패턴, 이미지를 출력한다. 사용자가 일반적인 X 배경화면과 xdm 스타일의 로그인 화면에서 사용하는 배경화면을 취향대로 바꿀 수 있다.

xearth -- (버전 1.0, 188K)

Xearth는 주요 도시와 레드햇 소프트웨어를 포함하여 지구를 사실적으로 보여주면서 회전하는 가상 3D 지구를 보여준다.

xfishtank -- (버전 2.0, 385K)

화면에서 열대지방의 물고기가 수영하고 있는 생기있는 수족관 배경화면을 보여준다.

xsnow -- (버전 1.40, 28K)

산타 클로스가 썰매를 타고 날고, 온화하게 눈이 계속 내리는 화면을 보여준다.

C.12.2 애플리케이션

X에서 실행할 수 있는 다양한 애플리케이션 패키지.

ImageMagick -- (버전 4.1.0, 2,427K) □ □

ImageMagick은 이미지 표시, 변환, 조작 프로그램이며 X 윈도우에서 실행된다. 사용자가 이미지를 편집할 수 있는 능력에서 보았을 때 아무 강력한 프로그램이다. 또한 많은 다양한 형식을 다룰 수 있다.

gimp -- (버전 1.0.1, 7,347K) □

GIMP는 사진 수정, 이미지 합성, 이미지 제작을 할 수 있는 이미지 조작 프로그램이다. 많은 사람들이 로고를 만들거나 웹 페이지용 그래픽을 만들 때 아주 유용하게 사용하고 있다. GIMP는 상업용 제품에서 볼 수 있는 많은 도구와 필터, 기타 흥미있는 기능이 들어있다.  GIMP는 거대 이미지 조작 도구상자, 채널 오퍼레이션, 레이어, 효과주기, 서브-픽셀 이미징, 안티 알리아싱, 변환, 다중 단계 취소 기능 등을 지원한다. 여기서 제공하는 GIMP에는 스크립팅 기능이 있지만 내장된 스크립트가 의존하는 글꼴은 빠져있다. GIMP ftp 사이트에는 내장된 스크립트를 실행하는데 필요한 모든 글꼴이 들어있기 때문에 사용자가 직접 설치하면 된다. 일부 글꼴은 특별한 라이선스를 요구한다.  패키지 안에 라이선스와 관련된 문서가 들어있다. ftp://ftp.gimp.org/pub/gimp/fonts/freefonts-0.10.tar.gz와 ftp://ftp.gimp.org/pub/gimp/fonts/sharefonts-0.10.tar.gz 에서 원한다면 글꼴을 내려받을 수 있다.  아니면 스크립트를 실행하기 전에 시스템에 있는 글꼴을 선택할 수도 있다.

gimp-data-extras -- (버전 1.0.0, 7,825K)

gimp 용 패턴, 경사도 조정에 사용되는 패키지. 반드시 필요하지는 않지만 gimp에 유용한 것들을 담고 있다.

gimp-devel -- (버전 1.0.1, 268K)

GIMP 플러그인과 확장을 만들 때 필요한 정적 라이브러리 및 헤더 파일.

gimp-libgimp -- (버전 1.0.1, 164K) □

"GIMP plugins"로서 기능하는 다른 프로그램과 GIMP사이에 통신을 하는 라이브러리.

gv -- (버전 3.5.8, 411K) □ □

고스트스크립트 해석기를 위한 사용자 인터페이스를 제공하며 X 기반의 포스트스크립트와 PDF 문서를 보고 검색할 수 있다. 예전의 고스트뷰라 알려진 프로그램에 기반하고 있다.

mxp -- (버전 1.0, 52K)

X 윈도우용의 매우 빠른 만델브로트 세트 생성기. 일부 지역을 선택해 확대할 수 있고 프랙탈 생성기의 다른 측면을 제어할 수 있다.

netscape-common -- (버전 4.06, 6,601K) □ □

넷스케이프 네비게이터와 넷스케이프 커뮤니케이터 웹 브라우저에서 공유하는 파일.

netscape-communicator -- (버전 4.06, 9,987K) □ □

넷스케이프 커뮤니케이터는 가장 많이 쓰이고 있는 웹 브라우저이다. 가장 최근의 html 표준, 자바, 자바스크립트를 지원한다. 또한 완전한 기능을 갖춘 전자우편 클라이언트와 유즈넷 뉴스 리더 프로그램이 들어있다.  라이선스 관련 정보는 /usr/doc/netscape-common-4.06/LICENSE에 있다.

netscape-navigator -- (버전 4.06, 6,795K)

넷스케이프 커뮤니케이터는 가장 많이 쓰이고 있는 웹 브라우저이다. 가장 최근의 html 표준, 자바, 자바 스크립트를 지원한다. 라이선스 관련 정보는 /usr/doc/netscape-common-4.06/LICENSE에 있다.

transfig -- (버전 3.2.1, 275K)

그래픽과 함께 텍스 문서를 만들 수 있으며, 이식가능해서 매우 다양한 환경에서 문서를 출력할 수 있는 프로그램.

usermode -- (버전 1.4.1, 539K) □ □

시각적인 도구로서 사용자가 플로피(이동 가능한 매체)를 관리하고 finger의 정보를 바꿀 수 있는 프로그램이다.

x3270 -- (버전 3.1.1.6, 553K)

IBM 3270 터미널 에뮬레이터로 X 윈도우에서 메인프레임의 애플리케이션을 사용할 수 있다.

xanim -- (버전 27070, 712K) □

QuickTime과 FLiC 등 다양한 동영상 형식을 볼 수 있다.

xfm -- (버전 1.3.2, 680K) □

X 윈도우 파일 관리자로 직관적으로 파일과 디렉토리를 다룰 수 있고 쉽게 이해할 수 있으며 다른 프로그램을 실행시킬 수 있다.

xgopher -- (버전 1.3.3, 277K)

X 윈도우용 고퍼 클라이언트 프로그램. 비록 고퍼는 웹에 비해 현재 잘 사용하지 않지만 Xgopher는 인터넷에서 사용할 수 있는 방대한 정보를 볼 수 있다.

xloadimage -- (버전 4.1, 235K)

X11 윈도우에서 이미지를 표시하고 루트 창에 이미지를 불러와서 파일로 쓴다. 많은 이미지 유형을 인식할 수 있다.

xmorph -- (버전 1996.07.12, 123K) □

xmorph는 아주 재미있는 형태의 이미지(서로 다른 두 이미지 사이에서 변화되는 그림)를 만들 수 있으며 이런 이미지를 만들 수 있는 직관적이고 이해하기 쉬운 도구를 제공한다.

xpaint -- (버전 2.4.9, 407K) □

칼라 이미지 편집 도구로서 대부분의 표준 그림 프로그램의 기능을 가지고 있고 이미지 처리 알고리즘 등의 개선된 기능이 있다. 동시 다중 이미지 편집을 지원한다.

xpdf -- (버전 0.7a, 745K)

PDF(Portable Document Format) 파일 뷰어 프로그램. (때로는 Adobe's PDF software의 이름에서 연유한 Acrobat 파일이라고 부른다) Xpdf는 작고 효율적으로 설계되었다. 모티브나 Xt 라이브러리를 사용하지 않는다. 표준 X 글꼴을 사용한다. 리눅스를 사용하는 486-66 PC에서도 사용할 수 있다.

xrn -- (버전 9.01, 234K) □ □

유즈넷 뉴스를 읽을 때 사용하는 X 윈도우용 프로그램. 뉴스 읽기, 답변, 쓰기, 그룹 선택 등을 마우스로 클릭하여 사용할 수 있다.

xterm-color -- (버전 1.1, 191K) □ □

표준 xterm/VT100 터미널 에뮬레이터에 ANSI 컬러 코드를 표시할 수 있도록 추가한 프로그램.

xv -- (버전 3.10a, 4,480K) □

Jon Bradley가 만든 유명한 프로그램. 쉐어웨어이지만 저자의 허락을 받고 패키지에 담았다. gif, jpg, tiff, xwd 등 다양한 유형의 그래픽 파일을 볼 수 있다. 또한 크로킹, 확대 기능 등의 조작 기능이 있다.

xwpe-X11 -- (버전 1.5.12a, 622K)

X 윈도우 특유의 xwpe 패키지에서 xwpe와 xwe 프로그램이 들어있다.

C.12.3 게임

X 윈도우에서 사용할 수 있는 다양한 게임 패키지.

acm -- (버전 4.7, 3,438K)

X 기반의 비행 시뮬레이터 프로그램. 다중 사용자를 위한 네트워크 기능이 있다.

cxhextris -- (버전 1.0, 38K)

유명한 hextris의 칼라 버전. 유명한 테트리스 비디오 게임과 비슷하며 블록을 짝을 맞춰 쌓는 게임이다. 제대로 작동하기 위해서는 X 윈도우가 필요하다.

flying -- (버전 6.20, 212K)

X 윈도우에서 실행되는 게임 패키지. pool, snooker, air hockey, 기타 게임 등이 들어있다. 이 프로그램은 중독성이 있으며 심하게 하면 수면 부족, 다리의 운동량 결핍 등의 문제가 생길 수 있다.

paradise -- (버전 2.3p19, 413K)

Netrek은 매우 유명한 인터넷 기반의 아케이드 게임이다. 팀을 만들어 적(다른 팀)의 행성을 쏘고 사로잡을 수 있다. 좋은 방법은 한 무리로 없애는 것이다.

spider -- (버전 1.0, 51K)

특별히 더블 데크 솔리테어에 도전하고 있는 프로그램이다. 대부분의 솔리테어와 다르게 숙련된 사용자에게 심도있는 분석과 복합적인 조작으로 불운을 극복할 수 있는 특별한 기회를 제공한다.

xbill -- (버전 2.0, 183K)

리눅스에서 인기있는 패키지.

게임의 내용은 빌의 모든 형태를 찾아서 파괴하고 새롭고 이질적인 운영체제를 없애며 대담하게 어떤 사람도 가지 않은 곳을 가는 것이다.

xbl -- (버전 1.0h, 176K)

유명한 아캐이드 게임의 3차원 버전.

xboard -- (버전 4.0.0, 588K)

사용하기 쉬운 그래픽 인터페이스의 GNU 체스 프로그램으로 복잡한 명령어를 배울 필요없이 체스를 하면서 즐겁게 시간을 보낼 수 있다. 또 인터넷을 통해 다른 사람과 함께 체스를 둘 때도 사용한다.

xboing -- (버전 2.4, 982K)

고전적인 Breakout 아캐이드 게임의 전통적인 X 윈도우 게임이다. 벽돌을 모두 없앨 때까지 벽돌위에서 튀는 공을 지키는 게임이다. 여러 개의 볼을 다루는 높은 수준에서 더 재미가 있다.

xchomp -- (버전 1.0, 36K)

팩맨과 비슷하며 고전적인 아캐이드 액션 게임이다. 원래의 게임보다 방대하지는 않지만 여전히 재미가 있다.

xdemineur -- (버전 1.1, 26K)

집중을 많이 해야 하는 프로그램으로 논리와 추론으로 자신의 위치를 성공적으로 정해야 한다.

xevil -- (버전 1.5, 527K)

X 윈도우용의 액션/어드벤처 게임으로 닌자 전사로서 보이는 모든 것을 죽이고 살아있다면 새로운 곳을 찾아 떠난다.

xgalaga -- (버전 1.6c, 366K)

예전의 우주 아케이드 게임 Galaga의 클론 프로그램 (마우스 단추를 눌러 총을 쏜다. 단추를 계속 누르고 있으면 자동으로 발사되며 마우스를 붙잡고 있다고 아무도 비난하지 않는다).

xgammon -- (버전 0.98, 3,276K)

유명한 카드/보드 게임인 backgammon으로 컴퓨터나 다른 사람과 게임을 할 수 있다.

xjewel -- (버전 1.6, 49K)

Jewel은 테트리스와 비슷한 퍼즐 게임인 Domain/Jewelbox와 비슷한 게임이다.  화면 위에서 계속 떨어지는 블록의 동작을 조절하여 게임을 진행한다. 좌우로 옮길 수 있고 보석 조각을 회전시킬 수도 있다.

xlander -- (버전 1.2, 23K)

어렵지만 재미있는 게임이다. 달 착륙선을 안전하고 손상없이 유도해야 한다.

xpat2 -- (버전 1.04, 459K)

1989년에 데이브 렘크와 헤더 로즈, 도날드 R. 우즈, 썬마이크로시스템즈 사가 xsol 솔리테르 게임(도스에서 klondike로 알려져있음)과 몇 가지 페이선스 게임의 규칙을 만들었다. 가장 큰 특징은 다양한 규칙과 해상도가 다른 모니터를 위한 다양한 카드 세트이다.  xpa2(X 페이선스)는 솔리테어 카드 게임의 모음이다.

xpilot -- (버전 3.6.2, 1,574K)

빠르게 진행되는 액션 게임으로 다중 사용자가 네트워크에서 같이 게임을 할 수 있다. 게임의 기본적인 목적은 죽이고 장애물을 뛰어넘는 것이다. 그 이상 다른 말이 필요없다.

xpuzzles -- (버전 5.4.1, 497K)

기하학적인 퍼즐 게임으로 루빅 큐브의 컴퓨터 게임과 □dinosaur cube" 프로그램이 있다.

xtrojka -- (버전 1.2.3, 181K)

xjewel이나 테트리스와 비슷하며 게임을 하다가 중간에 게임을 하던 상황을 저장할 수 있다. 중독성있는 게임이므로 조심하자.

xzip -- (버전 180, 105K)

xzip을 이용하여 텍스트 어드벤처 게임을 X 윈도우에서 실행할 수 있다.

C.12.4 라이브러리

X 관련 시스템 라이브러리 패키지.

ImageMagick-devel -- (버전 4.1.0, 1,415K)

ImageMagick 개발 패키지. ImageMagick 코드나 API를 사용하는 애플리케이션을 개발할 때 필요한 정적 라이브러리와 헤더 파일이 들어있다.

Xaw3d -- (버전 1.3, 278K) □ □

X 윈도우용 MIT 아데나 위젯의 향상된 버전으로 소스코드를 거의 바꿀 필요없이 애플리케이션에 3차원 효과를 줄 수 있다.

Xaw3d-devel -- (버전 1.3, 644K) □

X 윈도우용 MIT 아데나 위젯의 향상된 버전으로 소스코드를 거의 바꿀 필요없이 애플리케이션에 3차원 효과를 줄 수 있다. Xaw3d-devel에는 완전한 Xaw3d 기능을 가진 프로그램을 개발하는데 필요한 헤더  파일과 정적 라이브러리가 들어있다.

gnome-core -- (버전 0.20.1, 1,019K)

GNOME(the GNU Network Object Model Environment)를 설치할 때 실질적으로 필요한 기본 프로그램 및 라이브러리. 이름은 공상적이지만 GNOME는 훌륭한 GUI 데스크탑 환경으로 컴퓨터를 쉽고 강력하며, 설정하기 쉽게 만든다.

gtk+ -- (버전 1.0.6, 1,175K) □ □

원래는 GIMP를 만들 때 사용한 X 라이브러리로서 현재는 다른 많은 프로그램에서도 사용하고 있다.

gtk+-devel -- (버전 1.0.6, 1,688K) □

GIMP의 X 라이브러리에 필요한 정적 라이브러리 및 헤더 파일로서 공개 라이브러리로 사용되고 있다. GLIB는 일반적으로 유용한 자료 구조가 들어 있으며, GDK는 드로잉 도구로서 다른 해상도를 다룰 수 있는 프로그램을 자동으로 만들 수 있는 Xlib을 이용하여 thin 레이어를 제공한다. GTK는 사용자 인터페이스를 만들 수 있는 위젯 모음이다.

imlib -- (버전 1.8, 342K) □ □

유연성과 속도가 뛰어난 기능을 가진 libXpm같은 라이브러리를 대신할 수 있는 개선된 라이브러리.

imlib-cfgeditor -- (버전 1.8, 337K)

imlib_config 프로그램은 imlib이 칼라를 사용하는 방식을 제어할 수 있고 감마 수정 등을 다룰 수 있다.

imlib-devel -- (버전 1.8, 504K)

Imlib을 위한 헤더, 정적 라이브러리 및 문서.

nls -- (버전 1.0, 4K) □ □

넷스케이프 같은 예전의 X11R5 프로그램에 필요한 패키지. 그러나 넷스케이프 3.0 이상 버전에서는 필요 없다.

xpm -- (버전 3.4j, 56K) □ □

애플리케이션에서 칼라와 비트맵 그림을 표시할 수 있도록 해주는 패키지. 사용자 인터페이스를 개선하기 위해 매우 많은 X 윈도우 프로그램에서 사용한다.

C.12.5 쉘

다양한 그래픽 기반의 쉘 패키지.

mcserv -- (버전 4.1.35, 19K)

Midnight Commander 파일 시스템을 위한 서버 프로그램. Midnight 파일 시스템을 운영하는 클라이언트에서 호스트 파일 시스템에 접근할 수 있다 (현재는 Midnight Commander 파일 관리자에만 해당함).

tkmc -- (버전 4.1.35, 560K) □

Midnight Commander는 파일 관리자와 비슷한 시각적인 쉘이며 많은 특징이 있다. tkmc는 tk X 윈도우 버전이다. 가장 큰 특징은 ftp, tar와 zip 파일 보기, RPM 패키지에서 특정한 파일 보기 등이다. 그렇지만 tk 버전의 Midnight Commander는 아직 완성된 것은 아니다.

C.12.6 유틸리티

X 윈도우 시스템과 관련된 유틸리티.

Xconfigurator -- (버전 3.79, 266K) □ □

레드햇 X 설정 도구. XFree86의 유틸리티인 xf86config의 소스에 기반하고 있다. 최종 사용자가 쉽게 사용할 수 있게 훌륭한 사용자 인터페이스를 사용한다. 마우스 유형을 바꾸기 위해 mouseconfig를 사용하면 Xconfigurator를 재실행해야 한다.

ee -- (버전 0.3, 654K)

Electric Eyes 이미지 뷰어는 다양한 형식의 이미지를 보고 조작할 수 있다.

gnome-linuxconf -- (버전 0.14, 96K) □ □

linuxconf 설정 시스템을 위한 그래픽 사용자 인터페이스.

mgetty-viewfax -- (버전 1.1.14, 93K)

확대 기능이 있는 X11 팩스 뷰어.

mkxauth -- (버전 1.7, 15K) □ □

X 인증 데이터베이스(.Xauthority 파일)을 만들고 유지하는데 사용하는 프로그램. /.Xauthority 파일을 만들고 다른 지역/원격 .Xauthority 파일을 병합할 때 사용한다. 원격 .Xauthority 파일은 ftp(ncftp 사용)나 rsh를 이용해 가져올 수 있다. 보안 때문에 mkxauth는 인증 키를 담은 임시파일을 만들지 않는다.

moonclock -- (버전 1.0, 25K)

현재의 시간과 달의 모양을 표시한다. 시간(낮/밤)에 따라 색깔이 바뀌고 별 필드의 근처에 달을 표시한다.

procps-X11 -- (버전 1.2.9, 5K)

시스템 상황을 기록하는 X 기반의 유틸리티. procps 스위트 도구에서 사용할 수 있는 시각적인  정보를 보여준다.

rxvt -- (버전 2.4.7, 448K) □ □

X용 VT100 터미널 에뮬레이터. xterm의 어려운 기능이 필요 없는 사람을 위한 xterm(1)의 대체 프로그램. 특히 Tektronix 4014 에뮬레이션, 세션 로깅, 도구 모음 스타일 설정이 빠져있다. 그래서 rxvt는 xterm보다 교환 공간을 적게 사용하므로 많은 X 세션을 제공하는 컴퓨터에서 유용하다.

xcpustate -- (버전 2.5, 32K)

스냅샷 실행 모니터 프로그램. 원래는 실리콘 그래픽 Iris 4D/240에서 CPU의 상태를 관찰하기 위하여 Mark Moraes가 만들었다. 그 이후 매우 다양한 멀티프로세서와 유니프로세서에 이식되었다.

xdaliclock -- (버전 2.10, 74K)

디지털 시계 프로그램. 숫자가 변할 때마다 새로운 모양으로 바뀐다. 12/24 시간 모드를 표시할 수 있으며 마우스 단추를 누르고 있으면 날짜가 표시된다. 내장된 두 개의 큰 글꼴이 있지만 다른 글꼴도 움직임을 줄 수 있다.

xlockmore -- (버전 4.11, 975K)

표준 xlock 프로그램을 개선했으며 사용자가 컴퓨터에서 벗어나 있을 때 다른 사용자가 X 세션에 접근하지 못하게 한다. 사용자가 암호를 입력하여 잠금을 풀어서 X 프로그램을 다시 사용할 때까지 스크린세이버가 실행된다.

xmailbox -- (버전 2.5, 30K) □ □

새로운 우편이 도착하면 알려주는 프로그램. xbiff와 비슷하지만 더 다양한 기능을 제공한다.

xosview -- (버전 1.6.1.a, 99K)

현재의 시스템 상황을 막대 그래프 형태로 보여준다. - 메모리 사용량, CPU 로드, 네트워크 사용량 등의 상황을 모니터링할 때 매우 유용하다.

xscreensaver -- (버전 2.27, 2,453K)

스크린 세이버. 모니터를 아끼고 싶으면 고전적이며 평범한 검은 화면을 사용하면 된다.

xsysinfo -- (버전 1.6, 21K)

시스템 성능의 여러 가지 면을 모니터링할 수 있는 프로그램. 네트워크 트래픽, CPU 로드, 디스크 공간 등. 이전의 성능을 볼 수 있어서 쉽게 변화된 것을 볼 수 있다.

xtoolwait -- (버전 1.1, 9K)

프로그램을 시작하고 창을 그리는 것을 기다리는 유틸리티. 최종 사용자 프로그램은 아니지만 X 윈도우 프로그램을 실행하는 스크립트를 짤 때 유용하다.

xwpick -- (버전 2.20, 44K)

임의의 창이나 X11 서버의 사각부분의 이미지를 갈무리하여 다양한 형식의 파일로 쓰는 프로그램.

C.12.7 윈도우 관리자

다양한 윈도우 관리자와 파일이 포함된 패키지. 다른 운영체제의 그래픽 사용자 인터페이스와 다르게 레드햇 리눅스 시스템에서는 원하는 윈도우 관리자를 고를 수 있다. 이번 절의 패키지에서 몇 가지 윈도우 관리자 형태를 고를 수 있다.

AfterStep -- (버전 1.5, 3,384K) □ □

애프터스텝은 보 영(Bo Yang)이 만든 보우맨(BowMan) 윈도우 관리자의 연장선상에 있다. 보우맨은 로버트 네이션이 만든 fvwm 윈도우 관리자에 기반하였다. fvwm은 twm에 기반하였다. 애프터스텝은 넥스트스텝의 사용자 인터페이스를 흉내내 만들었지만 유용하고 다양한 기능이 1.4 버전에 추가되었다.  보우맨 개발을 하면서 애프터스텝의 개성을 담는 게 원래 한 부분이었지만 과거의 단순한 흉내내기에서 벗어나 독자적인 윈도우 관리자가 되기 위해 애프터스텝 설계자는 프로젝트 이름을 바꾸고 프로그램을 더 진전시키기로 하였다.

애프터스텝의 중요한 기능은 다음과 같다:

1. □Swallow"를 실행할 수 있는 프로그램과 많은 애플리케이션을 위한 폴더를 담은 공개 플로팅 애플리케이션 로더.

2. 그라디언트가 5가지 단추의 제목 막대를 이행한다. help/zap, action/tasks, iconize/maximise, shade/stick & close/destroy buttons

3. 그라디언트가 루트 창 팝업 메뉴를 채운다.  이 메뉴는 서로 다른 입맛과 관리 스타일에 맞게 설정할 수 있다.

4. 전체 데스크탑에 일관된 모습을 보여주는 넥스트스텝 스타일의 아이콘.

5. 데스크탑 픽스맵을 가진 픽스맵 페이퍼

6. look 파일을 사용하기 쉬우며 친구와 데스크탑 외관을 공유할 수 있다.

7. 계층 디렉토리 방식의 시작 메뉴 목록.

8. 창목록 : 수평/수직으로 놓을 수 있는 작업목록

9. 많은 모듈과 asapps를 이용하게 X 윈도우 시스템을 멋있게 꾸밀 수 있다.

AfterStep-APPS -- (버전 1.5, 715K) □ □

애프터스텝과 윈도우 메이커 등의 윈도우 관리자에서 쓰는 Wharf 모듈을 사용할 수 있는 애플릿이 들어있다.

애플릿은 매우 멋있게 보이며 Whart 모듈에 애플릿을 추가하면 데스크탑을 더욱 더 호감있게 만든다.

AnotherLevel -- (버전 0.7.2, 308K) □ □

TheNextLevel의 다음 버전. TheNextLevel 데스크탑은 Greg J. Badros가 만들었고 1996년 레드햇 데스크탑 경연에서 당선되었다. 강력하고 쉽게 fvwm을 설정할 수 있으며 fvwm2와 잘 작동한다. TheNextLevel을 많이 개선되고 변형하였기 때문에 AnotherLevel이라고 부른다. /usr/doc/AnotherLevel에 html 형식의 문서가 있다.

AnotherLevel 데스크탑은 쉽게 재설정할 수 있도록 정의되어 있다.

/etc/X11/AnotherLevel/fvwm2rc.defines 파일을 사용자의 홈 디렉토리에 .fvwm2rc.defines로 복사하고 복사한 파일을 적절하게 수정하면 대부분의 설정을 다시 설정할 수 있다.

WindowMaker -- (버전 0.20.1, 2,977K)

윈도우 메이커는 넥스트스텝(tm) GUI의 외관과 느낌을 흉내내어 만든 윈도우 관리자이다. 빠르고 상대적으로 작으며 기능이 풍부하고 설정하기 쉬우며, 넥스트스텝(tm)에서 간단하면서도 우아한 외관을 빌려왔다.

fvwm -- (버전 1.24r, 550K) □ □

작고 빠르며 매우 유연한 윈도우 관리자이다. 모티브처럼 보이게 설정할 수 있으며 유용한 □단추 바□가 있다.

fvwm2 -- (버전 2.0.46, 1,471K) □ □

유명한 □Feeble Virtual Window Manager" 의 버전.

fvwm2-icons -- (버전 2.0.46, 599K) □ □

fvwm과 fvwm2용의 아이콘, 비트맵, 픽스맵이 들어있다.

wmakerconf -- (버전 1.1.1, 515K)

윈도우 메이커에서 사용하는 GTK+ 기반의 설정 도구. 윈도우 메이커의 모든 속성 지원 : 글꼴 선택 브라우저, 픽스맵 미리보기 브라우저, 색상 선택 대화 상자, 쇼트컷 대화 상자, 파일 선택 대화 상자 등... 모든 속성에 대한 간략한 정보를 담은 도구팁이 있다.  새로운 속정은 wmakerconf proplist를 바꾸면 간단하게 조정할 수 있다.

wmconfig -- (버전 0.5, 47K) □ □

X11 시스템에서 사용하는 윈도우 관리자를 위한 메뉴 설정 프로그램. 몇 가지 윈도우 관리자에 걸쳐 메뉴 설정의 추상화된 폼을 가져온다. 현재는 FVWM2, FVWM95, Afterstep, MWM, IceWM, KDE를 지원한다.

C.12.8 XFree86

X 윈도우 시스템의 공개 버전인 XFree86 패키지. X를 사용하려면 사용자의 비디오 카드에 맞는 X 서버를 설치해야 한다. XFree86은 선택할 수 있는 서버가 많이 있다.

X11R6-contrib -- (버전 3.3.2, 446K) □ □

다양한 사용자들이 기여한 X 프로그램 모음. listres, xbiff, xedit, xeyes, xcalcm, xload, xman  등이 있다.

XFree86-100dpi-fonts -- (버전 3.3.2.3, 1,228K)

대부분의 리눅스 시스템에서 사용하는 100dpi 글꼴. 고해상도의 모니터를 가진 사용자는 개별 패키지에서 사용할 수 있는 100dpi 글꼴을 선호할 것이다.

XFree86 -- (버전 3.3.2.3, 12,040K) □ □

X 윈도우는 다중 윈도우, 다중 클라이언트, 다른 윈도우 스타일 기능이 있는 그래픽 사용자 인터페이스이다. X 윈도우는 대부분의 유닉스 플랫폼에서 사용되며 클라이언트는 다른 일반적인 윈도우 시스템에서 실행할 수 있다. X 프로토콜을 이용하여 애플리케이션을 지역 컴퓨터나 네트워크에서 실행할 수 있으며 클라이언트/서버 수행의 유연성을 제공한다. XFree86에는 X 워크스테이션에 필요한 기본적인 글꼴, 프로그램, 문서가 들어있다. 그렇지만 사용자의 비디오 카드에 맞는 X 서버를 제공하지는 않으며 다른 패키지에 들어있다.

XFree86-75dpi-fonts -- (버전 3.3.2.3, 1,060K) □ □

대부분의 리눅스 시스템에서는 75dpi 글꼴이 사용된다. 고해상도의 모니터를 가진 사용자는 개별 패키지에서 사용할 수 있는 100dpi 글꼴을 좋아할 것이다.

XFree86-8514 -- (버전 3.3.2.3, 3,413K)

구형의 IBM 8514 카드를 위한 X 서버이며 ATI 등의 회사 제품과 호환된다.

XFree86-AGX -- (버전 3.3.2.3, 3,580K)

보카 보텍스, 오차이드 켈시우스, 스파이더 블랙 윈도우, 허쿨레스 그래파이트 등의 AGX 기반의 카드를 위한 X 서버.

XFree86-I128 -- (버전 3.3.2.3, 3,810K)

#9 Imagine 128 기판을 위한 X 서버.

XFree86-Mach32 -- (버전 3.3.2.3, 3,544K)

ATI 그래픽스 울트라 프로, 울트라 플러스 등 ATI의 Mach32 칩이 내장된 카드를 위한 X 서버.

XFree86-Mach64 -- (버전 3.3.2.3, 3,658K)

그래픽스 엑스프레션, GUP 터보, 윈터보 카드 등 ATI Mach64 기반의 카드를 위한 X 서버.

이 서버는 일부 Mach64 카드에서 문제가 있는 것으로 알려져 있으며 XFree86의 최신 버전(이번 패키지가 나올 때는 베타버전으로만 사용 가능했음)에서는 고쳐질 것이다. http://www.xfree86.org 에서 갱신된 정보를 찾아볼 수 있다.

XFree86-Mach8 -- (버전 3.3.2.3, 3,423K)

ATI 8514 울트라, 그래픽스 울트라 등 ATI의 Mach8 칩이 내장된 카드를 위한 X 서버.

XFree86-Mono -- (버전 3.3.2.3, 3,668K)

일반적인 VGA 카드를 위한 모노크롬(2가지 색상) 서버이며 제한된 해상도를 가진 모든 VGA 유형의 보드에서 잘 작동한다.

XFree86-P9000 -- (버전 3.3.2.3, 3,600K)

다이어몬드 바이퍼 카드, 오차이드 P9000 카드 등 웨이텍 P9000 칩이 내장된 카드를 위한 X 서버.

XFree86-S3 -- (버전 3.3.2.3, 4,042K)

대부분의 #9 카드, 많은 다이어몬드 스텔스 카드, 오차이드 파렌헤이츠 마이크로 크리스탈 8S, 대부분의  STB 카드, (IBM 발류포인트 라인 등) 그래픽 액셀레이터 기능이 내장된 일부 주기판 등 S3 칩이 내장된 카드를 위한 X 서버.

XFree86-S3V -- (버전 3.3.2.3, 3,793K)

S3 버지 칩셋이 내장된 카드를 위한 X 서버.

XFree86-SVGA -- (버전 3.3.2.3, 4,585K)

ET4000 칩, 시러스 로직 칩, 칩 앤 테크놀러지 랩탑 칩, 트라이덴트 8900 및 9000 칩 등 대부분의 SVGA 장비를 위한 X 서버. 다이어몬드 스피드스타, 오차이드 켈빈, STB 니트로스 및 호리즌스, 게노아 8500VL, 대부분의 액틱스 기판, 스파이더 VLB 플러스 등에서도 잘 작동한다. 또한 다른 많은 칩, 카드에서도 잘 작동하므로 문제가 있으면 이 서버를 사용한다.

XFree86-VGA16 -- (버전 3.3.2.3, 3,594K) □ □

VGA 보드를 위한 일반 16 컬러 서버. 모든 VGA 스타일의 그래픽 보드에서 잘 작동하지만 적은 색상과 낮은 해상도만 지원한다.

XFree86-W32 -- (버전 3.3.2.3, 3,458K)

게노아 8900 팬톰 32i, 허쿨레스 다이나마이트 카드, 리드텍 윈패스트 S200, 시그마 콘코드, STB 라이트스피드, 테크웍스 선더볼트, 뷰톱 PCI 등 ET4000/W32 칩이 내장된 카드에서 사용하는 X 서버.

XFree86-XF86Setup -- (버전 3.3.2.3, 575K) □ □

XFree86 서버용의 시각적인 설정 도구. 비디오 설정, 키보드 설정, 마우스 유형, 기타 선택 사항을  설정할 수 있다. 그러나 속도가 느리며 일반 VGA 16 칼라 서버가 필요하다.

XFree86-Xnest -- (버전 3.3.2.3, 1,985K)

X 윈도우에서 실행하는 X 서버.

XFree86-Xvfb -- (버전 3.3.2.3, 2,415K)

가상 프레임버퍼 X 서버.

XFree86-devel -- (버전 3.3.2.3, 7,652K) □

X 클라이언트로 실행하는 프로그램을 개발하기 위한 라이브러리, 헤더 파일, 문서. Xt와 Xaw 위젯 모음과 함께 기본 Xlib 라이브러리가 들어있다. 이 라이브러리를 이용 프로그래밍을 하는 것에 관련된 정보를 찾으려면 오렐리 사의 X 프로그래밍 서적 시리즈를 추천한다.

XFree86-libs -- (버전 3.3.2.3, 1,863K) □ □

대부분의 X 프로그램을 실행할 때 필요한 공유 라이브러리. X 애플리케이션을 실행할 때 필요한 디스크 공간을 줄이기 위해 개별 패키지로 되어있다.

C.12.9 gnome

GNOME 데스크탑 환경에 관련된 패키지.

gnome-libs -- (버전 0.20, 556K) □ □

GNOME(the GNU Network Object Model Environment)를 사용하기 위해 설치할 때 필요한 기본 라이브러리. 이름은 공상적이지만 GNOME는 훌륭한 GUI 데스크탑 환경으로 컴퓨터를 쉽고, 강력하며 설정하기 쉽게 만든다.

gnome-libs-devel -- (버전 0.20, 1,888K)

GNOME 애플리케이션을 개발할 때 사용하는 라이브러리, 헤더 파일 등.

urw-fonts -- (버전 1.0, 2,181K)

35개 표준 포스트스크립트 글꼴의 공개 버전. 표준 35 유형 1 포스트스크립트 글꼴 중 고스트스크립트 quality 버전의 새로운 릴리즈가 들어가 있다. URW의 GPL로 기증하고 라이선스 되었다. fonts.dir는 특별히 글꼴의 원래의 Adobe 이름(Times, Helvetica 등)에 맞게 만들어졌다. XFree86을 쓰면 이 글꼴이 반드시 있어야 한다!

xinitrc -- (버전 1.6, 9K) □ □

startx 명령에서 사용하는 기본 X 윈도우 시작 스크립트.

부록 D 일반적인 매개변수와 모듈

여기에서는 어떤 구동기에 의해 요구되는 가능한 매개변수에 대해 설명한다. 대부분의 경우에는 추가적인 매개변수들이 필요하지 않다는 것을 알아두자. 여기에 포함된 것도 네트워크 하드웨어와 그 하드웨어가 요구하는 관련 모듈의 목록이다.

사용하고자 하는 장치가 이들 매개변수 중 하나가 필요하고 그 장치를 지원하는 기능이 커널에 포함되지 않았다면 LILO 부팅 명령에 매개변수를 추가하는 식의 전통적인 방법은 작동하지 않는다는 것을 명심하자. 구동기를 모듈로 적재할 때 이들 매개변수를 명시해야 한다. 레드햇 리눅스 설치 프로그램은 구동기가 적재될 때 명시할 매개변수를 지정하는 선택 사항을 제공한다.

레드햇 리눅스 설치 프로그램에 의해 사용되는 커널에 포함된 장치 지원과 관련된 보다 자세한 정보를 원한다면 2.8절을 참고하기 바란다.

일반적으로 사용되는 매개변수의 하나인, hdX=cdrom 매개변수는 IDE/ATAPI 시디롬에 대한 지원을 커널의 일부처럼 다루듯이 부트 입력 대기 상태에서 입력을 할 수도 있다.

D.1 시디롬 매개변수

하드웨어	매개변수
미쭈미 시디롬	mcd=port,irq
소니 CDU 31 또는 33 시디롬	cdu31a_port=base_addr cdu31a_irq=irq
아즈텍 CD268	aztcd=port
SB Pro 또는 16 호환	sbpcd=io_addr,sb_pro_setting
ATAPI/IDE 시디롬 드라이브	hdx=cdrom

위 하드웨어들에 대한 예제는 다음과 같다.

설정	예제
포트 340, IRQ 11인 non-IDE 미쭈미 시디롬	mcd=0x340,11
포트 340, IRQ없는 소니 CDU 31 또는 33	cdu31a_port=0x340 cdu31a_irq=0
포트 220 아즈텍 시디롬	aztcd=0x220
세컨터리 마스터인 ATAPI 시디롬	hdc=cdrom
포트 230인 사운드블러스터에 달린 파나소닉 유형 시디롬	sbpcd=0x230,1 hdx=cdrom

※주의 사항 : 대부분의 신형 사운드 블러스터 카드는 IDE 인터페이스를 따른다. sbpcd 매개변수를 사용할 필요없이 hdX 매개변수만 사용하면 된다.

D.2 SCSI 매개변수

하드웨어	모듈	매개변수
시게이트 ST0X	seagate.o	controller_type=1 base_address=base_addr irq=irq
F. 도메인 TMC-8xx	seagate.o	controller_type=2 base_address=base_addr irq=irq
F. 도메인 TMC-3260	fdomain.o	setup_called=1 port_base=base_addr interrupt_level=irq
AHA-2920	fdomain.o	setup_called=1 port_base=base_addr interrupt_level=irq
트랜터 T128	t128.o	t128=base_addr,irq
NCR-5380 기반	g_NCR5380.o	ncr5380=base_addr,irq,dma_channel
AHA 152x	aha152x.o	aha152x=base_addr,irq,scsi_id,reconnect,parity
AHA 1542	aha1542.o	bases=base_addr
버스로직	BusLogic.o	buslogic=base_addr
PAS-16 SCSI	pas16.o	pas16=base_addr,irq
짚 병렬 포트	ppa.o	ppa_base=base_addr
올웨이즈 In2000	in2000.o	setup_string="ioport:base_addr noreset nosync:x period:ns disconnect:x debug:x proc:x"

위 하드웨어에 대한 몇 개의 예제는 다음과 같다.

설 정	예 제
포트 330, IRQ 11, SCSI ID 7인 아답텍 AHA1522	aha152x=0x330,11,7
포트 330인 아답텍 AHA1542	bases=0x330
기본 입출력 주소가 CA000, IRQ 10인 퓨쳐 도메인 TMC-800	controller_type=2 base_address=0xca000 irq=10

매개변수에 □,□가 있다면 □,□뒤에 공백이 있으면 안된다.

D.3 이더넷 매개변수

대부분의 이더넷 구동기는 다음과 같이 base IO 주소와 IRQ를 받아들인다.

io=base_addr irq=irq

예를 들어, 3com 3c509 이더넷 카드가 IO 주소가 210(IO 주소는 보통 16진수로 나타낸다)과 IRQ 10을 사용한다면 3c509 구동기에는 다음의 매개변수를 사용하면 된다.

io=0x210 irq=10

한 대의 컴퓨터에 여러 개의 이더넷 카드를 사용할 수 있다. 각각의 카드가 다른 구동기(예를 들어 3c509와 DE425)를 사용한다면 단순히 각각의 카드에 대한 alias(가능하다면 선택 사항까지)를 /etc/conf.modules에 추가한다. 예를 들자면;

alias eth0 3c509

options 3c509 io=0x210 irq=10

alias eth1 de4x5

options de4x5 io=0

좀 더 자세한 정보를 원한다면 8.2.2절을 참고하기 바란다.

그러나 같은 구동기를 사용하는 두 개의 이더넷 카드(예를 들어 두 개의 3c509나 3c595와 3c509)를 가지고 있다면 이더넷 구동기를 커널에 포함시켜 컴파일할 필요가 있다. 이 경우에는 □LILO boot: 매개변수□ 형식의 고전적인 형식의 명령을 사용할 수 있다.

ether=irq,base_addr,interface

예를 들면:

LILO boot: linux ether=10,0x210,eth0 ether=11,0x300,eth1

(2개 이상의 이더넷 카드의 사용에 대한 더 자세한 정보를 원한다면 Multiple-Ethernet mini-HOWTO를 보기 바란다.)

D.4 네트워크 모듈 목록

다음 표는 다양한 네트워크 카드와 그 카드를 지원하는 커널 모듈을 나열한 것이다.

이더넷 카드	구동기 모듈
3Com 3c501	3c501.o
3Com EtherLink II	3c503.o
3Com EtherLink Plus	3c505.o
3Com EtherLink16	3c507.o
3Com EtherLink III	3c509.o
3Com EtherLink XL	3c515.o
3Com Vortex 시리즈 (3c590, 3c592, 3c597, 3c595)	3c590.o
3Com Boomerang (3c900,3c905, 3c575)
3Com Cyclone (3c905B)
NS8390과 클론들	8390.o
Ansel Communications EISA ethernet adaptor	as3200.o
Apricot 82596	apricot.o
Allied Telesis AT1700	at1700.o
RealTek pocket ethernet adaptor (RTL8002)	atp.o
RealTek pocket ethernet adaptor (RTL8012)
EtherWORKS DE425, DE434, DE435, DE450, DE500,	de4x5.o
DC21040, DC21041, DC21142, DC21143
Digi RightSwitch SE-X	dgrs.o
Cabletron E2100	e2100.o
Intel EtherExpress Pro/10	eepro.o
Intel EtherExpress Pro 100	eepro100.o
Intel EtherExpress	eexpress.o
SMC 83c170 EPIC/100	epic100.o
ICL EtherTeam 16i, EtherTeam 32 (EISA)	eth16i.o
EtherWORKS DE203, DE204, DE205	ewrk3.o
HP PCLAN/plus	hp-plus.o
HP Lan	hp.o
HP J2585B, J2585A, J2970, J2973	hp100.o
HP J2573
Compex ReadyLink ENET100-VG4
Compex FreedomLine 100/VG
IBM token ring	ibmtr.o
Allied Telesis AT1500 / HP J2405A / NE2100 / NE2500	lance.o
NE1000 / NE2000 (non-PCI)	ne.o
NE2000 (PCI)	ne2k-pci.o
Rascal-Interlan NI5210	ni52.o
Rascal-Interlan NI6510	ni65.o
AMD PCnet/PCI 79C970 / PCnet32 / PCnet/PCI II 79C970A	pcnet32.o
PCnet/PCI II 79C971A
Allied Telesyn AT2550	rtl8139.o
Genius GF100TXR (RTL8139)
NDC Communications NE100TX-E
RealTek RTL8129/8139 Fast
SMC Ultra / SMC UltraEZ / SMC Ultra32	smc-ultra.o
SMC 9000	smc9194.o
Compaq Netelligent 10 T PCI UTP	tlan.o
Compaq Netelligent 10/100 TX PCI UTP
Compaq Integrated NetFlex-3/P
Compaq NetFlex-3/P
Compaq Netelligent Integrated 10/100 TX UTP
Compaq Netelligent 10/100 TX Embedded UTP
Olicom OC-2183/2185
Olicom OC-2325
Olicom OC-2326
Compaq Netelligent 10/100 TX UTP
Compaq Netelligent 10 T/2 PCI UTP/Coax
Accton EtherDuo PCI / Accton EN1207	tulip.o
Adaptec ANA6901/C / Adaptec ANA6911/TX
C-NET CNE-935
Cogent EM100 / Cogent EM110 / Cogent EM400
Cogent EM960 / Cogent EM964 Quartet
Danpex EN-9400P3
D-Link DFE500-Tx / D-Link DE-530CT
Linksys EtherPCI
Kingston EtherX KNT40T / Kingston EtherX KNE100TX
Netgear FX310 TX 10/100
SMC EtherPower / SMC 8432BT / SMC EtherPower10/100
Surecom EP-320X
Thomas Conrad TC5048
Znyx ZX312 EtherAction / Znyx ZX314/ZX315
Znyx ZX342 / ZX344 / ZX345 / ZX346 / ZX348
Znyx ZX351
WD8003, WD8013, 다양한 클론들	wd.o
Packet Engines G-NIC (Yellowfin)	yellowfin.o

부록 E 레드햇 리눅스 설치 지원 FAQ

E.1 서론

본 부록은 공식 레드햇 리눅스 FAQ이다. 본 내용은 레드햇 리눅스와 관련하여 자주 질문되는 것과 그 답변을 정리한 것이다. 이 FAQ는 faq-maintainer@redhat.com에서 관리하며, 본 FAQ에 대한 논평이나 제안은 모두 이 주소로 보내주기 바란다.  가장 최신의 FAQ를 얻으려면 E.4 절을 보기 바란다.

E.2 고침표

레드햇 리눅스의 배포판에 대한 버그와 문제점 등에 대한 내용은 다음의 고침표 페이지에 있어 유용하게 사용할 수 있다.

http://www.redhat.com/support/docs/errata.html

정보를 검색할 때 플랫폼과 레드햇 리눅스의 버전에 따라 내용이 달라지므로 이를 확인하기 바란다(고침표에 접근하는 다른 방법에 관해서는 E.4 절을 보기 바란다).

우리가 고침표를 가장 첫 번째 항목으로 나열한다는 것이 이상하게 보일 수도 있지만, 고침표 페이지는 레드햇 리눅스에서 공통된 문제의 90%를 수정하는데 최고의 자원이 될 것이다.  아울러, 보안 문제에 대한 해결책은 일반적으로 레드햇이 인지한 때로부터 24시간 이후에 고침표 페이지에 올라온다.

항상 이 곳부터 먼저 검사를 해보는 것이 좋을 것이다.

E.3 레드햇 소프트웨어와 연락하기

레드햇 소프트웨어와 연락하는 방법에는 여러 가지 다른 방법이 있다.  편리한 참고를 위해 여기에 나열한다.

일반:

Red Hat Software

PO Box 13588

79 TW Alexander Dr.

Research Triangle Park, NC 27709

USA

http://www.redhat.com

ftp://ftp.redhat.com

redhat@redhat.com

판매:

tel: +1-888-RED-HAT1  (toll-free)

tel: +1-919-547-0012  (toll call)

fax: +1-919-547-0024

http://www.redhat.com/products

지원: http://www.redhat.com/support

버그: 버그는 http://developer.redhat.com/bugs/report.phtml에 있는 버그 추적 시스템을 통해 접수되어야 한다.

제안이나 새로운 기능에 대한 요구는 suggest@redhat.com로 접수한다. 레드햇 리눅스 문서를 향상시키는 데 필요한 제안은 docs@redhat.com로 접수한다.

E.4 범용 자원 목록

레드햇 리눅스 사용자가 활용할 수 있는 다양한 자원을 소개한다. 몇 군데는 레드햇 소프트웨어에서 제공하고 있으며, 몇 군데는 다른 소스에서 제공한다.  아울러, 레드햇 리눅스에 대한 질문중 상당수는 모든 리눅스 배포판에 적용될 수 있으며, 우리는 도움이 될 만한 다른 자원을 가르키는 내용을 포함하였으며, 여기에는 레드햇 리눅스라는 이름을 언급하지 않은 곳도 있을 수 있다.

레드햇 리눅스 웹 페이지:

레드햇 소프트웨어 페이지 http://www.redhat.com

고침표 페이지

http://www.redhat.com/support/docs/errata.html

기술 지원 http://www.redhat.com/support

기술 지원 HOWTO

http://www.redhat.com/support/support-howto.html

지원 하드웨어

http://www.redhat.com/support/docs/hardware.html

메일링 리스트 정보 http://www.redhat.com/mailing-lists

레드햇 리눅스 문서:

http://www.redhat.com/support/docs/rhl/

일반 리눅스 웹 페이지:

공식 리눅스 홈 페이지 http://www.li.org

다양한 화제거리에 대한 일반 정보

http://www.redhat.com/linux-info

http://www.best.com/ aturner/RedHat-FAQ/

훌륭한 일반 리눅스 자원

http://www.linuxnow.com

http://www.linuxhq.com

http://sunsite.unc.edu/LDP/

훌륭한 리눅스 개발자 사이트

http://news.freshmeat.net

http://developer.redhat.com

전자우편 주소: (사용자는 다음의 자동 응답 주소로 전자우편을 보내면 해당 문서를 얻을 수 있다.)

레드햇이 발표한 가장 최신의 고침표 errata@redhat.com

하드웨어 목록 hardware-compat@redhat.com

지원을 얻는 방법 support-howto@redhat.com

본 FAQ 문서 faq@redhat.com

PPP 작동을 위한 팁 ppp-tips@redhat.com

FTP 서버: (아울러 많은 수의 레드햇 미러가 있다.  E.12.1 절을 보기 바란다.)

레드햇 FTP 서버 ftp://ftp.redhat.com

RPM FTP 서버 ftp://ftp.rpm.org

유즈넷 뉴스그룹: 이러한 뉴스그룹 중에서 질문을 할 곳을 한군데 선택한다. 여러 군대의 뉴스그룹에 동시 포스팅은 가끔 보기에 좋지 않다.

답변용:

comp.os.linux.announce

comp.os.linux.answers

질문용:

comp.os.linux.advocacy

comp.os.linux.development.apps

comp.os.linux.development.system

comp.os.linux.hardware

comp.os.linux.m68k

comp.os.linux.misc

comp.os.linux.networking

comp.os.linux.prog

comp.os.linux.setup

comp.os.linux.x

E.5 일반 질문

E.5.1 레드햇 리눅스를 어떻게 구할 수 있는가?

E.5.1.1 질문

레드햇 리눅스의 복사본을 구하고 싶다. 어떻게 구할 수 있는가?  구할 수 있는 방법이 한 가지 이상 있는가?

E.5.1.2 답변

레드햇 소프트웨어나 레드햇 리눅스 재판매업자를 통해 바로 레드햇 리눅스 CD를 구입할 수 있다.  아울러, 전세계에 걸쳐 있는 수많은 사이트에서 내려 받을 수 있다 (E.4와 E.12.1 절 참조).

E.5.2 레드햇에서 새롭게 갱신된 것을 어떻게 구할 수 있는가?

E.5.2.1 질문

패키지에서 문제가 발생했다.  이 패키지에 대한 갱신 버전이 레드햇에서 나와 있는지 알고 싶다. 어떻게 알 수 있을까?

E.5.2.2 답변

레드햇 리눅스 고침표를 살펴보기 바란다 (E.2 절 참조). 아울러, 레드햇 FTP 미러에서 contrib 디렉토리를 검사해보기 바란다.  여기에는 사용자가 기증한 패키지가 있다.  아울러, 레드햇은 redhat-announce-list 메일링 리스트를 통해 주기적으로 관련 발표를 하고 있다.

E.5.3 레드햇 리눅스에서 메일링 리스트가 사용가능한가?

E.5.3.1 질문

레드햇 리눅스를 사용하는 사람과 함께 제가 느꼈던 문제를 함께 논의하고 싶다.  아울러, 정식 제품 구입에 따른 설치 지원을 제공받은 사람들에게 제가 가지고 있는 문제가 어떻게 해결되었는지를 알고 싶다.  어디서 찾을 수 있는가?

E.5.3.2 답변

일반적으로, 레드햇 리눅스 사용자와 만나기에 가장 좋은 방법은 메일링 리스트와 뉴스그룹을 통하는 것이다.  유용한 메일링 리스트와 뉴스그룹은 E.4 절에 나열되어 있다.

E.5.4 레드햇 리눅스에는 소스코드가 들어 있는가?

E.5.4.1 질문

레드햇 리눅스에 따라오는 프로그램을 변경하고 싶다.  레드햇 리눅스에 해당 프로그램에 대한 소스 코드가 들어 있는가?

E.5.4.2 답변

물론이다.  배포판 제작에 사용하였던 것과 동일한 소스코드가 포함되어 있다.  2.0 판 이후부터, 레드햇 리눅스는 RPM 패키징 시스템으로 제작되었다.  RPM은 제작자의 사이트에 있는 것과 동일한 원래의 소스만을 사용하며, 레드햇이 제공하는 패치가 포함되어 있는 경우도 있다.  소스와 기타 패치는 소스 RPM 파일에 들어있다. 소스 RPM을 설치하기 위해서는, 다음과 같이 명령을 사용한다.

rpm -iv packagename-n.nn-r.src.rpm

RPM은 소스를 레드햇 소스 트리인 /usr/src/redhat을 기본으로하여 사양 파일(packagename-n.nn.spec)은 /usr/src/redhat/SPECS에, 소스 아카이브와 패치 파일은 /usr/src/redhat/SOURCES에 들어간다.  레드햇 소스 트리 기본 디렉토리인 /usr/src/redhat은 /etc/rpmrc 파일의 topdir 항목에서 새롭게 구성할 수 있다. 한번 설치했던 소스를 다시 풀기 위해서는, /usr/src/redhat/SPECS로 이동하여 다음 명령을 사용한다.

rpm -bp packagename-n.nn.spec

RPM은 소스를 /usr/src/redhat/BUILD/packagename-n.nn에 풀고, 사양 파일에 나열된 모든 패치를 적용한다. 보다 자세한 정보를 얻고 싶으면, RPM 웹사이트인 http://www.rpm.org를 방문하여 RPM 매뉴얼 페이지를 읽어본다.

E.5.5 매뉴얼이나 CD와 같은 매체에 문제가 있을 경우에 어떻게 해야 하는가?

E.5.5.1 질문

레드햇 리눅스 제품 상자를 구입하였는데, CD에 문제가 생겼다.  아마도 긁힌 것 같은데, 컴퓨터에서 읽지를 못한다.  어떻게 해야 하는가?

E.5.5.2 답변

구입한 제품에 물리적인 문제가 있을 경우(가령 매뉴얼에 특정 페이지가 빠져 있다던지, CD가 긁혀져 있다던지 하면), 레드햇 소프트웨어의 판매 사무소에 연락해보기 바란다 (E.3절 참조). 우리는 재빨리 문제를 해결해 드릴 것이다.  문제가 하나의 독립된 것이므로, redhat-list 나 레드햇 지원으로 문제를 보고하지 말아주기 부탁드리며, 제품을 빨리 교체하여 드릴 것이다. (참고: 이것은 공통적인 문제가 아니지만, 언제든지 일어날 수 있는 일이다.)

E.6 설치

E.6.1 레드햇 리눅스를 사용하기 위해서는 얼마만큼의 디스크가 있어야 하는가?

E.6.1.1 질문

저의 하드 드라이브에서 레드햇 리눅스가 얼마만큼의 공간을 사용할 것인지 고민된다.  레드햇 리눅스를 위해 얼마만큼의 디스크 공간을 할당해야 하는가?

E.6.1.2 답변

소프트웨어에 계속 새로운 기능이 추가됨에 따라, 소프트웨어의 덩치가 커지고 있다.  레드햇 리눅스도 예외는 아니며, 이전 버전에 비해 대략 20%정도 커졌으며, 첫째로 추가된 패키지와 라이브러리, 그리고 기타 추가된 다른 기능 때문이다.

레드햇 리눅스 버전 4.2는 최소 디스크 공간 요구량으로 16MB의 교환 분할 영역, 60MB의 X, 개발도구, Tex 없는 기본 설치 공간이 필요하다. http://www.redhat.com/support/docs/hardware.html에 보면 보다 자세한 디스크 공간 요구량이 설명되어 있다. 당연한 이야기겠지만, 5.2에서 최소 디스크 요구량은 증가하였다.  사용자 설치를 선택하여 모든 자동 선택 패키지를 해제하였다면, 최소 16MB의 교환 분할 영역과 120MB의 X, 개발도구, Tex없는 기본 설치 공간이 필요하다.

워크스테이션 또는 서버급 설치 방법으로 설치한다면, 워크스테이션 설치에서는 450MB 공간이 필요하며, 서버 설치에서는 1620MB 용량이 비어있어야 한다.

물론, 이러한 설치 방법은 많은 항목을 설치할 수 있기 때문에, 전문 사용자는 이렇게 설치하고 싶지는 않을 것이다.  이러한 경우에, 사용자 설치는 보다 유연하며, 패키지 항목을 추가하거나 제거할 수 있다.  일반적으로, 전형적인 사용자 설치에서 필요한 보통의 평균적인 수치를 다음에 설명한다.

/boot (커널 공간)	20 MB

교환 공간	16 - 127MB

/	500+ MB

/home	시스템상에서 사용할 사용자 숫자와 각 계정당 사용할 공	간에 의존적임.

추가적인 공간을 여러분이 좋아하는 것에 할당할 수도 있다 (가령, /stuff /private /test 등). 서버를 수행하고자 한다면, 보다 까다롭게 설정할 수 있다.  /tmp 공간과 /var 공간을 별도의 분할 영역으로 추가하여 사용할 수 있다.

E.6.2 운영체제를 여러 개 설치하려면 어떤 순서대로 해야 하는가?

E.6.2.1 질문

저는 빈 하드디스크에 도스 또는 윈도우와 리눅스를 함께 설치하고 싶다.  가장 좋은 방법은 무엇인가?

E.6.2.2 답변

리눅스가 아닌 운영체제를 먼저 설치하고 나서 리눅스를 설치하기를 권장한다.  이렇게 하면 다른 OS가 하드웨어에 편안한 환경을 얻을 수 있게 되며, 어떤 특정 자료를 MBR에 쓰는 것이 가능하며, 리눅스가 먼저 설치되었다면, 덮어 써버리게 된다. 하지만, 여러분은 여러 단계의 방법을 필요로 할 것이다.  설치를 시작하는데, 해당 운영체제가 전체 드라이브를 자신만 사용하도록 한다면, 해당 운영체제의 fdisk를 사용하여 해당 OS를 설치하는 데 필요한 첫 번째 분할 영역의 용량(사용자의 필요에 따라 평균 150-500MB가 적당)을 만들도록 한다.  그리고 다시 부팅하여 설치를 계속하도록 한다.  이때에는 해당 OS가 사용자가 이미 설정한 용량 만큼만 사용하게 될 것이다.  설치가 종료되면, 이제 리눅스 설치를 계속한다.

E.6.3 레드햇 리눅스를 설치하는 색다른 방법이 있는가?

E.6.3.1 질문

리눅스에서 작동하는 시디롬을 가지고 있지 않으며, 그렇다고 네트워크로도 설치를 할 수 없는 상황이다.  다른 방법이 있는가?

E.6.3.2 답변

리눅스 설치를 위해 시디롬이나 네트워크를 사용할 수 없다면, 하드 드라이브에서 레드햇 리눅스를 설치할 수 있다.  다음 단계를 따르도록 한다.

먼저, FAT16으로 형식화된 도스 분할 영역이 필요하다.  \RedHat 디렉토리를 만든다.  여기에서는 E: 드라이브에 레드햇 리눅스 시디롬이 있다고 가정하겠다.  이제 필요한 모든 항목을 하드 드라이브로 복사하도록 한다.  다음과 같이 할 수 있다.

mkdir C:\RedHat

mkdir C:\RedHat\base

mkdir C:\RedHat\RPMS

copy E:\RedHat\base C:\RedHat\base

copy E:\RedHat\RPMS C:\RedHat\RPMS

전체 RPMS 디렉토리 트리 복사에 필요한 용량이 디스크에 충분하지 않다면, \RedHat\base\comps 파일에서 필요한 RPM 파일을 찾도록 한다.

위의 작업을 완료하였다면, 설치를 시작하여, 하드 드라이브 설치 방법을 선택할 수 있다.  제공 플로피를 삽입하라는 메시지가 나올 것이다.  한번 제공 디스크를 적재하였다면, 다음 화면으로 넘어갈 것이다.  레드햇 리눅스 파일이 들어있는 분할 영역을 선택하라는 메시지가 나오면, 해당 하드디스크를 선택한다.  이제 설치는 하드디스크에서 내용을 읽어와서 계속 진행될 것이다.

E.6.4 플로피 이미지는 어디에 있는가?

E.6.4.1 질문

시스템에 플로피 디스크가 없거나 플로피 디스크의 상태가 나쁘다.  어떻게 해야 하는가?

E.6.4.2 답변

시디롬에는 새로운 부트와 사용자를 위한 제공 디스크를 만드는 데 필요한 모든 자료가 들어있다.  새로운 플로피를 도스, 윈도우 95, NT, 리눅스에서 만들 수 있다. 이러한 과정은 1.44MB 플로피에 들어있는 모든 자료를 유실할 수 있으므로 주의하여야 한다.  아래에 작업과정을 설명한다.

1. 도스로 부팅하여 시디롬의 디렉토리로 이동한다.

2. dosutils 디렉토리로 들어가서 rawrite를 수행한다.

cd \dosutils

rawrite.exe

3. 디스크와 부트 이미지를 물어보면 다음을 입력한다.

..\images\boot.img

4. 플로피를 바꿔 끼우고, rawrite 프로그램을 다시 수행한다.  무언가를 묻는 메시지가      나타나면 다음을 입력한다.

..\images\supp.img

리눅스나 리눅스와 비슷한 다른 운영체제에서는, 시디롬을 마운트한 후 dd 명령을 사용하여 자료를 플로피에 쓸 수 있다.  리눅스에서 다음 명령을 실행한다.

dd if=/mnt/cdrom/images/boot.img of=/dev/fd0 bs=72k

dd if=/mnt/cdrom/images/supp.img of=/dev/fd0 bs=72k

E.6.5 리눅스와 도스 디스크 이름의 차이점은 무엇인가?

E.6.5.1 질문

저는 IDE 시스템을 가지고 있는데, 리눅스에서 드라이브 설정 방법과 도스의 그것을 비교하는 데 헷갈린다.  어떻게 이해하는 게 좋은가?

E.6.5.2 답변

리눅스는 도스보다는 아주 다른 방법으로 드라이브 시스템을 설정하는데, 이게 비교적 헷갈릴 수 있다.  첫 번째 하드 드라이브를 "C:"라고 부르지 않고, 리눅스에서는 버스의 종류와 인식된 드라이브의 순서를 나타내는 글자의 조합을 사용한다.  가령 sd는 SCSI를 나타내고, hd는 IDE 버스를 나타낸다.  마지막의 번호는 드라이브 상의 분할 영역을 나타낸다.

IDE 하드 드라이브의 배치는 어느 IDE 채널에 드라이브가 장착되어 있는 지와 하드 드라이브가  해당 채널에서 마스터인지 슬레이브 인지에 따라 달라진다.

Channel         Jumper          hdx

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

ide0            master          hda

ide0            slave           hdb

ide1            master          hdc

ide1            slave           hdd

ide2            master          hde

ide2            slave           hdf

ide3            master          hdg

ide3            slave           hdh

ide0 = primary

ide1 = secondary

ide2 = tertiary

ide3 = quaternary

분할 영역 번호는 하나의 하드 드라이브 당 4개의 주(primary) 분할 영역의 제한을 두는 구형 PC 표준을 따른다.  하지만, 이러한 분할 영역 중 하나는 확장 분할 영역으로 설계될 수 있다.  확장 분할 영역내에서 논리 분할 영역을 지정할 수 있다.  대부분의 드라이브에서 확장 분할 영역 내에서 12개의 논리 드라이브를 둘 수 있어서, 도합 드라이브 전체로 16개의 분할 영역을 가질 수 있다.

번호를 붙이는 방식은 다음을 따른다.

1-4 주(primary) 분할 영역

5-16 논리(logical) 분할 영역

E.6.6 IDE 시디롬에서 설치 시에 발생하는 문제

E.6.6.1 질문

설치를 하는데, 리눅스가 IDE 시디롬 드라이브를 감지하지 못한다.  어떻게 설치를 계속 할 수 있는가?

E.6.6.2 답변

가끔 IDE 시디롬 드라이브가 IDE 채널에 장착되었다는 사실을 BIOS가 알지 못하거나, 리눅스가 시디롬에 질의를 던질 때 시디롬이나 BIOS가 잘못된 자료를 돌려주는 바람에 제대로 인식하지 못할 수가 있다. (예전에 NEC IDE 시디롬은 리눅스 설치 시에 IDE 시디롬이라고 응답하지 않고 IDE 플로피라고 응답하는 경우가 있었다.)

이러한 문제를 해결하려면, 해당 시디롬 드라이브를 LILO 부트 입력 대기 상태에서 수동으로 지정해줘야 한다.

boot:

또는

LILO:

에서 다음을 입력할 수 있다.

linux hdX=cdrom

X 자리에 IDE 시디롬이 장착된 IDE 버스에 따른 드라이브를 나타내는 글자를 지정한다.

E.6.7 랩탑 설치 문제

E.6.7.1 질문

랩탑 컴퓨터에 리눅스를 설치하려고 하는데 문제가 있다.

E.6.7.2 답변

랩탑은 정보기술 산업에서 지원하기가 곤란한 하드웨어 구성품의 하나이다.  많은 회사들은 종종 하드웨어를 제조할 때 닫힌 구조와 특정 파워 요구사항만 만족시키는 방식으로 칩셋을 뒤틀어서 제조하는 경우가 많다.  이러한 변경은 보통 상업적인 보안 이유로 인해 내부적으로만 문서화되며, 다른 사람들은 알기 힘들게 된다. 레드햇은 랩탑에 관련된 질문을 검색하는 서비스를 지원하고 있으며, 레드햇의 첫 번째(때로는 유일한) 리눅스 랩탑 페이지는 다음과 같다.

http://www.cs.utexas.edu/users/kharker/linux-laptop/

E.6.8 구 버전의 리눅스에서 5.x버전으로 판올림하는 데 발생하는 문제

E.6.8.1 질문

구 버전의 레드햇 리눅스 시스템을 5.x 버전으로 판올림 하려고 하는데, 설치 시에 유효한 RPM 데이터베이스를 찾을 수 없다는 메시지가 나온다.  어떻게 해야 하는가?

E.6.8.2 답변

이 문제는 몇몇 구 버전과 신 버전 rpm 사이의 호환성 문제 때문에 생기는 것으로, 구 버전의 rpm으로 작성한 데이터베이스가 신 버전의 rpm에게는 올바로 인식되지 않기 때문이다.  이 문제를 해결하기 위해서는, 시스템에 있는 rpm을 설치 시디롬에 있는 것으로 갱신하여야 하며, 그후에 데이터베이스를 다시 구축하여야 한다.

먼저 CD를 시스템에 마운트한다.

mount /mnt/cdrom

rpm을 CD에 있는 것으로 갱신한다.

cd /mnt/cdrom/RedHat/RPMS

rpm -Uvh --nodeps --force rpm-*rpm

새로운 RPM이 설치되었다면, 다음 명령을 사용하여 데이터베이스를 다시 구축한다.

rpm --rebuilddb

이 명령은 설치 시에 사용되는 RPM 버전에서 사용하는 형식의 데이터베이스를 다시 작성할 것이다.  이제 시스템과 설치 시디롬의 rpm과 rpm 데이터베이스가 동일하게 되었다.

E.6.9 아답텍 2920에서의 문제

E.6.9.1 질문

아답텍 2920을 가지고 있다.  설치 시에 이 장치에 대한 지원 항목이 없다.  왜 그런가?  그리고 어떻게 해야 하는가?  아울러, 시스템에 장착된 퓨처 도메인(Future Domain) TMC-3260을 검사하도록 특정한 선택 사항을 사용할 경우에도 설치 시에 이 카드를 인식하지 못한다.

E.6.9.2 답변

아답텍 2920은 아답텍 칩셋을 사용하지 않고, 실제로는 퓨처 도메인 TMC-3260을 사용한다.  만일 카드가 자동 인식이 되지 않는다면, 특정한 선택 사항을 지정해야 할 것이다.  설치 메뉴에서 SCSI에 대해 물어볼 때, □options"를 선택하여 다음의 내용을 입력한다.

setupcalled=1 portbase=<io base> interruptlevel=<irq>

하나의 예를 들어보자.

setupcalled=1 portbase=0xd000 interruptlevel=9

위의 선택 사항이 제대로 동작하지 않는다면, 카드의 바이오스가 새로운 버전이어서 올바로 검사되지 않을 가능성이 높다.  현재 이 문제를 해결하기 위해 노력하고 있지만, 지금 이 시간에도 만족할 만한 해결책을 찾지 못하고 있다.

E.6.10 아답텍 274x/284x/294x 카드에서의 문제

E.6.10.1 질문

aic7xxx 칩셋(2940/2840/2740/3940/기타)을 사용하는 아답텍 SCSI 카드를 사용하고 있다.  그런데 왜 공통적으로 레드햇 리눅스에서 전체 기능을 모두 지원하지 않고 있는가?

E.6.10.2 답변

이 문제는 과거 아답텍이 자신들의 하드웨어에 대한 정보를 공개하지 않았기 때문으로, 이 때문에 리눅스 구동기를 제작하는 데 상당한 어려움을 겪었다.

하지만, 아답텍은 최근 이러한 정책에 있어서 그들의 입장을 변경했으며, aic7xxx.c SCSI 코드의 현재 제작자인 더그 레드포드가 2940의 기능을 제대로 발휘하는 작업에 상당한 진전을 가져왔다.  이 문제는 현재 성능 개선 작업이 아직 □진행 중□에 있기 때문에 최신 버전의 카드에서는 작동하지 않을 수도 있다.  아답텍 2940 문제를 디버깅할 때 다음에서 설명하는 데로 한번 시행해보기 바란다.

1. 최신 부트 이미지를 ftp://ftp.redhat.com/pub/redhat/updates에서 구한다.

2. AHA-2940은 아답텍의 다른 대부분의 카드와 마찬가지로, (버스의 양쪽 끝에 적극적인(active) 종단(termination)을 가지는) 종단 문제에 극도로 민감하다.

3. 드라이브 상에 종단을 가지는 SCSI 하드 드라이브는 (일반 규칙으로) 적극적인(active) 종단을 제공하는 것처럼 보인다. 이에 반하여 드라이브 상에 종단을 위해 설정할 수 있는 SCSI 시디롬 드라이브와 SCSI 테이프 드라이브는 (일반 규칙으로) 소극적인(passive) 종단만을 제공하는 것으로 보인다.  따라서, 하드 드라이브가 버스 상에서 마지막 장치가 되도록 하자.

4. SCSI 기반 시스템은 동시성 협상(sync negotiation)이 가능할 때와 사용하고 있는 SCSI 드라이브와 연결이 끊어졌을 때에는 작동하지 않지만, DOES는 동시성 협상을 불가능하게 하거나 또는 SCSI 주변장치와 연결이 끊어졌을 때에도 제대로 동작하기 때문에, 케이블이 잘못되었거나 잘못된 종단(termination) 또는 적어도 부족한 종단 문제 때문이라고 짐작할 수 있다.

5. HP C3725S SCSI 드라이브는 AHA-2940AU와 함께 사용하면 전혀 동작하지 않는다.  이 문제는 드라이브 문제 때문이겠지만, 리눅스 커널 2.0.30에 있는 AHA-2940 드라이브의 문제 때문일 수도 있다.

6. 가끔 대용량 드라이브를 사용할 때는, 아답텍 SCSI 바이오스에서 기본 선택 사항인 "Extended BIOS translation for DOS drives > 1 GByte"를 꺼두어야 한다. 이 선택 사항을 켜두면 바이오스가 트랙 당 255 헤더와 63 섹터로 변환하는 계획을 사용한다.  LILO는 이와 같이 작동하지 않는다.  선택 사항을 꺼둔 다음, 모든 것이 제대로 동작할 것이다( 윈도우 95 설치, 리눅스와 리로 설치, 이중 부팅 등).

7. SCSI 체인에 있는 설치 드라이브가 SCSI ID 0 (시스템에 IDE 드라이브가 없을 경우에는 1)이 되도록 한다.  그렇지 않으면, 시스템은 부팅할 수 없게 될 것이다.

8. 보수적으로 느린 설정과 관련된 □no tagged queuing"과 "5MB/s" 등을 사용하면 다른 문제가 발생할 수 있다.

9. 몇몇 시스템에서 문제가 발견되는 또 다른 경우는, SCAM이 켜져 있을 경우이다.  이때에는 이 기능을 꺼두면 문제를 해결할 수 있다.

E.6.11 설치 시에 시그널 11과 시그널 7 문제

E.6.11.1 질문

설치 시에, 시그널 11과 시그널 7이 발생했다.  이 시그널의 의미는 무엇이며, 이 경우에 어떻게 해야 하는가?

E.6.11.2 답변

시그널 11과 시그널 7은 버스와 메모리에서의 하드웨어 오류가 발생하였음을 알리는 것이다.  이 문제는 실행파일이나 시스템의 하드웨어 때문에 발생한다고 볼 수 있다.  리눅스 커널은 CPU와 캐시, 메모리의 기능을 100% 활용하며, 운영중인 하드웨어에 대한 정보를 드러내는 경향이 있다.

첫 번째로 검사해야 할 것은 레드햇에서 나온 최신 설치 및 제공 플로피의 보유 여부이다.  이의 갱신 여부는 고침표를 조사해보기 바라며, FTP 사이트를 살펴보아서 새로운 버전이 올라왔는지 확인하도록 한다.  최신 이미지가 계속 실패한다면, 하드웨어 문제 때문일 가능성이 높다.  보통 메모리나 CPU 캐시 문제이다.  바이오스에서 CPU 캐시를 꺼두고 문제가 사라지는지 확인하기 바란다.  아울러 주기판에 장착된 메모리를 교환하여 슬롯 또는 메모리 중 어느 것의 문제인지 알아볼 수 있다. 다음 URL에서 본 문제에 대해 다양한 정보를 제공하고 있다.

http://www.bitwizard.nl/sig11/

E.6.11.3 답변

필립 쿠스트디오 씨는 4.2 이하 버전에서 5.1로 판올림하는 방법을 다음과 같이 보고했다.

□레드햇 4.2에서 5.1 버전으로 판올림할 때 매번 시그널 11 문제가 계속 나타났다.  이 문제는 시스템 문제는 아니고, RPM 데이터베이스에서의 문제였다.  단 하나의 명령 "rpm --rebuilddb"를 사용하여 간단히 해결할 수 있었다.□

이 문제를 가장 잘 해결하기 위해서는, ftp://ftp.redhat.com/pub/redhat/updates에서 가장 최신 버전의 RPM을 내려받아야 한다.  다음, 이전 버전의 리눅스로 부팅한 다음, root로 로그인하여 RPM을 새로 내려받은 버전으로 갱신한 다음, RPM 데이터베이스를 다시 구축한다.

rpm -Uvh rpm*

rpm --rebuilddb

E.6.12 레드햇 시디롬에 Live 파일 시스템이 들어 있는가?

E.6.12.1 질문

시디롬에 있는 live 파일 시스템을 사용하여 부팅하고 싶다.

E.6.12.2 답변

레드햇 리눅스는 더 이상 live 부팅 기능을 제공하지 않는다.  그 이유는 모듈 방식으로 커널이 변화했기 때문이다.  따라서, 읽기만 가능한 파일 시스템으로 부팅하는 것은 실용적이지 못하다.  시디롬에는 /live 디렉토리에 복구(rescue) 모드에서 실행할 수 있는 자료가 들어있지만, PATH와 LD_LIBRARY_PATH 환경 변수를 설정하여야 한다.

E.6.13 리눅스와 NT의 설치

E.6.13.1 질문

NT를 사용하고 있는데, 리눅스를 설치하고 싶다.  하지만, 이들 OS로 다중 부팅하는 데 문제가 있다고 들었다.  이 문제를 피할 수는 없는가?

E.6.13.2 답변

NT와 리눅스로 이중 부팅을 하는 가장 좋은 방법은 Linux+NT-Loader HOWTO 문서에 잘 나와있다.  리눅스 문서 프로젝트의 웹사이트에서 가장 최신 버전의 문서를 구할 수 있다.

http://sunsite.unc.edu/LDP/HOWTO/mini/

레드햇 리눅스 시디롬에도 \doc\HOWTO\mini\Linux+NT-Loader 문서가 들어있지만 최신 버전이 아닐 가능성이 많다.

E.6.14 실린더 1023 설치 문제를 해결할 수 있는 방법은?

E.6.14.1 질문

시스템에서 1023번째 실린더 아래에서 리눅스를 설치할 수 없다.  어떻게 해야 하는가?

E.6.14.2 답변

먼저 커널을 이러한 제한 아래에 두어야 한다.  그리고 LILO를 사용하지 말고 다른 부트 로더를 사용한다.  다음 이유 중의 하나 때문에 바이오스가 제대로 인식할 수 없을 것이다.

* 커널이 하드 드라이브에서 1023 실린더 위에 있다.

* 커널이 바이오스가 부팅할 수 없는 드라이브 상에 있다(첫 번째 IDE나 SCSI 체인이 아니다).

* 다른 복잡한 커널/바이오스 문제

* 도스에서만 초기화되는 하드웨어인 경우 (PnP 등)

LOADLIN 부트 로더를 사용할 수도 있다.  이 프로그램은 시디롬 상의 \dosutils에 있다.  이 디렉토리를 사용자의 도스 하드 드라이브 분할 영역으로 복사한 다음, autoboot.bat 파일을 편집하여 새로운 분할 영역을 가르키도록 하고, initrd 줄을 삭제한다.  SCSI 시스템을 사용하고 있다면, 복구(rescue) 모드로 들어가서 하드디스크에 있는 /mnt/boot/initrd.img를 도스 분할 영역으로 복사한다.  이 파일을 부팅에 사용하도록 한다.

E.6.15 LILO 제거

E.6.15.1 질문

LILO를 하드디스크의 마스터 부트 레코드(MBR)에서 삭제하고 싶다.  어떻게 해야 하는가?

E.6.15.2 답변

마스터 부트 레코드에서 LILO를 삭제하는 방법은 여러 가지가 있다.  리눅스에서는 /sbin/lilo 명령을 사용하여 MBR에 이전에 저장되었던 버전으로 MBR의 내용을 교체할 수 있다.

/sbin/lilo -u

도스, NT, 윈도우 95에서는 fdisk 명령을 사용하여 새로운 MBR을 /mbr 선택 사항을 사용하여 만들 수 있다.  이렇게 만들어진 MBR은 첫 번째 도스 분할 영역만 부팅할 수 있다.

fdisk /mbr

E.6.16 하드웨어에서 리눅스 제거

E.6.16.1 질문

리눅스를 하드 드라이브에서 삭제하고 싶다.  도스의 fdisk를 사용하여 도스가 아닌 분할 영역을 살펴보았지만, 이 영역을 삭제할 수는 없었다.  어떻게 해야 하는가?

E.6.16.2 답변

하드 드라이브에서 리눅스를 삭제하고 싶어서 기본으로 도스에 있는 fdisk를 사용하려고 했다면, "분할 영역이 존재하지만 존재하지 않는다(Partitions exist but they don't exist)" 라는 메시지를 보게 될 것이다.  도스가 아닌 분할 영역을 삭제하는 가장 좋은 방법은 분할 영역을 이해하는 도스가 아닌 다른 도구를 사용하는 것이다. 설치 플로피를 사용하여 이러한 작업을 할 수 있다.  설치를 시작해서, 판올림이 아닌 설치를 선택하고, 드라이브 분할 작업 화면이 나올 때, fdisk를 선택한다.  fdisk에서 p를 입력하면 분할 영역 번호를 출력하는데, d 명령을 사용하여 리눅스 분할 영역을 삭제한다.  변경작업이 성공적으로 완료되면 w 명령을 입력하여 변경된 정보를 하드디스크에 저장한 다음 종료할 수 있다.  혹 엉뚱한 분할 영역까지 지워버렸다면 곧바로 q 명령을 입력하여 변경된 정보를 저장하지 않고 빠져나올 수도 있다.

리눅스 분할 영역을 삭제하였다면, 설치를 계속하지 않고 Ctrl-Alt-Delete을 눌러 컴퓨터를 다시 부팅할 수 있다.

E.6.17 로드린 사용

E.6.17.1 질문

시스템 부팅에 LILO를 사용할 수 없는 상태이다.  LOADLIN이라고 하는 프로그램에 대해 들은 바가 있는데, 어떻게 사용할 수 있는가?

E.6.17.2 답변

예를 들어, 도스 입력 대기 상태에서 다음과 같이 입력할 수 있다.

C:\> CD \LOADLIN

C:\LOADLIN> LOADLIN zimage /dev/hdb1 ro vga=ask

크기가 큰 커널을 램 디스크로 적재할 수도 있다.

C:\LOADLIN> LOADLIN bzimage /dev/ram rw initrd=diskimage

도스 명령행에서 128 바이트의 제한을 극복하기 위하여 다른 방법을 사용할 수 있다.

C:\LOADLIN> LOADLIN @params

예제 params 파일은 test.par이다.  한번 읽어보기 바란다. 캐시 프로그램에서 □후면쓰기(write-behind)" 캐싱이 제공되고 있다면, LOADLIN을 실행하기 이전에 smartdrv /C를 실행하여야 한다.

C:\LOADLIN> smartdrv /C

이 명령은 저장하지 않은 정보를 디스크에 저장하게 한다(도스 6.2에서는 이렇게 할 필요가 없지만, 확실하게 해두는 것이 좋다).

C:\LOADLIN> loadlin ....

일괄(batch) 파일을 사용하는 게 보다 산뜻할 것이다.

SMARTDRV /C

C:\LOADLIN\LOADLIN C:\LOADLIN\ZIMAGE root=/dev/hdb2 ro vga=3

이제 LINUX.BAT 이라고 간단히 입력하여, 부팅 작업을 할 수 있다. LINUX.BAT 파일에 대한 예제는 LOADLIN 패키지에서 제공한다.

E.6.18 설치를 끝내고 컴퓨터를 부팅하는 과정에서 부딪히는 문제

E.6.18.1 질문

아무런 오류없이 리눅스 설치를 마쳤다.  하지만 다시 부팅을 할 때, L, LI 만 나오는 경우에 부딪혔다.  무엇 때문에 그런가? 그리고 어떻게 복구할 수 있는가?

E.6.18.2 답변

다시 부팅할 때, L, LI 또는 이와 비슷하게 나오거나 알 수 없는 숫자만 쏟아진다면, LILO가 하나 이상의 문제 때문에 프로그램을 적재하는 데 이상이 생겼다는 것을 나타낸다.

출력되는 오류 코드와 어떤 글자(L, LI, LIL 등)에서 멈추는지 유심히 살펴보기 바란다.  (도스 플로피나 다른 컴퓨터에서) 시디롬을 읽을 수 있다면, (도스라고 가정하면) \live\usr\doc\lilo-0.20\README로 들어가서 해당 오류가 무엇을 나타내는지 확인하기 바란다.

대부분의 경우에, LILO의 실패는 바이오스와 하드 드라이브가 맞지 않거나 다른 비슷한 문제 때문에 발생한다.

* 먼저 커널이 1023 실린더 위에 있어서 바이오스가 필요한 정보를 적재할 수 없다.  바이오스가 LBA(선형 블록 어드레싱, Linear Block Addressing) 모드 사용 능력을 제공하고, 현재 켜져 있지 않다면, LBA 모드를 켜고 lilo를 다시 실행하거나 재설치 또는 복구(rescue) 모드를 사용할 수 있다.

* 재설치를 할 수 있으면 분할 영역을 추가하여, /boot 분할 영역을 만들고 /boot 디렉토리를 모두 1023번째 실린더 아래에 두도록 한다.

* 바이오스가 접근할 수 없는 드라이브 상에 커널이 위치해 있다.  IDE 드라이브가 첫 번째 체인(IDE0 hda, hdb)에 위치해 있지 않을 경우이거나 SCSI ID가 0(또는 시스템에 IDE 드라이브가 없을 경우 1)이 아닌 SCSI 드라이브에 리눅스를 위치했을 경우도 있다.

그 밖에 더 많은 정보를 알고 싶으면, 복구(rescue) 모드를 사용할 있다.  또는 공식 지원이나 메일링 리스트, 뉴스그룹, 동료를 통해서 정보를 더 얻을 수도 있을 것이다.

설치 플로피를 끼워 넣고, 부트 입력 대기 상태에서 다음을 입력한다.

linux rescue

하드웨어에 대해 몇 가지 묻는 과정이 지나면 루트 입력 대기 상태(#)가 나타날 것이다.  다음 예에서는 리눅스를 루트 분할 영역으로 마운트하는 과정을 나타낸다.  /dev/hda5를 / 분할 영역으로 마운트한다.

mkdir /mnt

mount /dev/hda5 /mnt

그리고, 다음을 입력한다.

lilo -v -r /mnt

출력되는 메시지를 기억한다.  보다 많은 정보를 보고 싶으면 -v 선택 사항을 추가할 수 있다.  오류가 발생한다면, 출력되는 메시지를 적당한 지원 그룹에 올릴 수 있다.

E.7 레드햇 리눅스를 사용하기

E.7.1 리눅스 초보자

E.7.1.1 질문

처음으로 리눅스를 접했는 데, 어떻게 사용해야 할지 아무 것도 모르겠다.  root@localhost# 이라는 명령행을 보게 되는 데 이게 무엇인가?

E.7.1.2 답변

레드햇 리눅스를 처음으로 접하는 사용자들은 리눅스를 배우는 데 필요한 다른 문서를 볼 필요가 있다.  이러한 점 때문에, 레드햇은 본 안내서를 확장하는 작업을 계속하고 있지만, 여러분들은 추가적인 정보를 필요로 할 것이다.  다음의 자원은 여러분들에게 유용할 것이다.

책:

Running Linux - Matt Welsh 저, 오렐리 도서

Linux for Dummies - 여러명의 저자들이 집필

Red Hat Linux Unleashed - Sams 출판사

Teach Yourself Linux in 24 Hours - Sams 출판사

http://www.redhat.com/linux-info/ldp/LDP/gs/node5.html

http://www.best.com/~aturner/RedHat-FAQ/

지원 하드웨어에 대한 완벽한 설명을 보려면, 다음 사이트를 방문한다.

http://www.redhat.com/support/docs/rhl/intel/rh50-hardware-intel.html

E.7.2 Quake와 Quake II를 실행하기

E.7.2.1 질문

리눅스 시스템에서 Quake를 수행할 수 있다고 들었는데, 어떻게 설정해야 하는가?

E.7.2.2 답변

사용자의 시스템에서 Quake를 수행하기 위해서는, 리눅스용 Quake 프로그램을 다음에서 내려 받는다.

http://www.idsoftware.com/archives/quakearc.html

E.7.3 ls에서 컬러 나오게 하기

E.7.3.1 질문

ls를 실행하면 컬러를 볼 수 없다.  구 버전의 리눅스를 사용하고 있는데, 파일 이름에 따라 다른 색깔을 보고 싶다.

E.7.3.2 답변

컬러를 보려면, .bashrc 파일을 편집해서 다음의 내용을 포함하도록 한다.

alias ls='ls --color=auto'

E.7.4 컴파일한 프로그램이 수행되지 않을 경우

E.7.4.1 질문

레드햇 리눅스를 설치했다.  제가 컴파일한 간단한 프로그램을 실행하려고 하면, 다음의 메시지가 나온다.

a.out

bash: a.out: command not found

구 버전의 리눅스를 사용하고 있는데, 지금까지는 프로그램을 수행하는 데 아무런 문제가 없었다.  어찌된 일인가?

E.7.4.2 답변

이 메시지는 쉘이 해당 프로그램을 찾지 못했기 때문에 나타나는 것이다.  시스템의 쉘(사용자의 명령을 수행하는 OS의 일부분)은 어디에 있는 프로그램을 수행할 것인지를 지정하는 경로를 사용하여 프로그램을 찾는다.  다음과 같이 입력하면, 사용자의 PATH 변수를 살펴볼 수 있다.

echo $PATH

이 명령에 의해 출력되는 디렉토리 중에 현재 작업 디렉토리(cwd)가 보이지 않을 것이다.  현재 작업디렉토리(cwd)는 "."로 보통 표기한다.  따라서 현재 작업 디렉토리에 있는 명령을 실행하려면, 사용자의 경로에 현재 작업 디렉토리를 추가하거나, 다음과 같이 입력해야 한다.

./a.out

E.7.5 맥밀란(MacMillan) 레드햇 리눅스에 포함된 문서들

E.7.5.1 질문

맥밀란 레드햇 리눅스 꾸러미를 구입했다.  여기에는 추가적인 여러 온라인 문서들이 포함되어 있다.  이 문서를 어떻게 설치하여 읽을 수 있는가?

E.7.5.2 답변

맥밀란 레드햇 리눅스 운영체제에는 부가적으로 여러 책이 따라 온다.  이 책은 PDF 문서 형식으로 되어 있으며, 읽기 위해서는 PDF 문서 읽개가 있어야 한다.  리눅스 아크로벳 읽개가 이러한 용도로 포함되어 있다.   프로그램을 설치하려면, root 사용자로 로그인하여 다음과 같이 명령을 입력한다.

먼저 설치 시디롬을 넣고, 다음과 같이 명령을 입력하도록 한다.

mount /mnt/cdrom

mkdir /tmp/acro

cd /tmp/acro

tar xzvf /mnt/cdrom/ebooks/acrobat.tar

# 이제 해당 파일이 /tmp/acro 디렉토리에 풀릴 것이다.

./INSTALL

# INSTALL 스크립트를 실행한다.  자료 문서는 기본으로 /usr/local에 설치될 것이다.

이제 사용자는 아크로벳 읽개를 사용하여 /mnt/cdrom/ebooks에 있는 문서를 볼 수 있다.

E.8 X 윈도우 시스템

E.8.1 XFree86을 사용할 때 서버가 빠진 경우

E.8.1.1 질문

startx 명령을 사용하여 X를 시작하려고 하는데, 서버가 설치되지 않았다는 오류 메시지가 출력되었다.  그리고 다시 쉘 입력 대기 상태로 떨어졌다.  무엇이 잘못되었는가?

E.8.1.2 답변

서버가 설치되지 않았다는 오류 메시지가 출력되면, 먼저 X 서버가 올바르게 설치되었는지, 링크가 올바르게 되었는지를 확인해야 한다. 최신의 레드햇 리눅스 패키지를 사용하고 있다면, 다양한 보안문제로부터 시스템을 보호하기 위해서 xserver-wrapper을 사용하고 있을 것이다.

/usr/X11R6/bin/X는 xserver-wrapper로 심볼릭 링크가 되어 있어야 하며, /etc/X11/X는 현재 사용하고 있는 비디오 카드에 적합한 X 서버로 심볼릭 링크되어 있어야 한다.  X 서버의 예를 들면 XF86_SVGA가 있다. 여기에는 이러한 심볼릭 링크를 만드는 예를 소개한다.  당연히 root로 아래의 작업을 해야 한다.

cd /usr/X11R6/bin

ln -sf xserver-wrapper ./X

cd /etc/X11

ln -sf "../../usr/X11R6/bin/XF86SVGA" ./X

이제 시스템에서 심볼릭 링크가 올바르게 설정되었다.

E.8.2 X를 수행하였는데 회색 화면만 나타난 경우

E.8.2.1 질문

X를 시작할 때, 회색 배경과 X 커서만 보이다.

E.8.2.2 답변

대부분의 경우에 공통적인 이유는 X 서버를 시작하는데 올바른 명령을 사용하지 않았기 때문이다.  X 윈도우 시스템을 시작하는 데 가장 좋은 명령은

startx

이다.  이 명령을 사용했는데도 회색 화면만 나타난다면, 다음을 확인해보아야 한다.  첫째, 오랜 시간동안 충분히 기다려 본다.  프로세서의 속도나 메모리 용량(16MB보다 적다던지), 또는 네트워크의 문제로 인해 X가 모두 뜨기까지는 최대 6분까지 걸릴 수 있다.  대부분의 경우에 이러한 문제는 해결될 수 있다.  즉, 빠른 CPU를 사용한다던지 메모리 용량을 늘린다던지, 네트워크에서 문제점을 찾아낸다던지 하는 방법으로 말이다.

그리고 다른 이유 때문에 이런 현상이 발생할 수 있다.  가령, 시작 스크립트에서 지정한 프로그램을 실행할 수 없을 경우이다.  간단하게 ~/.xinitrc 파일을 만들어서 startx를 수행할 수 있다. /var/log/Xerrors에서 오류를 확인하면 문제를 해결하는데 도움이 될 수도 있다.

E.8.3 X 윈도우 관리자를 꾸미기

E.8.3.1 질문

레드햇에서 설정한 X 윈도우 세션을 바꾸고 싶다. X 윈도우 관리자를 어떻게 꾸밀 수 있는가?

E.8.3.2 답변

기본 윈도우 관리자 설정을 바꾸기 위해서는, 메뉴에서 프로그램을 추가하거나 삭제한다.  또는 시작 시에 자동으로 실행할 프로그램을 바꿀 수 있다.  /etc/X11/AnotherLevel에 있는 파일을 변경할 필요성이 있을 것이다.  보다 자세한 내용을 알고 싶으면, xinit, startx, AnotherLevel, fvwm2, FvwmM4, wmconfig 매뉴얼 페이지를 살펴보기 바란다. 레드햇 리눅스에 다른 윈도우 관리자가 포함되어 있지 않다면, 다음 사이트를 살펴보기 바란다.

http://www.plig.org/xwinman/

E.8.4 기본 윈도우 관리자의 변경

E.8.4.1 질문

저는 윈도우 95와 같은 윈도우 관리자 구성을 좋아하지 않는다.  어떻게 바꿀 수 있는가?

E.8.4.2 답변

기본 윈도우 관리자 설정을 좋아하지 않는다면, Preferences 메뉴에서 다른 스타일의 윈도우 관리자를 선택하여, WM Style 메뉴 상에서 클릭한다. 다른 윈도우 관리자로 변경하는데 관심이 있다면, 다음의 웹 페이지를 방문해보시기 바란다.

http://www.plig.org/xwinman/

E.8.5 X 윈도우 오류 111

E.8.5.1 질문

errno=111이라는 오류가 발생하였다.  의미는 무엇이고 해결방법은 무엇입니까?

E.8.5.2 답변

XFree86의 X서버가 오동작 또는 비정상 종료를 하거나, 어떠한 이유 때문에 살아있기는 한데 중단되거나 정지해있다면, _X11TransSocketUNIXConnect: Can't connect: errno = 111이라는 오류 메시지나 이와 비슷한 것을 보게 될 것이다. 이 메시지는 X 클라이언트가 X 서버로 접속을 시도하였으나 어떠한 이유 때문에 실패하였다는 것을 나타낸다.  X 클라이언트는 사용자의 XFree86 X 서버에서 수행되는 프로그램이다.  예를 들면 윈도우 관리자가 있다.

이 문제의 원인을 알아내기 위해서는, 이 오류를 발생시킨 서버의 출력을 살펴보아야 한다.  보통 사용자는 error 111 메시지 이전에 몇 줄에 걸쳐 왜 서버가 제대로 동작하지 않는 지에 대한 실제 오류 메시지를 보게 된다.  출력되는 모든 메시지에서 앞뒤부분에서 오류 메시지에 대한 내용을 볼 수 없다면, 기술지원 부서나 메일링 리스트에 문제를 보고할 때 전체 서버의 출력 내용을 포함하도록 한다. 서버가 출력하는 전체 내용을 갈무리하기 위해서, 서버를 수행할 때 표준 출력과 표준 오류 출력을 파일로 재지향(redirecting)할 수 있다.  즉, X를 다음과 같이 수행할 수 있다.

startx > startx.out

그리고 X에 대한 심볼릭 링크와 .xinitrc(단, 있을 경우)를 점검하거나 어느 프로그램이 실행될 때 오류가 발생하는지를 확인해 보는 것이다.

E.8.6 X 키보드 맵핑 문제

E.8.6.1 질문

X에서 제가 설정한 키보드 맵핑이 제대로 동작하지 않는다.  어떻게 해야 하는가?

E.8.6.2 답변

메트로 X를 사용하고 있다면 다음과 같이 한다.

cd /usr/X11R6/lib/X11/xkb/keymap

cp xfree86 metro

이렇게 하면 대부분의 문제를 쉽게 해결할 수 있다.  하지만 이 방법도 문제를 완전하게 해결하지는 못한다. 그 이유는 이 문제가 XFree86의 맵핑의 일부분이 요즘의 키보드와 맞지 않아서 생기는 문제이기 때문이다.  위와 같이 하였는데도 아직 문제가 해결되지 않았다면, xmodmap과 xev 명령을 사용하여 문제를 해결할 수 있다.  이렇게 수정한 과정과 내용을 bugs@xfree86.org에 보내면, 주요 배포판에서 나타나는 이러한 문제가 해결될 수 있다.

E.8.7 컴파일과 프로그램 실행에서의 X 라이브러리 문제

E.8.7.1 질문

libX를 열 수 없다는 오류 메시지가 발생하였다.  그리고 라이브러리가 빠져서 X 애플리케이션을 컴파일할 수 없다.

E.8.7.2 답변

대부분 필요한 라이브러리가 설치되지 않아서 그렇다.  해당 패키지를 구하여 (다시) 설치 해보시기 바란다. 레드햇 리눅스 설치 시디롬을 넣는다.

mount /mnt/cdrom

cd /mnt/cdrom/RedHat/RPMS

rpm -Uvh --force XFree86-devel* XFree86-libs* Xaw3d*

이제 사용자가 필요한 대부분의 X 라이브러리가 설치되었을 것이다.  아직도 오류 메시지가 나타난다면, 필요한 라이브러리가 레드햇 리눅스에서 기본으로 제공하지 않는 것일 가능성이 크다.  이런 것에는 qt, xforms, motif 등이 있다.

E.8.8 X와 AGP 비디오 카드

E.8.8.1 질문

AGP 그래픽 카드를 가지고 있는데 레드햇 리눅스에서 지원 가능한가?

E.8.8.2 답변

AGP 카드는 XFree86 3.3.2 이전 버전에서는 지원하지 않는다. 3.3.2 버전을 설치하였다면, Xconfigurator에서 지원 가능한 AGP 카드 목록을 보여줄 것이다. 3.3.2 버전이 설치되어 있지 않다면, 이 버전으로 갱신을 고려해보기 바란다.  보다 자세한 정보는 http://www.xfree86.org/에서 찾아보기 바란다.

E.8.9 부팅 시에 X 시작하기

E.8.9.1 질문

매번 startx를 입력하지 않고 부팅 시에 X를 시작할 수는 없는가?

E.8.9.2 답변

부팅 시에 X를 수행하기 위해서는 로그인 시에 xdm을 사용하는데, /etc/inittab을 수정해야 한다.

id:3:initdefault:

이 줄을 다음과 같이 바꿉니다.

id:5:initdefault:

변경한 내용을 저장하고 시스템을 다시 부팅한다 (수동으로 초기화 수준을 5로 바꿀 수 있지만, 시스템을 다시 부팅하는 것이 보다 오류가 일어날 확률이 적다).

E.8.10 NeoMagic 문제

E.8.10.1 질문

NeoMagic 그래픽 카드 칩셋을 사용하고 있는데, X를 어떻게 작동하게 할 수 있는가?

E.8.10.2 답변

XFree86 X 서버에서 NeoMagic 카드를 이제는 지원하고 있다. 레드햇은 프레시즌 인사이트(Precision Insight)와 함께 (NeoMagic과 같은) NDA 하드웨어용 서버를 자유롭게 사용할 수 있도록 제작하고 있다.  다양한 리눅스 배포판을 사용하는 사람들은 아무나 내려받아서 사용할 수 있다.

E.8.11 레드햇 리눅스 4.1을 판올림한 후의 X 문제

E.8.11.1 질문

4.1(또는 이하 버전)을 판올림하였는데, startx를 입력하면, 회색 화면에서 멈추는 것 같다.

E.8.11.2 답변

이 문제는 4.2 버전 이전에서 나타나는데, 모든 사용자의 홈디렉토리에 설치되는 .Xclients의 특정 구문 때문이다.  즉, 이 파일에서 다음과 같이 호출한다.

fvwm95-2 -cmd 'FvwmM4 -debug /etc/X11/TheNextLevel/...'

하지만, 이 윈도우 관리자는 5.x에는 없다.  이 문제를 해결하는 방법은 간단하다.

rm -f  /.Xclients

root 사용자로 로그인하여 다소 거친 방법을 사용할 수 있다.

rm -f /home/*/.Xclients

E.8.12 X에서 넷스케이프 색상 문제

E.8.12.1 질문

넷스케이프를 실행할 때, 색상이 올바로 보이지 않거나 색상에 대한 오류, 경고 메시지가 나타난다.

E.8.12.2 답변

이 문제는 종종 다음 오류와 함께 나타난다.

기본 배경색상에 필요한 컬러맵 항목을 할당할 수 없다.

(Cannot allocate colormap entry for default background.)

이 이유는 X가 애플리케이션에게 할당하는 컬러가 고갈되었기 때문이다 (보통 16이나 256 색상을 사용하는 애플리케이션에서 주로 나타난다).  다음의 해결책을 시도해 볼 수 있다.

1. 넷스케이프를 -install 선택 사항을 주고 실행한다.  컬러가 번쩍거려서 보기 거추장스러울 수 있다.

2. X를 15bpp 이상으로 실행한다.  기본 8bpp 이상을 얻기 위해서는 startx를 다음과 같이 수행한다.

startx --bpp 16

이게 원하는 데로 되지 않는다면, X 구동기 설명서와 Xconfigurator를 참고하거나 그래픽 카드를 판올림한다.

E.8.13 가속(Accelerated) X와 레드햇 5.x의 문제

E.8.13.1 질문

가속 X를 사용하고 있는데, 시작 시에 이러한 오류 메시지가 나타난다: 치명적인 서버 오류: 기본 글꼴 'fixed'를 열 수 없다(Fatal server error: could not open default font 'fixed')  이 문제를 어떻게 해결할 수 있는가?

E.8.13.2 답변

5.x 버전에서, 글꼴이 gzip으로 압축되어 있다.  가속 X 버전에서는 이 글꼴을 어떻게 처리해야 할 지에 대한 정보를 가지고 있지 않다.  이 문제를 해결하기 위해서는, 글꼴 디렉토리에서 gzip -d 명령을 사용하여 압축을 해제해줘야 한다.  다음 mkfontdir을 실행한다.

E.8.14 X에서 마이크로소프트 직렬 마우스 문제

E.8.14.1 질문

마이크로소프트 직렬 마우스를 가지고 있는데, 리눅스에서 작동하지 않는다.  어떻게 해야 하는가?

E.8.14.2 답변

2개의 단추가 있는 마이크로소프트 마우스 버전 2.1A 이상은 "smart" 마우스이다.  이 마우스는 윈도에서처럼 기상(wakeup) 시그널을 기다리고 있거나, 컴퓨터에 아무런 응답을 하지 않는 것으로 판단된다. 이것은 리눅스에서 X나 gpm이 동작하지 않는 문제를 야기한다.  왜냐하면 이 프로그램이 기대하는 반응을 전혀 보이지 않기 때문이다.  이 프로그램에서 마우스가 제대로 작동하도록 다시 설정하기 위해서는, 다음 방법 중 하나를 사용할 수 있다.  mouseconfig 프로그램을 사용하여 X를 수행하기 이전에 설정한다.

mouseconfig --kickstart  --device cuaX

X 자리에는 0 (com1일 경우)이나 1 (com 2 일 경우)이 올 수 있다. 다른 해결책은 gpm-1.13을 구해서, gpm -t pnp -R로 프로그램을 먼저 수행하고, XFree86에서 MouseSystems Protocol로 설정하고 장치로 /dev/gpmdata를 지정한다.

E.9 시스템 관리

E.9.1 PAM에 대한 질문

E.9.1.1 질문

PAM이 무엇인가? 왜 사용하는가?

E.9.1.2 답변

PAM은 솔라리스 2.6 등에서 표준으로 채택되었다.  PAM에 대한 자세한 정보는

http://www.redhat.com/linux-info/pam/에서 찾아보기 바란다.

E.9.2 보안 쉘에 대한 질문

E.9.2.1 질문

리눅스 시스템에서 보안 쉘 (SSH)을 어떻게 설정하는가?

E.9.2.2 답변

보안기술에 대한 미연방 수출규제법에 따라, 레드햇 리눅스는 ssh를 해외로 공급할 수 없다.  ftp://ftp.replay.com에 보면 ssh와 PGP에 대한 내려받기와 설정정보가 있다.

E.9.3 시스템의 메모리를 모두 인식하는 것과 관련된 문제

E.9.3.1 질문

시스템에 128 메가의 램이 탑재되어 있는데, 리눅스는 그중 64 메가 밖에 인식하지 못한다.  무엇 때문에 그런 것이며, 어떻게 고칠 수 있는가?

E.9.3.2 답변

(먼저, 이 문제는 레드햇 리눅스 버전 5.2 이상에서는 수정되었다.  이전 버전을 사용할 경우에만 참고한다.)

리눅스가 사용자의 메모리를 모두 인식하지 못하는 이유에는 여러 가지가 있다.  몇몇 386 시스템에서는 커널을 컴파일할 때 `16M 메모리 제한(Limit memory to 16M)?□을 켜두어야 한다. 대부분의 시스템에서는, 바이오스가 인식할 수 있는 메모리 용량의 제한을 가지고 있는데, 바이오스가 OS에게 알려주는 메모리 정보는 이러한 제한의 영향을 받으며, 시스템에는 실제로 이보다 더 많은 메모리를 가지고 있을 수 있다.  이 문제와 관련한 공통적인 제한은 16M, 32M, 64M, 128M이다.  이 문제를 해결하기 위해서는 메모리의 용량을 커널에게 알려주어야 한다.  부팅 시에 mem=메모리용량 플래그를 사용하여 이 작업을 할 수 있다.

다음 예에서는, 32M 메모리를 가지고 있지만, 리눅스에서 16M 밖에 인식하지 못할 경우이다.  LILO 입력 대기 상태에서 다음과 같이 입력한다.

LILO: linux mem=32M

시스템이 부팅한 후에, free 명령을 사용하여 커널에서 메모리 용량을 얼마나 인식하고 있는지를 살펴볼 수 있다.  /etc/lilo.conf 파일의 append 항목에 지정하고, lilo를 다시 실행시켜 이를 자동으로 처리할 수 있다.  본 예에서는 다음과 같이 지정할 수 있을 것이다.

boot=/dev/sda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

image=/boot/vmlinuz-2.0.32

label=linux

root=/dev/sda1

initrd=/boot/initrd-2.0.32.img

read-only

append="mem=32M"

파일을 편집한 후에 lilo를 실행시켜야 함을 잊지 말자.

E.9.4 대용량 램을 보유한 시스템에서의 속도 문제

E.9.4.1 질문

펜티엄 이상의 시스템에 64M 보다 많은 램을 가지고 있다.  그런데 시스템에서 어떤 작업을 하면 속도가 느려지는 것 같다.  mem=64M 이라고 지정하여 64M만 인식하게 하면 다시 속도가 빨라진다.  왜 그렇고 어떻게 해결할 수 있는가?

E.9.4.2 답변

이 문제는 대부분 주기판 때문이다.  주기판의 대부분은 L2 캐시가 64메가까지 접근할 수 있도록 설계되어 있다.  이러한 영향을 받는 기판에는 인텔에서 나온 NX(주로 펜티엄 60-90), FX, VX, TX 기판 등이 있다.  이 기판은 최대 512K의 L2 캐시를 가지고 있다.  이 문제를 해결한 다른 기판이 있을 수 있다. 다음은 우리를 위해 이 문제를 조사한 사용자에게서 얻은 정보이다.

□전형적으로 최대 512K의 L2 캐시를 가지고 있으며 (주기판이나 COAST 모듈 - DIMM과 유사하지만 약간 짧다) 64메가 까지만 캐싱을 할 수 있다.  리눅스가 마이크로소프트의 OS와 동일한 방법으로 메모리를 이용한다면, 메모리 스택의 최상단에서 시작하여 아랫방향으로 나아갈 것이다.  이러한 방식은 결국 사용자가 실제로는 부가적인 메모리를 사용하지 않아도 시스템이 현저히 느려지는 결과를 초래한다.  이 현상에서 예외는 HX 칩셋인데, 이 칩셋은 2개 또는 4개의 펜티엄 프로세서(MMX 포함) 기판을 처리할 수 있는 유일한 것이다.  하지만, 내가 보아온 거의 대부분의 HX 기판은 64 메가 이상을 캐싱하기 위해서 TAG 램 칩을 필요로 하며, 아직 캐싱을 할 수 있는 용량에 제한이 있다 (정확한 수치는 기억이 나지 않는다).□

이 문제를 해결하는 비교적 명확한 방법은 비인텔 기반 주기판을 사용하는 것이다.  VIA 기판은 좋은 해결책으로, 1 메가의 캐시(가끔 2 메가가 부착된 것도 있음)를 가지고 있다.  이 보드는 칩셋의 세부 버전에 따라 512 메가에서 1 기가 메모리까지 캐싱을 할 수 있다.

E.9.5 구 버전의 애플리케이션과 레드햇 5.x 문제

E.9.5.1 질문

libc5 라이브러리를 사용하여 컴파일된 구버전의 애플리케이션을 사용하려고 하는데, 이 프로그램을 실행하면, 즉시 SEGV 오류나 이와 비슷한 문제에 직면하게 된다.  이유는 무엇이며, 어떻게 해결할 수 있는가?

E.9.5.2 답변

libc5 애플리케이션이 오동작하는 문제는 여러 가지 이유에 기인한다.

1. 판올림 전후로, 판올림 과정에 다른 버전의 libc가 설치되었거나 다른 버전의 libc가 충돌이 일어나는 시점에 libc5를 교체하였다.

이 경우에 해당되는지를 알아보기 위해서는 다음과 같은 명령을 사용한다.

rpm -qa | grep libc

출력되는 내용은 다음과 비슷할 것이다.

glibc-devel-2.0.5c-12

libc-5.3.12-24

glibc-debug-2.0.5c-12

rpm-2.4.10-1glibc

rpm-devel-2.4.10-1glibc

glibc-profile-2.0.5c-12

glibc-2.0.5c-12

libc-debug-5.3.12-18 또는 libc-5.4.44-2와 유사한 항목이 보인다면, 해당 패키지를 제거하고(예를 들면, rpm -e libc-debug), ldconfig -v를 실행한다.

2. /etc/ld.so.conf 파일이 예전의 올바른 설정에서 변경되었다.

최적의 적재를 위해서는, /etc/ld.so.conf 파일을 다음과 같은 순서로 나열하도록 한다.

/usr/i486-linuxaout/lib

/usr/i486-linux-libc5/lib

/usr/openwin/lib

/usr/X11R6/lib

E.9.6 fstool 에서의 문제

E.9.6.1 질문

fstool을 실행하면, 분할 영역이 삭제된 것으로 보인다는 메시지가 출력된다.  그리고 /etc/fstab에서 해당 항목을 지우겠냐고 물어보는데?

E.9.6.2 답변

fstool 프로그램은 현재 버전의 tcl과 올바로 작동하지 않으며, 사용할 수 없다.  fstool은 이미 쓸모없게 되었지만, 크랙 버전을 사용할 수 있다. 먼저 /etc/fstab을 올바로 수정하여 fstool이 오동작 하지 않도록 해야 한다.  fstool에 의해 변경된 것으로 보이는 것은 시디롬이나 교환 영역이다.  여기에 예제 줄을 제시한다.  물론, 사용자는 여기에 제시하는 분할 영역을 자신의 시스템에 적합하도록 수정해야 한다.

/dev/sda2           swap                swap    defaults     0 0

/dev/cdrom          /mnt/cdrom          iso9660 noauto,ro    0 0

이제 rpm을 사용하여 fstool 프로그램을 삭제한다.

rpm -e fstool

레드햇 5.1 버전 이상을 사용한다면, linuxconf 프로그램을 사용하기를 권장한다.

E.9.7 리눅스에서 재즈 드라이브의 설정

E.9.7.1 질문

병렬 포트 짚(zip) 드라이브를 어떻게 사용할 수 있는가?

E.9.7.2 답변

/etc/conf.modules를 편집하여 다음 줄을 추가한다.

alias scsihostadapter ppa

ppa 드라이브에게 어느 LP가 사용될 것인지 등에 관한 선택 사항을 전달하고 싶다면, 다음의 줄을 추가한다.

options ppa ppa=선택 사항

보다 자세한 정보를 알고 싶으면, http://www.torque.net/paraport를 확인해보기 바란다.

E.9.9 IDE 짚 드라이브에서의 문제

E.9.9.1 질문

IDE 짚 드라이브가 작동하는 데 이상이 있다.  리눅스에서 어떻게 작동하게 할 수 있는가?

E.9.9.2 답변

먼저 드라이브에 디스크가 있는지를 확인한다.  물론, 분할 영역 1대신에 4로 마운트를 하였는지 확인한다.  하나의 예를 들면 hdc4가 될 수 있다.  이렇게 하는 이유는 매킨토시는 자료 분할 영역으로 분할 영역 4를 사용하며, 자료가 다른 영역에 있으면 문제가 발생하기 때문이다.

E.9.10 인텔 SMP

E.9.10.1 질문

인텔 SMP 지원을 어떻게 가능하게 할 수 있는가?

E.9.10.2 답변

듀얼 프로세서 인텔 기계 상에서 이러한 SMP 기능은 시험적인 성격을 띄기 때문에, 레드햇 리눅스에서는 현재 이러한 하드웨어를 기본으로 지원을 하지 않고 있다.  하지만, 커널을 다시 컴파일하면 사용할 수 있다. 하지만, 다음 사이트를 방문하여 듀얼 프로세서 시스템용 리눅스를 연구해보기를 권장한다.

http://www.linux.org.uk/SMP/title.html

E.9.11 레드햇 5.x와 구 버전의 애플리케이션의 시간 문제

E.9.11.1 질문

몇몇 구 버전의 프로그램이 시간에서 틀린다.

E.9.11.2 답변

몇몇 lib5 애플리케이션은 /usr/lib/zoneinfo를 요구하기 때문에, 이 파일을 libc6용으로 다시 컴파일하거나 제대로 동작하도록 심볼릭 링크를 만들어 두도록 한다.

ln -s ../share/zoneinfo /usr/lib/zoneinfo

다른 아이템에 대해서는 레드햇 고침표(http://www.redhat.com/errata)를 확인하기 바란다.

E.9.12 시간과 관련한 다른 문제

E.9.12.1 질문

최신 판올림 버전으로 프로그램을 모두 설치하였는데, 프로그램에서 자꾸 시간이 틀린다.

E.9.12.2 답변

최신 판올림 버전으로 프로그램을 모두 설치하였는데, 그래도 프로그램에서 시간이 틀린다면, /etc/sysconfig/clock에서의 설정을 확인해 보기 바란다.  아마도 아래와 비슷하게 되어 있을 것이다.

UTC=true

ARC=false

이 말의 뜻은 리눅스가 사용자의 바이오스 시계가 UTC 또는 GMT 시간대로 설정되어 있다고 가정한다는 것이다.  시스템 시계가 사용자의 지역 시간대로 설정된다면, UTC 줄을 다음과 같이 바꾼다.

UTC=false

E.9.13 레드햇 리눅스의 두 번째 시디롬의 내용

E.9.13.1 질문

설치 시에, 두 번째 시디롬을 요구하지 않았다.  레드햇의 두 번째 시디롬 상에서  X 프로그램인 glint를 사용할 때, rpm이 없다고 하는데, 디렉토리를 살펴보면 분명 rpm이 많이 있다.  어찌된 일인가?

E.9.13.2 답변

레드햇 리눅스의 제품 상자에 들어있는 두 번째 시디롬에는 첫 번째 시디롬에 들어있는 모든 오픈 소스 애플리케이션에 대한 소스 코드 rpm (SRPM)이 들어있다.  사용자는 소스 rpm을 사용하여, 배포판 안에 들어있는 것과 같은 애플리케이션을 만들 수 있다.

glint가 소스 rpm을 인식하지 못하는 이유는 SRPMS는 RPM 데이터베이스에 저장되지 않는 데서 기인한다.  이러한 이유 때문에 소스 rpm을 이전에 설치하였는지 또는 현재 구 버전을 덮어쓰고 있는지에 대한 정보를 제공할 수 없다.  따라서 사용자는 rpm 명령을 다음과 같이 사용하여 소스 rpm을 설치할 수 있다.

rpm -ivh 파일이름

이와 같이 사용하면 소스 코드를 SRPM에서 사용되는 관리자 디렉토리에 설치된다.  레드햇에서 패키징한 src.rpms에 있는 자료는 기본으로 /usr/src/redhat에 설치된다.

rpm을 재 구축하거나 향상시키는 것은 본 답변의 범주를 벗어난다.  □Maximum RPM" 책과 매뉴얼 페이지를 활용하면 이에 대한 좋은 정보를 얻을 수 있다.

E.9.14 시디롬 마운트에 실패

E.9.14.1 질문

리눅스에서 시스템의 시디롬을 인식하긴 하는데, 시디롬을 마운트 하려고 하면, 실패한다.  어떻게 해야 하는가?

E.9.14.2 답변

시스템에 설치가 올바로 되었다면, mount /mnt/cdrom을 입력하면 잘 동작할 것이다.  그렇지 않다면, /etc/fstab 파일을 편집해야 한다.  /etc/fstab 에 있는 항목의 예를 들겠다.

# 보다 자세한 정보는, fstab 매뉴얼 페이지를 참고한다. (man fstab)

# 시디롬 device    directory      (filesystem type and options)

/dev/hdc         /mnt/cdrom     iso9660 noauto,ro 0 0

시디롬 장치가 어떤 것인지를 알아내려면, dmesg | less 명령을 입력하여 시디롬에 관한 정보를 검색한다.  시디롬을 /etc/fstab에 추가하지 않고 마운트하려면, 다음과 같이 명령을 사용한다.

mount -t iso9660 /dev/hdc /mnt/cdrom

E.9.15 플로피로 부팅하기

E.9.15.1 질문

IDE 드라이브에 리눅스를 설치하였는네, 플로피로 부팅해야 할 일이 생겼다.  설치 플로피로 어떻게 시스템을 부팅할 수 있는가?

E.9.15.2 답변

리눅스를 IDE 하드 드라이브에 설치하였다면, 다음과 같은 방법을 사용하여 설치 플로피로 부팅할 수 있다. 설치 플로피를 끼워 넣고 시스템을 다시 시작한다.  boot: 입력 대기 상태에서 다음과 같이 입력한다.

vmlinuz root=/dev/hdXY

(예를 들면, vmlinuz root=/dev/hdb5)

X 자리에는 리눅스 드라이브 글자가, Y 자리에는 루트 (/) 분할 영역으로 설치한 드라이브 상의 분할 영역 번호를 사용한다.

E.9.16 리눅스와 PnP

E.9.16.1 질문

플러그 앤 플레이(Plug and Play) 카드가 작동하지 않는다.

E.9.16.2 답변

2.0.xx 커널에서 바로 PnP 규약을 지원하지 않는다.  카드 상에서 점퍼나 카드 설정 도구를 사용하여 PnP 기능을 꺼두도록 한다.  아울러, 윈도에서 Loadlin.exe를 사용하여 부팅하는 방법을 바꿀 수 있다.  윈도는 PnP 하드웨어를 설정할 수 있기 때문이다.

마지막으로 isapnptools 프로그램을 사용하여 PnP 장치를 인식시킬 수 있다.  먼저, 다음과 같이 명령을 입력하도록 한다.

pnpdump > /etc/isapnp.conf

이제 설정 파일이 만들어 질 것이다.  해당 카드에 적용할 설정을 선택하여 편집한다. 그리고 isapnp /etc/isapnp.conf를 입력하여 해당 장치를 설정한다.

보다 자세한 정보는 http://www.roestock.demon.co.uk/isapnptools/ 에서 찾아보기 바란다.

E.9.17 사운드 카드에서의 문제

E.9.17.1 질문

리눅스에서 사운드 카드를 설정할 수 없다.

E.9.17.2 답변

먼저, 사용자의 사운드 카드가 지원하는 목록 중에서 있는지 확인해 보기 바란다. 또한, 다음 사이트에서 가장 최신의 soundconfig로 판올림한다.

ftp://ftp.redhat.com/pub/sound/sndconfig/

아울러 사운드 카드 모듈을 지원하는 최신의 커널이 필요하다.  해당 파일이 없다면 이러한 패키지를 내려받아서 설치를 해야 한다. 사운드 기술자는 위에서 언급한 사이트에서 사운드 도구를 내려받아서   문제점 보고는 sound-list@redhat.com (http://archive.redhat.com/)로 해주기를 권장하고 있다.

E.9.18 알 수 없는 PCI 메시지

E.9.18.1 질문

시스템이 부팅할 때, 알 수 없는 PCI 하드웨어("unknown PCI device")가 있다는 메시지가 출력된다.  이 메시지는 어떤 의미인지?

E.9.18.2 답변

□알 수 없는 PCI 하드웨어□ 메시지는 여러 가지 이유 때문에 나타난다.  대부분의 경우에 해당 PCI 장치가 리눅스의 질의에 대해 응답을 할 때, 이해할 수 있는 방식으로 하지 않기 때문이다.  하지만 리눅스는 이 문제를 자체적으로 해결한다.  이보다 더 많은 경우는 시스템이 PCI 버스 카드에 대한 질의를 중단시켜서 더 이상 진행할 수 없는 때이다.

이 문제가 커널 상의 하드웨어 문제라면, 우리는 여러분이 커널의 해당 영역 관리자에게 이 문제점을 지적할 수 있도록 도움을 줄 수는 있지만 그 이상의 방법은 현재로서는 없다.  커널 관리자는 여러분에게 무슨 일이 벌어지고 있는 상황인지를 알려줄 수 있으며, 사용자의 시스템에 있는 어떤 하드웨어를 살펴보기를 원할 수 있기 때문에, 앞으로는 좀더 나아진 방식으로 처리할 수 있을 것이다.  해당 커널 관리자는 다음의 주소를 통해 연락할 수 있다.

linux-pcisupport@cck.uni-kl.de

연락 시에는 다음의 정보를 포함하기를 바란다.

* /proc/pci

* 하드웨어에 대한 자세한 설명.  알 수 없는 장치가 어느 것인지 찾아보기 바란다.  주기판의 칩셋일 수도 있고, PCI-CPU 브리지나 PCI-ISA 브리지일 수도 있다.

* 하드웨어 사양 설명서에서 실제 정보를 찾을 수 없다면, 기판 상의 칩에서 참고 사항을 읽을 수 있다.

E.9.19 LILO와 모듈

E.9.19.1 질문

다양한 하드웨어 인식을 위해 LILO: 입력 대기 상태에서 여러 가지 선택 사항을 지정하였다.  하지만, 지금 이러한 선택 사항이 적용되지 않고 있다.  이유가 무엇이며 어떻게 해야 하는가?

E.9.19.2 답변

레드햇 4.0 이후 버전에서 구축된 커널은 모듈 방식의 커널 인터페이스를 사용하는 데, 다른 리눅스나 4.0 이전의 레드햇에서 작동하는 상당수의 선택 사항은 더 이상 작동하지 않는다.  그리고 /etc/conf.modules 파일에 항목을 설정하는 대신, kmod나 kerneld가 모듈을 커널 공간으로 올바르게 적재할 수 있다.

E.9.20 LILO 기본 부팅 변경

E.9.20.1 질문

시스템이 올바로 부팅할 때, LILO는 기본으로 리눅스를 수행한다.  LILO에서 다른 운영체제로 부팅하고 싶은데, 어떻게 할 수 있는가?

E.9.20.2 답변

기본으로 리눅스로 부팅하도록 설정된 것을 변경하려면, /etc/lilo.conf 파일을 편집해서 LILO가 찾는 OS의 순서를 변경한다.  다음에서 기본 부팅 운영체제로 리눅스 대신 도스를 지정하는 예를 보이다.

pico /etc/lilo.conf

# 변경하기 전의 내용

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

3image=/boot/vmlinuz-2.0.31

label=linux

root=/dev/hda2

read-only

other = /dev/hda1

label = dos

table = /dev/hda

# 변경한 후의 내용

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.0.31

label=linux

root=/dev/hda2

read-only

변경된 내용을 저장하고 편집기를 빠져 나온다.  그리고 다음의 명령을 수행한다.

/sbin/lilo -v

새롭게 갱신한 lilo의 내용이 부트 장치에 쓰여질 것이다.  다시 부팅하면, 5 초간의 여유를 주어 사용자가 부팅할 OS를 선택할 수 있도록 하며, 이제 기본으로는 리눅스 대신 도스로 부팅할 것이다.

E.9.21 RPM 사용하기

E.9.21.1 질문

rpm을 어떻게 사용하는가?  이 명령의 일반적인 사용용도와 방법은 어떤가?  시스템의 내용이 변경된 것 같은데, 어느 게 변경된 것인지 모르겠다.  rpm이 도움을 줄 수 있을까?

E.9.21.2 답변

일반적으로, rpm 명령의 일반적인 사용 용도는 다음과 같이 요약할 수 있다.

설치/갱신/삭제

패키지의 설치: rpm -ivh 파일이름

패키지의 갱신: rpm -Uvh 파일이름

패키지의 제거: rpm -e 패키지이름

rpm -ivh 패키지이름

어떤 패키지를 판올림하거나 설치할 때, 설치를 강제로 하기 위해 추가적인 플래그가 필요할 수 있다.  플래그의 각각의 기능이 어떻게 되는지를 알 경우에만 이렇게 사용하는 것을 권장한다.

--force는 다른 패키지가 소유하고 있는 파일을 덮어 써버린다.

--nodeps는 해당패키지가 설치되어 있지 않은 패키지를 필요로 하더라도 개의치 않고 그냥 설치한다.

질의

패키지가 설치되었는지 알고 싶으면: rpm -q 패키지이름

rpm -q 특정패키지

설치된 패키지에 대한 정보를 얻고 싶으면: rpm -qi 패키지이름

rpm -qi 특정패키지

해당 패키지에 속해있는 파일의 목록을 얻고 싶으면: rpm -ql 패키지이름

rpm -ql 특정패키지

해당 파일이 속한 패키지의 이름을 알고 싶으면: rpm -qf 파일경로이름

rpm -qf /usr/bin/실행파일

보통 하나의 선택 사항에 여러 개의 질의 명령을 조합하여 사용할 수 있기 때문에, rpm -qil은 패키지 정보와 패키지에 속해 있는 모든 파일의 목록을 출력한다.

아직 설치되지 않은 rpm 파일을 검사하려면, 질의 줄에 p를 추가한다.

rpm -qilp 특정패키지.1.1-4.i386.rpm

이제 특정패키지에 포함된 파일과 정보가 출력될 것이다.

고급 사용

보다 고급적인 사용법은 rpm 매뉴얼 페이지와 http://www.rpm.org 웹사이트를 참고하기 바란다.

검사

처음에 시스템 상에서 설정된 파일의 내용이 변경되었는지 RPM을 사용하여 알아보려면, 다음과 같이 검사할 수 있다.

rpm -Va

이제 변경된 모든 파일에 대한 목록이 출력될 것이다. 내용이 많을 수도 있다.  왜냐하면 지난 설치 작업에서 많은 내용이 변경되었을 수도 있으며, 이후의 사용과정에서 변경되었을 수도 있기 때문이다. 어느 패키지가 변경되었는지 살펴보기 위해 개별 패키지를 다음과 같은 방법으로 검사할 수 있다.

rpm -Va --pipe "awk 'print 2' | xargs rpm -qf | sort -u" > /tmp/file1

이제 /tmp/file1을 살펴보면 어느 패키지가 변경되었는지 알 수 있다.

E.10 네트워크 관리

E.10.1 부팅 시에 센드메일에서 멈출 경우

E.10.1.1 질문

리눅스를 설치하여 처음으로 부팅하는 데, 센드메일 프로그램을 실행하는 부분에서 다운되어서 시스템이 멈춘다.  왜 이런 일이 일어나며 어떻게 해결해야 하는가?

E.10.1.2 답변

리눅스를 설치한 후에 센드메일, 아파치, SMB와 같은 특정 프로세스에 이르러 시스템이 멈춘다면, 네트워크 문제일 가능성이 높다.  대부분의 공통적인 문제는 리눅스가 사용자의 시스템의 이름을 찾지 못해서 그렇다. 기계 이름을 가지도록 네트워킹을 설정할 경우에 올바르지 못한 이름을 지정하면 이렇다.  기계는 현재 DNS 검색 시의 네트워크 타임아웃동안 기다리고 있을 것이다.  그리고 이 시간이 경과하면 마침내 로그인 입력 대기 상태가 나타난다.  root로 로그인한 다음 문제의 범인을 검사한다.

사용자의 시스템이 DNS 서버가 있는 네트워크에 바로 연결되어 있을 경우, /etc/resolv.conf 파일이 사용자의 DNS 서버와 일치하는 올바른 값을 가지고 있는지 확인한다.  해당 값이 올바른지 시스템 관리자에게 문의하여 확인하기 바란다. DNS 서버가 없는 네트워크에 리눅스를 사용하고 있거나 현재의 기계를 DNS 서버로 사용할 경우, /etc/hosts 파일에 해당 호스트 이름과 주소를 추가하여, 검색이 올바로 이루어 질 수 있도록 한다.

127.0.0.1               localhost localhost.localdomain

192.168.200.1           mymachine mymachine.mynetwork.net

여기에서는 기계 이름의 예로 mymachine을 사용하였다.

E.10.2 센드메일과 레드햇 5.x 버전을 판올림할 때의 문제점

E.10.2.1 질문

5.x 버전으로 판올림했는데, 센드메일이 전자우편을 더 이상 중계하지 않고 있다.  무슨 일 때문인가?

E.10.2.2 답변

각양각색의 전자우편 스패머들이 알 수 없는 레드햇 기계를 전자우편 중계 시스템으로 사용하는 바람에, 레드햇 5.x 버전에서는 기본으로 전자우편 중계 기능을 꺼두었다. 전자우편 중계를 허용할 시스템의 이름을 /etc/relay_allow 파일에 추가할 수 있다.

보다 자세한 정보는 http://www.informatik.uni-kiel.de/%7Eca/email/check.html에서 찾아보기 바란다.

쓸모없는 대용량 전자우편(Unsolicited Bulk Email, UBE)을 전송하는 사이트 때문에 골머리를 앓고 있다면, 센드메일의 새로운 기능을 사용하여 이러한 접근을 거부할 수 있다.  /etc/mail/deny 파일에 해당 사이트를 추가하고 해쉬 표를 만든다. 다음 명령을 사용하여 해쉬 데이터베이스 버전을 생성할 수 있다.

makemap -v hash /etc/mail/deny < /etc/mail/deny

E.10.3 net-pf 오류

E.10.3.1 질문

리눅스를 설치한 후에, 커널을 다시 컴파일하였는 데, 상당수의 net-pf 모듈을 발견할 수 없다는 네트워크 관련 오류가 쏟아진다.  원인은 무엇이며 어떻게 해결할 수 있는가?

E.10.3.2 답변

다양한 네트워크 규약에 필요한 모듈을 리눅스가 찾을 수 없다는 것을 뜻한다.  공통적인 이유는 net-pf-4 (IPX)와 net-pf-5 (appletalk) 때문이다.  커널을 재 컴파일을 할 때, 이러한 이러한 기능을 포함하지 않았는데, 부팅 시에 해당 서비스에 필요한 규약을 위한 모듈을 찾을 때 일어난다. 먼저 mars-nwe나 netatalk 등을 원하는 서비스가 수행되고 있지 않은 지를 확인한다.  이러한 서비스를 포함하기를 원하거나 또는 원하지 않을 경우 커널을 다시 컴파일할 필요가 있다. 아직도 net-pf 오류가 발생한다면 다음의 명령을 입력하여 파일을 아래와 같이 수정할 수 있다.

cd /etc

vi conf.modules

위의 파일에 다음의 내용을 추가한다.

alias net-pf-3 off

alias net-pf-4 off

alias net-pf-5 off

이제 부팅 시에 이전에 나타나던 오류 메시지가 없어질 것이다.  위의 내용을 추가함에 따라서 오류를 일으키던 서비스를 제공하지 않겠다는 것을 리눅스에게 알림으로써 해당 모듈을 검색하지 않도록 하였기 때문이다.

E.11 프린터 관리

E.11.1 기본 프린터 설정

E.11.1.1 질문

프린터를 설정하는 데 문제가 있다.  시스템의 프린터가 프린터 설정 도구에 나열되어 있지 않다.

E.11.1.2 답변

라이선스 문제 때문에, 레드햇 리눅스에 최신 고스트스크립트 버전을 탑재할 수 없다.  하지만 다음 사이트에서 내려받는 것은 가능한다.  이 파일은 다른 레드햇 사용자가 기증한 것이다.

http://www.users.dircon.co.uk/~typhoon/

이 최신 버전의 고스트스크립트는 보다 많은 프린터를 지원할 것이다.

E.11.2 출력이 짤리는 문제

E.11.2.1 질문

인쇄를 하는데, 출력되는 내용이 짤려나간다.

E.11.2.2 답변

몇몇 프린터는 페이지를 인쇄할 때 아스키(ASCII) 줄을 짤라 버리는 경우가 있다.  이러한 문제는 프린터가 매우 긴 줄을 처리하는 방식 때문이다.  텍스트를 프린터로 보내기 전에 텍스트를 형식화하는 pr이나 mpage와 같은 도구를 통하여 출력하도록 한다.

E.12 부록 (장황한 답변)

E.12.1 레드햇 FTP 사이트가 느립니다.  다른 미러 사이트를 알려주기 바란다.

수많은 레드햇 미러 사이트가 있다.  다음 사이트에서 항상 갱신되는 목록을 찾을 수 있다.

ftp://ftp.redhat.com/pub/MIRRORS.html

E.12.2 레드햇 리눅스의 버전에는 어떤 것들이 있는가?

수많은 종류의 버전이 있다.  구 버전부터 나열한다.

Preview (or Beta) - 1994 여름

Halloween - 1994 가을

Mother's Day 1.0 - 1995 여름

Mother's Day 1.1 - 1995 늦여름

Red Hat Linux 2.0beta - 1995 늦여름

Red Hat Linux 2.0 - 1995 초가을

Red Hat Linux 2.1 - 1995 늦가을

Red Hat Linux/AXP 2.1-Beta - 1995 늦가을

Red Hat Linux/AXP 2.1 - 1996 1월

Red Hat Linux 3.0.3 (Picasso) - 1996 3월

Red Hat Linux (Rembrandt beta) - 1996 8월

Red Hat Linux 4.0 (Colgate) - 1996 10월

Red Hat Linux 4.1 (Vanderbuilt) - 1997 1월

Red Hat Linux 4.2 (Biltmore) - 1997 5월

Red Hat Linux (Thunderbird beta) - 1997 5월

Red Hat Linux (Mustang beta) - 1997 5월

Red Hat Linux 5.0 (Hurricane) - 1997 12월

Red Hat Linux 5.1 (Manhatten) - 1998 6월

Red Hat Linux 5.2 - 1998 8월

현재 버전은 레드햇 리눅스 5.2이며, 인텔용 (386, 486, 다양한 펜티엄), (여러 유형을 지원하는) 알파용, 그리고 스팍용이 있다.

부록 F 레드햇 리눅스 스팍용에 해당하는 정보

[생략]

부록 G 용어

알파(Alpha)

디지탈 이큐프먼트 (Digital Equipment) 사가 개발한 RISC(축소 명령 집합 컴퓨터-Reduced Instruction Set Computer) 구조

아타피(ATAPI)

AT 부착 패킷 인터페이스(AT Attachement Packet Interface)의 줄임말. ATAPI는 시디롬 드라이브가 IDE 인터페이스 상에서 컴퓨터 시스템과 서로 통신하는 프로토콜을 말한다.

바이너리(Binary)

컴퓨터가 숫자를 표현하는 방법을 일컬어 바이너리라고 하지만, 바이너리란 단어는 종종 프로그램의 실행 가능한 형태를 말한다. □소스코드(source code)"의 반대되는 말이다.

바이오스(BIOS)

기본 입출력 시스템(Basic Input/Output System)의 줄임말. PC 호환 시스템에서 BIOS는 전원이 처음 공급될 때 시스템 하드웨어를 적절하게 초기화하는 작업을 한다. BIOS는 부트 과정을 제어하고 저수준의 입/출력 루틴을 제공하며 사용자가 시스템 하드웨어 설정을 바꿀 수 있도록 한다.

부트 디스켓(Boot Diskette)

대부분의 레드햇 리눅스 설치 시에 사용되는 디스켓

부트스트랩(Bootstrap)

□부트(Boot)"를 보기 바란다.

부트(Boot)

□부트스트랩□의 줄임말. 전원을 공급했을 때 운영 체제의 실행을 시작하는 과정.

CISC

복합 명령 집합 컴퓨터(Complex Instruction Set Computer)의 줄임말. 프로세서가 상대적으로 큰 숫자의 다른 명령을 수행할 수 있도록 설계되었으며 각 명령을 수행하는 데 다른 시간이 소요되도록 설계된 컴퓨터.  (명령이 얼마나 복잡한지에 의존함) RISC 와 대조된다.

CMOS

원래는 Complementary Metal Oxide Semiconductor -- 회로의 집적에 사용되던 반도체 기술. 현재는 개인 컴퓨터의 바이오스, 컴퓨터의 하드웨어 클락 등의 저수준의 하드웨어에 자주 사용된다.

실린더(Cylinder)

디스크 드라이브에 관한 용어. 다른 위치의 디스크 드라이브의 읽기/쓰기 헤드는 단위 디스크 플래터를 차지할 수 있다. 플래터를 위에서 볼 때 각 헤드 위치는 플래터의 표면에 다른 직경의 가상의 원을 그리게 된다. 하지만 옆에서 볼 때 이 원들은 각각 접해있는 실린더의 연속이라고 생각할 수 있다. 지오메트리 참조.

데몬(Daemon)

사람의 개입없이 주어진 일을 처리하는 프로그램. 예를 들어 lpd는 프린터 작업의 흐름을 통제하는 데몬이다.

의존성(Dependencies)

페키지를 찾을 때 의존성은 패키지 사이에 존재하는 요구사항이다. 예를 들어, foo라는 패키지에서 bar라는 패키지가 설치한 파일이 필요할 수 있다. 이 예에서 bar는 반드시 설치되어야 하며 그렇지 않으면 foo는 의존성 검사에서 실패한다. RPM은 일반적으로 의존성 검사에 실패한 패키지는 설치하지 않는다.

장치 구동기(Device Driver)

컴퓨터에 연결되거나 컴퓨터를 이루는 장치들을 제어하는 소프트웨어.

디스크 드라이브(Disk Drive)

Hard Disk 참조.

Disk Druid

Disk Druid는 설치과정에서 디스크 드라이브를 분할하는데 사용하는 레드햇 리눅스 설치 프로그램의 구성요소이다.

디스켓(Diskette)

휴대할 수 있는 소용량 저장장치. 호환되는 드라이브에서 읽고 쓸 수 있다.

배포판(Distribution)

쉽게 설치할 수 있도록 패키징된 운영체제(보통 리눅스)

도메인 이름(Domain Name)

도메인 이름은 특정한 단체에 속해 있는 컴퓨터를 구별하기 위해 사용된다. 도메인 이름은 본래 계층적이며 계층의 각 단계는 □.□으로 구별한다. 예를 들어 Foo 라는 회사의 재정 관련 부서는 □finance.foo.com"으로 도메인 이름을 사용할 것이다.

구동기(Driver)

장치 구동기.

Dual Boot

시스템이 둘 이상의 운영체제를 부팅할 수 있도록 구성하는 것을 말한다. 셋 이상의 운영체제를 부팅할 수 있기 때문에 □dual"이라는 이름은 약간 잘못된 말이다.

EIDE

확장 통합 드라이브 전자 공학(Enhanced Integrated Drive Electronics)의 줄임말. IDE 인터페이스 표준의 새로운 버전. EIDE는 기존의 하드웨어보다 더 큰 용량과 더 빠른 디스크를 사용할 수 있게 해준다: 요즘 팔리고 있는 대부분의 시스템은 EIDE를 사용한다.

고침표(Errata)

Errata는 라틴 언어이다. 소프트웨어에서 버그가 발견되었을 때 바로 버그를 고치고 errata에 기록을 한다. 레드햇 리눅스도 여기서 예외가 아니다. 레드햇사는 □www.redhat.com/errata"에 고침표를 두고 있다.

확장 분할 영역(Extended Partition)

다른 분할 영역을 포함하고 있는 디스크 드라이브의 부분. 분할 영역 참조.

FAQ

Frequently Asked Questions의 줄임말. 리눅스의 정보는 종종 FAQ라는 질문과 답변의 목록의 형식으로 나타내진다.

fdisk

fdisk는 디스크 드라이브의 분할 영역을 생성하고, 지우거나 수정할 때 사용되는 유틸리티이다.

파일 시스템(Filesystem)

파일 시스템은 디스크 드라이브 상에 정보가 저장되는 방식을 말한다. 다른 운영체제는 보통 다른 파일 시스템을 사용하기 때문에 두 운영체제간의 디스크 드라이브의 파일들을 공유하기가 어렵다. 그러나 리눅스는 다중 파일 시스템을 지원하므로, 예를 들어 윈도우 전용의 분할 영역의 파일을 읽고 쓰는 등의 공유가 가능하다.

플로피(Floppy)

휴대용 소용량 저장장치를 이르는 다소 오래된 용어. 호환되는 구동기에서 읽고 쓸 수 있다. □diskette" 참조.

형식(Formatting)

디스크 드라이브에 파일 시스템을 쓰는 것을 말한다.

FQDN

Fully Qualified Domain Name의 줄임말. FQDN이란 컴퓨터의 호스트 이름과 소속된 도메인 이름으로 구성된 인간이 읽을 수 있는(인식할 수 있는) 이름을 말한다. 예를 들어 호스트 이름이 "foo"이고 도메인 이름이 "bar.com"이라면 FQDN은 □foo.bar.com"이 될 것이다.

FTP

파일 전송 규약(File Transfer Protocol)의 줄임말. 또한 프로그램 이름이 의미하듯이 네트워크상의 한 시스템에서 또 다른 시스템으로 파일의 복사를 할 수 있도록 해주는 프로그램의 이름이다.

게이트웨이(Gateway)

네트워크와 관련해서 외부 네트워크와 통신을 하는 컴퓨터에 연결된 장치를 가리킨다. 게이트웨이는 특별한 하드웨어(라우터 등)이거나 게이트웨이로 작동하도록 설정된 일반적인 목적의 컴퓨터 시스템이다.

지오메트리(Geometry)

하드 드라이브에서는 디스크 드라이브 내부 구성의 물리적 특성을 의미한다. 디스크 드라이브는 바이오스와 관련된 제한 때문에 물리적인 지오메트리와 다른 논리적인 지오메트리를 사용한다. 실린더, 헤드, 섹터를 참고한다.

그룹 ID(GID)

그룹 ID의 줄임말. 레드햇의 다양한 부분에서 그룹에 속한 사용자들을 구별할 수 있는 수단이다. 그룹 ID는 숫자로 되어 있지만 /etc/group 파일에 인간이 읽을 수 있는 이름이 저장되어 있다.

그룹(Group)

그룹은 특정한 부류의 사용자들에게 특유의 접근 권한을 부여하는 방법이다. 예를 들어, 프로젝트 X에 대해 작업하는 모든 사용자를 xproj라는 그룹에 추가할 수 있다. 프로젝트 X에 할당된 시스템 자원(예를 들어, 디스크 공간)을 xproj에 속한 사용자들만 접근할 수 있도록 설정될 수 있다.

하드디스크(Hard Disk)

하드디스크는 빠르게 회전하는 디스크 모양의 마그네틱 매체이다. 작은 헤드가 디스크 표면에서 움직이면서 회전하고 있는 디스크에 기록을 하거나 자료를 읽어온다.

Head

하드디스크에서는 디스크 드라이브 안에 있는 읽기/쓰기 헤드의 숫자를 의미한다. 디스크 드라이브의 각 플래터마다 두 개의 헤드가 있는데 각 면마다 한 개이며 설사 한 면이 쓰이지 않아도 있다. 지오메트리를 참고한다.

호스트이름(Hostname)

호스트이름이란 인간이 읽을 수 있는 특정한 컴퓨터 시스템을 구별하는 데 사용되는 문자열이다.

I18n

Internationalization 참조.

IDE

통합 드라이브 전자 공학(Integrated Drive Electronics)의 줄임말. 주로 디스크와 시디롬 구동기를 컴퓨터 시스템에 연결하는데 사용하는 표준 인터페이스의 이름. EIDE와 ATAPI를 참고한다.

인텔(Intel)

PC 호환의 개인용 컴퓨터에 가장 일반적으로 마이크로 프로세서를 생산하는 회사. 이들 프로세서에는 80386, 80486, 펜티엄, 펜티엄프로, 펜티엄 II 가 있다.

Internationalization

쉽게 다국어를 지원할 수 있게 프로그램을 디자인하고 작성하는 관례. 종종 첫 글자 □i"와 마지막 글자 □n" 간의 글자의 개수로 인해 □i18n"라고 불린다.

IP 주소(IP Address)

IP 주소는 TCP/IP 네트워크 상에서 각각의 컴퓨터 시스템을 구별하는 방법을 말한다. 모든 IP 주소는 0 부트 255까지의 네 개의 숫자로 □.□로 나누어져 있다.

커널(Kernel)

운영체제의 나머지 부분들이 기반을 두고 있는 운영체제의 중심 부분.

라이브러리(Library)

프로그램이 연산을 수행하는 필요로 하는 루틴을 모아 놓은 것이다. 라이브러리는 공유될 수 있다. 다시 말해서 라이브러리 루틴은 그 라이브러리를 사용하는 프로그램에서 분리된 파일의 형태로 존재할 수도 있다는 것이다. 라이브러리 루틴은 정적으로 프로그램에 링크될 수 있다. 다시 말해서 프로그램에 필요한 라이브러리 루틴은 물리적으로 프로그램에 추가될 수 있다는 것이다. 정적으로 링크된 바이너리는 실행하기 위해 어떤 라이브러리도 필요하지 않다. 공유 라이브러리에 링크된 프로그램은 필요한 라이브러리를 설치하지 않고서는 실행할 수 없다.

리로(LILO)

인텔 호환의 프로세서를 기반으로 하는 리눅스의 부트스트랩 올리게

리누스 토르발즈(Linus Torvalds)

1991년 당시 컴퓨터 공학부 대학생으로 리눅스 창시자

Linuxconf

Jacques Gelinas가 만든 다목적 시스템 구성 프로그램. Linuxconf는 여러 가지의 다른 사용자 인터페이스를 통한 메뉴방식으로 시스템을 구성할 수 있게 해준다.

리눅스(Linux)

리누스 토르발즈가 개발한 다양한 기능, 견고함, 배포의 자유를 가진 운영체제이다.

논리 분할 영역(Logical Partition)

확장 분할 영역에 존재하는 분할 영역. 분할 영역, 확장 분할 영역 참조.

마스터 부트 레코드(Master Boot Record)

마스터 부트 레코드(MBR)는 디스크 드라이브의 저장공간의 일부이다 (개인용 컴퓨터의 부트스트랩 프로세스를 시작하는 데 필요한 정보를 저장하기 위한 목적으로 따로 지정된 공간이다).

MBR

□마스터 부트 레코드□ 참조.

메모리(Memory)

컴퓨터를 말할 때 일반적으로 메모리는 자료를 저장하고 후에 다시 불러올 수 있는 것을 말한다. 그러나 여기서 메모리는 대개 특별히 램을 이르는 말이다.

MILO-

일반적으로 알파 프로세서에 기반한 리눅스 시스템을 위한 부트스트랩 올리개로 사용된다.

모듈(Module)

리눅스에서 모듈은 시스템 수준의 기능을 수행하는 루틴의 모음이며, 커널 실행 중에 필요하면 동적으로 적재되고 제거될 수 있다. 종종 장치 구동기를 포함해서 모듈은 커널의 버전과 밀접한 관계가 있다; 임의의 커널 버전에서 만들어진 모듈의 대부분은 다른 커널버전이 실행중인 시스템에서 제대로 적재되지 않는 경향이 있다.

마운트 지점(Mount Point)

파일 시스템이 마운트되는 디렉토리.

마운트(Mount)

시스템 사용자들이 파일 시스템을 접근할 수 있도록 만들어 주는 것.

네임 서버(Nameserver)

TCP/IP 네트워킹 용어 중에서 네임 서버는 인간이 읽을 수 있는 이름(예를 들어 □foo.bar.com")을 숫자로 된 주소(예를 들어 "10.0.2.14")로 바꾸어 주는 컴퓨터를 말한다.

넷마스크(Netmask)

넷마스크는 "."으로 구분되는 네 숫자의 조합이다. 각각의 숫자는 보통 8비트의 이진수를 10진법으로 변환한 값으로 나타내진다.(각각의 숫자는 0(모든 비트가 0일 때)에서 255(모든 비트가 1일 때)사이의 값을 갖는다) 모든 IP 주소는 두 부분으로 이루어져 있다(네트워크 주소, 호스트 번호). 넷마스크는 이 두 부분의 크기를 결정하는데 사용된다. 넷마스크에 1로 설정된 비트의 위치는 네트워크 주소를 나타내는데 사용되고 0으로 설정된 비트는 호스트 번호를 나타내는데 사용된다.

NFS

네트워크 파일 시스템의 줄임말. NFS는 원격시스템의 파일 시스템을 로컬 시스템에서 사용할 수 있도록 해주는 방법의 하나이다. 사용자의 관점에서는 NFS 마운트된 파일 시스템과 직접 연결된 디스크 드라이브의 파일 시스템을 구별할 수 없다.

운영체제(Operating System)

컴퓨터에 있는 다양한 자원들에 대한 접근을 제어하는 소프트웨어의 모음.

패키지(Packages)

소프트웨어를 쉽게 설치 제거할 수 있도록 특별한 형식으로 씌어진 파일.

PAM

끼우기 가능한 인증 모듈(Pluggable Authentication Modules)의 줄임말. PAM은 레드햇 리눅스로의 접근을 제어하는 인증 체계이다.

분할 영역 테이블(Partition Table)

분할 영역 테이블은 디스크 드라이브 상에 존재하는 분할 영역을 정의하기 위해 할당된 디스크 드라이브 저장공간의 일부분이다.

분할 영역의 유형(Partition Type)

분할 영역은 포함할 파일 시스템의 유형을 정의하는 데 이용되는 필드를 갖고 있다. 분할 영역의 유형은 숫자로 나타내지기도 하지만 분할 영역의 유형은 이름으로 불려지기도 한다. 예를 들어 □Linux Native"는 83이라는 숫자를 갖는다. 이 숫자는 16진수라는 것에 주의하자.

분할 영역(Partition)

완전한 하나의 디스크 드라이브인 것처럼 간주되는 디스크 드라이브 저장장치의 구분.

PC Card

PCMCIA 참조.

PCMCIA

개인 컴퓨터 메모리 카드 국제 연합(Personal Computer Memory Card International Association)의 줄임말. 이 기구는 작은 신용카드 정도의 크기를 가진 메모리나 모뎀, 네트워크 카드 등의 물리적, 전기적, 소프트웨어적인 특성을 정의하는 표준을 만들어낸다. PC 카드로 알려진 이 장비들은 주로 랩탑 컴퓨터에 사용된다(하지만 어떤 데스크탑 시스템은 PCMCIA 카드를 사용할 수 있다).

접근권한(Permissions)

파일접근을 제어하는 식별자의 조합. 접근권한은 3개의 필드로 구성되어 있다. 즉, 소유자, 그룹, 소유자도 아니고 그룹에도 속하지 않은 다른 사용자가 그것이다. 소유자 필드는 사용자 소유의 파일에 대한 접근을 제어하는 반면 그룹 필드는 파일의 지정된 그룹에 속하는 사람들에 대한 접근을 제어한다. 이름이 나타내 주듯 소유자도 아니고 그룹에도 속하지 않은 다른 사용자에 대한 필드는 모든 사람들에 대한 접근권한을 제어한다. 각 필드는 읽기, 쓰기, 실행 등의 연산이 수행되는지 하는지 수행되지 않는지를 나타내는 비트의 조합을 포함하고 있다.

PLIP

병렬 줄 인터넷 규약(Parallel Line Internet Protocol)의 줄임말. PLIP은 컴퓨터의 병렬 포트를 사용해 특별히 디자인된 케이블을 이용한 병렬 포트를 사용해 TCP/IP 통신을 가능하게 해주는 통신규약.

POSIX

호환가능한 운영체제 인터페이스(Portable Operating System Interface)의 줄임말. 유닉스 운영체제에서 파생된 표준.

프로세스(Process)

프로세스는 리눅스 시스템에서 프로그램을 실행하는 한 과정을 말한다.

PS/2 마우스(PS/2 Mouse)

PS/2 마우스는 이 유형의 마우스가 최초로 사용된 컴퓨터의 이름에서 유래되었다. -- IBM PS/2. PS/2 마우스는 케이블의 끝이 작고 둥글기 때문에 쉽게 구별할 수 있다.

램(RAM)

무작위 접근 메모리(Random Access Memory)의 줄임말. 램은 파일이 실행되는 동안 프로그램을 저장하고 처리중인 자료를 임시로 저장하는 데 사용된다. 램은 휘발성이다. 이는 램에 씌어진 정보는 컴퓨터의 전원이 꺼지면 지워진다는 말이다.

다시 부팅(Reboot)

부트 프로세스를 재시작하는 것. □Boot" 참조.

레드햇 소프트웨어 사(Red Hat Software)

North Carolina에 있는 소프트웨어 회사. 레드햇 리눅스를 포함해서 리눅스 운영체제를 위한 소프트웨어를 생산하고 판매한다.

복구 디스켓(Rescue Diskette)

기본 시스템 환경을 담고 있는 디스켓. 이름이 말해 주듯이 복구 디스켓은 일반적으로 전체 운영체제를 다시 설치해야 하는 문제가 생긴 시스템을 복구하려 할 때 사용된다.

RISC

축소 명령 집합 컴퓨터(Reduced Instruction Set Computer)의 줄임말. 프로세서가 상대적으로 작은 숫자의 다른 명령을 단시간 안에 수행하도록 설계된 컴퓨터. CISC의 대조되는 말.

롬(ROM)

읽기만 가능한 메모리(Read Only Memory)의 줄임말. 롬은 컴퓨터의 전원이 꺼져도 남아 있어야 하는 프로그램과 자료를 저장하는데 사용된다. 롬은 휘발성이 아니다. 때문에 컴퓨터의 전원이 다시 들어와도 롬에 저장된 자료는 변경되지 않고 남아 있게 된다. 이름이 말해주듯 롬에 쉽게 쓸 수 없다. 롬에 사용된 기술에 따라 롬에 자료를 쓰는 것은 특별한 하드웨어가 필요하거나 불가능하다. 컴퓨터의 바이오스는 롬에 저장된다.

루트(Root)

시스템 자원에 대한 모든 접근 권한을 가진 로그인 계정 이름. □근원 디렉토리"인 "/" 디렉토리를 나타내는 이름이기도 하다.

RPM

레드햇 패키지 관리자(Red Hat Package Manager)의 줄임말. RPM은 패키지의 설치, 판올림, 제거할 수 있는 프로그램의 이름이기도 하다.

SCSI

소형 컴퓨터 시스템 인터페이스(Small Computer System Interface)의 줄임말. SCSI는 컴퓨터에 광범위한 다양한 장치들을 연결하는 표준 인터페이스이다. 가장 대중적인 SCSI 장치는 디스크 드라이브, SCSI 테이프 드라이브, 스캐너 등이 있고 테이프 구동기 또한 일반적이다.

섹터(Sector)

디스크 드라이브를 말할 때, 하나의 디스크 드라이브 읽기/쓰기 헤더가 디스크가  1 회전할 때 헤드 위치 변화 없이 일정한 크기의 수(일반적으로 512 바이트)의 영역을 말한다. 지오메트리 참조.

직렬 마우스(Serial Mouse)

직렬 마우스는 컴퓨터의 직렬 포트에 연결할 수 있도록 디자인된 마우스이다. 직렬 마우스는 케이블의 끝 쪽에 네모란 모양의 연결단자로 쉽게 구별할 수 있다.

setgid

프로세스의 GID를 설정하는데 사용되는 시스템 호출이다. 시스템 상의 임의의 GID를 갖도록 하는 setgid를 사용해 프로그램을 작성할 수 있다.

setuid

프로세스의 UID를 설정하는데 사용되는 시스템 호출이다. 시스템 상의 임의의 UID를 갖도록 하는 setuid를 사용해 프로그램을 작성할 수 있다. 만약 □setuid root"가 설정된 프로그램은 보안상의 문제점을 야기할 수 있다.

쉐도우 암호(Shadow Password)

일반적으로 개개 사용자의 암호는 암호화되어 /etc/passwd 파일에 저장된다. 이 파일은 임의의 시스템 기능이 정확하게 작동하기 위해서 모든 사용자에 의해 읽힐 수 있어야한다. 그러나 이 말은 자동 암호 유추 프로그램을 반복 실행함으로써 사용자의 암호화된 암호의 복사본을 쉽게 손에 넣을 수 있다는 이야기다. 이에 반해서 쉐도우 암호는 암호화된 암호를 다른 고도로 보호된 파일로 보관하므로 암호 크랙을 좀더 힘들게 할 수 있다.

SLIP

직렬 줄 인터넷 규약(Serial Line Internet Protocol)의 줄임말. SLIP은 직렬 라인을 통한 TCP/IP 통신을 가능하게 해주는 통신규약이다(일반적으로 다이얼업 모뎀 접속).

SMB

서버 메시지 블록(Server Message Block)의 줄임말. SMB는 윈도우 기반의 운영체제와 네트워크를 통한 자료의 공유에 사용되는 통신 규약.

소스 코드(source code)

프로그램을 구성하는 명령어의 인간이 읽을 수 있는 유형. □source"라고도 한다. 프로그램의 소스 코드없이는 프로그램을 변경하는 것은 매우 어렵다.

보충 디스켓(Supplemental Diskette)

레드햇 리눅스 설치하는 유형에 따라 필요하게 되는 디스켓.

교환(Swap)

□교환 공간(swap space)"이라고도 한다. 프로그램이 컴퓨터의 물리적으로 이용가능한 기억장치보다 더 많은 기억장치를 필요로 하면 현재 사용되지 않는 정보는 교환에 쓰여지므로 기억장치를 사용할 수 있다. 교환 공간은 하드디스크에 위치한다. 어떤 운영체제는 파일로의 교환을 지원하지만 리눅스는 전용 교환 분할 영역에 교환한다.

시스템 호출(System Call)

시스템 호출은 프로세스를 대신하여 시스템 수준의 기능을 수행하는 루틴이다.

TCP/IP

전송 제어 규약/인터넷 규약(Transmission Control Protocol/Internet Protocol)의 줄임말, TCP/IP 는 오늘날 인터넷 상에 일반적으로 사용되는 네트워킹 표준의 이름이다.

토르발즈, 리누스

리누스 토르발즈 참조.

UID

사용자 ID의 줄임말. 레드햇 리눅스의 여러 부분에서 어느 사용자인지 구별할 수 있는 수단이다. UID는 숫자이지만 인간이 읽을 수 있는 이름은 /etc/passwd 파일에 저장되어 있다.

유닉스

전화 회사를 다니던 사람들에 의해 씌어진 최초의 버전에서 파생된 리눅스와 비슷한 운영체제

언마운트(Unmount)

파일 시스템의 접근을 해제하는 것. (파일 시스템을 언마운트하는 프로그램은 umount라는 것을 알아두기 바란다.)

가상 콘솔(Virtual Console)

가상콘솔은 사용자가 로그인하여 프로그램을 실행할 수 있도록 여러 개의 화면을 제공한다. 한 개의 콘솔은 항상 모니터 상에 나타난다. 글쇠의 조합으로 가상 콘솔간을 이동할 수 있다.

위젯(Widget)

사용자의 조작에 따라 표준화된 화면상의 표현방법. 스크롤 막대, 단추, 글 상자 등은 모두 위젯의 예이다.

X 윈도우 시스템(X Window System)

"X"라고도 한다. 이 그래픽 사용자 인터페이스는 오늘날 대부분의 시스템에 널리 사용되는 데스크탑 윈도우와 비슷한 환경을 제공한다. X에서는 응용 프로그램이 모든 화면 이용을 관리하는 X 서버에 접속하여 클라이언트로 작동한다. 또한 클라이언트 응용프로그램들은 X 서버가 아닌 다른 시스템에 있어도 된다.

XFree86

X 윈도우 시스템의 공개 버전

부록 H 자동시작(Kickstart) 설치

자동화된 설치의 필요성으로 인해, 레드햇 소프트웨어는 자동시작 설치 방법을 제공한다. 시스템 관리자는 이 방법을 사용하여 전형적인 레드햇 리눅스 설치 동안에 물어오는 보통의 모든 질문에 대한 답변을 하나의 파일에 포함하여 만들 수 있다.  자동시작 설치 방법은 아주 강력하여 자동시작 설치 파일을 레드햇 리눅스를 여러 시스템에 설치하는 데 사용할 수 있다.

참고: 자동시작 설치는 시디롬과 NFS 설치에서만 사용할 수 있다.  FTP, 하드디스크, SBM 설치에서는 자동시작 설치 모드를 사용하여 완전 자동화를 할 수 없다.

H.1 자동시작 파일을 어디에 둘 것인가?

자동시작 모드를 사용하려면, 자동시작 파일을 만들어서 레드햇 리눅스 설치 프로그램에서 사용할 수 있도록 해야 한다.  보통 이렇게 하려면 자동시작 파일을 부트 디스켓으로 복사하거나, 또는 네트워크에서 접근할 수 있도록 하면 된다.  네트워크에 기반한 접근 방법이 보다 많이 사용되는데, 왜냐하면 대부분의 자동시작 설치는 네트워크에 연결된 컴퓨터에서 수행되는 경향이 많기 때문이다.  자동시작 파일을 하나의 서버 시스템에 두고, 설치하는 동안에 개별 컴퓨터에서 읽어들이면, 레드햇 리눅스 설치를 여러 컴퓨터 상에서 보다 쉽게 할 수 있게 된다.

자동시작 파일을 어디에 두어야 하는지 보다 깊이 있게 살펴보자.

H.1.1 디스켓 상에서

디스켓을 기반으로 한 자동시작 설치를 하려면, 자동시작 파일의 이름은 ks.cfg 이어야 하며, 부트 디스켓 상의 최상위 디렉토리에 있어야 한다.  레드햇 리눅스 부트 디스켓은 MS-DOS 형식이라 자동시작 파일을 복사할 때 리눅스에서 mcopy 명령을 사용하거나 윈도우 상에서도 여러 가지 도구를 사용하여 쉽게 복사할 수 있다.  이러한 작업에 필요한 어떤 특정한 기술적인 요구사항은 없지만, 대부분 디스켓 기반 자동시작 설치는 시디롬으로 레드햇 리눅스를 설치하는데 사용된다.

H.1.2 네트워크 상에서

네트워크 상에서 자동시작 설치를 보다 많이 사용한다.  왜냐하면, 시스템 관리자들은 네트워크에 연결된 수많은 컴퓨터에 대한 설치 작업을 쉽게 자동화할 수 있으며, 이게 보다 쉽다.  보통, 공통적으로 많이 사용하는 방법은 지역 네트워크에서 관리자들이 BOOTP/DHCP 서버와 NFS 서버를 두는 것이다.  BOOTP/DHCP 서버는 클라이언트 시스템에게 네트워킹 정보를 제공하는 데 사용되며, NFS 서버는 설치 시에 필요한 실제 파일을 제공한다.  이 두 서버를 동일한 시스템에서 수행하는 경우도 많지만, 어떻게 하던 그것은 관리자 마음이다.

네트워크 기반 자동시작 설치를 하기 위해서는, 네트워크 상에 BOOTP/DHCP 서버를 두어야 하며, 설치하고자 하는 기계에 대한 설정 정보를 포함하고 있어야 한다.  BOOTP/DHCP 서버는 클라이언트에게 네트워킹 정보를 제공하는데 사용된다.  BOOTP/DHCP 서버에서 자동시작 파일을 지정하면, 클라이언트 시스템은 해당 파일 경로에 대한 NFS 마운트를 시도할 것이며, 지정한 자동시작 파일을 클라이언트로 복사할 것이다.  실제로 사용할 BOOTP/DHCP 서버 상에서 다양한 변화에 따른 정확한 설정이 필요하다.  레드햇 리눅스에 포함되어 있는 DHCP 서버를 위한 하나의 예를 보인다.

filename "/usr/new-machine/kickstart/";

next-server blarg.redhat.com;

filename에 자동시작 파일의 이름이나 자동시작 파일이 있는 디렉토리를 지정하고, next-server에 NFS 서버 이름을 지정한다.

BOOTP/DHCP 서버에서 돌려주는 파일이름이 슬래쉬("/")로 끝나면, 경로로 해석한다.  이 경우에, 클라이언트 시스템은 NFS를 사용하여 해당 경로를 마운트하고 특정한 이름의 파일을 찾는다.  클라이언트가 찾는 파일이름은 다음과 같다.

IP주소-kickstart

파일이름 중에 □IP주소□ 영역에는 클라이언트의 IP 주소가 점이 포함된 10진수 형식으로 들어간다.  예를 들면, 10.10.0.1 IP 주소를 가진 컴퓨터용 자동시작 파일이름은 10.10.10.1-kickstart이다.

서버 이름을 지정하지 않는다면, 클라이언트 시스템은 BOOTP/DHCP 요구에 응답하는 서버를 NFS 서버로 사용하려고 할 것이다.  경로나 파일이름을 지정하지 않는다면, 클라이언트 시스템은 BOOTP/DHCP 서버에서 /kickstart를 마운트 하려고 시도할 것이며, 위에서 설명한 것과 같이 'IP주소-kickstart' 파일 이름을 가지는 자동시작 파일을 찾으려고 할 것이다.

H.2 자동시작 설치의 시작

자동시작 설치를 시작하려면, 레드햇 리눅스 부트 디스켓으로 시스템을 부팅하여야 한다.  그리고 부트 입력 대기 상태에서 특별한 부트 명령을 입력한다.  자동시작 파일이 부트 디스켓에 있다면, 다음과 같이 입력하면 될 것이다.

boot: linux ks=floppy

다른 경우에, 자동시작 파일이 서버에 존재한다면, 다음과 같이 입력하면 적당하다.

boot: linux ks

H.3 자동시작 파일

이제 자동시작 설치에 대한 약간의 배경지식을 가지게 되었을 것이다.  자동시작 파일에 대해서 살펴보도록 하자.  자동시작 파일은 간단한 텍스트 파일로, 항목의 목록을 포함하고 있으며, 각 항목은 예약어(keyword)로 식별된다.  레드햇 리눅스 시디롬의 docs/ 디렉토리에 있는 README.ks 파일의 복사본을 편집하여 만들 수도 있으며, 여기에서의 설명을 참조하여 필요한 내용을 포함하여 만들 수도 있다.  파일을 편집하는 데 문서 편집기를 사용하거나 또는 워드 프로세서를 사용하여 아스키(ASCII) 텍스트로 파일을 저장할 수 있다.

먼저, 자동시작 파일을 만드는 동안 몇 가지 배경 규칙을 마음에 새기자.

□ 항목은 순서대로 지정해야 한다.  필수 항목의 순서를 바꾸는 것은 그리 좋은 생각이 아니다.

□ 필수적이지 않은 항목은 생략할 수 있다.

□ 자동시작 판올림을 위해서는, 다음의 항목이 필요하다.

- 언어

- 설치 방법

- 장치 지정

- 키보드 설정

- upgrade 예약어

- LILO 설정

판올림 시에 다른 항목을 지정한다면 이는 무시될 것이다.

□ 필수적인 항목을 생략한다면, 설치 과정에 사용자에게서 해당 질문을 받기 위해서 평상시의 설치 과정처럼 입력대기 상태에 들어갈 것이다.  이 상태에서 질문에 입력을 하면 다시 설치가 계속 될 것이다.  또다른 항목을 빠뜨리지 않았다면.

□ 우물정(□#□)자 기호로 시작하는 줄은 주석으로 처리되어 무시된다.

각 항목에 대해 순서대로 살펴보자.

H.3.1 lang - 언어 설정

첫 번째 항목은 언어 설정이다.  언어를 지정하면, 설치 동안뿐만 아니라 설치한 후에도  해당 언어가 사용된다.  언어 지정은 두 글자의 ISO 언어 코드이어야 한다.  가령, 영어는 en, 독일어는 de, 프랑스어는 fr로 표기한다.  언어를 영어로 설정하자면, 다음 줄을 자동시작 파일에 포함하여야 한다.

lang en

H.3.2 network - 네트워크 설정

다음 항목은 네트워크 설정 정보이다.  이 줄은 시스템에게 네트워크 설정 방법을 알려주는 데 사용된다.  이 항목은 선택이며, 생략한다면, 독립 운영으로 설정될 것이다.

네트워크 구성에는 세 가지 다른 방법이 있다.

□ DHCP

□ BOOTP

□ static

DHCP 방법은 네트워크 설정을 하기 위하여 DHCP 서버 시스템을 사용한다.  BOOTP 방법도 이와 유사한데, 이를 사용하려면 네트워크 설정을 제공하는 BOOTP 서버가 필요하다.

고정(static) 방법을 사용하면 필요한 모든 네트워킹 정보를 자동시작 파일에 입력하여야 한다.  이름이 의미하듯이, 이 정보는 고정적이며, 설치동안 뿐만 아니라 설치한 후에도 사용된다.

DHCP를 사용하여 시스템에 필요한 네트워킹 구성 정보를 입수하기 위해서는, 다음 줄과 같이 사용한다.

network --bootproto dhcp

BOOTP를 사용하여 시스템에 필요한 네트워킹 구성 정보를 입수하기 위해서는, 다음 줄을 자동시작 파일에 기록한다.

network --bootproto bootp

고정(static) 네트워킹에 필요한 줄은 보다 복잡하며, 필요한 모든 네트워크 설정 정보를 하나의 줄에 포함하여야 한다.  다음의 내용을 지정해야 한다.

□ IP 주소

□ 넷마스크

□ 게이트웨이 IP 주소

□ 네임 서버 IP 주소

고정(static) 네트워킹을 위한 예제 줄을 다음에 보인다.

network --bootproto static

--ip 10.0.2.15

--netmask 255.255.255.0

--gateway 10.0.2.254

--nameserver 10.0.2.1

참고: 전체 network 설정은 반드시 하나의 줄에 나타나게 해야 한다!  여기에서는 알아보기 쉽도록 여러 줄에 걸쳐 표현하였을 뿐이다.

고정(static) 방법을 사용할 때 다음의 두 가지 제한을 염두에 두어야 한다.

□ 모든 고정 네트워킹 설정 정보는 하나의 줄에 지정해야 하며, 백슬래쉬(□\□) 등을 사용하여 여러 줄에 걸쳐 기술할 수 없다.

□ 하나의 네임 서버만 지정하여야 한다.  하지만, 자동시작 파일의 %post 부분 (H.3.19에서 설명함)에 필요한 네임 서버를 추가할 수 있다.

H.3.3 설치 방법

다음 항목은 설치 방법이다.  이 항목은 레드햇 리눅스를 설치하는 데 필요한 나머지 파일을 설치 프로그램에게 알려주는 역할을 한다.  NFS와 시디롬의 두 가지 선택을 할 수 있다.  NFS 부터 살펴보도록 한다.

H.3.4 nfs - NFS로 설치

NFS 설치 방법을 사용하려면, NFS 서버의 이름과 마운트할 디렉토리를 함께 지정해야 한다.  간단한 예를 들어보자.

nfs --server hostname.of.server --dir /path/to/RH/CD/image

H.3.5 cdrom - 시디롬으로 설치

시디롬 설치 방법을 사용하려면, 다음과 같이 간단하게 지정할 수 있다.

cdrom

H.3.6 device - 선택적인 하드웨어 정보

다음 항목은 선택적인 하드웨어 정보를 지정한다.  대부분의 PCI 기반 하드웨어는 하드웨어로부터 정보를 곧바로 얻을 수 있기 때문에 이 단계를 생략할 수 있다.  IDE 하드디스크와 공통적인 PCI 카드가 이러한 범주에 포함된다.  다른 하드웨어는 특별히 지정할 필요가 있다.

장치를 지정하기 위해서는, device 예약어를 먼저 표기하고, 그 다음에 아래의 장치 유형을 기술한다.

□ ethernet (이더넷 카드)

□ scsi (SCSI 카드)

□ cdrom (SCSI가 아니고, IDE도 아닌 시디롬 드라이브로, 보통 사운드 카드와 함께 붙어있는 시디롬 인터페이스)

해당 장치를 지원하기 위해서 커널 모듈이 필요하다면, 모듈 이름을 장치 유형 다음에 지정한다.

마지막으로, 장치에 필요한 다른 매개 인자가 있다면, --opts 선택 사항을 사용하여 지정할 수 있다.  --opts 후의 매개 인자는 인용부호(")로 감싸야 한다.  아래에 예제를 보인다.

주어진 자동시작 파일에 하나의 장치 유형보다 많은 내용을 지정할 수 있다는 것을 기억하자.  예를 들어, 자동시작 설치를 할 기계에 아답텍 1542나 버스로직 SCSI 카드 둘 중의 하나가 장착되어 있는 것이 확실하다면, 이 둘을 다 자동시작 파일에 기술할 수 있다.  하지만 설치 프로그램은 첫 번째로 검색한 카드만 사용하기 때문에, 장치 항목의 순서가 적절해야 한다는 점에 유의해야 한다.

ISA 3com 이더넷 카드 장치를 위한 하나의 사례를 들기로 한다.

device ethernet 3c509 --opts "io=0x330, irq=7"

아답텍 1542 SCSI 카드를 위해 하나의 예를 더 들어보자.

device scsi aha154x

사운드 블라스터 시디롬을 위한 예를 들어보자.

device cdrom --opts "io=0x240"

H.3.7 keyboard - 키보드 유형

다음 항목은 사용자의 키보드 유형에 맞는 코드이다.  US 키보드를 가지고 있다면, 유형은 us이다.  다른 키보드 유형 코드를 보려면, 이미 설치된 레드햇 리눅스 시스템에서 /usr/sbin/kbdconfig 프로그램을 실행하기 바란다.  하나의 방법은 설치 시에는 키보드 유형으로 us를 선택하고, 설치를 완료한 후에 kbdconfig를 실행하여 적절한 코드로 설정하는 것이다.

이런 경우에 예를 들어보자.

keyboard us

11.3.8 분할 영역의 구성

새로운 시스템에 레드햇 리눅스를 설치한다면, zerombr 예약어를 사용하여 현재 분할 영역 정보를 비우는 것이 좋다.  왜냐하면 새로운 하드 드라이브 상에 있는 분할 영역 표는 보통 엉터리일 경우가 많기 때문이다.  새로운 시스템 상에서 zerombr을 사용하는 예를 보자.

zerombr yes

유효한 분할 영역 표를 가지고 있는 기계에 레드햇 리눅스를 설치하는 경우에는, zerombr을 다음과 같이 사용한다.  이미 분할 영역을 다시 바꾸고자 할 경우에도 마찬가지이다.

zerombr no

H.3.10 clearpart - 분할 영역 유형을 참조하여 분할 영역을 삭제함

다음 명령은 선택이지만, 사용하기에는 편리할 것이다.  모든 분할 영역을 삭제하거나, 일부 리눅스 관련 분할 영역만 삭제하고 싶다면, clearpart를 사용할 수 있다.  예를 들어, "Linux native"와 "Linux swap" 유형의 분할 영역을 모두 삭제하려면, 다음의 줄을 추가한다.

clearpart --linux

디스크의 모든 분할 영역을 삭제하려면, 다음 라인과 같이 사용한다.

clearpart --all

clearpart가 지원하는 선택 사항은 --linux와 --all이 전부이다.

H.3.11 part - 분할 영역 정의

다음 단계는 생성하기를 원하는 분할 영역을 지정하는 것이다.  새로운 분할 영역은 당연히 시스템에서 아직 분할되지 않은 자유로운 공간을 사용하여 만든다.  다른 말로 하면, 시스템에 현재 윈도 관련 분할 영역이 있다면, clearpart --linux를 사용하여 윈도 분할 영역은 건드리지 않고 그대로 남겨둘 수 있다.  다음의 형식을 사용하여 한 줄 당 하나의 분할 영역을 입력해야 한다.

part <mntpt> --size <size in megs> [--grow] [--maxsize <size in megs>]

<mntpt>는 설치를 마친 시스템에서 분할 영역을 마운트할 위치이다.  예를 들어, 루트 분할 영역은 /로 마운트할 수 있으며, 다른 분할 영역을 /home에 마운트할 수 있다.

<size in megs>는 분할 영역의 크기를 메가바이트 단위로 나타낸 것이다.  사용자는 분할 영역을 성장가능하게 하려면, --grow 선택 사항을 추가하여 지정할 수 있다.  성장가능한 분할 영역을 만든다는 것은 나중에 해당 분할 영역의 크기를 늘릴 수 있다는 것을 의미하지 않는다.  대신, 성장가능한 분할 영역은 현재나 미래에 분할되지 않은 자유 공간을 모두 사용하도록 크기가 조절될 것이다.

분할되지 않은 자유 공간의 용량은 변화하기 때문에, 공간이 낭비되지 않도록 하기 위해서, 자유 공간을 모두 사용하도록 분할 영역에 성장가능(growable) 꼬리표를 붙이고 싶을 것이다.  여러 개의 분할 영역에 성장가능 꼬리표를 붙인다면, 자유 공간은 이들 사이에 고르게 분배될 것이다.

사용자는 성장가능 분할 영역의 크기를 선택적인 --maxsize 인자를 사용하여 제한할 수 있다는 것을 기억하자.

이제 자동시작 분할 영역에 사용되는 예를 살펴보기로 하자.  자동시작 설치를 할 여러 대의 기계 상에 있는 가장 작은 디스크가 1GB라고 가정하자.  여러 대의 기계에 설치할 때 모두 동일한 자동시작 파일을 사용하고 싶을 것이다.  다음의 분할 계획을 사용할 수 있다.

zerombr no

clearpart --all

part / --size 250

part swap --size 50

part /usr --size 500 --grow --maxsize 800

part /tmp --size 100 --grow

이런 방법으로 정의하면, 설치 프로그램은 먼저 모든 분할 영역을 정리할 것이다.  그리고 250MB를 루트 분할 영역으로 설정하고, 다음 50MB를 교환 분할 영역으로 지정할 것이다.  그 다음, 설치 프로그램은 /usr 분할 영역을 최소 500MB로 만들 것이다.  이 분할 영역은 성장가능하지만, 800MB 이상은 될 수 없다.  최종적으로, 마지막 줄은 /tmp 분할 영역을 최소 100MB로 생성한다.  이 분할 영역도 성장가능하다.

1GB 시스템에서는 250MB를 루트로, 50MB는 교환, 550MB는 /usr, 150MB는 /tmp 분할 영역으로 만들 것이다.  2GB 드라이브를 가진 다른 시스템에서는, 250MB는 루트, 50MB는 교환, 800MB는 /usr, 900MB는 /tmp로 분배될 것이다.

H.3.12 install 과 upgrade - 설치/판올림 선택

다음으로 지정할 항목은 새롭게 설치를 할 것인지, 또는 이미 설치된 시스템을 판올림할 것인지를 선택하는 과정이다.  새롭게 설치한다면 다음과 같이 사용한다.

install

이미 있는 시스템을 판올림하려면 다음과 같이 사용한다.

upgrade

판올림 시에는 다음의 항목만 설정하면 된다.

□ 설치 매체 (시디롬 또는 NFS)

□ 장치 지정 (필요할 경우)

□ 키보드 설정

□ 설치/갱신 지정 (물론, 이 경우에는 upgrade임)

□ LILO 설정

H.3.13 mouse - 마우스 설정

시스템에 있는 마우스 유형을 지정하려면, mouse 예약어를 사용해야 한다.  mouseconfig --help 명령을 사용하여 이미 설치된 레드햇 리눅스에서 마우스 유형의 목록을 볼 수 있다.

마우스 유형에 기초하여, 마우스가 부착된 장치의 유형을 알아야 한다.  기본 장치는 버스 마우스로 가정된다.  직렬 마우스에서는 기본 장치는 /dev/cua0이다.  하지만 장치 이름 다음에 --device 선택 사항에 cua1 등을 함께 사용할 수 있다.

예를 들어, PS/2 세 단추 마우스를 위해서는 다음과 같이 사용할 수 있다.

mouse --kickstart generic3ps/2

PS/2 두 단추 마우스를 위해서는 다음과 같이 사용할 수 있다.

mouse --kickstart genericps/2

마이크로소프트 두 단추 마우스를 두 번째 직렬 포트에서 사용한다면 다음과 같이 사용할 수 있다.

mouse --kickstart microsoft --device cua1

H.3.14 timezone - 시간대 정의

레드햇 리눅스는 시간대를 인식하기 때문에, 기계가 동작할 시간대를 지정해야 할 것이다.  이 작업은 timezone 예약어를 사용하여 할 수 있다.  서로 다른 많은 시간대가 있기 때문에, 가장 좋은 방법은 레드햇 리눅스가 이미 설치된 시스템에서 /usr/sbin/timeconfig를 실행하여 사용자의 시스템에 적합한 시간대를 찾는 것이다.

시스템의 하드웨어 시계를 GMT/UTC로 설정하고 싶다면, --utc 선택 사항을 시간대 줄에 추가한다.  시간대를 US 동부로 정의하고 시스템 시계를 GMT로 설정하는 예를 보인다.

timezone --utc US/Eastern

H.3.15 xconfig - X 윈도우 설정

다음 항목은 X 윈도우 설정 줄이다.  설치 프로그램은 보통 공통적인 PCI 비디오 하드웨어를 찾아낼 것이고 어느 X 서버를 설치해야 할 지 알고 있다.  X 설정을 위한 예약어는 xconfig이다.

비디오 카드가 올바로 탐지되지 않는다면, --card 선택 사항을 사용하여 카드의 종류를 명확하게 지정할 수 있다.  이미 설치된 레드햇 리눅스 시스템에서 Xconfigurator --help 명령을 사용하여 현재 지원하고 있는 카드의 목록을 얻을 수 있다.  이 중에서 적절한 것을 선택할 수 있을 것이다.

카드가 목록에 없을 경우에, 이미 있는 서버에서 지원한다면, --server 선택 사항을 사용하여 알맞은 서버를 간단하게 설치할 수 있다.  다시, Xconfigurator --help 명령을 사용하여 서버 이름의 목록을 얻을 수 있다.

다음 모니터 유형을 지정해야 한다.  만일 지정하지 않으면, 640x480@60hz의 일반 모니터로 가정할 것이다.  --monitor 선택 사항을 사용하여 기본값 이외의 것을 지정해 줄 수 있다.  Xconfigurator --help 명령을 사용하여 유효한 모니터 유형의 목록을 볼 수 있다.

모니터가 목록에 없을 경우에, 실제 모니터 사양을 각각 수평과 수직 동기률에 해당하는 --hsync와 --vsync 선택 사항을 입력할 수 있다. 이 비율은 각각 하나의 수치(각각 킬로헤르쯔와 메가헤르쯔를 나타낸다)나, 콤마로 분리된 그룹 수치, 또는 대쉬로 분리된 두 개의 수치(범위를 나타냄)가 될 수 있다.  하나의 예를 들어보자.

xconfig --hsync "31.5,35.5,50-65" --vsync "50-70"

자동으로 올바르게 탐지가능한 비디오 카드를 탑재하고 있는 기계에서의 하나의 예는 다음과 같이 될 수 있다.

xconfig --monitor "tatung cm14uhe"

탐지되지 않으면서 목록에도 나열되지 않는 비디오 카드를 보유한 기계에서의 하나의 예는 다음과 같이 될 수 있다.

xconfig --server "Mach64" --hsync "31.5,35.5,50-65" --vsync "50-70"

H.3.16 rootpw - 루트 암호 설정

자동시작 파일에 루트 암호를 암호화하지 않은 상태로 둘 수 있다.  NFS 설치 시에 네트워크를 넘어 작업할 때가 이런 경우이다.  그리고 암호화한 상태로 사용하도록 지정할 수 있다.  암호화 처리되지 않은 암호를 자동시작 설치에서 지정하려면, rootpw 예약어를 사용한다.  rootpw 예약어 다음에 사용할 암호를 지정한다.

rootpw mypasswd

암호화된 암호를 사용하려면, /etc/passwd나 다른 암호가 저장된 파일에서 찾아서, --iscrypted 선택 사항과 함께 추가한다.

rootpw --iscrypted encryptedpasswdstring

H.3.17 lilo - LILO 설정

LILO를 사용하는 인텔 기반 시스템에서, LILO 설정을 지정하려면 lilo 예약어를 사용한다.  기본 줄은 다음과 같이 단순하다.

lilo

이 예약어를 사용하면 LILO를 하드 드라이브의 마스터 부트 레코드(MBR)에 설치하고, 레드햇 리눅스 설치를 위해 도스와 윈도와 마찬가지로 자동으로 부트 항목을 설정한다.

LILO를 MBR에 설치하지 않으려면, --location 선택 사항을 사용할 수 있다.  LILO를 세 가지의 장소에 설치하는 것이 가능하다.

□ mbr - LILO를 마스터 부트 레코드에 설치한다(기본값).

□ partition - LILO를 루트 분할 영역의 시작에 둔다.

□ none - LILO를 전혀 설치하지 않는다(시스템을 부팅하는 다른 방법이 있는 경우에 선택).

LILO 설정파일에서 append= 다음에 기술하는 선택 사항을 --append 다음에 추가하여 리눅스 부트 항목을 지정할 수 있다.

lilo --append "mem=128M" --location mbr

레드햇 리눅스 5.2에 있는 새로운 리눅스 커널에서는, mem 부팅 선택 사항을 지정할 필요가 없다.

H.3.18 %packages - 패키지 선택

자동시작 파일의 시작 부분에서 %packages 예약어를 사용하여 설치할 패키지를 나열할 수 있다.  이 기능은 설치할 경우에만 적용되고, 판올림 시에는 지원하지 않는다.

패키지는 컴포넌트로 지정하거나 개별 패키지 이름을 바로 지정할 수 있다.  설치 프로그램은 패키지를 서로 관련된 것끼리 묶는 여러 컴포넌트를 정의한다.  레드햇 리눅스 시디롬의 RedHat/base/comps 파일에 보면 컴포넌트의 목록을 볼 수 있다.  컴포넌트는 숫자 다음에 공백이 오고, 다음에 컴포넌트 이름이 오는 여러 줄로 정의된다.  그 다음에 컴포넌트에 있는 각각의 패키지가 한 줄씩 나열되고, 마지막으로 end 예약어로 목록의 끝을 나타낸다.  개별 패키지를 따로이 지정할 때는 컴포넌트의 앞부분에 위치한 숫자는 필요하지 않다.

대부분의 경우에, 설치할 컴포넌트만 나열하면 되고, 개별 패키지를 따로이 지정할 필요는 없다.  Base 컴포넌트는 항상 기본으로 선택되기 때문에, %packages 영역에서 굳이 지정할 필요는 없다는 것을 기억하자.

%packages 영역의 예를 들어보자.

@ Networked Workstation

@ C Development

@ Web Server

@ X Window System

bsd-games

위에서 볼 수 있듯이, 컴포넌트를 한 줄로 지정하였고, 앞에는 "@" 기호가 위치하고, 다음 공백이 오고, 다음 comps 파일에서 볼 수 있는 전체 컴포넌트의 이름이 온다.  개별 패키지에는 다른 추가적인 문자를 덧붙이지 않는다.  여기에서는 bad-games가 개별 패키지이다.

참고: 워크스테이션이나 서버 급 설치 모드를 사용하여 자동시작 설치를 지정할 수 있다.  이렇게 하려면, %packages 영역에 다음중의 하나를 추가한다.

@ Workstation

@ Server

H.3.19 %post - 설치 이후의 설정 영역

설치가 완료된 후에 설치 시스템에서 실행할 명령을 추가하는 선택 사항을 가질 수 있다.  이 영역은 자동시작 파일의 끝에 와야 하며, %post 예약어로 시작한다.  %post 영역에서 네트워크에 접근할 수 있지만, 이 시점에서 네임 서비스가 아직 설정되지 않았기 때문에, IP 주소로만 접근할 수 있다.  %post 영역의 예를 들어보자.

# /etc/motd에 추가한다.

echo "Kickstart-installed Red Hat Linux `/bin/date`" > /etc/motd

# 다른 네임 서버를 추가한다.

echo "nameserver 10.10.0.2" >> /etc/resolv.conf

이 영역은 자동시작 설치를 마친 날짜를 포함하는 그날의 메시지 (message-of-the-day)파일을 만든다.  다른 네임 서버를 /etc/resolv.conf에 추가하여 하나의 네임 서버만 가지도록 제한한다.  네임 서버는 자동시작 파일에서 network 예약어로 지정할 수 있다.