5월달 말
P.C.R.C. 서버에 Fedora Core 4가 깔려있었다.
4월 2일인가?
fedora core 3 Kernel 2.6.9를 fedora core 4 Kernel 2.6.16로 업그레이드를 했다.
Fedora Core release 3 (Heidelburg)
Kernel 2.6.9-1.1831_FC3 on an i686
를
Fedora Core release 4 (Stentz)
Kernel 2.6.15-1.1831_FC4 on an i686
apt-get update였나 apt-get upgrade 이란 명령어로 아주 쉽게 했었다.
업그레이드 성공하고 나서 쌩뚱맞게 튀어나온
Your default context is user_u:system_r:kernel_t.
Do you want to choose a different one? [n]n
이 것때문에 고생 했었다.-_-;;
구글신에게 물어본 결과
http://www.fedoraforum.org/forum/archive/index.php/t-82994.html를 참고하라고 했다.
여기서는 SELinux를 끄라고 한다. SELinux를 끄니까 다행이도 이런 메세지가 안나왔다..
그리고 나서 시간이 지나 5월달 중순.
난 Fedora Core 5가 나와서 업데이트를 해줘야겠다는 생각으로 yum.conf와 apt.conf였나 에서 업데이트 목록을 Fedora Core 5로 싹 바꾸고 나서 아무 의식없이 업데이트를 해줬다.
apt-get update
그리고 나서는 실패를 하였다. 이게 무슨 일이지?
MySQL이 망가져버렸다. /var에 있덴 DB 데이터가 날라간 것이다. 그래서
NHN에 합격하신 00학번 전 모 선배님께서 DB를 고쳐주셨다. 그리고 나선 내가 고쳐야 했다. GCC(Gnu Compiler Collection)도 버전이 안맞아 파일이 깨지고 ..... 이것 때문에 성적이 안좋았나? 서버관리한다고 숙제는 벼락치기로 내고 그랬더니 2학년 1학기가 정말 죽을 맛이었다.
이제 계절학기 끝나고 태백 해비타트 봉사활동을 하고나서 Fedora Core4인 서버를 Fedora Core5로 바꾸기로 결심하였다.
2006년 7월 19일 수요일 이날 아침 Fedora Core 5 CD를 굽고 서버가 있는 T동 6층 멀티미디어실로 들어갔다.
CD넣고 부팅
boot :
난 여기에 linux 라 치고 Enter를 쳤다.
80G 짜리 하드디스크가 말썽이었다. 거의 설치가 되려고 했는데 "Home 라벨이 두개입니다" 라는 경쾌한 문구와 함께 사람 짜증나게 만들었다. 뭐가 문제이지 하면서 생각을 해본 결과... 80G하드디스크의 전원을 뺐다. 어짜피 백업용인데다 별로 쓰지도 않으니까다. (120G 하드디스크를 설치 한 후 거의 쓸모 없게 되었다.)
임시방편이지만 설치를 원활하기 위해 뺐다. 다시 mount 시키면 되니까.
그랬더니 오후 5시 다되어간다. 멀미실 조교 누님께서 나가라고 한다. 다 못 고치고 나갔다.
일은 여기서 터졌다.
설치는 되었고 Kernel도 Fedora Core5로 올라갔지만...... libz.so.1가 깨졌다고 한다. SSH접속도 FTP접속도 MySQL도 안돌아갔다.
[root@pcrc bin]# gcc
error while loading shared libraries: /usr/local/lib/libz.so.1: cannot restore segment prot after reloc: Permission denied
[root@pcrc bin]#
[root@pcrc bin]# yum
error while loading shared libraries: /usr/local/lib/libz.so.1: cannot restore segment prot after reloc: Permission denied
[root@pcrc bin]#
[root@pcrc bin]# apt-get
error while loading shared libraries: /usr/local/lib/libz.so.1: cannot restore segment prot after reloc: Permission denied
[root@pcrc bin]#
[root@pcrc bin]# mysql
error while loading shared libraries: /usr/local/lib/libz.so.1: cannot restore segment prot after reloc: Permission denied
[root@pcrc bin]#
아파치 데몬 올릴때 더 가관
[root@pcrc bin]# ./httpd -k start
Syntax error on line 232 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied
[root@pcrc bin]#
갑자기 이게 무슨 쌩뚱 맞는 일인지 당황하였다. 그래서 다시 CD넣고 재부팅 재설치 하였다.
네이버 지식인과 구글에게 물어본 결과
파일이 깨졌단다. ㅡ,.ㅡ 짜증난다.
/usr/local/lib/libz.so.1 이 심볼릭 링크로 libz.so.1.1.4로 되어있었는데 다들 libz.so.1.2.3로 참고하려고 하니 에러가 뜬 것이다. 난 그래서 /usr/lib에 있던 libz.so.1.2.3파일을 /usr/local/lib에 옮기고 심볼릭 링크를 고쳤다.
rm libz.so.1.1.4
cp libz.so.1.2.3 /usr/local/lib
ln -s libz.so.1.2.3 libz.so
ln -s libz.so.1.2.3 libz.so.1
그리고나서 apache daemon을 돌릴려고 했더니 -_-;;
[root@pcrc bin]# ./httpd -k start
Syntax error on line 232 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied
[root@pcrc bin]#
짜증났다. 어디에서 문제 일어났나? vi로 찾아도 이상이 없고..
인터넷으로 찾아보니 너무나 허무했다.
그림출처 :
클랴의 베이킹파우더인터넷에 있는 결과
[root@localhost libexec]# /usr/local/apache/bin/apachectl configtest
Syntax error on line 224 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp4.so into server: /usr/local/apache/libexec/libphp4.so: cannot restore segment prot after reloc: Permission denied
이런 황당한 에러는... 아래와 같이 하면 해결됨.
[root@localhost libexec]# restorecon -R -v /usr/local/apache/libexec
OTL
그래서 전 서버에 이렇게 쳤습니다
[root@pcrc libexec]# restorecon -R -v /usr/local/apache2/libexec
그리고 나서 성공!
7월 21일 금요일 에 겨우 서버가 돌아가기 시작하였습니다.
결론 : yum과 apt-get으로 무리한 업데이트는 화를 좌초하고 독이 될수가 있다..다음부턴 무리한 업데이트를 안 할 것이고 서버를 안정적으로 돌리기 위해 노력해야겠습니다.