포스트464 [Linux] Yum Delta RPM CentOS 등의 리눅스에서 패키지를 관리하기 위해 yum을 사용하는 경우가 많다. yum을 이용해서 기존에 설치되어 있는 패키지를 업데이트 할 때 서버 환경에 따라 다음 에러 메시지를 만나게 되는 경우가 있다. Error: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. 에러라고 메시지가 찍히기는 하지만 조금만 기다려보면 문제없이 패키지 업데이트가 진행된다. 실행에는 문제가 없지만 출력되는 에러가 거슬린다. 이 에러 메시지를 없애보자. Delta RPM (DRPM) 이 에러 메시지는 현재 환경에 Delta RPM(DRPM)이 설치되어 있지 않기 때문에 발생한다. DRPM은 이름에서 알 수 있듯이 RPM 패키지 버전별 변경사항들을 이용.. 2021. 12. 18. [Kafka] 카프카 버전 확인 방법 카프카 2.0 이상의 경우 버전을 확인하기 위해서 kafka-topics.sh을 이용하면 된다. (KIP-278) $ kafka-topics.sh --version 물론 kafka-topics.sh의 버전과 브로커 버전이 다를 수도 있다. 혹은 옛날 버전의 카프카라면 --version 옵션이 지원되지 않기 때문에 조금 다른 방법을 이용해야 한다. $ cd $KAFKA_HOME $ find ./libs/ -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*' 카프카가 설치된 디렉토리로 가서 libs 디렉토리를 확인해보면 kafka_2.10-0.8.2-beta.jar 같은 파일이 있다. 여기서 2.10은 스칼라 버전을 의미하고, 0.8.2-beta에 해당하는 정보가 카프.. 2021. 12. 15. [Java] Log4Shell 취약점 - log4j의 CVE-2021-44228 취약점 및 조치방법 지난 주말 전세계 개발자들에게서 주말 휴식을 빼앗아간 취약점이 화제다. 자바 개발자라면 누구나 이름을 들어봤을 log4j의 취약점인 'CVE-2021-44228'에 대한 이야기다. 줄여서 Log4Shell 취약점이라고도 부르는 log4j 취약점과 조치할 수 있는 대응 방법에 대해 알아보자. log4j란 log4j는 자바, 스칼라, 코틀린, 그루비 등으로 작성하는 프로그램에서 로그를 남기기 위해 사용하는 오픈소스 라이브러리다. 간편한 사용법과 편리한 기능, 빠른 성능으로 굉장히 광범위하게 쓰이고 있는 로깅 유틸리티다. 이번에 보고된 log4j 취약점이 심각하다는 이유가 바로 너무나도 광범위하게 사용되고 있기 때문이다. 문제가 되는 기능은 log4j 2.0-beta9 버전에 적용되었고, 약 8년 동안 방치되.. 2021. 12. 13. [Maven] 아파치 메이븐(Apache Maven) 설치하기 아파치 메이븐(Apache Maven)은 자바 언어로 개발하는 프로젝트를 관리하기 위해 사용하는 오픈소스 소프트웨어다. 메이븐을 이용하면 POM(Project Object Model) 파일을 통해 프로젝트의 의존성 관리와 구성 컴포넌트를 쉽게 관리할 수 있다. 아파치 메이븐을 설치하기 위해서는 두 가지 방법이 있다. yum 패키지 관리자를 이용한 방법과 공식 사이트를 통해 다운로드하는 방법이다. yum을 이용한 설치 CentOS 등 레드헷 계열의 리눅스에서 패키지 관리자로 사용되는 yum을 통해 메이븐을 쉽게 설치할 수 있다. 이 때, yum 명령은 sudo 권한으로 실행해야한다. $ sudo yum install maven 간단하게 설치된다. yum을 이용해 메이븐을 설치할 경우 패키지 관리자가 적당한.. 2021. 12. 7. [Linux] 리눅스 서버 재부팅, 셧다운 시간 확인하기 리눅스 서버가 재부팅되거나 셧다운된 시간을 사후에 조회하고 싶은 경우 last 명령어와 who 명령어를 이용할 수 있다. last reboot 명령 $ last reboot reboot system boot 3.10.0-431.el6.i Sun Nov 12 13:15 - 13:51 (00:36) reboot system boot 3.10.0-431.el6.i Sun Nov 12 10:17 - 11:58 (01:40) reboot system boot 3.10.0-431.el6.i Sat Nov 11 14:54 - 16:17 (01:23) last reboot 명령어는 마지막으로 시스템을 재부팅한 시간이 언제인지 최신순으로 정렬해서 출력해준다. 제일 위에 출력되는 것이 가장 최근에 재부팅한 시간이다. 비슷.. 2021. 11. 27. [Linux] 특정 포트를 사용하는 프로세스 확인 리눅스에서 데몬을 띄우다보면 "BindException : Address already in used : bind" 같은 예외를 발생시키면서 구동되지 않는 경우가 있다. 데몬이 사용하려고하는 포트를 이미 시스템에서 다른 프로세스가 사용하고 있기 때문에 바인딩을 할 수 없어 발생하는 예외다. 대부분 포트 번호를 랜덤으로 사용하는 프로세스가 먼저 포트를 선점해서 발생하는 것이 원인이므로 그 프로세스를 찾아서 재시작해주면 해결된다. 현재 로컬서버에서 열림 포트를 확인하기 위해서 netstat 명령을 사용하면 된다. $ sudo netstat -tnlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Addr.. 2021. 11. 20. [Mac] 맥 OS에서 화면 분할 단축키 사용하는 방법 - Spectacle 윈도우를 사용하다보면 윈도우키와 방향키 조합으로 두 개의 창을 하나의 화면에 띄워서 보는 기능을 많이 사용하게 된다. 요즘 모니터들은 27인치를 넘어 32, 34 인치까지 늘어나고 있고, 특히 34인치는 WQHD 해상도로 사용하는 경우가 많기 때문에 하나의 화면에서 두 개의 창을 띄워놓고 작업하는 경우가 빈번하다. 물론 Mac OS 자체에서도 이런 멀티 윈도우를 지원하기 위해 'Split View'라는 것을 지원한다. Mac OS 윈도우의 녹색 버튼에 마우스 커서를 가져가면 Split View 메뉴가 나오고, 두 개의 화면을 좌우에 배치하거나 전체 화면으로 사용할 수 있다. 하지만 코딩을 하다가 Split View가 필요한 상황이 왔을 때, 마우스로 손을 움직이는 것은 매우 큰 정신적 에너지를 필요로한다.. 2021. 11. 18. [Maven] 메이븐 오프라인 모드 메이븐에는 '오프라인 모드(Offline mode)'라는 것이 있다. 금융망 같이 보안이 철저해야하는 곳은 오픈되어 있는 인터넷을 사용할 수 없는 경우가 많다. 프로젝트를 진행하면서 필요한 라이브러리를 빌드하는 그때그때 인터넷을 통해 다운로드하는게 제일 편하지만 인터넷을 사용할 수 없는 환경에서는 불가능하다. 이럴 때를 위해서 메이븐은 오프라인 모드라는 것을 제공한다. 필요한 라이브러리들을 미리 로컬에 다운로드해뒀다가 빌드할 때 오프라인 모드를 켜면 인터넷이 아닌 로컬에 있는 저장소에서 라이브러리들을 찾아쓰게 된다. 메이븐 오프라인 모드 준비 메이븐의 오프라인 모드를 사용하기 전에 필요한 라이브러리들을 미리 다운로드해야한다. $ mvn dependency:go-offline 메이븐의 'go-offline.. 2021. 11. 16. [Linux] curl 명령어 사용법 및 옵션 정리 - http/https 관련 curl은 커맨드 라인용 데이터 전송 도구다. HTTP, HTTPS, FTP, LDAP, SCP, TELNET, SMTP, POP3 등 주요 프로토콜을 지원하고 유닉스와 리눅스, 윈도우 등 주요 운영체제에서 기본 설치되어 사용되고 있다. REST API를 제공하는 서비스와 연계되는 클라이언트를 개발할 때 서버의 동작을 터미널에서 확인해볼 수 있다. cURL 주요 옵션 (http/https 관련) curl 명령의 사용법은 다음과 같다. $ curl [options...] 특정 URL을 대상으로 동작하며 URL 앞에는 curl의 옵션을 사용하면 된다. curl 명령의 옵션은 GNU getopt를 사용하고 있다. curl 명령의 옵션은 하이픈 하나로 시작하는 short 형식과 하이픈 두개로 시작하는 long .. 2021. 11. 15. 이전 1 ··· 25 26 27 28 29 30 31 ··· 52 다음