INFRA

INFRA/LINUX

Linux Command Line tips

맨 페이지는 cd와 같은 쉘 내장 명령어에 대한 매뉴얼은 제공하지 않음.npm과 같이 외부에서 제공하는 소프트웨어의 경우도 마찬가지임맨 페이지에서 대괄호는 Optional을 상징> type npm                   npm is /home/octavesop/.nvm/versions/node/v18.14.0/bin/npmtype 명령어는 특정 명령어의 위치를 알려준다.alias인 경우 alias라고 출력해줌> which clear/usr/bin/clearwhich 명령어도 마찬가지긴 함help 명령어를 쓰면 cd, pwd, echo와 같은 쉘 빌트인 명령어들의 도움말도 확인해볼 수 있음  윈도우 체제에서는 물리적 / 논리적으로 드라이브가 분리되어있음. ex) C드라이브, D드라이브...그러나 ..

INFRA/LINUX

왜 ssh -t에서만 command not found가 발생할까?

ssh ssh -t는 해당 쉘에 직접 접속해 명령어를 입력하는 대신 매개변수로 커맨드를 실행하는 방법이다. 다음과 같이 사용할 수 있다. $ ssh test@test.com -t "npm install" 그러나 막상 명령을 실행해보면 제대로 동작하지 않을 것이다. command not found 오류가 뜨게 되는데, 막상 직접 접속해서 사용할 때는 해당 문제가 발생하지 않는다. 왜 발생하는가 단순히 말하자면, 이는 .bashrc의 실행 여부와 환경 변수인 PATH의 문제에 의해 발생한다. ssh -t 명령어를 실행할 때, 사용자의 권한은 ssh 키나 패스워드를 통해 검증되나 실제로 로그인 세션은 발생하지 않는다. 때문에 원격 접속과는 달리 빠르고 편리하게 명령어를 실행하는 것이 가능해지므로, 주로 크론잡..

INFRA/LINUX

history에 시간값 추가하기 - Ubuntu

> sudo vim ~/.bashrc 마지막 줄에 다음 명령어를 추가한다. export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S " 적용되지 않았다면 한 번 로그아웃하고 다시 접속하자. 적용 시 이전의 명령어는 적용된 시간으로 표기되며, 이후 명령어부터는 입력된 시간값이 추가되어 출력된다.

INFRA/DOCKER

일반 사용자 docker 사용할 수 있게 하기

$ sudo usermod -aG docker $USER $ sudo su - $USER $ groups $USER

INFRA/LINUX

시스템 로그 확인

$ sudo dmesg --level err -T -H [10월18 13:07] tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover t [ +0.000007] tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover th [10월18 13:08] thunderbolt 0000:04:00.0: failed to determine connection manager, [10월18 13:09] xhci_hcd 0000:38:00.0: PCI post-resume error -19! [ +0.000001] xhci_hcd 0000:38:00.0: HC died; cleaning up [10월19..

INFRA/LINUX

깔끔하게 프로세스 죽이기

$ pgrep -f {프로세스명} | xargs kill pgrep -f node | xargs kill을 사용하면 구동 중인 node process를 모두 죽일 수 있다. 특정 포트를 확인해서 죽이는 경우는 lsof나 netstat으로 확인해서 pid 구하는 방법이 최선인 듯 하다. $ sudo netstat -tlnp | grep :3000 tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 20502/node $ sudo lsof -n -i :3000 | grep LISTEN node 20502 octavesop 31u IPv4 105296 0t0 TCP *:3000 (LISTEN) $ kill -9 20502

INFRA/LINUX

man 명령어

$ man ls 존재하지 않는 항목에 대해서는 다음과 같이 출력된다.

INFRA

helm으로 redis sentinel 환경 구축하기

최근 서버에서 redis 관련한 이슈가 몇번 나왔었다. 우리 서비스의 redis는 사내의 쿠브플로우 온프레미스 서버에 레플리카셋으로 올라가있는데(sentinel은 안 쓰는 상태), 개발 api 서버에서는 strict하게 master의 url만 사용했다. 이 때문에 인터넷이 끊기는 등 redis에 이상이 생겨서 기존 master가 slave로 전향해버리면 set이나 incr, expire 등의 명령어가 적용되지 않았다. 일반적으로 slave replica는 readonly 상태이므로 삽입이 불가능하기 때문이다. 때문에 프로덕션 환경 redis에 sentinel이 적용되었고, 개인 로컬 환경도 sentinel을 사용할 필요성이 생겼다. local 환경은 대충 가볍게 써서 이런 정도만 나오게 되었다. glob..

정민아
'INFRA' 카테고리의 글 목록