분류 전체보기 470

java 11 설치 on Rocky Linux 8.6

CentOS 지원이 종료되는 문제로 Rocky Linux 로 많이 이동 중이다. Rocky Linux 에 기본으로 설치된 java 8 을 11 로 변경하기 위해 했었던 과정을 남겨 본다. 1. java 11 (Open JDK 11) 을 설치 - dnf 로는 java 11 openJDK 가 안 보인다. yum 으로 설치한다. # yum install java-11-openjdk java-11-openjdk-devel 2. 기존 java 8 에서 java 11 로 변경(update-alternatives) - update-alternatives 명령어로 사용하는 java 버전 변경. 이전 글 참고. # update-alternatives --config javac # update-alternatives --..

Engineering/Java 2023.05.10

yum install Could not retrieve mirrorlist error was14: HTTPS Error 404 - Not Found

CentOS 7 에서 필요한 패키지를 yum 으로 잘 설치를 했었는데, 어느날 아래와 같은 에러가 발생했다. # yum install expect Loaded plugins: fastestmirror base | 3.6 kB 00:00:00 dell-omsa-indep | 1.9 kB 00:00:00 dell-omsa-specific | 1.9 kB 00:00:00 Could not retrieve mirrorlist http://linux.dell.com/repo/hardware/DSU_15.10.00/mirrors.cgi?osname=el7&basearch=x86_64&native=1 error was 14: HTTPS Error 404 - Not Found http://linux.dell.com/r..

Engineering/Linux 2023.05.10

IP / Port 연결 테스트

서비스 중인 port 연결 확인을 위해 보통 telnet 을 많이 사용한다. 웹이라면 curl 이나 wget 을 사용할 것이다. 그런데, telnet 이 설치가 안되어 있는 환경(컨테이너 또는 보안상 telnet 설치를 못하는) 에서 연결 테스트하기가 난감하다. 그럴때, 리눅스에 기본적으로 설치되는 외부 명령어인 echo 를 이용하면 연결 테스트를 할 수 있다. # echo > /dev/tcp/www.naver.com/80 # -> 실행 즉시 바로 프롬프트가 나오면 정상 연결 # echo > /dev/tcp/www.naver.com/80 -bash: connect: Connection timed out -bash: /dev/tcp/www.naver.com/8081: Connection timed out ..

Engineering/Linux 2023.05.03

윈도우 배치 멈춤 현상

윈도우 cmd 에서 bat 파일을 이용해서 동작하는 프로그램이 어느 순간부터 동작안하는 듯한 현상이 나왔다. 따로 지정한 로그 파일에 로그도 더이상 안쌓이고, 표준 출력으로도 로그가 출력이 안된다. 원인을 알아보니, cmd 창 - 속성 - 옵션 - 편집 옵션 - 빠른 편집 모드(Q) 가 선택되어 있다. 이 옵션은 cmd 창에서 마우스 동작(클릭, 드래그)로도 배치 동작을 멈추게 한다. 테스트를 위해 간단히 10초마다 "Hello, World" 를 출력하는 배치 파일을 작성해서 cmd 창에서 실행해보자. @echo off :Here echo Hello, World timeout /t 10 goto Here a.bat 를 실행하고, 10초 안에 마우스를 cmd 창안에서 클릭해보면 그때 부터 멈춰있다. 스페이..

Engineering/Etc 2023.04.17

도커 데스크탑 디렉토리 이동

Docker Desktop 을 보통 설치하면 C 드라이브에 설치를 할 것이다. 요새는 C 드라이브는 SSD, D 드라이브는 용량 많은 HDD 로 구성할 거 같다. SSD 인 C 드라이브가 여유 공간이 많으면 아무 문제가 없겠지만 도커 데스크탑 설치후 이미지를 여러번 배포를 진행하다보니 디스크가 공간이 없다는 메시지를 보게 된다. 새로 설치를 할 수 있겠지만 도커 데스크탑이 관리하는 디렉토리를 D:\ 로 이동할 수 있는 방법이 있는지 찾아보았다. wsl 명령어로 데이터 디렉토리를 export / import 하는 방법도 있는데, 실패했다는 얘기가 있다. 다른 방법으로 심볼링 링크를 이용하는 방법이다. 문제가 되는 도커 데스크탑 디렉토리의 위치는 다음과 같다. C:\Users\사용자\AppData\Local..

Engineering/Docker 2023.03.24

docker logs 파일로 저장

docker logs 명령어로 로그를 확인하려면 너무 많아서 지나가고 마는데, 리다이렉트(>) 도 안되고 파이프(|) 로 more 나 less 도 안된다. 분명 표준 출력인거 같은데, 리다이렉트도 안되니 다른 원인이 있을거 같지만 나중에 찾기로 하고 일단 파일로 저장하는 방법을 정리하면 # docker logs backend > log1 2>&1 : stderr(2) 를 stdout(1) 와 함께 log1 에 redirect # docker logs backend >& log2 : stdout(1) , stderr(2) 를 log2 에 redirect docker 문서를 확인해보니 아래 명령어로 실제 로그 파일이 저장되는 위치를 확인할 수 있다. docker inspect --format='{{.LogP..

Engineering/Docker 2022.11.30

[kafka] NotLeaderOrFollowerException 에러 확인

kafka 를 통해 메시지를 전달하는데, 어느 순간 부터 Topic and partion to exceptions: topic-name-0 -> org.apache.kafka.common.errors.NotLeaderOrFollowerException (kafka.server.KafkaApis) 에러가 발생하고 있다. 토픽 정보를 확인할 수 있는 명령어 kafka-topics.sh 로 토픽 정보를 확인해보니깐 2번 브로커가 0 번 파티션의 리더를 맡고 있다. hostname@kafka-client:/$ kafka-topics.sh --describe --bootstrap-server kafka-0.kafka-headless.default.svc.cluster.local:9092,kafka-1.kafka-..

Engineering/Network 2022.07.13

Python JWT 토큰 생성 및 검증

PyJWT 패키지 이용해서 JWT 토큰을 생성하고 검증및 파싱하는 예제.pip install pyjwtpip install cryptography # RSA, ESCDA 를 위해 필요 서명 알고리즘은 ES256 을 사용.import jwt#private_key = open('es256-private-key.txt').read()private_key = """-----BEGIN PRIVATE KEY-----MEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCDiQhSHFsb3puIYG4lfJsCRgb1RlA0t2U41X+ph0YvAUw==-----END PRIVATE KEY-----"""print(private_key)# token = jwt.encode({"so..

Engineering/Python 2021.05.06