728x90

IT/기초 지식 112

[python] pip 과 requirements.txt를 이용해서 패키지 혹은 라이브러리 일괄 다운로드하기

Python의 패키지(라이브러리)를 pip으로 관리하고 있는 경우, 설정 파일인 requirements.txt를 사용해서 파일 안에 지정된 패키지를 지정한 버전으로 한꺼번에 설치할 수 있다. 이번 포스팅에서는 아래의 내용에 대해서 설명하고자한다. pip의 일괄 설치 옵션 : -r requirements.txt 설정 파일 requirements.txt의 작성법 현재 환경의 설정 파일을 출력하는 pip freeze pip의 기본적인 사용법에 대해서는 이번 포스팅에서 설명하지 않는다. pip의 일괄 설치 옵션 : -r requirements.txt 아래의 커맨드로 설정 파일 requirements.txt에 작성된 내용에 따라 패키지를 일괄 설치된다. $ pip install -r requirements.txt..

IT/기초 지식 2022.02.01

[Docker] Docker 이미지를 파일로 import/export 하기

Docker에서 이미지나 컨테이너를 파일으로 export하거나, import하는 방법에 대해 알아보고자한다. Docker에서는 컨테이너를 저장하는 export 커맨드와 이미지를 저장하는 save 커맨드 두 가지가 있다. 그리고 save와 export는 각각 이미지와 컨테이너를 압축파일(.tar확장자)로 저장한다. 이미지 이미지를 파일로 저장하는 save docker save [옵션] 이미지명 Docker 이미지를 포함된 태그 정보 등을 포함한 이미지를 저장한다. sample-image이라는 이미지를 저장하는 경우는 아래와 같이 사용한다. docker save sample-image > sample-image.tar 컨테이너에서의 변경을 이미지에 반영할 경우에는 commit한 후에 저장한다. 저장한 이미지..

IT/기초 지식 2022.01.28

[Docker] Docker에서 사용하지 않는 오브젝트를 삭제하는 "prune" 커맨드와 옵션

Docker에서는 불필요한 것을 삭제하는 garbage collection으로 prune 커맨드를 사용한다. 이러한 prune 커맨드에는 다양한 옵션이 있는데, 예를 들어 컨테이너 정지된 후 몇 시간 동안 사용하지 않은 오브젝트를 삭제할 것인지 시간을 지정할 수 있고 날짜를 지정할 수 있다. 예시 : 정지된지 24시간이 지난 컨테이너, 이미지 및 네트워크 삭제하기 $ docker system prune -a --filter "until=24h" ... Are you sure you want to continue? [y/N] ←여기서「y」+「Enter」를 입력하면 처리가 진행된다. -a는 --all로, build 캐쉬랑 중간 이미지(태그가 없는 이미지)도 삭제한다. 개발 환경에서는 역으로 영향이 발생할 수..

IT/기초 지식 2022.01.28

[Docker] Windows10 환경에서 WSL2+Docker사용하기

Docker이란? Docker이란 간단히 말하면, 가벼운 컨테이너형 어플리케이션 실행환경을 의미한다. 독립된 실행환경이라고 한다면 Hyper-V나 Windows Virtual PC등 가상 실행 환경을 떠올리는 경우가 많은데, 이러한 것들은 PC의 하드 웨어를 에뮬레이션하여 그 위에 OS나 어플리케이션을 동작시킨다. 또한 목적 어플리케이션이라는 관계없는 서비스 등도 다수 동작된다. 그로 인해 오버 헤드가 많고, 리소스를 비효율적으로 많이 쓰게 된다. 이에 반해 컨테이너란 액세스할 수 있는 리소스나 권한 등을 제한, 분리한 "프로세스"이다. 컨테이너를 관리하는 코스트는 프로세스를 관리하는 코스트와 거의 동일하며, 가상 머신을 관리하는 코스트와 비교하면 매우 가볍다. Docker의 실행 환경은 아래와 같다. ..

IT/기초 지식 2022.01.28

[git] git의 여러가지 취소 방법

git에서는 "취소"라는 말이 상황에 따라 조금씩 다르다. 이 포스팅에서는 변경을 "취소"하고 싶은 상황 시나리오를 제시하고 그에 따른 적절한 git 사용 방법을 작성하고자한다. "퍼블릭"한 변경을 취소 - 시나리오 git push를 실행해서 GitHub에 변경사항을 보낸 후, 하나의 커밋에 문제가 있는 것을 발견했다. 당신은 이 커밋을 취소하고 싶어졌다. - 사용할 커맨드 git rever - 동작 설명 git revert는 전달된 SHA와 반대의 (원래로 되돌리는) 새로운 커밋을 만든다. 이전 커밋에서 "한 것"은 새로운 커밋에서 "한 것과 반대"가 된다. 즉 이전 커밋에서 삭제된 것은 새로운 커멧에 추가되고, 이전에 커밋에서 추가된 것은 새로운 커밋에서는 삭제된다. 히스토리를 고쳐 쓰지 않는다는 점..

IT/기초 지식 2021.12.19

[Linux] sed 커맨드 상황별 사용법

쉘에서 데이터를 가공할 때 sed를 자주 사용하게 되는데, 상황에 따른 사용예를 정리한 포스팅이다. sed 커맨드는 Linux/Unix/BSD/OSX의 경우 기본적으로 설치되어 있으므로, sed 커맨드를 사용하기 위해 따로 설치할 필요는 없다. 이 포스팅의 경우 Redhat계 Linux메인이므로 경우에 따라 작성법이 조금 다를 수 있다는 점을 유의하길 바란다. 그럼 바로 본론에 들어가도록 하겠다. '#'로 시작하는 코멘트행을 삭제할 때 sed '/^#/d' source.txt 빈 행을 삭제할 때 sed '/^#/d' source.txt 행의 맨 앞이 #인 행과 빈 행을 삭제 cat source.txt | grep -v '^#' | sed '/^$/d' file1.txt의 15행부터 26행까지를 삭제한 후..

IT/기초 지식 2021.11.03

[Linux] expect를 이용한 Linux 커맨드 입력 자동화

Linux환경에서 어떤 패키지를 설치할 때 yes를 입력해야거나 선택지를 입력해야할 경우가 있는데, 이럴 때 그러한 입력을 자동화할 수 있는 것이 expect이다. expect란? Linux에서의 커맨드 대화를 자동화하도록 할 수 있는 모듈의 하나이다. Tcl이라는 프로그래밍 언어 베이스의 커맨드로 커맨드라고 이야기했지만, 사용방법은 스크립트형식이 될 것이다. expect는 Tcl의 슈퍼 세트로, expect 스크립트내에서 Tcl를 이용할 수 있다. 또한 expect는 yum이나 apt-get에서 설치할 수 있다. expect의 사용법 예를 들어, passwd 커맨드. 이것은 유저의 패스워드를 변경하는 커맨드이므로, 옵션이나 어떠한 것을 붙이지 않은 보통 사용할 경우에는 반드시 커맨드 "대화"가 발생한다..

IT/기초 지식 2021.10.20

[Singularity] Singularity + headless VNC + Pipenv를 사용한 강화학습 환경 만들기(gym, pybullet)

들어가기에 앞서 GPU 서버 상에 GUI가 보이는 환경이 필요했기 때문에 정리하였다. - gym(OpenAI Gym): 강화학습 알고리즘을 개발하고, 비교하기 위한 툴 키트 - pybullet(PyBullet Robotics Environments) : 심층강화학습을 위한 물리 시뮬레이션 환경 headless VNC란 VNC란 떨어져 있는 환경의 GUI를 조작하는 리모트 데스크톱을 의미하지만, 앞에 붙어 있는 headless머신이란 디스플레이를 가지지 않은, 즉 GUI가 없는 머신을 일컫는다. 즉 GUI를 가지지 않는 공유 GPU가 붙은 서버 상에, xfce 환경(GUI)를 만들어, 거기다 브라우져상에 VNC를 붙여 pytorch가 GPU상에서 움직이는 환경을 만들 수 있다. headless VNC를 사..

IT/기초 지식 2021.10.14

[Docker] Supervisor을 Docker에서 사용하기

Supervisor이란? 전통적(?)으로 Docker 컨테이너는 실행시에 1개의 프로세스를 실행한다. 예를 들어, Apache 데몬이나 SSH 서버의 데몬과 같은 것이 있다. 그러나 컨테이너 내에서 여러 개의 프로세스를 실행하고 싶을 경우가 있을 것이다. 이러한 소망을 실현시킬 수 있는 몇 가지 방법이 있다. 프로세스 관리 툴을 설치해 컨테이너의 CMD 명령으로 단순히 Bash 스크립트를 사용할 수 있도록 하면되는데, 이 때의 프로세스 관리 툴 중 하나가 Supervisor이다. Supervisor을 사용해, 컨테이너 내의 여러 개의 프로세스를 관리할 수 있다. 프로세스의 재실행도 가능하다. 즉 Docker시점에서 본다면, "Docker Container상에서는 Process가 Foreground로 실행..

IT/기초 지식 2021.10.14

[Docker] Docker 이미지를 오프라인에서도 사용하는 방법

인터넷에 접속할 수 없는 환경에서도 Docker 공식 리포지터리로 부터 Docker 이미지를 얻어내 사용하고 싶을 경우 방법에 대해 알아보려고 한다. 사용환경 - 다운로드용 PC : 인터넷에 연결 가능한 환경. Windows10에 Docker(version 17.09.0-ce) 도입. - Docker환경 : 다운로드용 PC와 소통이 가능하지만, 인터넷에는 연결되어 있지 않은 환경. Ubuntu상에 Docker(version17.03.2-ce) 도입. 실행 먼저 이미지 다운드로드용 PC상에서 Docker pull 커맨드를 사용하여 이미지를 얻어낸다. 예에서는 wordpress를 얻어내고 있다. #### 다운드로드용 PC PS C:\Users\User01> docker pull wordpress Using ..

IT/기초 지식 2021.10.13
728x90