2012년 12월 24일 월요일

yum update 실행시 멈추는 경우 해결 방법

yum update를 진행하다가 더이상 진행이 되지 않는 경우가 있다. 원인은 여러가지가 있을 수 있으나 내 경험상 아래의 경우가 대부분이다.
  a. update중 ssh 세션이 종료
  b. Ctrl+c 로 update 진행을 중단한 경우
  c. kill -9 등으로 프로세스를 강제 종료한 경우

위와 같은 경우 발생하는 문제는 rpmdb가 꼬이거나, lock 상태로 남아있어 더이상 진행이 되지 않으나 로그나, 출력에서는 아무런 결과가 보이지 않을 수 있다.

아래에 몇 가지 해결 방법을 적어 본다. 모두 root 유저로 작업해야 한다.

1. yum-utils사용
>yum clean
>yum-complete-transaction (명령이 없을 경우 "yum install yum-utils" 실행)
>yum update

위와 같은 방법으로 해도 update시 계속 같은 패키지에서 멈춘다면 rpmdb를 의심해 본다.

2. Rebuild RPMDB
우선 해당 rpm 파일을 찾는다. yum install 또는 update시 yum은 rpm파일을 로컬에 저장한 후 패키지를 설치한다. yum의 임시 파일 저장 디렉토리를 찾아간다. yum의 cache 디렉토리는 RHEL6의 경우 /var/cache/yum이다.

>cd /var/cache/yum
>find ./ -name PACKAGE-NAME.rpm
./base/packages/PACKAGE-NAME.rpm

rpm파일을 찾았다면 rpm 명령으로 설치를 시도해 본다.

>rpm -Uvh /var/chache/yum/base/packages/PACKAGE-NAME.rpm

설치중 "rpmdb: Lock table is out of available locker entries"라는 오류가 발생하면서 설치가 되지 않는다면 이전에 패키지를 설치하던 중 프로세스가 비정상 종료되어 db가 업데이트 되지 않아서 발생하는 문제다. 아래와 같이 db를 rebuild해준다.

>tar czvf rpm-backup.tar.gz /var/lib/rpm (기존 파일들을 백업)
>rm -rf /var/lib/rpm/__db.00* (db파일들 삭제)
>rpm --rebuilddb

시간이 좀 지나면 새 "__db.XXX"파일이 만들어진다. 다시 설치 실패한 패키지를 설치한다.

>rpm -Uvh /var/chache/yum/base/packages/PACKAGE-NAME.rpm

설치가 제대로 됐다면 다시 1번 과정을 시도해 본다.

2012년 12월 21일 금요일

RHEL ISO Download 방법

RedHat 홈페이지에서 계정을 만들고, 30일간만 다운로드 받을 수 있는 권한을 얻을 수 있다.

http://www.redhat.com/products/enterprise-linux/server/
아래 링크 왼쪽 메뉴에서 "evaluation software download"메뉴를 클릭하고, 몇가지 입력한 후 30일 다운로드 권한을 얻는다.

아래 링크에서 필요한 dvd Binary image를 다운받아 사용하면 된다.
https://rhn.redhat.com/rhn/software/downloads/SupportedISOs.do

30일이 지나고 또 다시 ISO가 필요하다면 새로 계정을 만들어 사용하거나, 총판에 DVD를 요청해서 받아야 한다. 총판에서 받은 DVD가 최신 업데이트까지 적용 되어있지 않을 것 같다. RHN Subscription이 없는 한 최신 RHEL6를 사용하는 것은 무리다.


좀 심하다 싶은 것은 RHCE 자격증이 있어도 다운로드 권한이 없다는 것이다. MS나 다른 Vendor에 비해서 자격증의 혜택이 너무 적은 것 같다.

RedHat 공식홈페이지에서 다운받는 권한이 끝났다면 torrent를 이용하시길...

2012년 12월 17일 월요일

MySQL Default port 변경하는 방법

1. /etc/my.cnf파일을 열고 아래 라인을 추가 또는 변경(port를 1234로 할 경우)
>vi /etc/my.cnf
port=1234

2. mysqld 재시작
>service mysqld restart

3. netstat로 확인
>netstat -anp | grep mysqld
tcp        0      0 0.0.0.0:1234                0.0.0.0:*                   LISTEN      5098/mysqld

FIX :: ssh 접속이 느리고, /var/log/messages에 systemd-logind.service failed. 메시지가 남을 때

ssh 접속이 느릴 때가 있습니다. 보통은DNS가 제대로 설정되지 않았는데 /etc/ssh/sshd_config에 UseDNS가 yes로 되어 있을 때 발생합니다. 위와 같을 경우 /etc/ssh/sshd_config파일에서 아래와 같이 수정 후 ...