우분투 hardy 로 업그레이드 한 후에 이런 에러가 뜨기 시작했다.
현상은 아래와 같은 메세지가 나온다. 별다른 문제는 없지만, 종료하려고 하면 한참후(20~30초)에 종료팝업(재시작,종료,로그아웃 등의 메세지창)이 뜬다.
Internal error failed to initialize HAL
내부 오류.
HAL  기반(?) 으로 동작되는 프로그램에 이상이 있는 듯 하다.

https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/81670
hardy 의 버그인듯 싶다.

/etc/rc2.d 의 부트스크립트들을 살펴보면.
S12dbus
S13gdm
S24hal
의 순서로 되어 있다. gdm 이 뜨기 전에 hal 이 먼저 실행되어야 하는데, 잘못되어 있다.

위 순서를 바꿔준다.  S13gdm 을 S30gdm 으로 바꿔준다.




반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
지난글에서 Centos 에서 빌드했었다.(http://blog.1day1.org/329)

우분투(9.04)에서 빌드를 해봤다. SPEC 파일의 몇몇 설정 부분을 수정해야 한다.


SPEC 의 어느 부분을 바꾸나?
1. /var/qmail 디렉토리 관련.

SPEC 에서 qmaild 계정을 만들때  useradd -m  옵션으로 /var/qmail 을 홈으로 지정해서 같이 생성하는데, alias 계정을 먼저 생성하기에 /var/qmail/alias  디렉토리를 생성할 수 없다는 에러가 발생한다.
그래서 qmaild 계정을 먼저 생성해준다.

또는 계정생성 앞부분에 /var/qmail 을 생성해준다.
if [ ! -d %{qmaildir} ]; then
        mkdir %{qmaildir}
fi

2. useradd 옵션 변경
우분투에서는 옵션이 -M 이 아니라, -m 이다.
useradd 의 버전차이인지 배포판 차이인지는 모르겠다

3. /sbin/nologin  을  /usr/sbin/nologin  으로 바꾼다 (배포판 차이)

4. {_initrddir} 위치 /etc/init.d 가 생성되지 않는다.
우분투는 /etc/init.d 에 위치한다. 
rpm --eval %{_initrddir}
으로 확인한다.

5. pushd , popd 명령이 안 먹나?
ubuntu 에서 /bin/sh 가 dash 라는 놈에 링크되어 있다.
pushd,popd 는 bash 에서 동작한다.  기존것을 지우고,
ln -s /bin/bash /bin/sh
으로 링크해준다.

chkconfig 대신에 update-rc.d 를 이용한다.
우분투는 update-rc.d 를 이용한다. (chkconfig 부분을 찾아서 다음처럼 바꾼다)
update-rc.d -f qmaild defaults
update-rc.d -f pop3d defaults

다 바꿨으니, SRPM 을 다시 만들어야지.
여기까지 변경후 다시 SRPM 을 생성한다.
rpmbuild --bs --with cdb SPEC/knetmail.spec

몇몇 패키지가 필요하다. 해당 패키지가 설치되어 있지 않으면 설치해준다.
apt-get install libssl-dev

모든 준비끝.
rpmbuild --rebuild --with cdb SRPMS/knetqmail-0.0.1-3.src.rpm

우분투에서도 쉽게 설치하자.


수정된 SPEC 파일이다.(참조) - 기존 spec 파일과 비교해서 직접 확인하기 바란다.



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
윈도우7 64bit , IE8 을 환상의 조합이라고 할까?
인터넷 뱅킹, 온라인 쇼핑은 너무 어렵다.

자동으로 설치는 안되더라도 직접 설치해서 하게는 해줘야 하지 않겠어?
결제모듈 업체도 손을 놓은 상태인것 같아!  나몰라!

그래서, 내 컴퓨터에 매트릭스를 만들어 놓기로 했다.
가상머신으로 윈도우XP 의 매트릭스를 만든 것이다. 음~화화하...

그리고, 결제 버튼, active-x 들이 깔린다. 불안하긴 하지만, 뭐 괜찮아!
그래 되는 것 같아! 이제 결제 해봐야지.

헐!  재부팅.
음. 매트릭스(가상머신) 가 재부팅 되냐고?

아니 내 컴퓨터가...

매트릭스 버전이 낮아서 그런거야. 몇번 업그레이드 하면 완벽해 질거야!!

뭐니! 싫어!

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
그동안 여러시스템을 운영하면서, 하드디스크 장애를 수차례 겪어봤다.
물론 전문 운영업체도 아닌 개인입장에서의 경험이니 일반화 하는 것은 위험하다.

짧은 경험이지만, 하드디스크 장애중에 유독 파일시스템이 깨지거나 쓰기지연 등이 발생하는 경우는
var 디렉토리가 대부분이었다. var 디렉토리의 특성상 쓰기 작업이 많이 일어나기 때문일 것이다.

var 는 일을 많이 해!
시스템을 설치할때 / , /boot , /usr , /var  등은 거의 필수로 별도의 파티션으로 나누어 놓는다.
이중에서 디스크 자체의 인식오류등을 제외하면 거의다 var 디렉토리에 이상이 생겨서 문제가 발생한다.
파티션을 나누어 놓아서, 별도의 파티션으로 var 의 데이터를 옮기고, 바꿔서 마운트 해주면 해결되기도 한다. 그러나, 디스크에 배드섹터 같은 것이 발생했을 가능성이 많기 때문에 하드디스크를 바꿔주는 것이 좋다.

그렇다면 var 자체를 별도의 하드디스크로 지정해 놓는 것이 좋지 않을까?
용량도 그리 크지 않아도 된다. /var/log 정도만 따로 떼어 놓으면 수기가 정도면 충분하다.
그러나, log 도 대부분 쓰기 작업이니 따로 떼면 마찬가지 일듯 하다.(log 도 같이 있어야 겠다)
가능하다면 아예 메모리에 올려버리면 장애 발생률이 현저히 줄어들지 않을까?

깔끔한 해결책이 없을까?


SSD 가 답일까?
SSD 를 도입하기에는 비용도 문제지만, SSD 가 쓰기작업에 별로라는 이야기가 있어 좋은 해결책은 아닐듯 싶다. (MLC 니 SLC 니 그런 차이가 있다고 하던데...)
그렇지만, 서버용으로는 속도 빠른것으로 5G (최대 10G) 정도만 되어도 충분히 도입할 수 있으니, 그리 큰 비용이 들지 않겠지. 심각하게 고려해봐야 겠다.

저가형은 16G 부터 있는 것 같다. 가격은 약 10만원대.
한번 속는셈 치고 사볼까?

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
참 이상하다.

메인보드의 시간설정을 했는데, 얼마후에 시간이 바뀌어 버린다.
GMT-9 (GMT+9) 로  9시간이 차이가 나버린다.

난 분명 16 시로 맞췄는데, 시간은 9시가 되버린다.
CMOS 배터리가 없어서 그러면 공장초기화가 되어 버릴텐데, 그런게 아니다.
보드에서 시간이 고정되어 버리나? time 서버와 자동동기화되지는 않을텐데.
OS 에서 bios 까지 직접 건드리지는 않을 것이고.
Phoenix 바이오스 인데, 이놈의 특색인가? (제조시 국가별 설정이 그렇게 되어 있을까?)

암튼 이상한 현상을 목격하게 되는군.


우분투의 하드드라이브 커널에러가 나온다.
http://ubuntuforums.org/archive/index.php/t-1034762.html
여기에 나오는 에러인데

하드디스크에러다,
케이블 에러다,
커널옵션 ACPI 를 꺼라.
여러가지 이야기가 있다.

fsck 로 돌리긴 했는데, inode 가 깨져서 삭제했다.
일단 부팅이 되고, 관련 에러가 보이진 않지만, 좀 불안하네.

조만간 하드디스크를 교체해야 겠다.


시스템도 '계란을 한바구니에 담지 마라'  라는 것이 적용되는 것 같다.
위 에러난 시스템은  내부 개발용 이다.
내부 SCM , 이슈트래커, 공유공간, 개발서버(VM) 등이 구축되어 있다.
하드 에러가 나서 시스템을 교체할 생각을 하니, 고생이 훤하다.
가장 간단하게 하드카피로 하거나, 새로운 시스템으로 클린 설치를 해야할텐데 말이다.
클린설치하면 설정을 다시 해야 한단 말이지.

그나마 다행인것은 개발서버를 VM 으로 구축해놔서 카피만 하면 된다.
나중을 생각해서, SCM,이슈트래커 도 VM 내에 구축해 놓을까?
마스터서버 는 단순히 OS 와 VM서버 만 올리도록 말이지.
그렇게 분산시켜놓으면 최악의 상황에 대비하기 좋을테니 말이다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,