libpcre.so.1: cannot open shared object file: No such file or directory

Posted by MD워시퍼
2018. 3. 28. 23:39 Study/Centos
728x90
안녕하세요. MD워시퍼입니다.

오랫만에 글을 올리네요.ㅋㅋ

오늘은 개인적으로 일을 하다가 문제 발생시, 해결방법을 올려볼까 해서 이렇게 블로그에 글을 올립니다.

Centos 6 버전에서 yum 으로 몇 가지 라이브러리 업데이트를 한 후에, apache를 실행하려고 헀더니, 에러가 발생했네요..ㅠㅠ

에러 메시지는 다음과 같습니다.
/usr/local/apache2/bin/httpd: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

이럴 때는 어떻게 처리를 할까? 검색을 하다가 아래와 같은 방법으로 해결을 해보았습니다.

1. cd /usr/local/apache2/bin 명령어를 실행하여, 해당 폴더로 이동해봅니다.

2. ldd httpd 를 실행한다. 그럼 다음과 같이 조회가 됩니다.


linux-vdso.so.1 => (0x00007fff691ff000)
libpcre.so.1 => not found
libaprutil-1.so.0 => /usr/local/apache2/lib/libaprutil-1.so.0 (0x00007ff847f31000)
libapr-1.so.0 => /usr/local/apache2/lib/libapr-1.so.0 (0x00007ff847d00000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff847ae3000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff847726000)
libexpat.so.0 => /usr/local/apache2/lib/libexpat.so.0 (0x00007ff8474fb000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007ff8472c2000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff8470be000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff848165000)

역시 libpcre.so.1가 존재하지 않네요. 그럼..

3. libpcre.so.1를 찾아야겠죠?
기본적으로는 /usr/local/lib 안에 있습니다.(출처는 조금만 검색해보시면 아실수 있어요~^^)
근데 확인해봤더니, 이 파일이 없더라고요.
그럼 어디 있을까? 파일명 검색은 find 명령어를 통해 확인해보았습니다.


# find / -name libpcre.so.1


4. 여러 폴더중에 /usr/local/lib_bak 폴더에 있다고 검색이 되었어요.
다른 사람이 여기다가 백업해 놓은 것같은 스멜이~~

5. 해당 파일을 /usr/local/lib로 복사하기 위해 다음과 같은 명령어를 실행했어요

cp /usr/local/lib_bak/libpcre.so.1 /usr/local/lib/


6. 다시 아파치를 실행해보았어요.
# service httpd start
서비스가 제대로 동작한 것 같네요. 웹사이트도 제대로 뜨는 것 같네요.


그럼 다른 문제는 없는지 확인해볼께요~

오픈소스의 혁명가, 리누스 토발즈(Linus Torvalds)

Posted by MD워시퍼
2008. 10. 9. 16:39 Good Articles/Information Technology
728x90

지금도 세상의 어두운 곳에 숨어 있는 몇몇 괴짜들은 세상을 바꾸어놓을 그 무엇인가를 개발하고 있다. 이들의 목적은 단지 그들이 좋아하는 것을 즐기는 것일 뿐이다. 그러나 이들의 몇몇 놀라운 결과물들은 세상을 경악하게 만들었다. 리누스 토발즈 역시 이런 괴짜 중 한 명이다.

크기변환_Press-Linus_at_Linuxworld.jpg

코가 큰 내성적인 핀란드 소년

리눅스 사용자들은 리누스 토발즈가 핀란드에서 태어난 것을 감사해야 한다. 핀란드는 9월부터 이듬해 4월까지 장장 8개월에 이르는 지루한 겨울이 시작되기 때문에 야외보다는 집 안에서 할 수 있는 놀이를 찾아야 했다. 리눅스가 찾은 놀이는 바로 프로그래밍이었고 그 결과물이 리눅스다. 리누스 토발즈의 정식 이름은 리누스 베네딕트 토르발스(Linus Benedict Torvalds)이지만 정식 이름보다 필명인 리누스 토발즈로 대중에 더 알려졌다. 1969년 핀란드에서 태어난 그는 다소 소극적인 성격 때문에 남들과 어울리기 좋아하지 않았다. 큰 키에 비쩍 마른 몸, 튀어나온 이, 그리고 집안 유전인 큰 코 때문에 어린 시절 친구들은 그를 ‘얼간이’라고 놀렸고 그래서 더욱 내성적으로 바뀌었을지도 모른다. 그가 컴퓨터를 처음 접한 것은 통계학 교수였던 그의 외할아버지 덕분이었다. 전자계산기에 불만이었던 외할아버지는 1981년 신형 컴퓨터 ‘코모도어 VIC 20’을 서재에 들여놓는다. 그는 외할아버지 무릎 위에서 외할아버지가 불러주는 단어를 키보드로 치면서 컴퓨터의 매력에 빠진다. 컴퓨터에 빠진 아들을 위해 아버지가 한때 농구 클럽에 그를 가입시키지만, 그는 그 시절을 ‘재앙’이라고 표현할 정도로 친구들과 어울리지 못했고, 아버지와 말다툼 이후 관계가 소원해진다. 고등학교 시절 그는 폐인에 가까운 생활을 했다. 책상과 침대의 거리는 단지 60cm. 프로그래밍을 하다가 졸리면 자고, 일어나면 프로그래밍을 하는 생활을 반복했다. 당시 그가 개발한 것은 주로 게임이었고, 게임 프로그래밍을 위해 베이직과 C 언어를 배운다. 이후 대학에서 컴퓨터 수업 도중 유닉스를 접하고 그 매력에 푹 빠져든다. 그리고 1991년 그는 자신이 최초로 구매한 386 컴퓨터에 MS-DOS 대신 미닉스(Minix)라는 교육용 유닉스를 인스톨한다.

크기변환_linux_masast_duvar_katl.jpg

네덜란드의 교수 앤드류 타넨바움이 개발한 미닉스는 교육용 버전이라 성능에 한계가 있었다. 특히 그가 불만이었던 것은 터미널 에뮬레이션 부문이었다. 결국 그는 불만스러운 터미널 에뮬레이션 부문을 독자적으로 개발할 것을 결심하고, 식사와 잠자는 것을 제외한 모든 시간을 프로그래밍에 투자한다. 한 달 후 그는 그가 만든 프로그램을 통해 부팅한 후 대학 서버에 접속해 이메일과 뉴스그룹에 참여하는 등 만족스러운 결과를 얻게 되었다. 그는 이것이 OS라는 것을 깨닫게 되었고, 그가 만든 결과물을 미닉스 뉴스그룹에 올린다. 이것이 리눅스 0.01 버전이다.

그의 개발 모듈을 테스트하겠다는 테스터가 줄을 섰고, 결국 10명의 테스터에게 그가 개발한 모듈이 공개된다. 이들 평가를 바탕으로 만든 것이 0.02버전이고, 이후 점진적으로 기능 향상이 되어가지만, 따분한 프로그래밍 작업이 계속되자 재미를 잃어가기 시작한다. 다행스럽게도 이 무렵 그의 컴퓨터가 고장이 나면서 다시 OS를 인스톨해야 하는 상황이 발생한다. 그는 성능이 불만족스러운 리눅스를 다시 인스톨할 것인지, 기본 성능은 만족스럽지만 개발 여지가 많은 리눅스를 인스톨할 것인지를 고민한다. 최종 선택은 역시 리눅스였고 부족한 부분은 필요할 때마다 개발하기로 결심한다. 1994년 발표한 0.12 버전부터 미눅스 사용자들이 리눅스로 전환하기 시작했고, 이 때문에 미눅스 개발자인 앤드류 타넨바움은 미눅스 뉴그스룹에 리누스가 미눅스를 모방한 OS를 개발했다고 공개적인 공격을 시작한다.

리누스는 뉴스그룹과 이메일을 통해 독자적인 OS라고 반론을 펼치기 시작한다. 이들의 지적 전쟁을 네티즌들은 흥미진진하게 지켜보았고, 결국 앤드류 타넨바움은 리눅스가 독자적인 OS라고 인정한다. 리눅스의 사용자가 급격하게 늘어난 것은 1994년 네트워크 기능이 강화된 리눅스 1.0 버전이 출시된 이후다. 리누스가 리눅스 핵심 모듈을 개발했지만, 그가 리눅스 시스템을 개발한 것은 아니다. 리눅스는 단지 모듈일 뿐 자체만으로는 완벽한 OS가 아니다. 여기에 여러 개발자가 개발한 응응 프로그램을 결합해야지 OS로 활용이 가능한데 이것이 바로 리눅스 시스템이다.

현재 MS의 윈도에 대항할 수 있는 유일한 OS로 평가받고 있지만 아쉽게도 서버 부문에서 높은 경쟁력을 가지고 있다. 그러나 리눅스 미래에 대한 섣부른 진단은 하지 않는 것이 좋다. 데스크톱에서 가능한 대부분의 기능이 인터넷에서 가능해지면서 OS의 역할이 점차 약해지고 있다. MS 역시 인터넷 전용 OS 개발 계획을 발표했기 때문에 리눅스의 반격 기회는 여전히 유효하다. 구글이 최근 리눅스 개발자를 모집하는 것도 인터넷 전용 OS를 개발하기 위한 전략이 아닌지 의심받고 있다.

리누스 토발즈 VS 빌 게이츠

자주 거론당하는 본인은 대단히 싫어하겠지만, 리누스 토발즈를 얘기할 때 어쩔 수 없이 빌 게이츠를 거론해야 한다. 서로 정반대 위치에 서 있는 인물이기 때문에 자주 비교 대상이 되고 있다. 빌 게이츠는 하드웨어에 종속되어 있던 소프트웨어를 하나의 독립된 산업으로 성장시킨 사업가로 많은 사람들에게 칭송을 받지만, 리누스 토발즈를 옹호하는 사람들 즉, 리눅스 사용자와 해커들에게는 ‘악의 축’으로 꼽히는 인물이다.

빌 게이츠에게 다행스러운 것은 그들의 숫자가 윈도 사용자보다 많지 않다는 것이다. 최근 리누스 토발즈의 행보가 숨 가쁘게 돌아가고 있다. 트랜스메타라는 프로세서 개발업체에서 근무하던 그가 2003년부터 리눅스 진영에 합류했고, 2007년 리눅스 개발 연합체가 통합되면서 그의 영향력이 더욱 커졌다. 현재 그는 리눅스 핵심 코드 개발에 주력하고 있다. 자전거 타기와 교외로 드라이브를 즐기는 것 이외의 그의 취미는 오로지 리눅스 개발이다. 리눅스 핵심 모듈 프로그래밍이 그에게 가장 재미있는 일이기 때문이다.