Find 결과에서 Permission denied 제거하기

유닉스 계열의 OS를 사용하다 보면 가장 많이 쓰는 명령 중 하나가 find가 아닐까 싶습니다. 그런데 find 중에 Permission denied라는 메시지 때문에 정작 찾고자 하는 결과를 찾기가 힘들었던 경험은 없으신가요? 아래 그림처럼요. 정작 찾고자하는 workspace를 Permission denied에 가려서 찾기 어렵습니다. 바라는 결과는 이런 건데 말이죠. 저걸 걸러보고자 grep을 사용해도 결과는 마찬가지입니다. $ find / -name workspace | grep -v Permission 결과가 걸러지지 않는 이유는 grep으로 find의 결과가 전달되기 이전에 예외가 발생했기 때문에 걸러지지 않는 것입니다. 그러면 예외를 보이지 않게 하면 원하는 결과를 얻을 수 있을 것이다라는 ..

WSL user password 초기화하기.

wsl을 처음 실행하면, 패스워드를 지정하게 되는데, 사실 사용할일이 별로 없다보니, 잊기 쉽습니다. wsl 패스워드를 잊었을 때, 복구하는 방법입니다. wsl distro는 각각의 리눅스 사용자 계정을 관리합니다. 그리고 wsl을 사용할 때, 기본 설정된 계정으로 로그인합니다. 이때는 패스워드를 묻지 않습니다. 따라서 처음에 로그인할 기본 계정을 root로 변경하여, root로 로그인하고, 사용자 계정을 다시 설정한 후, 기본 사용자 계정을 원래대로 돌려놓으면 됩니다. 저는 wsl을 ubuntu로 사용하니, ubuntu를 기준으로 설명하지만, 다른 wsl distro도 동일한 방식으로 초기화 할 수 있습니다. 1. 윈도우 터미널( powershell 또는 cmd )에서 ubuntu 의 기본 사용자를 변..

(제가) 윈도우에 아나콘다를 깔때마다 겪는 에러.

제가 윈도우에 파이썬을 깔 때는, 컴퓨터를 새로 샀거나, 문제가 생겨서 포맷을 할 때뿐입니다. 일 년에 한 번 혹은 이년에 한번 설치를 하게 되죠. 저는 주피터 노트북 때문에 아나콘다를 이용해서 한방에 설치하는 걸 좋아하는데요. 그리고 설치할 때마다 다음과 같은 에러를 마주합니다. "pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available" 처음에는 네트워크 문제인가 싶어(사무실의 네트워크는 거치는게 좀 많습니다), 네트워크 설정도 살펴보고, SSL 모듈을 따로 설치해줘야하는가 싶어. python SSL 모듈도 찾아보고 했는데, 실은 경로 설정 문제였습니다. 아나콘다 프롬프트..

여러 로그 파일, 한번에 보기.

한통으로 만들어서 한방에 서비스를 하는 덩치 큰 녀석을 만드는 게 이제는 낯설게 되었습니다. 그보다는 작은 단위로 쪼개서 가볍게 띄운 다음 하나하나가 유기적으로 연동하여 서비스를 완성하도록 하는 것이 익숙해졌습니다. 먼저 것을 모노리딕, 나중 것을 마이크로 서비스라고 하나요? 뭐 명칭이야 어쨌든 이제 작은 단위로 앱을 나누고, 필요할 때 필요한 것들만 많이 띄워서 처리량을 빠르게 늘리는 것을 목표로 서비스를 만듭니다. 이렇게 만드는 것이 서비스를 할 때, 즉각적인 대응이 가능하다는데 큰 장점이 있습니다. 급작스런 트래픽 증가에도 유연하게 대응할 수 있기 때문입니다. 하지만 장점만 존재하는 것은 아닙니다. 잘 설계되지 않는 다면, 복잡도는 증가되게 되고, 그에 따라 개발 난이도가 증가되고 유지보수가 힘들어..

Docker Image 빌드할때 ssh로 Git clone하기.

도커 이미지를 만들 때, 호스트에 있는 파일을 복사하는 게 가장 일반적이겠지만, CI툴에서 이미지 빌드를 한다거나, 특정한 브랜치를 항상 빌드한다거나 하는 특정한 경우에 Docker Image를 만드는 중에 소스코드를 클론 하는 경우가 있습니다. 이럴 때는 Dockerfile에 아이디와 패스워드를 노출할 수는 없기에, 제가 사용한 방식은 리파지토리에 등록된 Deploy Key를 이용하여 클론 한 후에 이미지에서 제거하는 방법을 사용했습니다. Dockerfile 코드는 다음과 같은 형식입니다. FROM ubuntu:latest COPY ssh_key /home/bitlog/.ssh/id_rsa RUN git clone git@github.com:bitlog/dev-repository.git RUN rm /..