CentOS 5에 PCRE 8.13 설치 (yum)

Jmnote (토론 | 기여)님의 2014년 6월 7일 (토) 22:52 판 (→‎같이 보기)
PCRE 버전 업그레이드
PCRE 업그레이드

1 버전 확인

bat
Copy
[root@jmnote ~]# yum list installed pcre*
... (생략)
Installed Packages
pcre.i386                              6.6-9.el5                       installed
pcre.x86_64                            6.6-9.el5                       installed
pcre-devel.i386                        6.6-9.el5                       installed
pcre-devel.x86_64                      6.6-9.el5                       installed

2 새버전 설치

  • pcre 에 딸린 의존성 있는 패키지가 매우 많다. 300개 이상.
  • pcre를 삭제하면 grep도 안되고 pcre 새버전 설치에도 어려움이 있다.
  • 따라서 그냥 새버전만 설치한다.
bat
Copy
[root@jmnote ~]# ll pcre*
-rw-r--r-- 1 root root 1996552 Jun  7  2014 pcre-8.35.tar.gz
  • 압축 해제
bat
Copy
[root@jmnote ~]# tar -xvf pcre-8.35.tar.gz
pcre-8.35/
pcre-8.35/pcre_scanner.h
... (생략)
pcre-8.35/pcre16_valid_utf16.c
pcre-8.35/pcre32_ucd.c
pcre-8.35/makevp_l.txt
bat
Copy
[root@jmnote ~]# cd pcre-8.35
[root@jmnote pcre-8.35]# ./configure --enable-utf8  --enable-unicode-properties
... (생략)
    Link pcretest with libreadline .. : no
    Valgrind support ................ : no
    Code coverage ................... : no
bat
Copy
[root@jmnote pcre-8.35]# make
rm -f pcre_chartables.c
ln -s ./pcre_chartables.c.dist pcre_chartables.c
make  all-am
... (생략)
  CXX      pcre_stringpiece_unittest-pcre_stringpiece_unittest.o
  CXXLD    pcre_stringpiece_unittest
make[1]: Leaving directory `/root/pcre-8.35'
bat
Copy
[root@jmnote pcre-8.35]# make install
... (생략)
make[3]: Leaving directory `/root/pcre-8.35'
make[2]: Leaving directory `/root/pcre-8.35'
make[1]: Leaving directory `/root/pcre-8.35'

3 버전 확인 2

bat
Copy
[root@jmnote pcre-8.35]# cd
[root@jmnote ~]# pcretest -C | head -1
PCRE version 8.35 2014-04-04

4 (구버전 확인)

  • 구버전을 반드시 삭제할 필요는 없지만 삭제하고 싶으면 해도 된다.
  • 단, 의존성을 무시하고 삭제해야 한다.
bat
Copy
[root@jmnote ~]# rpm -qa | grep pcre
pcre-6.6-9.el5
pcre-6.6-9.el5
pcre-devel-6.6-9.el5
pcre-devel-6.6-9.el5
bat
Copy
[root@jmnote ~]# rpm -ev --allmatches pcre pcre-devel
error: Failed dependencies:
	libpcre.so.0()(64bit) is needed by (installed) grep-2.5.1-55.el5.x86_64
	libpcre.so.0()(64bit) is needed by (installed) httpd-2.2.3-85.el5.centos.x86_64
	libpcre.so.0()(64bit) is needed by (installed) php53-cli-5.3.3-22.el5_10.x86_64
	libpcre.so.0()(64bit) is needed by (installed) php53-5.3.3-22.el5_10.x86_64
bat
Copy
[root@jmnote ~]# rpm -ev --allmatches --nodeps pcre pcre-devel
[root@jmnote ~]# grep
grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
→ 구버전이 삭제되었는데 그 영향으로 grep이 안된다.[1]

5 같이 보기

6 주석

  1. 이쯤에서 포기하고 yum install pcre pcre-devel로 구버전을 다시 설치해도 된다...