CentOS 버전의 경우 기본적으로 python 2.6 이 깔려 있는데요.
이것이 요즘 사용되는 대부분의 python 프로그램을 지원하지 않습니다. ( 대표적으로 cert-bot의 경우 python2.7을 이용합니다. ) 또한 만약 패키지 관리자로 python2.7을 강제 설치할 경우 기존 python 을 업그레이드하면서 시스템에서 사용하는 기능들이 잘 동작하지 않는 상황이 발생할 수 있습니다. ( 예를들어 yum 이 작동하지 않는다던가... )
이때 에러가 없이 사용할 수 있는 방법이
소스 코드 컴파일을 하는 방법과 scl 을 이용하는 방법이 있는데 여기서는 scl 을 이용하는 방법을 설명드리겠습니다.
방법은 아래의 명령어 순서대로 설치해 주시면 됩니다.
1. scl 설치 $ sudo yum install centos-release-scl 2. yum rhel-server-rhscl-7-rpms 활성화 $ sudo yum-config-manager --enable rhel-server-rhscl-7-rpms 3. python27 설치 $ sudo yum install python27 4. python27 활성화 $ scl enable python27 bash
* 만약 yum-config-manager: command not found 와 같은 에러가 난다면 아래의 포스팅을 고 하시기 바랍니다.
2019/01/14 - [KnowHow/Linux] - CentOS 에서 yum-config-manager: command not found 에러가 날 경우
제대로 설치하셨다면 scl enable python27 bash 후에 python 버전이 다르게 뜨는 것을 확인하실 수 있으실 것입니다.
만약 높은 버전의 python 을 cron 에 등록 해야 한다면 crontab 에 아래와 같이 명령어를 넣어 주시면 됩니다. ( 제 경우 certbot 때문에 )
12 3 * * * scl enable python27 "/usr/bin/certbot-auto renew --renew-hook 'service apachectl restart' >> /var/log/letsencrypt/renew.log"
위의 명령어는 cron 은 python27 과 함께 --renew-hook 으로 인증서 갱신과 함께 아파치를 재시작 하는 cron 입니다.
즐거운 개발 되시기 바랍니다.
'KnowHow > Linux' 카테고리의 다른 글
Linux ( CentOS 혹은 Ubuntu 등 ) 에서 명령어를 백그라운드(Background)로 실행하기 (0) | 2019.01.16 |
---|---|
Linux 에서 Public ( 공개 ) IP 알아내기 (0) | 2019.01.14 |
CentOS 에서 yum-config-manager: command not found 에러가 날 경우 (0) | 2019.01.14 |
CentOS 6.x 에서 git 으로 https 소스를 가져올때 SSL connect error 에러 처리 방법 (0) | 2019.01.14 |
CentOS 6.x 혹은 7.x 에서 git 사용시 fatal: HTTP request failed 에러 처리 방법 (0) | 2019.01.12 |