본문 바로가기

Server/Ubuntu56

E: The repository 'http://security.debian.org/debian-security stretch/updates Release' does not have a Release file. 2년 전에 마지막으로 빌드했던 docker file을 빌드하려고 했더니 아래와 같은 에러가 발생했다. E: The repository 'http://security.debian.org/debian-security stretch/updates Release' does not have a Release file. debian에서 저장소 repo가 업데이트 되었고, 이전 저장소는 삭제가 되어 발생한 에러였다. 아래와 같이 해당 위치에 있는 list 파일에서 저장소 url을 수정해 주자. /etc/apt/sources.list 기존 deb http://deb.debian.org/debian stretch main deb-src http://deb.debian.org/debian stretch main deb h.. 2023. 9. 11.
dockerfile에 pythonpath를 환경 변수로 잡기 ENV PYTHONPATH "${PYTHONPATH}:[추가할 경로]" 2023. 1. 7.
우분투에 python3.10 설치하기 ubuntu docker image를 다운 받아서 해당 이미지에 python3.10을 설치하려고 한다. 아래는 python3.10을 설치하는 docker file FROM ubuntu:18.04 RUN mkdir -p /app WORKDIR /app RUN apt-get update RUN apt-get install -y git build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev liblzma-dev # python 설치 RUN wget https://www.python.org/ftp/python/3.10.9/Py.. 2023. 1. 6.
Bad Substitution $> ./test.sh alpine으로 만든 docker 컨테이너 내에서 위와 같이 실행하면 bad substitution이란 에러가 발생하며 실행이 안된다. bad substitution의 경우 shell이 다른 경우에서 호환성 문제로 발생하는 에러 메시지로 위의 경우는 아래와 같이 bash shell로 실행해주면 정상적으로 동작한다. $> bash test.sh 2023. 1. 5.
Improving Kubernetes and container security with user namespaces 원문 주소 : https://kinvolk.io/blog/2020/12/improving-kubernetes-and-container-security-with-user-namespaces/ Kinvolk: Improving Kubernetes and container security with user namespaces Improving Kubernetes and container security with user namespaces kinvolk.io What are user namespaces? Linux 상의 컨테이너는 네임스페이스, cgroup 그리고 다른 linux 기본 요소를 기반으로 한다. Linux API는 다양한 종류의 네임스페이스들을 제공하며 해당 네임스페이스들은 각각 os 시스템의 특.. 2021. 12. 20.
The Curious Case of Pid Namespaces And How Containers Can Share Them 원문 url https://hackernoon.com/the-curious-case-of-pid-namespaces-1ce86b6bc900 The Curious Case of Pid Namespaces | Hacker Noon hackernoon.com 네임스페이스는 리눅스 컨테이너의 기본적인 컴포넌트 중의 하나이며, 공유 자원의 격리를 제공한다 : 각각의 애플리케이션에 대해 시스템 상에서 그들만의 고유한 공간을 제공한다. 네임스페이스 덕분에 각각의 docker 컨테이너는 각각의 파일시스템과 네트워크를 가지고 있는 것처럼 보인다. 리눅스는 많은 release를 거쳐 점진적으로 네임스페이스 지원을 추가했다. 이러한 점진적인 변화로 인해, 네임스페이스의 각 타입은 고유의 해결과제를 가지고 있다. 특히 Pid.. 2021. 12. 17.
A Deep Dive into Iptables and Netfilter Architecture Iptables과 Netfilter에 대한 이해를 위해 아래의 url을 번역했다. https://www.digitalocean.com/community/tutorials/a-deep-dive-into-iptables-and-netfilter-architecture A Deep Dive into Iptables and Netfilter Architecture | DigitalOcean Firewalls are an important tool that can be configured to protect your servers and infrastructure. In the Linux ecosystem, iptables is a widely used firewall tool that interfaces wit.. 2021. 12. 1.
github 저장소에 ssh 연결하기 ssh로 git clone 하려고 하는데 인증 받지 않은 키라는 오류 메시지가 뜬다.그래서 서버 인증을 위한 인증키를 만들어 주려고 한다. 아래와 같이 인증키 페어를 생성하자. $> ssh-keygen 위의 명령어를 실행하면 인증 키가 담긴 파일 명, 패스워드 등을 입력할 수가 있다. 나는 기존에 id_rsa 키가 존재하기에 rd_user_rsa라고 새롭게 인증키를 생성했다. 이렇게 생성된 인증 키를 github에 등록하자. 저장소의 settings를 클릭 한 후 왼쪽 메뉴의 Deploy keys를 클릭하면 위와 같은 화면이 나타날 것이다. 오른 쪽 버튼인 Add deploy key를 누르고 rsa public key를 등록하자. (public key는 rsa.pub라고 써있는 유형을 말함) 이렇게 등록.. 2018. 10. 26.
ZooInspector를 사용해 보자. ZooKeeper를 이용해서 L4 등과 같은 로드 밸런서로 사용도 하지만 어떤 경우에는 ZooKeeper에 checkpoint를 저장하며 사용하는 경우도 있다. 이럴 경우에 내가 제대로 checkpoint를 찍었나 확인을 해야 하는데, 이 때 사용하기 편한 툴을 소개하려고 한다. 우선 ZooInspector를 사용하기 위해서는 Zookeeper가 깔려 있어야 하고, JAVA_HOME 설정이 되어 있어야 한다.OS X 기준으로 우선 Zookeeper부터 깔아보자. $> brew install zookeeper 그런 다음 홈디렉토리의 .bash_profile 파일을 연 후 JAVA_HOME을 아래와 같이 설정해 주자. export JAVA_HOME=/Library/Java/JavaVirtualMachines.. 2018. 2. 22.