프로그래밍 언어/Linux
YAML (YML) 문법 정리
YAML이란 사람이 쉽게 읽을 수 있는 컨셉을 가진 데이터 직렬화 양식이다. YAML 'YAML Ain't Markup Language'라는 뜻으로 마크업 언어가 아니라는 뜻을 가지고 있다. Xml, Json 과 같이 사용되는 데이터 포맷이다. 기본 문법 들여쓰기 2칸 혹은 4칸 사용, 탭은 안됨 # : 주석 --- : 문서의 시작 (선택 사항) ... : 문서의 끝 (선택 사항) | : 블록 내 줄바꿈 > : 블록 내의 줄바꿈(new line) 무시 |- , >- : 해당 기호 뒤에 - 를 붙이면 마지막 줄바꿈을 제외하고 인식 # Test Line1\n\nTest Line2\n\nTest Line3\n lines: | Test Line1 Test Line2 Test Line3 # 빈칸 한 줄 # Tes..
[Linux] unzip: command not found - unzip 설치하기
압축된 파일을 풀려고 하는데 zip 프로그램이 설치되어 있지 않아서 다음과 같은 에러가 나왔다. 해결 방법 zip 파일을 설치해주면 된다 # Ubuntu sudo apt-get -y install unzip # CentOS sudo yum install -y unzip
[linux] 리눅스 서버, 파일 삭제 후에도 디스크 용량이 확보되지 않을 때
리눅스 서버, 파일 삭제 후에도 디스크 용량이 확보되지 않을 때가 있다. 먼저 디스크 용량을 확인한다. 디스크 용량 확인 df -h 폴더별 용량 확인 sudo du -sh * | sort -hr 파일과 폴더를 삭제해도 용량이 안늘어나는 경우 활성 프로세스나 좀비 프로세스가 파일 디스크립터를 돌고 있어서일 가능성이 높다. lsof 명령어를 이용해 문제가 되는 프로세스를 식별할 수 있다. /usr/sbin/lsof / | grep deleted 프로세스ID를 확인 후 프로세스를 죽인다. kill -9 12345
[centos] You could try using --skip-broken to work around the problem
You could try using --skip-broken to work around the problem. sudo yum update 리눅스에서 패키지를 업데이트를 해주는데 다음과 같은 에러가 발생했다. 특정 패키지가 충돌나서 모든 업데이트가 중단된 것이다. 해결방법으로는 충돌나는 패키지를 건너뛰고 설치하는 방법이다. 아래 명령어 중 사용하고 싶은 명령어를 골라 사용하면 된다. # 충돌 패키지 확인 후 건너뛰고 기존 패키지 업데이트하기 yum --skip-broken -y update # 기존 패키지 업데이트하기 yum -y install yum-skip-broken
방화벽 설정 및 중지하기 firewall
방화벽 방화벽은 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템이다. 일반적으로 신뢰할 수 있는 내부네트워크와 신뢰할 수 없는 외부 네트워크간의 장벽을 구성하는데 방화벽이 켜져있으면 방화벽 설정한 네트워크만 접근이 가능하고 방화벽이 중지되어 있으면 신뢰도 낮은 네트워크들도 접근이 가능하다. 방화벽 포트 등록하기 firewall-cmd --permanent --zone=public --add-port=8080/tcp firewall-cmd --reload 방화벽에 등록된 포트 리스트 확인하기 firewall-cmd --list-ports 방화벽 서비스 중지하기 systemctl stop firewalld 재부팅시 방화벽 실행하지 않기 systemctl disable firewalld
[linux error] FirewallD is not running
방화벽 해제를 하려고 하는데 다음과 같은 에러가 나면 아래 명령어로 방화벽을 켜주면 된다. systemctl start firewalld
[Ubuntu Error] E: Sub-process /usr/bin/dpkg returned an error code (1)
다음과 같은 에러는 의존성 문제가 발생한 경우로 사용자가 패키지 설치나 삭제를 잘못한 경우에 생긴다. sudo apt-get update -y; sudo apt-get dist-upgrade -y 위의 명령어로 해결이 안되면 아래 명령어를 사용해본다. sudo apt-get --yes autoremove --purge (오류명 입력) ## sudo apt-get --yes autoremove --purge docker-ce 그래도 안되면 아래 파일을 삭제해준다. sudo rm -rf /var/lib/dpkg/lock
[Linux] Docker로 그라파나 Grafana 설치하기
도커 설치 명령어이다. 기본 명령어로 환경설정은 하지 않고 시작했다. docker run -d -p 3000:3000 grafana/grafana-enterprise 도커를 띄우고 url 에 접속하면 로그인창이 나온다. 초기 정보는 admin/admin 이고 바로 비밀번호 변경할 수 있게 나온다. 운영체제에 따른 설치 방법과 자세한 내용은 아래 사이트를 참고하면 된다. https://grafana.com/docs/grafana/latest/installation/
ssh - ETAclient_loop: send disconnect: Connection aborted / Broken pipe
scp 명령어로 다른 서버에 파일을 옮기려고 하는데 다음 에러가 나면서 파일이 옮겨지지 않았다. 1. 내가 옮기고자 하는 파일이 대용량 파일이라서 안된다 생각해서 tar 로 파일을 압축 후 전송을 시도했다. tar 로 압축하고 전송하는데도 같은 에러가 나면서 전송되지 않았다. 2. 다른 방법으로는 scp 명령어로 옮길 때 커넥션이 끊기지 않도록 해보았다. scp -o ServerAliveInterval=15 -o ServerAliveCountMax=10 옵션의 설명은 ServerAliveInterval : 몇초마다 신호를 보낼 것인지 설정한다 (15초) ServerAliveCountMax : 신호 보내는 일을 몇번의 횟수로 할 것인지 설정한다. (10회) 나의 문제는 서버의 접속이 불안정해서 빨리 끊기다..
쉘 스크립트에서 프로세스의 PID 값만 가져오기
쉘스크립트로 프로세스를 찾아 현재 구동중인 프로세스를 멈추고자 한다. pgrep 로 kill 할 pid를 찾고 kill -9 뒤에 있는 특수기호는 숫자 1 옆에있는 backtick 이라는 부호를 사용하면 된다. ps -ef | grep java ps -ef | grep java|awk '{print $1,$2,$3,$8}' pgrep -f java kill -9 `pgrep -f java` awk : 프로세스 목록에서 pid 값만 가져오는 명령어