RedHat 9 에서 Fedora 로, 재설치하지 않고 업데이트할 수 있을까요?

raymundo의 이미지

해킹당했던 서버를 업체에서 재설치해주었는데, 저는 (제가 그 서버호스팅 의뢰인이 아니라서 직접 업체와 대화하지 못했습니다) 제가 집에서 쓰고 있어서 그나마 조금 익숙한 debian이나, 예전에 레드햇 썼던 적이 있어서 하다못해 fedora 를 깔아 주기를 바랬는데, 깔린 것을 보니까 Redhat 9 입니다.

up2date 로 패키지 업데이트를 하려 해도 현재 지원이 중단된 Redhat 9 의 가장 최근 업데이트까지만 가능하더군요. 예를 들어 up2date openssh 하면 이미 업데이트가 되어 있다고 나오지만 fedora 쪽 사이트 들어가보면 이후 버전 rpm 이 있습니다. 이 rpm 을 직접 받아서 설치하려니 이번에는 수십개의 의존성 문제가 걸리는군요. OTL

이 시스템을 OS재설치가 아니라 패키지 업데이트 등의 과정을 거쳐서 fedora 최신 버전으로 변신(^^)시킬 수 있을까요?

warpdory의 이미지

딱 한번 해본 적은 있었는데...

무한 삽질의 연속이었습니다.

구글에서 redhat9 fedora upgrade 정도의 검색어로 검색해서 ... 메일링 리스트에 나온 방법을 조합해서 했었는데...

결국 포기하고 /etc 와 몇가지 중요 파일들을 백업 받은 뒤에 ... 했습니다.

제가 봤던 내용에서는 성공 했다고는 되어 있었습니다만, 저는 실패했습니다.


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

salpoosi의 이미지

http://blog.naver.com/cromit82/20010060591

참고하시구요.

/etc/security/selinux/file_contexts 관련 에러가 날 경우에는 다음과 같은 패키지를 설치하면 됩니다.
yum install policy-sources

전 두대의 서버를 같은 방법으로 업데이트해서 성공하였습니다.

raymundo의 이미지

답변 주신 두분께 감사드립니다.

링크해 주신 문서와, KLDP에서 검색한 것들을 가지고 어찌어찌 RH9에서 FC1까지는 넘어온 것 같습니다.

문서들 설명에 따라 apt-get 을 쓰다가 yum 을 쓰다가 왔다 갔다 했는데, 이제 FC1에서 FC2로 가려니, rpm 패키지를 업데이트해야 되는데 그러면 apt 패키지가 삭제되어야 하고 그래서 apt 만 따로 다운받아뒀다가 다시 깔고 등등 삽질 중입니다만 일단 웬만한 패키지들은 다 업그레이드가 되고 있는 중이고요.
(여기까지는 서론이고)

문제는 커널입니다.
RH9 에서 2.4.20 인가가 패키지로 설치되어 있는 상태에서, 호스팅 업체가 따로 2.4.32 를 따로 깔아 컴파일해서 설치해 두었더군요.

FC4 까지 갈 수 있을만큼 가 볼 생각인데, 커널 패키지를 어찌해야 되나 난감합니다.

1) 커널2.4.20 패키지를 일단 삭제하자니 의존성이 걸려있는 패키지들이 많아서 곤란하고

2) 커널2.6.* 패키지로 업그레이드를 해볼까 하는데 2.4->2.6 점프를 하는 과정이 결코 아무 문제 없이 한 번에 될 것 같지는 않고, 이 업체의 서버 하드웨어를 정확히 모르는데 따로 옵션을 조절해서 컴파일 할 자신도 없고

3) 게다가 리부팅이 필요할 텐데 업체는 지방에 있고 저는 서울에 있으니 달려가서 할 수도 없는 노릇이고,

4) 그렇다고 업체에 부탁하자니 별도의 비용이 나갈 거고... FC2 까지 끌어올리는 것도 직접 몇 시간에 걸쳐 하고 있는데 커널 하나 때문에 요청하기도 그렇고, 애초에 RH9를 설치해 준 걸로 봐서 솔직히 좀 미덥지 못한 것도 있습니다.

그래서 그냥 2.4.32 로 버틸까 고민하기도 하는데... 서버가 아는 사람들 열 댓명이 같이 쓰려고 빌린 거라 커널의 퍼포먼스 향상은 그다지 절실하지 않은데 보안 문제가 있을지 몰라서 버티자니 또 불안하기도 하고요.

salpoosi 님께서는 커널까지 같이 업그레이드하셨나요? 다른 분들도 경험담을 들려 주시면 정말 감사하겠습니다.

좋은 하루 되세요!

raymundo의 이미지

위에 답변 주신 글들과 구글 선생의 도움을 받아서
RH9 -> FC1 -> FC2 -> FC3 -> FC4 까지 재부팅 없이 yum과 apt-get을 사용하여 패키지들은 전부 업그레이드하였습니다.

그런데 커널도 2.6으로 넘어가고 싶은데 문제가 생겼습니다. (현재는 RH9시절에 설치된 2.4.32)

FC4로 yum upgrade 를 하던 중, kernel 패키지를 설치할 때 아래와 같이 에러가 났습니다.

  Installing: kernel                       ######################### [1/1]
/sbin/mkinitrd: line 327: 12914 Done                    echo access -w $t
     12915 Segmentation fault      | /sbin/nash --quiet
/sbin/mkinitrd: line 327: 12916 Done                    echo access -w $t
     12917 Segmentation fault      | /sbin/nash --quiet
/sbin/mkinitrd: line 327: 12918 Done                    echo access -w $t
     12919 Segmentation fault      | /sbin/nash --quiet
/sbin/mkinitrd: line 327: 12920 Done                    echo access -w $t
     12921 Segmentation fault      | /sbin/nash --quiet
no temporary directory could be found
mkinitrd failed
error: %post(kernel-2.6.14-1.1656_FC4.i686) scriptlet failed, exit status 1

Installed: kernel.i686 0:2.6.14-1.1656_FC4
Complete!

보아하니 패키지 설치 직후 자동으로 실행되는 스크립트 내에 mkinitrd 가 있고, 그게 에러가 난 걸로 보입니다.

/boot 디렉토리를 보면,

# ls -l /boot/
total 7322
-rw-r--r--  1 root root    5824 Jun 16  2004 boot.b
-rw-r--r--  1 root root     612 Jun 16  2004 chain.b
-rw-r--r--  1 root root   56950 Oct 21 16:58 config-2.6.12-1.1381_FC3
-rw-r--r--  1 root root   60387 Jan  6 12:20 config-2.6.14-1.1656_FC4
drwxr-xr-x  2 root root    1024 Jan 18 08:28 grub/
-rw-r--r--  1 root root  162267 Jan 10 21:43 initrd-2.4.32-WoTo-051206.img
-rw-r--r--  1 root root  617496 Jan 18 08:34 initrd-2.6.12-1.1381_FC3.img
-rw-r--r--  1 root root     473 Jan 10 23:14 kernel.h
drwx------  2 root root   12288 Jan 10 23:10 lost+found/
lrwxrwxrwx  1 root root      20 Jan 10 23:14 module-info -> module-info-2.4.20-8
-rw-r--r--  1 root root     640 Jun 16  2004 os2_d.b
lrwxrwxrwx  1 root root      29 Jan 10 21:43 System.map -> System.map-2.4.32-WoTo-051206
-rw-r--r--  1 root root  535749 Jan 10 21:43 System.map-2.4.32-WoTo-051206
-rw-r--r--  1 root root  765359 Oct 21 16:58 System.map-2.6.12-1.1381_FC3
-rw-r--r--  1 root root  802499 Jan  6 12:20 System.map-2.6.14-1.1656_FC4
lrwxrwxrwx  1 root root      26 Jan 10 21:43 vmlinuz -> vmlinuz-2.4.32-WoTo-051206
-rw-r--r--  1 root root 1216846 Jan 10 21:43 vmlinuz-2.4.32-WoTo-051206
-rw-r--r--  1 root root 1660241 Oct 21 16:58 vmlinuz-2.6.12-1.1381_FC3
-rw-r--r--  1 root root 1551206 Jan  6 12:20 vmlinuz-2.6.14-1.1656_FC4

vmlinuz 는 원래 커널과 FC3의 커널, FC4의 커널이 있는데, initrd-*FC4는 없습니다.

grub 에도 마찬가지로,

# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/hda2
#          initrd /initrd-version.img
boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.4.32-WoTo-051206)
        root (hd0,0)
        kernel /vmlinuz-2.4.32-WoTo-051206 ro root=/dev/hda2
        initrd /initrd-2.4.32-WoTo-051206.img

FC3 커널과 FC4 커널에 대한 정보가 없고, 중간에 잘 기억나지는 않습니다만 FC3 커널을 다운그레이드 인스톨하면서 넣어보려 했더니 grubby 란 프로그램이 device 관련 에러를 내더군요.

이 글을 보니, FC3 으로 넘어갈 때 dev 패키지가 udev 로 바뀌었다고 하고, 좀 살펴보니 기존의 /dev/* 가 아니라 새로운 방식으로 장치들을 나타내는 것 같은데, 현재 이 시스템은 여전히 2.4.32 커널에 /dev/* 방식으로 돌아가고 있기 때문에 새로이 깔린 커널과 mkinitrd, grub 등이 충돌을 일으키는 것이 아닌가 생각됩니다.

뭐 어쨌거나 현재 사용자 서비스는 잘 돌아가고 있으니 이대로 버틸까 싶기도 합니다만... -_-;;; 나중에라도 재부팅을 하게 되는 날에는 재앙이 일어날 것 같아서 어떻게든 마무리를 짓고 싶습니다. ㅠ,.ㅠ

뭘 어떻게 해야 FC4 에 맞는 커널이나 모듈 등을 구축할 수 있을까요?

좋은 하루 되세요!

salpoosi의 이미지

제가 알려드린 링크에서

Upgrading to Fedora Core 1

이곳부터 따라서 하시면 되었을 것입니다. 해당 버젼의 yum을 설치하고 yum upgrade를 하면 업그래이드 하고자 하는 커널의 버젼으로 모두 업그레이드 됩니다. 커널까지요.

다만 이렇게 업그레이드를 하면 새 커널이 업그레이드 된 후
/boot/grub/grub.conf는 자동으로 갱신이 되는데 정착 새로운 커널로 부팅 되도록 파라메터는 변경되지 않습니다.

FC4에서의 예이지만

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda11
# initrd /initrd-version.img
#boot=/dev/hda
default=2
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Fedora Core (2.6.14-1.1653_FC4)
root (hd0,0)
kernel /vmlinuz-2.6.14-1.1653_FC4 ro root=LABEL=/ hdc=ide-scsi
initrd /initrd-2.6.14-1.1653_FC4.img
title Fedora Core (2.6.14-1.1653_FC4smp)
root (hd0,0)
kernel /vmlinuz-2.6.14-1.1653_FC4smp ro root=LABEL=/ hdc=ide-scsi
initrd /initrd-2.6.14-1.1653_FC4smp.img
title Fedora Core (2.6.14-1.1644_FC4smp)
root (hd0,0)
kernel /vmlinuz-2.6.14-1.1644_FC4smp ro root=LABEL=/ hdc=ide-scsi
initrd /initrd-2.6.14-1.1644_FC4smp.img
title Fedora Core (2.6.14-1.1644_FC4)
root (hd0,0)
kernel /vmlinuz-2.6.14-1.1644_FC4 ro root=LABEL=/ hdc=ide-scsi
initrd /initrd-2.6.14-1.1644_FC4.img

위에서 보듯이 새로운 버젼이 설치 되었느데도 이전 커널 버젼을 가르키고 있는것이지요.

처음부터 FC4를 설치한 후면 새 커널이 설치되면 자동으로 파라메터도 새 커널로 부팅되도록 바뀌는데 이전버젼으로 부터 업그레이드 한 시스템은 그렇지 못하더군요.
2.4와 2.6간의 커널 성능은 차이가 있습니다. 환경마다 다르겠지만 저 같은 경우는 약 30%정도 효과를 본것 같습니다.

yum을 한단계의 상위 시스템으로 설치하고 yum upgrade를 하고 /boot/grub/grub.conf 에서 설치된 커널로 변경해 주고 재부팅하고 yum upgrade를 다시 한번 해주고 다시 yum을 한단계의 상위 시스템으로 설치하는 식으로 FC4까지 버젼업을 하였습니다.
참고하시고 해 보시기 바랍니다. 제 기억으로는 2.4에서 2.6으로 바꾸는건 그리 어렵지 않게 넘어갔습니다. yum upgrade하는 것만으로 필요한 패키지는 다 설치가 되어있을겁니다.

그럼.

raymundo의 이미지

ㅠ,.ㅠ 예리하십니다. 사실은 제가 어제 안 쓴 내용이 있는데요,

salpoosi wrote:
제가 알려드린 링크에서

Upgrading to Fedora Core 1

이곳부터 따라서 하시면 되었을 것입니다. 해당 버젼의 yum을 설치하고 yum upgrade를 하면 업그래이드 하고자 하는 커널의 버젼으로 모두 업그레이드 됩니다. 커널까지요.

다만 이렇게 업그레이드를 하면 새 커널이 업그레이드 된 후
/boot/grub/grub.conf는 자동으로 갱신이 되는데 정착 새로운 커널로 부팅 되도록 파라메터는 변경되지 않습니다.

정확합니다. F3 까지는 그렇게 되었습니다. 제가 매번 확인을 했거든요.

그런데 F4 로 업그레이드할 때 에러가 나길래, 제가 '혹시 F3 까지의 커널 패키지가 깔려 있어서 그런게 아닐까'라고 생각을 하고, F3 까지의 커널 패키지를 다 지워버렸습니다. :oops: :oops: :oops:

그런데 여전히 에러가 나더군요!! 그래서 화들짝 놀라서 다시 이전 버전 커널이라도 설치하자고 했는데, (rpm --oldpackage -Uvh kernel..*F1 등)

F1의 커널은 이미 다른 것과 의존성이 충돌나서 설치조차 안 되고, F2 부터는 커널은 설치가 되는데 마찬가지로 스크립트가 제대로 안 돌아줘서 grub 에 설치가 안 됩니다. 크윽.. ㅠ,.ㅠ

salpoosi wrote:

yum을 한단계의 상위 시스템으로 설치하고 yum upgrade를 하고 /boot/grub/grub.conf 에서 설치된 커널로 변경해 주고 재부팅하고 yum upgrade를 다시 한번 해주고 다시 yum을 한단계의 상위 시스템으로 설치하는 식으로 FC4까지 버젼업을 하였습니다.
참고하시고 해 보시기 바랍니다.제 기억으로는 2.4에서 2.6으로 바꾸는건 그리 어렵지 않게 넘어갔습니다. yum upgrade하는 것만으로 필요한 패키지는 다 설치가 되어있을겁니다.

그럼.

각 단계를 넘길 때 저는 재부팅하는 게 너무 불안해서 (그 새벽에 부팅이 안 되면 IDC까지 갈 방법도 없고) FC4까지 재부팅없이 넘어왔는데 정말 난감해졌습니다.

암튼 답변 감사드립니다. 다시 또 이리저리 해봐야겠네요. 다른 분들의 조언도 언제든지 기다립니다 ^^;;;

좋은 하루 되세요!

raymundo의 이미지

제가 손 대는 것마다 "안 하는 게 나았던 결과"를 낳고 있습니다.

별 생각없이 sshd 의 설정을 바꾸고 재시작했더니

Starting sshd: PRNG is not seeded
                                                           [FAILED]

이젠 sshd 접속마저 불가능하게 되어서, 현재 접속이 끊어지면 다시 접속할 방법이 없게 되어 버렸습니다. telnet 을 열어둘랬는데 그것도 문제가 있군요.

랜덤 넘버와 관계가 있다고 생각해서 dev- 패키지에서 (이걸 설치하려면 udev 와 충돌나서 안되고) /dev/random 만 빼내어 넣었더니 sshd 는 뜨는데 접속하면 openpty 를 실패했다고 나오고...

dev 패키지가 udev 패키지로 교체되면서

# ls /dev
initctl|  log=  null  pts/  shm/

이렇게 되었더군요. 그 많던 /dev/* 가 사라지고... 근데 여전히 커널은 2.4고 하다보니 뭔가 꼬여서 그런 게 아닌가 싶습니다.

혹시 FC4 패키지들이 깔린 현재 상태에서, 다시 FC2 까지로 다운그레이드 가능할까요? fedora-release-3 을 깔고 yum update, 다시 fedora-releae-2 를 깔고 yum update 이런 게 가능할 것 같지는 않은데요. rpm 설치할 때 낮은 버전으로 자동으로 가주질 않을텐에... 뭐 시도해보면 알겠지만 현재 너무 겁나서 손을 못 대고 있습니다. :cry: :cry:

좋은 하루 되세요!

ydhoney의 이미지

우선은 ssh는 패키지를 재설치해보시죠? ^^

raymundo의 이미지

ydhoney wrote:
우선은 ssh는 패키지를 재설치해보시죠? ^^

먼저, 관심 가지고 답변 주셔서 너무너무너무 감사합니다. (지금 제 심정이... 지푸라기도 고마운 상황이라...)

그런데 재설치는 이미 해봤습니다만 소용이 없군요. OTL

좋은 하루 되세요!

익명 사용자의 이미지

이것은 뭔가가 꼬여있어서 udev가 제대로 실행되지 않은 상태라서 그렇습니다.

udev가 실행이 안되어서 /dev/urandom 디바이스가 없으면 PRNG 에러가 뜨는군요.

저도 fc3에서 fc6까지 온 상태에서 이 에러가 뜨는군요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.