GNU bash 버전 낮추는 방법이 있을까요
글쓴이: philnet / 작성시간: 목, 2009/06/18 - 5:24오후
원래는 CentOS를 주로 사용하고 있습니다. 최근 회사에서 업무용으로 받게 된 HP PC에 CentOS 5.3 설치하는데, SATA HDD 설치하는데 문제(SATAII 하드가 sda 가 아니라 hda로 잡히면서 HDD writing 성능이 너무 떨어짐)가 발생, Fedora의 가장 최신 버전인 Fedora 11을 설치하였습니다. CentOS 에서 문제가 된 HDD를 문제없이 잡더군요.
여기까지는 좋았습니다만, 본 업무인 embedded linux 커널을 build 하는 과정에서 이상한 에러가 발생했습니다. 원래는 make를 수행하는 과정에서 특정 shell 를 실행시켜 환경 변수를 만든 후, 이 환경 변수에 따라 후속 build가 이루어지는 데, Fedora11에서 build하니까, 환경 변수가 빈 값이 되면서 이후 build가 정상적으로 수행되지 않는 겁니다.
몇 가지를 의심하다가, 혹시나 하고 Fedora11의 GNU bash 버전을 확인했습니다. 4.0.16 이더군요. 주로 작업하던 CentOS 나 Fedora 이전 버전에는 GNU bash 버전이 3.2.x 인 것으로 보아, GNU bash 버전이 너무 높은 게 아닌가 하는 의심이 들었습니다. bash의 버전을 한번 낮춰 보고 싶은데, 어떻게 해야 할 지 몰라서 질문 드립니다.
GNU bash 버전 낮추는 방법이 있을까요? 가능은 한 일일까요?
사소한 답변이라도 주신다면 감사하겠습니다.
Forums:
정말로 bash 문제가
정말로 bash 문제가 맞는지 다시 확인해보시고요.
커널 크로스 컴파일 때는 SUBARCH, CROSS_COMPILE 에 신경쓰면 됩니다.
fedora11이 없으니...
거꾸로 fedora10 에서 fedora11 의 bash-4 를 설치하는 방법을 설명하겠습니다.
fedora11 updates repo. 엔 bash 가 없고 release repo. 에만 있으므로 release 의 것을 가져옵니다.
의존성을 봅니다
빌드에 필요한 패키지들을 설치합니다. 제 경우엔 이미 다 설치가 되어 있었습니다.
빌드합니다.
fedora11 에서 fedora10 의 bash-3 를 가져다하려면 release repo. 가 아니라 updates repo. 부터 찾아보시는 게 좋구요.
혹시 fedora11 의 다른 패키지가 bash>=4.0 에 의존성이 걸려있다면 설치하는 것이 위험합니다.
어쨌든 전 부담없이 설치해봤습니다. 뭐, 업데이트가 귀찮으면 다시 다운그레이드하면 되니.
아무튼 설치 후에 커널 크로스컴파일 해봤는데, make 에 -j 옵션을 사용하기가 무척 꺼려지는군요.
bash-3 로 다시 내려가야 할 듯.
OTL
답변에 감사 드립니다.
SUBARCH, CROSS_COMPILE 쪽은 (chipset 업체에서 제공해 준 tool만 사용하던 관계로) 솔직히 잘 모르고 있었는데, 해당 키워드로 검색을 좀 해보고 나니까, 이쪽 관련된 부분을 한번 찾아 보는 게 좋겠다는 생각이 듭니다.
그리고 yum 이나 rpm 에 대해 조금 더 알게 되었고, bash 버전 바꾸는 것에 대해 대략적이나마, 어떻게 시도해 봐야 할 지 감이 잡히게 된 것 같습니다. 감사드립니다.
bahs 다운 그레이드는 시간이 좀 걸리더라도, virtualbox에서 먼저 테스트를 해 봐야 할 것 같습니다.
다시 한 번 감사 드립니다.
댓글 달기