Hong의 모든 글

tcpdump로 UDP 데이터가 어느 호스트에서 오는지 확인하는 법

제목 그대로입니다.

UDP는 TCP와 달리 커넥션(connection)을 맞는 방식이 아니기 때문에 바로 지금 데이터를 보내는 호스트들이 어떤 것인지 확인하기가 힘듭니다.

역시 tcpdump로 확인할 수 있습니다. 예를 들면 8125포트로 UDP데이터를 보내고 있는 호스트를 알아내려면 다음과 같은 코맨드를 실행하고 잠시 지켜보면 됩니다.

참고로 8125는 statsd가 데이터를 수신하는 포트이고 statsd는 시스템이나 애플리케이션의 상태를 모니터링하기 위해서 시그널 데이터를 받는 조그만 시스템입니다.

sudo tcpdump -i eth0 udp port 8125 -vv -X

Failure –
java.io.IOException: Downloaded file /var/lib/jenkins/plugins/workflow-support.jpi.tmp does not match expected SHA-1

젠킨스 플러그인 업데이트 도중에 다음과 같이 에러가 발생할 때 해결하는 방법이다.

Failure -
java.io.IOException: Downloaded file /var/lib/jenkins/plugins/workflow-support.jpi.tmp does not match expected SHA-1

플러그인 업데이트 주소를 아래와 같이 지정해준다.

https://updates.jenkins.io/update-center.json

The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY xxxxxxxxxxxxxxxx

우분투에서 apt로 레파지토리를 등록하고 설치를 할 때 이런 에러가 발생할 때가 있다.

특히 Jenkins

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY FCEF32E745F2C3D5

키 등록을 못한 것이라서 아래의 명령으로 된다. 아래의 키는 예시이므로 키는 자신의 것의로 바꾼다.

sudo apt-key adv --keyserver-options http-proxy=http://proxy.cns.widerlab.io:8080 --keyserver keyserver.ubuntu.com --recv-keys FCEF32E745F2C3D5

만약 서버가 외부 네트워크로 나갈 때 proxy를 사용해야만 한다면 위의 명령으로는 키가 등록되지 않는다. 다음과 같이 proxy를 지정해준다.

sudo apt-key adv --keyserver-options http-proxy=http://proxy.cns.yourproxy.com:8080 --keyserver keyserver.ubuntu.com --recv-keys FCEF32E745F2C3D5

이제 설치하려던 패키지를 설치하면 된다.

파이썬 한글 자모 분리 패키지

한글 자모분리를 하는 것은 오타처리, 스팸 감지, 욕설, 성적 표현을 주는 키워드 감지 같은 것을 하기 위해서 사용합니다. 몇 번 해보면 재밌지만 자모분리는 정작 뭐 좀 해보려고 하면 쓸데가 별로 없습니다.

Python에서 사용할 수 있는 한글자모분리 패키지 또는 코드 모음입니다.

파이썬 한글 자모분리 패키지 목록

– 한글툴킷: https://github.com/bluedisk/hangul-toolkit

– 한글유틸: https://github.com/kaniblu/hangul-utils

– 한글파이: https://github.com/rhobot/Hangulpy

– 파이썬 자모: https://github.com/JDongian/python-jamo

– 한글 자음/모음 분해 (코드): https://frhyme.github.io/python/python_korean_englished/

– 한글 유니코드 자모분리: https://nunucompany.tistory.com/28

대부분 주요 기능들은 모두 제공하고 있고 사용법도 쉽고 작동도 잘 됩니다.

원하는 것을 선택해서 쓰면 됩니다.

우분투에 Mecab 형태소분석기 설치 – Install Mecab in Ubuntu

우분투에 Mecab(은전한닢) 형태소 분석기를 설치하는 방법입니다.

Mecab 메카브 간략 설명

Mecab를 간단히 설명하면

  • Mecab은 C++로 만든 일본어 형태소분석기입니다.
  • Mecab-ko는 Mecab를 고쳐서 만든 한국어형태소분기이며 “은전한닢”라고 부릅니다.

예전 포스트가 있니 참고하세요.

MeCab 형태소 분석기, 형태소분석기란 무엇인가? 워드세그멘터와 형태소분석기

설치방법

Mecab-Ko는 Mecab 코어 모듈과 Mecab-ko-dic을 먼저 설치해야 하는데 번거롭습니다.

konlpy에 있는 간략 스크립트를 쓰면 쉽게 설치가능합니다.

sudo apt-get install curl git
$ bash <(curl -s https://raw.githubusercontent.com/konlpy/konlpy/master/scripts/mecab.sh)

Mecab만으로는 형태소분석을 테스트하거나 활용하기 어려우니 Python 모듈도 설치해줍니다.

# python3.10은 아직 문제가 있으니 안전하게 조금 오래된 버전으로 간다.
# python3.10 -m pip install mecab-python3
python3.8 -m pip install mecab-python3

파이썬을 실행해서 테스트 해봅니다.

mecab = Mecab()
' '.join(mecab.morphs("무궁화꽃이피었습니다."))
# '무궁화 꽃 이 피 었 습니다 .'