Linux (6) 썸네일형 리스트형 [linux] shutdown 명령어시 나오는 ignoring: Interactive authentication required. 에러 해결법 얼마전 서버를 종료하려고 원격으로 shutdown 명령어를 날렸다. 그런데 아래와 같은 에러 메시지와 함께 명령어가 동작하지 않았다. $ shutdown Failed to set wall message, ignoring: Interactive authentication required. Failed to call ScheduleShutdown in logind, no action will be taken: Interactive authentication required. 도대체 뭔일인가 싶어서 구글 검색을 해보니 shutdown 명령어는 sudo 권한이 있어야 실행할 수 있다. 그래서 아래와 같이 sudo 와 함께 shuwdown 명령어를 주니 잘 동작했다. $sudo shutdown curl에서 PUT 명령어시 Content-Type header [application/x-www-form-urlencoded] is not supported 에러 해결 리눅스에서 curl 명령어를 통해 PUT 요청을 날리는데 아래와 같이 에러메시지가 떴다. $ curl -u 유저명:'패스워드' -XPUT "IP주소" -d ' { "data" : { "key" : "value" } }' {"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406} 406 에러가 떴는데, Content-type 헤더가 명시되지 않아서 생긴 문제이다. 아래와 같이 헤더 타입을 명시해주니 정상동작하였다. -H 'Content-Type: application/json' $ curl -u 유저명:'패스워드' -H 'Content-Type: application/json' -XPUT ".. [linux] apt와 apt-get의 차이 리눅스를 쓰다보면 어떤 가이드에서는 apt install 명령어를 쓰라고 하고, 어떤 가이드에서는 apt-get install 을 쓰라고 한다. 매번 아무 생각없이 커맨드를 쓰다가 문득 둘의 차이가 궁금해졌는데, 해당 커맨드의 차이에 대해서는 나도 개발자다 블로그에 대해서 명쾌하게 설명이 되어있다. 정리하자면 일단 둘의 동작상의 차이는 없다. 차이가 있다면 기존 복잡한 옵션을 가진 apt-get에서 자주 사용하는 옵션을 뽑아내고 사용자 친화적인 인터페이스를 제공하는 하도록 만든 것이 apt다. 즉 기능상의 문제는 없고, 사용성을 좀 더 고려한 것이 apt다. 보통 패키지 설치할때는 크게 상관없이 쓰면 될 듯한데, 디테일한 설정을 해야할떄는 apt-get을 사용하면 될 것이다. [linux] 자식 프로세스 관계 트리 형태로 확인하는 명령어 pstree pstree pstree는 프로세스의 상관 관계를 트리 형태로 출력해추는 명령어다. 부모 자식 프로세스의 관계를 트리 형태로 출력해주므로 계층 관계를 한 눈에 파악할 수 있다. pstree 사용법 Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ] [ -A | -G | -U ] [ PID | USER ] pstree -V Display a tree of processes. -a, --arguments show command line arguments -A, --ascii use ASCII line drawing characters -c, --compact don't compact identical subtrees -h, --highlight-all.. [bash] shell 스크립트에서 set +e와 set -e 명령어 기능 set -e 쉘 스크립트 명령어 중 하나의 명령어가 실패하면 다음 명령어를 수행하지 않고 스크립트를 종료한다. 예를들면 아래와 같다. 1 2 3 4 5 #!/bin/bash set -e rm -rf target mkdir target cs 위 코드에서 만약 rm -rf가 실패하면 mkdir를 수행하지 않는다. 주의할 점은 명령어 수행후 리턴코드가 0인지 아닌지를 검사하기 때문에, 반환 값이 없는 명령어 수행의 경우 오류로 판단하기도 한다. set +e 에러가 발생해도 다음명령어를 계속 수행한다. 1 2 3 4 5 #!/bin/bash set +e rm -rf target mkdir target cs rm -rf 가 실패해도 mkdir를 수행한다. 이전 1 2 다음