IT 297

Ubuntu에서 Claude Code CLI OAuth 401/400 인증 오류 해결 방법

잘 되던 Claude Code CLI가 갑자기 Please run /login, 401 Unauthorized, OAuth error 400을 띄운다면, 재설치부터 하지 마시고 /login 재인증 → .claude 백업 → 필요 시 재설치 순서로 복구해보시기 바랍니다.특히 Ubuntu에서는 설치 경로에 따라 명령어가 달라지므로, which claude로 설치 위치를 먼저 확인하시면 훨씬 덜 헷갈립니다.Claude Code CLI에서 아래 오류가 나오면, 대부분 인증 토큰이 만료되었거나 로컬 인증 정보가 충돌한 상태입니다. Please run /login · API Error: 401 {"type":"error","error":{"type":"authentication_error","message":"OA..

IT/AI 2026.03.24

Git 특정 폴더 이력 제거하기 (Ubuntu 20.04, Git 2.25.1 기준): docs/ 폴더를 모든 커밋에서 완전히 삭제 (filter-repo / filter-branch)

Ubuntu 20.04(Git 2.25.1) 환경에서 git filter-repo가 인식되지 않을 때, Git 업그레이드(ppa:git-core/ppa)와 git-filter-repo 설치(pip), 그리고 docs 폴더를 모든 커밋 히스토리에서 제거하는 방법(filter-repo / filter-branch)을 단계별로 정리했습니다.Ubuntu 20.04 Desktop에서 git filter-repo를 쓰려고 했더니 git: 'filter-repo' is not a git command가 뜨고, Git 버전은 2.25.1.이 조합, 생각보다 흔합니다. 그리고 해결 순서가 정해져 있어요.이 글은 Ubuntu 20.04 + Git 2.25.1이라는 제약을 전제로, docs/ 같은 특정 폴더를 전체 히스토리..

IT/etc 2026.02.06

Edge에서 URL 붙여넣기했는데 주소 대신 페이지 제목이 나올 때

Edge 브라우저에서 URL을 복사해 붙여넣었을 때주소(https://...) 대신 웹페이지 제목이 나오는 문제가 있었습니다.관련 글은 이미 많았지만, 작성 시점이 달라 현재 Edge UI에서는 설정 위치를 찾기 어려워 정리해 둡니다. (2025-12-30 기준, UI가 달라도 설정을 찾는 방법 정리) Q. Edge에서 URL을 붙여넣었는데 왜 주소 대신 페이지 제목이 나오나요?Edge에는 URL을 복사하거나 붙여넣을 때의 형식을 지정하는 설정이 있습니다.이 설정이 “링크(페이지 제목)” 로 되어 있으면,URL 대신 웹페이지 제목과 링크 형태로 붙여넣어집니다.Q. 예전에는 이런 문제가 없었는데 왜 갑자기 바뀐 건가요?Edge 업데이트 과정에서URL 복사 및 붙여넣기 관련 기본 설정이 변경되었을 가능성이 ..

IT/web 2026.01.02

Windows 11 + Ubuntu 환경에서 Barrier 연동하기(GDM 로그인 화면까지 포함한 자동 실행 구성)

문제 해결환경 요약 (필수 조건)Ubuntu 20.04 LTSX11 사용 (Wayland 비활성화 필수)GDM 사용Barrier 서버/클라이언트 버전 완전 일치Ubuntu 측 Barrier는 소스 빌드 사용Wayland 비활성화sudo nano /etc/gdm3/custom.conf[daemon]WaylandEnable=falsesudo rebootBarrier 버전 불일치 문제 해결Barrier는 서버와 클라이언트의 빌드 버전이 다르면 TLS 및 프로토콜 문제로 정상 동작하지 않습니다.Windows: 공식 릴리즈 사용Ubuntu: apt 패키지 사용 금지Ubuntu에서 Barrier 소스 빌드기존 패키지 제거sudo apt remove barriersudo apt autoremovewhich barri..

IT/System Digging 2025.12.29

Ubuntu 20.04 & 24.04 네트워크 설정 완전 정복 - 인터페이스 확인부터 고정 IP · DHCP 변경까지 (Full Guide)

Ubuntu 20.04와 24.04에서 네트워크 인터페이스 확인부터 고정 IP, DHCP 설정까지 한 번에 정리한 실전 가이드입니다.Netplan 문법 변화와 버전별 차이를 비교해, 각 환경에서 안전하게 설정하는 방법을 제공합니다. Ubuntu에서 네트워크 설정은 버전이 올라갈수록“대충 써도 되던 것”들이 하나씩 사라지고 있습니다.특히 Ubuntu 24.04 LTS에서는Netplan 1.0 도입gateway4 구문의 사실상 퇴장문법 오류에 대한 훨씬 엄격한 검사같은 변화가 생겼습니다.이 글은 Ubuntu 20.04와 24.04를 나란히 비교하면서,각 버전에서 어떤 설정을 써야 안전한지를 한 번에 정리한 실전 가이드입니다.이 글에서 다루는 내용네트워크 인터페이스 이름 확인Ubuntu 20.04 Netpla..

IT/System Digging 2025.12.17

Shell 문자열 처리: 특정 패턴 이전을 삭제하고 이후만 출력하는 7가지 실전 방법 정리

Shell에서 특정 패턴 이전 문자열을 삭제하고 이후 텍스트만 출력하는 방법을 정리했습니다.sed, awk, perl, Bash 파라미터 확장 등 다양한 명령어를 사용해, 초보자도 그대로 복사해서 실행해 볼 수 있는 예제로 자세히 설명드립니다. 로그나 빌드 출력, 각종 스크립트 결과를 다루다 보면 다음과 같이 여러 내용 중에 특정 키워드(아래에서는 zzz.txt) 까지는 필요없고 그 이후 내용(아래에서는 변하는 내용)만 필요한 상황이 있습니다. abc cde ka zzz.txt 변하는 내용 여기서 목표는 다음과 같습니다.zzz.txt까지의 모든 내용을 삭제하고, 그 이후 문자열인 변하는 내용만 출력하기이 글에서는 이 목표를 달성하기 위해 다음과 같은 7가지 전략을 정리합니다.sed 문자열 제거perl 정..

IT/bash 2025.12.02

리눅스 서비스 포트 충돌 삽질기: net.ipv4.ip_local_reserved_ports 완벽 가이드 - Cannot assign requested address

안녕하세요! 개발을 하다 보면 정말 예상치 못한 곳에서 뒤통수를 맞는 경우가 종종 있습니다. 오늘은 리눅스 서버에서 발생하는 고질적인 포트 충돌 문제를 해결하려다 겪었던 생생한 삽질 경험과 그 과정에서 얻은 깨달음을 공유하고자 합니다.문제의 시작: 유령처럼 나타나는 포트 충돌저희가 운영하는 리눅스 장비에는 두 가지 중요한 서비스가 백그라운드에서 실행되고 있습니다.고정 포트를 사용하는 핵심 애플리케이션 (my-app-service)외부 서버와 연결을 유지하는 reverse-ssh-service평소에는 잘 동작하다가, 시스템을 재부팅하거나 reverse-ssh-service가 재시작될 때 아주 가끔 my-app-service가 포트를 점유하지 못하고 실패하는 문제가 발생했습니다. 원인은 명확했습니다. rev..

IT/server 2025.10.20

[python3] 동기 코드에서 “비동기 작업자”를 별도 프로세스로 돌리기 — subprocess vs multiprocessing 선택 가이드

동기 방식 메인 코드에서 파일 업로드를 하는 비동기 모듈을 만들어서 쓰려고 할 때 고민한 내용을 정리한 글입니다. 의도(현 구현 방향)목표: 동기 코드(메인 앱)에서 비동기 작업자(업로더 등)를 완전 별도 프로세스로 실행하고, 빠른 취소/종료, 환경변수 주입, 로그 분리, 장애 격리를 쉽게 달성한다.우선순위: 운영 단순성(격리·배포·재시작) > 세밀한 IPC > 최적화 미세튜닝.가정: 작업자는 자체 이벤트 루프/네트워크 스택을 갖고, 성공/실패를 자체적으로 처리/보고할 수 있다.언제 subprocess가 맞는가?다음 조건을 2개 이상 만족하면 **subprocess.Popen**이 보통 더 깔끔합니다.작업자가 독립 실행 스크립트 형태다.환경변수/CLI 인자만으로 설정 전달이 충분하다.실패해도 부모 프로세..

IT/python 2025.10.16

scp 실행 시 setlocale: LC_ALL: cannot change locale (ko_KR.UTF-8) 경고 해결 가이드

본 경고는 서버에 ko_KR.UTF-8 로케일(locale)이 없는데 SSH가 클라이언트의 로케일 환경변수(LANG, LC_*)를 전달하여 발생합니다.해결 방법은 ① 서버에 로케일을 생성(권장) ② 클라이언트에서 로케일 전달을 차단 ③ 서버에서 로케일 수락을 비활성화 중 하나를 선택하시면 충분합니다.원인SSH SendEnv/AcceptEnv로 클라이언트 로케일이 서버로 전달됩니다.서버에 ko_KR.UTF-8이 없으면 setlocale()이 실패하여 경고가 출력됩니다.해결 방법1) 서버에 로케일 생성(권장)Debian/Ubuntu echo "ko_KR.UTF-8 UTF-8" | sudo tee -a /etc/locale.gensudo locale-gensudo update-locale LANG=ko_KR...

IT 2025.09.29