TIL/기타

Build tool(gcc, make..)이 없는 폐쇄망 내 Linux/Unix에 Python3 설치하기

쓱쓱565 2025. 5. 30. 10:58

Build tool(gcc, make..)이 없는 폐쇄망 내 Linux/Unix에 Python3 설치하기

1. 문제 상황

  • wget, apt 등의 명령어 사용 불가
  • gcc, make 등이 없는 환경 > python 소스코드를 컴파일할 수 없음

2. 해결

  • 이미 컴파일된 파이썬 바이너리 파일 활용해 설치
  • 설치한 python 및 pip를 default로 등록

3. 상세설치 과정

1) OS 및 architecture 확인

$ uname -m
>> x86_64
$ ldd --version
>> ldd (GNU libc) 2.28
>> Copyright (C) 2018 Free Software Foundation, Inc.
>> This is free software; see the source for copying conditions.  There is NO
>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>> Written by Roland McGrath and Ulrich Drepper.

2) https://github.com/astral-sh/python-build-standalone/releases 에서 적절한 pre-built python 다운로드

cpython-3.11.12+20250409-x86_64_v2-unknown-linux-gnu-install_only.tar.gz

3) sftp로 tar 업로드

4) ssh 접속

5) 설치

(1) 압축 해제 및 정상 작동 확인

tar -xzf cpython-3.11.12+20250409-x86_64_v2-unknown-linux-gnu-install_only.tar.gz
cd python/
ls bin/               # python3.11, pip3.11 등 출력
./bin/python3.11 --version # python3.11.12 출력

(2) Global 하게 설치

$ sudo mkdir -p /opt/python3.11.12
$ sudo cp -r ./* /opt/python3.11.12/
# 설치한 python3.11.12 를 python3.11 default 로 등록
$ sudo ln -sf /opt/python3.11.12/bin/python3.11 /usr/local/bin/python3.11
# 설치한 python3.11.12 의 pip를 pip3의 default 로 등록
$ sudo ln -sf /opt/python3.11.12/bin/pip3.11 /usr/local/bin/pip3.11
# 설치한 python 3.11.12 를 'python3'의 default로 설정
$ sudo ln -sf /usr/local/bin/python3.11 /usr/local/bin/python3
# 설치한 python 3.11.12의 pip를 'pip3'의 default로 설정
$ sudo ln -sf /usr/local/bin/pip3.11 /usr/local/bin/pip3

6) 완료