전체 글
Root Filesystem 손상과 복구
서론 몇 주전, 집에 있는 서버의 전원이 내려갔다. UPS의 전원 공급 선이 접촉 불량으로 전력 공급이 원활하지 못했기 때문이다. 물론 문제를 해결하고 전원을 다시 공급했지만, 개발 서버만 자동 복구에 실패했다. 처음에는 전원을 공급하지 못한 기간이 길었음을 의심했다. (약 1주일) 이는 보드에 내장되어 있던 CR2032 배터리가 방전되어 보드 내부에 있는 롬 플래시에 전원을 공급하지 못했을 수도 있기 때문이였다. 롬 플래시는 휘발성이므로 배터리를 탈착하는 행위를 통해 전원 공급을 해주지 못하면 데이터가 휘발되어 부트 프로파일이 날아가게 된다. 하지만, 실제로 들어가서 확인해보니 이야기가 달라졌다. 개발서버에 모니터를 연결하니 Emergency Shell이 나를 반겨주었다. dmesg 명령을 통해 원인을..
EMFILE: too many open files
발단 Next.js 기반 프로젝트를 Podman으로 빌드하다가 다음 오류가 발생하였다. 해결 방법 docker-compose.yml 파일에 존재하는 Service 트리에 다음 코드를 붙여넣는다. 부족하다면, 값을 더 올리면 된다. ulimits: nofile: soft: "65536" hard: "65536" build 명령으로 빌드하는 경우, --ulimit nofile=65536:65536 를 추가한다. 이는 run 명령에도 적용 할 수 있다. 원인 커널단에서 동작하는 ulimit은 프로세스의 자원 한도를 제한한다. 해결 방법에 적혀있듯이 soft와 hard 한도가 둘 다 적혀있는데, 이는 다음과 같다. Soft Limit: 새로운 프로그램을 생성하면 기본으로 적용되는 한도. Hard Limit: S..
소니캐스트 이어폰 벨런스 맞추기
최근에 이어폰을 다시 쓰게 되었는데 음악을 재생하자 한쪽 소리가 잘 안 나온다. 문제가 되었던 유닛은 왼쪽이었는데 오른쪽에 비해 소리가 현저히 작게 나왔다. 참고로 나는 지금 디렘 e3 이어폰을 사용 중이다. 단선이라면 소리가 아예 안 들려야 할 것인데 아예 안들리는 것도 아닌, 벨런스가 너무 이상하게 틀어져 있는 상태였다. 분명 마지막까지 소리 잘 나오는 걸 확인하고 걸어뒀는데 말이다. 결론부터 말하자면, 유닛 하우징에 있는 내부 압력을 조절하면 균형이 잡힌다. 보통 특정 유닛 하우징의 압력이 너무 높아 소리가 작게 나오는데, 이 경우는 해당 유닛 하우징 내부 압력을 낮춰야 한다. 내부 압력을 낮추는 방법은 여러 가지가 있다. 주사기 따위로 댐퍼 부분에 넣고 뽑아내거나, 댐퍼 부분을 입에 대고 빠는 행..
AssertionError: Torch not compiled with CUDA enabled
본 글은 솔루션을 검색 후 찾아 분석한 글이며, 솔루션 출처는 다음과 같습니다. 솔루션 출처: https://github.com/pytorch/pytorch/issues/30664#issuecomment-757431613 발단 모델을 사용하기 위해 pytorch를 설치하고 실행하는 도중 발생하였다. 해결 방법 다음과 같은 명령어를 입력한다. pip uninstall torch pip cache purge pip install torch -f https://download.pytorch.org/whl/torch_stable.html 원인 먼저 pip의 -f argument가 무엇인지 확인해보자. 다음은 pip 공식 설명이다. 여기서 주목 해야하는 점은 경로를 제공해주면 "해당 위치에서" 아카이브를 따온다는..
swc: failed to process input file
발단 기존 tsc를 사용하다 swc로 마이그레이션 하는 작업에서 에러가 발생하였다. failed to process input file Caused by: 0: failed to read swcrc file (src/talk/channel/talk-channel-session.ts) 1: failed to deserialize .swcrc (json) file: unmatched data: 0:0 2: data did not match any variant of untagged enum FileMatcher 당시 .swcrc는 다음과 같은 상태였다. 해결 방법 2번째 줄을 다음과 같이 변경한다. exclude: ["node_modules", "dist"], 원인 다시 앞으로 돌아와서, 이 문제는 tsco..
vscode에서 GPG 커밋 사이닝시 error: gpg failed to sign the data 오류 해결 방법
발단 vscode에 GPG를 사용한 커밋 사이닝 시에 다음과 같은 오류가 발생하였다. error: gpg failed to sign the data Git Log를 자세히 살펴보니 다음과 같았다. error: gpg failed to sign the data fatal: failed to write commit object 심지어, pinentry 설치와 GPG 경로 설정도 정상적으로 되어 있는 상태임을 확인하였다. 하지만 이 문제는 GPG Key에 Passphrase가 걸려있어 발생하는 문제였다. 해결 방법 1. 임시로 GPG 키를 한번 사용하여 해결 먼저, settings.json에서 다음과 같은 구문을 삽입한다. "git.enableCommitSigning": true 본 구문을 삽입후 vscode..