작업순서
|
인터넷망 작업
다운로드와 createrepo를 설치해서 repository를 작성합니다.
-
다운로드를 위한 다운로더 설치
yum -y install yum-plugin-downloadonly
-
creatererepo 설치
sudo yum install yum-utils createrepo
설치할 디렉토리 생성
-
이때 packages-ins는 임시 설치 디렉토리이기 때문에 원격 서버로 가져가지 않아도 됩니다.
cd /home/off-repo mkdir packages packages-ins
레파지토리 파일 다운
yum install --downloadonly --installroot=/home/off-repo/packages-ins --releasever=7 --downloaddir=/home/off-repo/packages python35u python35u-debug python35u-devel python35u-libs python35u-lxml python35u-tools python35u-setuptools python35u-pip gcc mariadb-devel nginx
createrepo로 레포 생성
createrepo --database /home/off-repo/packages
설치 폴더 삭제
rm -rf /home/off-repo/packages-ins
설치 패키지 repo 작성
vim /etc/yum.repos.d/off-packages.repo
[off-packages]
name=CentOS-$releasever - off-packages
baseurl=file:///home/off-repo/packages
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
repo가 정상적으로 생성되었는지 검증
repoclosure --repoid=off-packages
설치할 폐쇄망 서버로 파일 복사
-
여러번 반복해서 레파지토리를 추가 / 제거하게 된다면 off-packages.repo는 최초 작성후에 수정해주지 않아도 괜찮습니다.
scp -r /home/off-repo/packages root@원격서버ip:/home/off-repo/packages scp /etc/yum.repos.d/off-packages.repo root@원격서버ip:/etc/yum.repos.d/off-packages.repo
폐쇄망 작업
패키지 설치
yum install --disablerepo=\* --enablerepo=off-packages 설치할패키지이름
-
파이썬 설치 후에 원하는 버전으로 설치가 되었는지 확인해보는것이 좋습니다.
-
python3.5 등으로 심볼릭 링크가 걸려있다면 which python3.5 로 위치를 찾아서 python3로 심볼릭 링크를 걸어주는 것이 편리합니다.
which python3.5 /usr/bin/python3.5 cd /usr/bin ln -s python3.5 python3
pip 설치, 라이브러리 설치
인터넷 망 작업
설치할 디렉토리 생성
cd /home/off-repo
mkdir pip-lib wget-packages
pip 다운받기
cd /home/off-repos/wget-packages
wget https://files.pythonhosted.org/packages/68/1a/8cfcf3a8cba0dd0f125927c986b1502f2eed284c63fdfd6797ea74300ae4/pip-20.2.1.tar.gz
tar xvfz pip-20.2.1.tar.gz
mysqlclient 다운받기
- 설치 도중 오류가 잘 나는 라이브러리이기 때문에 따로 파일을 받아서 처리해줍니다
cd /home/off-repos/wget-packages
wget https://pypi.python.org/packages/6f/86/bad31f1c1bb0cc99e88ca2adb7cb5c71f7a6540c1bb001480513de76a931/mysqlclient-1.3.12.tar.gz#md5=dbf1716e2c01966afec0198d75ce7e69
tar xvfz mysqlclient-1.3.12.tar.gz
pip 설치
python3 get-pip.py install
- pip 설치 후에 pip -V로 버젼을 확인해서 설치한 pip가 설치한 python3를 바라보고 있는지 확인해야합니다.
requirements.txt 작성
-
설치가 필요한 모든 라이브러리를 이 안에서 작성해줍니다.
bs4==0.0.1
-
만약 기존의 서버에서 가져와야 한다면 아래의 명령어로 작업해줍니다.
pip freeze > requirements.txt
requirements.txt에 작성한 라이브러리 다운로드
-
위에서 작성한 requirements.txt 안의 라이브러리들을 다운받아 줍니다.
pip download -r requirements.txt
파일 복사
scp -r /home/off-repo/pip-lib root@원격서버ip:/home/off-repo/pip-lib
scp -r /home/off-repo/wget-packages root@원격서버ip:/home/off-repo/wget-packages
폐쇄망 작업
설치
-
단독 설치
pip install --no-index --find-links=. 패키지이름
-
requirements.txt안의 라이브러리 모두 설치
pip install --no-index --find-links=. -r requirements.txt
mysqlclient 설치
-
해당 작업시 mariadb-devel과 gcc가 설치된 상태여야 합니다.
-
위에서 사용한 명령어를 이용해서 myqlclient를 설치해도 괜찮지만, 저의 경우에는 보통은 설치 실패한 경우가 많아서 별도로 설치해주었습니다.
cd /home/off-repo/wget-packages/mysqlclient-1.3.12 python3 setup.py clean python3 setup.py build python3 setup.py install
부록
-
mysqlclient 설치 테스트
-
vim으로 아무 파일이나 생성하고 아래의 내용을 입력해줍니다.
import MySQLdb
-
python3 생성한파일이름.py로 실행시켰을때 오류가 발생하지 않는다면 정상적으로 설치된 것입니다.
'Linux-centos > Linux-centos__폐쇄망' 카테고리의 다른 글
python local repository 구성 (0) | 2020.10.29 |
---|---|
yum local repository (0) | 2020.10.13 |
centos7 인터넷 안되는 환경에서 python3 설치하기 (0) | 2020.08.06 |