Contents 1. 배경 아래처럼 date 입력 시 UTC로 나오면서, 시간대가 이상하게 나오는 경우가 있습니다. 인터넷을 찾아보면 ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime을 설정하라는데, zoneinfo가 없는 상황이 있을 수 있습니다. 이런 경우 어떻게 시간대를 KST(한국 표준 시간)으로 바꾸는지 알아보겠습니다. 2. 해결 방법 zoneinfo가 존재하려면, apt install로 tzdata를 설치해야 합니다. DEBIAN_FRONTEND=noninteractive를 apt 앞에 붙이는 것은 debconf 패키지를 비활성화한 상태로 apt 패키지를 설치하는 것입니다. debconf 패키지를 비활성화하는 이유는 설치하는 동안 별다른 상호작용 없..
Contents 1. 배경 리눅스 커맨드를 사용하다 보면, 커맨드 라인 치는 부분을 통해 현재 시간이나, 접속한 사용자 이름, 현재 경로 등의 정보를 색깔과 함께 보고 싶을 때가 있습니다. 아무 정보가 없으면 너무 밋밋하기 때문입니다. 어떻게 하는지 알아봅시다. 2. 해결 방법 1) .bashrc 수정 (한 줄 추가) root 계정이라면, /root에 root가 아닌 사용자라면 ~(홈 디렉토리)에서 .bashrc에 아래와 같은 문장을 추가합니다. export PS1="\e[1;37m[\e[36m\D{%Y/%m/%d %H:%M:%S}\e[37m][\e[32m\u\e[31m\e[33m\e[37m]\e[34m\w\e[m\n\$" PS1이라는 환경 변수를 이용해 변경하는 것입니다. 간단히 설명드리자면, [년도/..
Contents 1. 배경 Amazon의 EC2나 Azure 등 클라우드 서버를 사용하는 경우, 무료 티어에선 용량이 30기가 정도로 매우 적게 할당되는 경우가 있습니다. 웹을 띄우거나, 뭔가 실험적으로 하기엔 매우 적은 용량입니다. docker를 사용하는 경우 이미지나 컨테이너, 컨테이너와 연결된 로컬의 용량 등을 한눈에 파악한다면, docker에서 사용 중인 용량을 한 번에 볼 수 있습니다. 그 방법을 알아보겠습니다. 2. docker 디스크 사용 상태 확인 1) docker system df docker system df 아래 출력이 나와 있습니다. TYPE에는 docker 시스템에서 사용하는 이미지, 컨테이너, 컨테이너와 연결된 로컬의 용량(Local Volumes)등의 종류가 나옵니다. 각 컬럼..
Contents 1. 배경 Docker에서 실행 중인 컨테이너를 아예 중지시키는 것 말고, 잠깐 멈추는 것을 할 수 있습니다. Docker에서 실행 중인 작업을 잠깐 멈췄다가, 다시 재개하고 싶은 경우 사용합니다. 아래에서 자세히 알아보겠습니다. 2. 사용법 docker pause [콘테이너] # [콘테이너]의 실행을 멈춤 docker unpause [콘테이너] # [콘테이너]의 실행을 재개 위와 같은 명령을 통해 컨테이너의 실행을 잠깐 멈췄다가, 다시 재개시킬 수 있습니다. [컨테이너] 부분에는 컨테이너의 ID나 컨테이너 이름을 작성해주시면 됩니다. 3. docker stop과 차이점 docker stop은 해당 컨테이너에서 실행되는 모든 프로세스를 KILL 하는 반면, docker pause는 컨테이..
Contents 1. 배경 docker 컨테이너에 접속한 뒤, exit이나 Ctrl+D를 누르면 컨테이너가 종료되며 꺼집니다. 이런 경우, 컨테이너에 다시 들어가서 작업을 이어가기가 어렵습니다. 이런 문제를 해결하기 위해, 단축키를 이용해 컨테이너 종료 없이 나가는 것(Detach)이 가능합니다. 2. 컨테이너 종료 없이 나가기 Ctrl + P + Q 컨트롤을 누른 상태에서 P와 Q를 동시에 누르면, 컨테이너 종료 없이 밖으로 나갈 수 있습니다. 이 단축키는 윈도우나 Mac, 리눅스에서 모두 동일하게 작동합니다. 3. 실습 docker run을 이용해, 리눅스 우분투(ubuntu) 컨테이너를 생성하며, 컨테이너에 들어간 뒤, 컨테이너 내부에서 Ctrl + P + Q를 눌러 나와보겠습니다. docker r..
Contents 1. docker run 명령어 docker run은 docker의 이미지를 기반으로, 컨테이너를 생성하는 명령어입니다. 옵션에 따라 컨테이너를 바로 실행시킬 수도 있습니다. 기본적인 명령어 형식은 아래와 같습니다. docker run [옵션] [이미지] [명령어] [인자] # 예시 docker run --rm ubuntu ls -l 예시를 보면 docker run 뒤에 --rm이 [옵션]이고 ubuntu가 리눅스 우분투 [이미지] 이름이며, ls가 [명령어]이고 -l이 [인자]입니다. 간단히 설명드리면, 리눅스 우분투 컨테이너를 생성하고, 거기서 ls -l 명령어 결과를 출력하라는 의미입니다. --rm 옵션은 컨테이너 실행 완료와 함께 컨테이너를 삭제하는 옵션입니다. (아래에서 자세히 ..
[리눅스] md5sum: 무결성 확인 명령어에서 md5sum의 개념과 기초적인 예제 그리고, md5sum으로 폴더를 비교하는 활용 예제를 알아보았습니다. 이번엔 md5sum을 체크하는 일반적인 방법과 옵션들을 알아보겠습니다. Contents md5sum 확인 방법 md5sum -c [md5sum 결과 txt] 기초 예시) md5sum 결과 txt 만들고, 체크하기 아래와 같이 tmp 폴더에 6개 파일이 있습니다. md5sum *(모든 파일) 명령어를 리다이렉션 하여 md5sum.txt를 만들고, 그 내용을 확인합니다. md5sum * > md5sum.txt # 현재 경로의 모든 파일에 대해 md5sum 결과 txt 만들기 cat md5sum.txt # md5sum 결과 txt 보기 * 출력 md5sum의..
[Linux] 파일 디스크립터(표준 입력, 표준 출력, 표준 에러)에서 표준 입력, 표준 출력, 표준 에러와 이를 포함하는 개념인 파일 디스크립터에 대해 간략하게 알아보았습니다. 이번엔 파일 디스크립터를 활용하여 표준 출력과 에러를 자유롭게 다룰 수 있는 개념인 리다이렉션에 대해 알아보겠습니다. 1. 리다이렉션 이란?리다이렉션(Redirection)이란 말 그대로, 방향을 변경하는 것을 의미합니다. 리눅스에선 꼭 키보드로 표준 입력을 받거나 화면으로 표준 출력을 하는 것이아니라, 파일로 표준 입력을 받고, 파일로 표준 출력을 받는 등의 기능을 의미합니다. 리다이렉션을 이용하면 리눅스를 좀 더 자유롭고 편하게 사용할 수 있습니다.리다이렉션 기호형태의미[명령어] > [파일]명령어의 결과(표준 출력)를 파일에..
리눅스는 CLI(Command Line Interface)라는 명령어 기반 운영체제입니다. 그렇기 때문에, 명령어(글자)를 입력(Input)하거나, 결과(글자)가 출력(Output)되는 형식으로 이용합니다. 이때, 입력과 출력 종류와 파일 디스크립터에 대해 정리하겠습니다. 1. 표준 입/출력 (Standard I/O) 1) 표준 입력 [0 - stdin] 키보드로 명령어를 치고 엔터를 이용해 입력하는 방식을 의미합니다. 파일 디스크립터에서 0번으로 지정됩니다. 2) 표준 출력 [1 - stdout] 키보드로 명령어를 실행하고 정상 종료 시 출력되는 내용을 의미합니다. 파일 디스크립터에서 1번으로 지정됩니다. 3) 표준 에러 [2 - stderr] 명령어 실행 시 발생한 에러 메시지 내용을 의미합니다. 파..
sshpass란? sshpass란 다른 컴퓨터에 바로 ssh 연결을 할 수 있고, 연결된 컴퓨터에서 명령어를 실행할 수 있는 기능을 말합니다. 즉, 다른 컴퓨터에 ssh연결을 한 뒤, 명령어까지 실행할 수 있는 기능입니다. sshpass는 ssh에서 파생된 기능입니다. ssh는 Secure Sheel Protocol의 약자로, 컴퓨터와 컴퓨터가 Public Network를 통해 서로 보안적으로 안전하게 통신하기 위한 프로토콜입니다. ssh는 데이터를 전송하거나, 원격 제어를 할때 많이 사용됩니다. 설치 apt-get install sshpass # 우분투 환경 yum --enablerepo=epel -y install sshpass # centos 환경 conda install -c conda-forge..
Contents md5sum 이란? 파일을 다운받거나, 이동하거나, 복사한 후에 원본파일과 동일한 파일인지 확인하는 목적으로 쓰이는 명령어 입니다. 즉, 파일에 대해 md5(Message-Digest algorithm 5)라는 해시 알고리즘으로 sum(Check sum)값을 계산하는 명령어 입니다. 데이터가 중간에 아주 조금이라도 변경이되면 md5sum 값이 달라집니다. 대용량 파일을 다운받거나, 이동하다보면 데이터에 손상은 없는지 확인하는 경우가 많습니다. 예를 들어, 인간 유전체에 대한 정보들은 수십 기가에서 수백 기가까지 용량이 크기때문에 다운로트 사이트에서 md5sum까지 제공해주는 경우가 많습니다. 다운로드 후에 데이터 손상여부를 확인하기 위해 md5sum을 계산하여 비교해 볼 수 있습니다. 기..
Screen이란? Screen이란 Linux에서 독립적으로 동작하는 가상 터미널을 띄워주는 것을 의미합니다. 즉, 백그라운드로 동작하는 가상 터미널입니다. 장점: 스크린에서 명령어를 실행시키고 터미널을 꺼도, 명령어가 백그라운드로 계속 돌아갑니다. 명령어를 실행시킨 뒤 터미널을 종료하고, 나중에 screen 명령을 이용해서 다시 접속하면 해당 터미널 그대로 작업을 이어갈 수 있습니다. Install screen 명령은 기본적으로 설치가 되어있습니다. screen 명령을 쳤을 때 Command not found라고 뜬다면 아래와 같은 방법을 설치할 수 있습니다. 1) Centos 등 (Redhat 계열) yum install screen 2) Ubuntu 등 (Debian 계열) apt-get instal..