· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Redhat9 To Fedora Core1 With Sata Hard Disk

RenameThisPage 페이지 이름에 공백문자가 들어있습니다.

레드햇 9에서 페도라 코어 1으로 (SATA 하드와 IDE 하드를 함께 쓰는 시스템)


1. 서론

미숙한 시스템 관리자라서 항상 OS 업그레이드는 늘 골치거리이다. 내 경우 높은 버전의 그놈이나 KDE를 쓰고 싶은데, OS를 업그레이드하자니 이래저래 걱정이들고, 각각 만을 업그레이드 하자니 여러가지 패키지 의존성 때문에 이 또한 어려워서 한참을 고민한 후 큰 맘먹고 페도라 코어 1으로 업그레이드하기로 결심하고 그 방법을 찾아보았다.

2. 시스템 사양

약간 김이 새지만, 먼저 설치에 성공한 후 얻은 시스템 정보를 소개하겠다. 시스템 사양을 확인한다고 생각하길 바란다.

2.1. /proc/cpuinfo


processor		: 0
vendor_id		: GenuineIntel
cpu family	: 15
model		: 2
model name	: Intel(R) Pentium(R) 4 CPU 2.60GHz
stepping		: 9
cpu MHz		: 2612.596
cache size	: 512 KB
physical id	: 0
siblings		: 2
fdiv_bug		: no
hlt_bug		: no
f00f_bug		: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 2
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat 
pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid
runqueue		: 0

bogomips	: 5216.66


2.2. /proc/pci


PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Intel Corp. 82865G/PE/P Processor to I/O Controller (rev 2).
      Prefetchable 32 bit memory at 0xe8000000 [0xefffffff].
  Bus  0, device   1, function  0:
    PCI bridge: Intel Corp. 82865G/PE/P Processor to AGP Controller (rev 2).
      Master Capable.  Latency=64.  Min Gnt=12.
  Bus  0, device  29, function  0:
    USB Controller: Intel Corp. 82801EB USB (rev 2).
      IRQ 16.
      I/O at 0xbc00 [0xbc1f].
  Bus  0, device  29, function  1:
    USB Controller: Intel Corp. 82801EB USB (rev 2).
      IRQ 19.
      I/O at 0xb000 [0xb01f].
  Bus  0, device  29, function  2:
    USB Controller: Intel Corp. 82801EB USB (rev 2).
      IRQ 18.
      I/O at 0xb400 [0xb41f].
  Bus  0, device  29, function  3:
    USB Controller: Intel Corp. 82801EB USB (rev 2).
      IRQ 16.
      I/O at 0xb800 [0xb81f].
  Bus  0, device  29, function  7:
    USB Controller: Intel Corp. 82801EB USB2 (rev 2).
      IRQ 23.
      Non-prefetchable 32 bit memory at 0xf5100000 [0xf51003ff].
  Bus  0, device  30, function  0:
    PCI bridge: Intel Corp. 82801BA/CA/DB/EB PCI Bridge (rev 194).
      Master Capable.  No bursts.  Min Gnt=6.
  Bus  0, device  31, function  0:
    ISA bridge: Intel Corp. 82801EB LPC Interface Controller (rev 2).
  Bus  0, device  31, function  2:
    IDE interface: Intel Corp. 82801EB Ultra ATA Storage Controller (rev 2).
      IRQ 18.
      I/O at 0xf000 [0xf00f].
  Bus  0, device  31, function  3:
    SMBus: Intel Corp. 82801EB SMBus Controller (rev 2).
      IRQ 17.
      I/O at 0x1400 [0x141f].
  Bus  0, device  31, function  5:
    Multimedia audio controller: Intel Corp. 82801EB AC'97 Audio Controller (rev 2).
      IRQ 17.
      I/O at 0xd800 [0xd8ff].
      I/O at 0xdc00 [0xdc3f].
      Non-prefetchable 32 bit memory at 0xf5101000 [0xf51011ff].
      Non-prefetchable 32 bit memory at 0xf5102000 [0xf51020ff].
  Bus  1, device   0, function  0:
    VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 4).
      IRQ 16.
      Master Capable.  Latency=32.  Min Gnt=16.Max Lat=32.
      Prefetchable 32 bit memory at 0xf0000000 [0xf1ffffff].
      Non-prefetchable 32 bit memory at 0xf2000000 [0xf2003fff].
      Non-prefetchable 32 bit memory at 0xf3000000 [0xf37fffff].
  Bus  2, device   5, function  0:
    FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (rev 0).
      IRQ 21.
      Master Capable.  Latency=32.  Min Gnt=2.Max Lat=4.
      Non-prefetchable 32 bit memory at 0xf5004000 [0xf50047ff].
      Non-prefetchable 32 bit memory at 0xf5000000 [0xf5003fff].
  Bus  2, device   8, function  0:
    Ethernet controller: PCI device 8086:1050 (Intel Corp.) (rev 2).
      IRQ 20.
      Master Capable.  Latency=32.  Min Gnt=8.Max Lat=56.
      Non-prefetchable 32 bit memory at 0xf5005000 [0xf5005fff].
      I/O at 0xa000 [0xa03f].


2.3. /etc/modules.conf


alias scsi_hostadapter ata_piix
alias eth0 e100
alias usb-controller ehci-hcd
alias usb-controller1 usb-uhci
alias ieee1394-controller ohci1394

# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 1.0.3 ---
alias char-major-116 snd
alias char-major-14 soundcore
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-intel8x0
# --- END: Generated by ALSACONF, do not edit. ---


3. 가능한 방법들

먼저 페도라 배포판 CD가 제공하는 "업그레이드 설치"를 이용해보려고 했으나, 내 시스템의 특수성 때문에 실패하고 말았다. 내 시스템에는 Redhat 9가 깔려있는 SATA 하드 1개와 백업용 IDE 하드 1개가 동시에 연결되어있다. ReHat 9를 쓸 당시에는 SATA 하드는 BIOS 셋업에서 PRIMARY MASTER IDE로 설정하고, 백업용 IDE 하드는 SECONDARY MASTER IDE로 선택함으로써 설치 및 부팅에 아무 문제가 없었다. Redhat 9 가 탑재하고 있는 커널 2.4.20 시리즈에는 확실하지는 않지만 아마도 SATA 관련 지원이 커널내부에 포함되었었던것 같다. 실제로 Redhat 9 bootable CD로 인스톨 시에는 아무런 문제가 발생하지 않았고, 내 SATA 하드를 /dev/hda로 인식했었다. 그러나, Fedora bootable CD는 SATA하드를 인식하지 못하거나 /dev/sda로 인식하여 업그레이드를 할 수 없었다. 이런 이유로 Fedora Core 1 bootable CD로 업그레이드하는 것은 포기하였고, 구글과 KLDP, GNOME wiki의 도움으로 새로운 방법을 찾을 수 있었다. 그것은 Yum을 이용하는 것이었다. 자세한 내용은 레퍼런스1을 참조하라. 단, redhat repository는 좀 느려서 12시간 넘게 다운로드를 받아야했다. 사람마다 다르지만, base repository는 rpmfind.net 서버가 내 경우에는 가장 빨랐던것 같다. 참고로 내가 사용했던 yum.conf를 소개한다.

/etc/yum.conf

# Yum config file from http://www.xades.com/proj/fedora_repos.html
# Put this file at /etc/yum.conf
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=fedora-release
tolerant=1
exactarch=1

[base]
name=Fedora Core 1 - $basearch - Base
baseurl=http://rpmfind.net/linux/fedora/core/1/$basearch/

[updates-released]
name=Fedora Core 1 - $basearch - Released Updates
baseurl=http://rpmfind.net/linux/fedora/core/updates/1/$basearch/
http://ftp.dulug.duke.edu/pub/fedora/linux/core/updates/1/$basearch/
ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/updates/1/$basearch/
ftp://ftp.linux.ncsu.edu/pub/fedora/linux/core/updates/1/$basearch/

[fedora-extras]
name=Fedora Extras 1 - $basearch - Extra Packages
baseurl=ftp://ftp.tu-chemnitz.de/pub/linux/fedora/fedora/1/$basearch/yum/stable/
http://download.fedora.us/fedora/fedora/1/$basearch/yum/stable/
gpgcheck=1
failovermethod=priority

[livna-stable]
name=Livna 3rd party packages with questionable (in USA) licenses -- use at your own risk
baseurl=http://rpm.livna.org/fedora/1/$basearch/yum/stable

레퍼런스

4. 문제점과 해결책

이렇게 많은 시간을 들여 업그레이드를 했으나, 여전히 걱정되는 점들이 있어서 부팅하는데 망설여졌다. 그것은 SATA 하드의 인식과 사운드 카드 문제 등이었는데, 실제로 yum을 통한 fedora 업그레이드 후 SATA 하드 인식을 위해 꽤 많은 시간을 보내야 했다. 사운드 카드는 alsa 버전을 다운그레이드 하거나 업그레이드 함으로써 쉽게 인식할 수 있을 거라고 생각되었으며 그다지 중요한 문제는 아니었다.

4.1. SATA 하드의 인식

가장 큰 문제는 Redhat 9에서는 SATA 하드를 /dev/hda로 인식했었다는 점인데, (만약 Redhat 9에서 /dev/sda로 인식했었다면 그다지 걱정스럽지 않았을텐데...) 이 때문에 방법을 찾기가 상당히 어려웠다. 구글이 알려주는 대부분의 문서는 막연히 커널 컴파일을 다시하면 되지않을까? 였는데, 웬지 미덥지 않아서 더 검색을 해보았다. 그 결과 문제의 원인을 제대로 지적한 [http]Bugzilla 리포트를 보게 되었다. 앞서 얘기한 바와 같이 Redhat 9 커널의 경우 SATA관련 드라이버가 커널에 통째로 들어가 있는 반면 Fedora의 경우에는 모듈로 존재한다는 것이다. 그러나, 원인을 알았다하더라도 지식이 부족한 나로써는 해결책을 찾을 수 없었다. 또 다시 구글 검색! 그 결과 mkinitrd라는 명령을 알게 되었고, 커널 부팅 시퀀스에 대해 조금이나마 이해하게 되었다. 해결책은 다음과 같다.

/etc/modules.conf 내에

alias scsi_hostadapter ata_piix

위 한 줄을 추가하고,

mkinitrd <만들 램디스크 이미지 파일이름>  <관련 모듈 트리 패쓰; /lib/modules/ 아래 디렉토리 이름>
ex) mkinitrd /boot/initrd-2.4.22-1.2174.nptlsmp-myimg.img  2.4.22-1.2174.nptlsmp

하면 새로운 램디스크 이미지가 만들어 지는데, grub.conf를 수정하여 이 이미지로 부팅되도록 하면 된다. 그 결과, 페도라는 내 SATA 하드를 /dev/sda로 내 IDE하드를 /dev/hdc로 인식하였다. 만약 SATA 하드의 각 파티션에 label을 부여해서 label을 사용하도록 fstab이 꾸려져 있다면, label을 사용할 수 없는 스왑파티션을 제외하고는 제대로 마운트 되었을 것이다. 스왑 파티션은 직접 디바이스 이름을 /dev/sda? 와 같이 고쳐주어 제대로 마운트 되도록 바꾸면 된다.

4.2. block-major-3 modprobe 에러

아직 모르겠다. 사용하는데는 문제가 없는데...

4.3. block-major-2 modprobe 에러

아직 모르겠다. 사용하는데는 문제가 없는데...

4.4. mysqld 서비스 스크립트의 사소한 문제

service mysqld start 혹은 restart 실행시 서버는 뜨는데, 타임 아웃 에러를 내뱄는 현상이 나타났다. 알고보니 서버 띠운 후 서버가 동작하는지 ping 명령을 먹이는데 root 계정으로 admin 프로그램을 실행하는 것이었다. root 계정이 db 서버에 등록되지 않았기 때문에 ping에 대한 응답은 오류메시지였다. 이러한 오류메시지로 인해서 제대로 동작이 안되는 줄 알고 타임아웃 에러를 화면에 뿌리는 것이었는데, mysql 계정으로 ping을 실행하도록 스크립트를 고침으로써 미관상안좋은 에러메시지가 화면을 오염시키는 것을 막을 수 있었다.

/etc/rc.d/init.d/mysqld 중

원래 내용
`/usr/bin/mysqladmin ping 2> /dev/null`
바뀐 내용
`/usr/bin/mysqladmin -u mysql ping 2> /dev/null`

4.5. smartd 서비스가 동작 안함

/etc/smartd.conf 파일을 보면 기본값이 /dev/hda를 모니터하도록 되어있다. 그러나, 나는 /dev/hda 대신 /dev/sda 가 있기 때문에 이것을 /dev/sda로 바꾸어 주었으나, 역시 동작하지 않았다. 아마도 현재 버전이 sata 하드를 지원하지 않는 것 같다. 그래서. /dev/sda 해당 줄은 주석처리하고 내 백업 하드인 /dev/hdc를 모니터하도록 바꾸었다. 결과는 성공적인데, 사실 smartd가 구체적으로 어떤 도움이 되는 지는 잘 모르겠다.

4.6. alsa sound 문제

페도라로 업그레이드했을때, 기본을 깔려있던 alsa 버전은 1.0.2 였던것 같다. 그런데, 소리가 안났다. 믹서 설정이나 그 밖의 것들도 모두 정상적으로 보였는데, 소리가 안났다. 예전에도 이런적이 있어서, 0.9 대 버전의 alsa를 인스톨 했었는데 (0.9 버전은 훌륭히 동작한다), 더 높은 버전을 이용해보는 것도 좋을 것 같아서 alsa 사이트에서 직접 1.0.3 버전의 소스를 받아다가 컴파일 하였다. 물론 util/buildrpm 스크립트를 이용하여 패키징하였다. 인스톨한 alsa 관련 패키지는 다음과 같다.

  • alsa-utils-1.0.3-1
  • alsa-driver-1.0.3-1
  • alsa-lib-devel-1.0.3-1
  • alsa-lib-1.0.3-1
그 후, xmms의 esd와 OSS 출력 플러그인으로 음악을 감상할 수 있게 되었는데, 한가지 아쉬운점은 alsa 플러그인으로는 재생이 안되었다. 잘못된 장치라는 오류메시지가 출력되었던것 같다. 물론 xmms를 플러그인과 함께 다시 컴파일 했으나, 결과는 똑같았다.

4.7. samba 한글 문제

페도라가 utf-8를 공식 인코딩을 사용한다는 얘기를 얼핏들었는데, 이게 약간 혼란스러웠다. 이게 내 한글로 된 파일 이름에 어떤 영향을 줄 지, 맨페이지는, 또 samba에는 ... 나는 여전히 EUC-KR를 쓰고 있으며, 한텀을 사용한다. 터미널에서 맨페이지를 볼 수 없지만 gman/yelp로 gui 상태에서 맨페이지를 볼 수 있어 그다지 불편하지는 않다. 문제는 samba에서 일어났다. 내가 utf-8로 했었다면 안일어났을지는 모르겠다. 아무튼 해결책은 의외로 간단했다. 문제는 윈도우 XP 클라이언트에서 내 홈디렉토리를 네트웍드라이브연결하면 한글 파일이름이 깨지는 것이었다. 해결책은 /etc/samba/smb.conf의 global 탭에

unix charset = euc-kr

이 한 줄을 추가하는 것이다. unicode와 관련한 자세한 내용은 삼바 하우투 3.0을 참조하길 바란다.





sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2005-04-26 14:35:06
Processing time 0.0076 sec