부록 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 예약어로 지정할 수 있다.