반응형

IT 개발 관련 57

/usr/bin/env: ‘python’: No such file or directory 문제 해결 방법

파이썬으로 된 어플이 아래와 같이 메시지를 내보내고 실행이 안된다면... /usr/bin/env: ‘python’: No such file or directory python3 이 이미 깔려있는데 python 을 찾는다. 그냥 링크나 알리아스 하나 만들어주면 되지 않을까? 하지만 안된다. # Alias를 선언해보았으나... alias python=python3 # 여전히 같은 에러가 발생했다. /usr/bin/env: ‘python’: No such file or directory 솔루션은 python-is-python3 를 설치하면 해결된다. sudo apt install python-is-python3 굳이 python을 사용하지 않는다면 python3와 함께 둘다 설치할 필요 없이 python3만 ..

ssh-keygen을 이용한 ssh 자동 로그인

ssh 접속시 로그인이 아주 귀찮은 경우가 많이 발생한다. 특히 VS Code를 이용해서 CloudCode를 이용한 원격 개발중이라면 더욱 그러하다. 처음엔 잘 참고 입력하였으나 너무 너무 귀찮... ㅠㅠ ssh-keygen 을 이용해서 private key, public key를 생성하고, 서버에 퍼블릭 키를 업로드 한다. 그런 후에 사용하면 끝~ $ ssh-keygen -t rsa 1. 저장 디렉토리를 알려주는데 그냥 엔터 2. 인증서에 passphrase (비밀 번호)를 걸 것인지 2번 물어본다. 여기 비밀번호를 넣으면 자동 로그인이 아니라 매번 비번을 넣어야 하니 그냥 엔터 치고 넘어간다. 필자의 경우 이미 키가 있기 때문에 중간에 이미 있는데 덮어 쓸 것인지를 묻는 과정이 추가되어있다. 처음 하..

Protobuf Installation script for Macbook M1

Macbook M1에서 GRPC를 위한 Protobuf 설치에 문제가 있습니다. 따라서 소스를 내려 받은 후에 로컬에서 컴파일 하는 과정을 거치는 것이 안전한 방법입니다. 아래 스크립트를 따라 하시면 homebrew 부터 차근 차근 설치합니다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" export PATH=/opt/homebrew/bin:$PATH git clone https://github.com/protocolbuffers/protobuf.git arch -arm64 brew install autoconf arch -arm64 brew install automake arc..

IT 개발 관련 2021.10.14

Pub-Sub 구현 : Go + Google Protocol Buffers + Nats + Github.com

Pub-Sub 구현 하면서 처음 사용하는 환경으로 고생을 많이 했습니다. 그래서 정리해 둡니다. 우선 pub-sub은 언제 사용할까요? 개념은 도대체 뭘까요? 요기 참고 사이트에서 확인하세요. https://kchanguk.tistory.com/75 자 그럼 펍섭을 위해서는 중간에 토픽을 퍼블리시 받고 서브스크라이버들에게 메시지를 전달하는 서비스가 필요하겠죠? 이 역할을 해주는 솔루션 중 하나가 Nats 입니다. 아주 라이트하고 간단한 설치만으로 사용가능합니다. 리소스도 상당히 적게 먹습니다. 2. Nats - Raspberry Pi에 설치 을 참고하세요. 이렇게 메시지를 미들웨어를 통해서 주고 받으려면 메시지 구조도 명확해야하고 데이터 사이즈도 작은 것이 좋겠죠? 그래서 차용한 것이 구글의 gRPC에서..

IT 개발 관련 2021.07.30

File Transfer - scp, rsync

서버 작업을 하다보면 서버와 서버 사이에 파일 전송 이슈가 있는 경우가 있다. 개인적으로 주로 SFTP나 FTP를 이용해서 파일을 전송했었는데... 요즘은 rsync 를 이용해서 파일 전송을 주로 하고 있습니다. 그중 많이 쓰이는 scp, rsync 에 대해서... 간단히 커맨드 정리 해둔다. SCP (Secure Copy) ssh를 통해서 파일을 전송하는 도구로 서버에서 서버로 쌍방향 전송이 가능하다. 다른 장비로 파일 복사하기 scp -rp sourcedirectory user@dest:/path -r means recursive -p preserves modification times, access times, and modes from the original file. scp *.pdf sean@..

root 유저로 ssh 접근 제어 해야할 때

ssh를 이용해서 외부 접근을 하는 경우에 root 유저로 붙을 수 있게 되면 아무래도 보안상 위험하겠지요.원격으로 해킹 시도가 상당히 발생할 수 있습니다. 이에 따라서 root 유저는 통상적으로 ssh 접근을 못하도록 하고, 일반 유저로 접근해서 su 또는 sudo를 이용해서 접근하도록 제어합니다. $ sudo vi /etc/ssh/sshd_configPermitRootLogin yes

CentOS - SVN 설치시 에러

CentOS에 svnserve를 설치하다가... 이 사이트 참고 했음 : http://b1ix.net/290 설명이 매우 잘 되어있어서 따라하면 땡... 다만 중간 부분에 나와있는 이 부분!!! [root@localhost checkout1]# svn checkout svn://localhost/svn_repos svn: E000013: Unable to connect to a repository at URL 'svn://localhost/svn_repos' svn: E000013: file '/home/svn/svn_repos/format' 를 열 수 없습니다: 허가 거부 이에 대한 해결책이 필요했다.위의 에러는 selinux가 보안상 막고 있어서 발생하는 것이 맞다. 이를 해결 하기 위해서는... r..

Linux 프로세스 관리 쉘

################################### 1. 특정 프로세스를 찾아서 죽이기 #!/bin/bash ps -ef | grep -v grep | grep 프로세스명 | awk '{print $2}' | xargs --no-run-if-empty kill -9 $1 ################################### 2. 특정 프로세스가 살아있는지 체크해서 죽어있으면 살리는 쉘 $ vi /var/test/run.sh #!/bin/bashPROCESS_CNT=`ps -ef | grep 프로세스명 | grep -v grep | awk '{print $2}' | wc -l`if [ "$PROCESS_CNT" == 0 ];then echo "[`/bin/date +\%Y\%m\%d..

SSH 접속 세션 시간 조정

SSH 접속이 자주 끊겨서 고생하는 경우들이 있는데... 그에 대한 해결책을 간단히 노트해둔다.SSH 클라이언트 접속 시간 조정sudo vi /etc/ssh/ssh_config# otehr configs 부분에 아래 내용을 주석 해제하고 숫자값을 정해준다. ServerAliveInterval 100 SSHD 서버에서의 접속 시간 조정sudo vi /etc/ssh/sshd_config아래와 같이 주석 해제하고 값을 지정해주시면 됩니다. ClientAliveInterval 600 TCPKeepAlive yes ClientAliveCountMax 10SSHD 서버 재기동이 필요합니다. $ sudo service ssh restart

반응형