본문 바로가기

Server/centos6

dockerfile로 container 생성 시 container를 계속 띄우기 dockerfile로 image를 만들고 생성된 image를 컨테이너로 만드는 과정에서 컨테이너 내에 직접 들어가서 디버깅을 해야 하는 경우가 종종 발생한다. 하지만 이렇게 컨테이너에 접속하기 위해서는 컨테이너가 종료하지 않고 계속 떠 있어야 하는데 dockerfile 에서 cmd 명령을 아래와 같이 주면 컨테이너가 종료하지 않고 계속 떠 있는 상태를 만들 수 있다. FROM python:3.8-slim CMD ["tail", "-f", "/dev/null"] /dev/null은 리눅스의 null device로써 입력되는 모든 데이터를 EOF로 보내는 역할을 한다. 해당 null device 파일을 계속 tail을 검으로써 해당 container가 종료되지 않고 계속 살아있게 둘 수 있다. 이 외에서 무.. 2023. 1. 4.
docker file 내에서 git 특정 branch 클론하고 싶을 때 docker file 작성 중 github으로부터 특정 소스를 클론해야 하는 작업이 필요했다. 그래서 아래와 같이 작성. FROM python:3.7-slim RUN mkdir -p /app WORKDIR /app RUN apt-get update RUN apt-get -y install git RUN git clone https://github.com/test.git WORKDIR /app/test RUN git checkout feature_1 RUN pip install --upgrade pip RUN pip install -r requirements.txt CMD [ "python", "test.py"] 하지만 위와 같이 실행시키니깐 git checkout 하는 부분에서 아래와 같은 에러가 발생한.. 2023. 1. 3.
centOS6 git HTTP request failed 버그 간만에 서버에 접속해서 git clone을 받으려고 하니깐 아래와 같은 에러 메시지가 발생한다. 처음에는 HTTP request 관련 문제라 서버 network을 살펴봤는데, 결과적으로는 centOS 6에서 나타나는 버그였다. 해결 방법은 nss와 curl 패키지를 업데이트 해주면 된다. $> yum update -y nss curl 만약에 yum update 서버도 못찾는 경우에는 (/etc/yum.repos.d/*.repo) 파일을 적당히 수정해 주자. update가 무사히 완료가 되었으면!! 다시 git clone을 시도해 보자. 만약에 nss와 curl을 업데이트 했는데도 똑같은 에러가 발생한다면?? git 1.7에서 나타나는 버그로 아래와 같이 git update를 진행해 주자. $> wget .. 2019. 6. 3.
tcpdump로 네트워크 패킷 잡기 CENTOS에서 tcpdump를 이용해서 network packet을 잡아보자. $> sudo tcpdump -i any host [host 주소] 위와 같이 입력하면 host주소를 통해 들어오고 나가는 ip:port 정보를 확인해 볼 수가 있다. 또한 현재는 -i any를 통해 모든 네트워크 카드에 대해 패킷을 잡았는데, -i eth0 혹은 -i eth1 등으로 변경함으로써 특정 이더넷 카드만 지정해서 패킷을 확인해 볼 수도 있다.또한 아래와 같이 특정 port를 명시해서 특정 port에 해당하는 ip 패킷만 확인해 볼 수도 있다.$> sudo tcpdump -i any port [포트번호] 2017. 10. 26.
awk와 uniq로 중복 제거하기 아래와 같은 포멧의 test.txt 파일을 ip별로 파싱해서 unique 한 ip 개수를 확인해야 하는 업무가 주어졌다. 사용자 ip - 메시지 uniq를 쓰면 중복 라인을 제거할 수는 있지만, 사용자 ip만 중복을 제거한 후 그 개수를 세어야 했기 때문에 awk를 사용해보았다. (awk는 잘 사용안하는 경향이 있던 나..) awk 사용은 아래와 같이 진행 $> awk 'BEGIN {FS="-"} {print $1}' test.txt 위의 명령어를 해석하자면 test.txt 파일의 필드 구분자 -를 라인별로 파싱해서 파싱한 첫번째 단어를 출력하라가 된다.위와 같이 명령어를 치면 '사용자 ip - 메시지' 중에서 '사용자 ip'만 출력이 된다.만약 print $2를 준다면 '메시지'가 출력될 것이다. 그 .. 2015. 11. 10.
centos에서 아파치 설치하기 1. httpd 설치하기$> yum install httpd* 2. httpd 시작하기$> /etc/rc.d/init.d/httpd start 3. 페이지 기본 주소/var/www/html 4. httpd.conf 위치/etc/httpd/conf/httpd.conf 5. httpd 에러 로그 위치/etc/httpd/logs/ 2015. 10. 21.