Linux 홈 서버 네트워크 오류 회고
·
탐구, 생각, 정리
Linux 홈 서버를 2025년 1월에 올린 이후, 간헐적으로 네트워크 연결이 끊기는 문제가 발생했다. 덕분에 서버를 올려 놓은 7개월 동안 ssh 접속을 할 때마다 `Connection timed out`이 뜰까 마음을 졸였다.결국 2025년 8월에서야 문제를 근본적으로 해결할 수 있었다. 1월 글: Linux 홈 서버 네트워크 끊김 오류 해결하기 (1)8월 글: Linux 홈 서버 네트워크 끊김 오류 해결하기 (2) 2.4GHz 대역으로 와이파이를 변경한 이후 1달이 지났지만, 더 이상 네트워크 연결이 끊어지는 증상이 발생하지 않았다! 홈 서버를 올린 이후 몇 달을 앓던 문제를 해결하니 후련하다. 이번 해결 과정 중 크게 데이면서 느낀 점이 몇 개 있어 회고를 정리해본다. 문제 해결 과정문제 해결 과..
Linux 홈 서버 네트워크 끊김 오류 해결하기 (2)
·
문제, 해결, 개선
Linux 홈 서버를 운영하던 중, 간헐적으로 네트워크 연결이 끊기는 문제가 발생했다. 해당 문제를 해결하려고 노력해보았지만 결국 원인을 찾지 못하고 LAN선을 연결하여 사용하고 있었다. (해당 글: 홈 서버 SSH 연결 오류 해결하기) 그런데 홈 서버가 구동되는 낡은 노트북의 LAN포트가 헐렁하여, 노트북을 실수로 건드릴 때마다 연결이 해제되는 상황이 발생했다. 배포 서버의 네트워크가 계속 끊어지는 상황이 너무 불편하여서 저번에 실패했던 문제 해결에 도전해보았다. 배포 환경: Ubuntu 24.04.1 LTS. WiFi 절전 모드 확인Linux에서 절전 모드가 활성화되어 연결이 끊길 수 있다. WiFi 전원 관리 상태를 확인하였다.jw@jwserver:~$ iw dev wlp1s0 get power_..
개인 프로젝트 CI/CD 간소화하기
·
문제, 해결, 개선
개인 프로젝트를 진행하면서, `github actions`와 `dockerhub`를 통해 자동배포 파이프라인을 사용하고 있다. 이전에 해커톤을 하며 배웠던 보일러플레이트 코드를 가져다가 사용하고 있는데, 불필요한 부분이 있는 것 같아 개선해보고자 한다. 기존 자동배포 흐름기존에는 `dockerhub`에 이미지를 push / pull 하는 과정이 있었다. (그림에서 빨간색 화살표 부분)그렇기 때문에 github actions의 과정에서 dockerhub에 로그인하는 부분이 별도로 필요하였다.docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD" 이전에 코드를 가져와서 사용할 때는 따로 의문을 가지지 않았으나, 이제 와서 보니 굳이 dockerhub가 없어도 될..
Linux 홈 서버 네트워크 끊김 오류 해결하기 (1)
·
문제, 해결, 개선
홈 서버에서 간헐적으로 발생하는 SSH 연결 오류를 해결한 기록이다.GPT는 포트포워딩이나 방화벽 같은 똑같은 얘기만 반복하고, 열심히 구글링을 해보았지만 해당 케이스를 찾지 못하여서 하나하나 확인해보면서 해결하기로 하였다. 환경우분투를 설치한 노트북에서 wifi를 이용하여 홈 서버를 구축한 상태이다.서버 운영체제: Ubuntu 24.04.1 LTS 문제 상황잘 되던 SSH 연결이 간헐적으로 timeout되는 현상이 발생하였다.> ssh jw@jwserver.ddns.net -p 10022ssh: connect to host jwserver.ddns.net port 10022: Connection timed out 아까 전까지는 SSH 연결이 잘 되다가도, 갑자기 연결이 안 되는 경우가 있었다.열심히..
우분투가 설치된 삼성 노트북에서 배터리 관리하기 (실패)
·
문제, 해결, 개선
홈 서버 구축을 위해서 삼성 노트북에 우분투를 설치하였다. 충전기를 항상 꽂아놓고 사용하기 때문에, 배터리 성능 감소 혹은 배터리 스웰링같은 현상을 방지하기 위해 80%정도로 충전 상태를 유지하도록 설정하고 싶었다. 구축 환경- 기종: 삼성 노트북 NT500R5K- 운영체제: Ubuntu 24.04.1 LTS 바이오스에서 수명연장 기능 활성화하기 (Fail)[삼성 PC] 배터리 수명연장(80%, 85% 충전) 기능 설정하는 방법2015년에 출시된 제품이라 바이오스 기능이 존재하지 않는다.  배터리 관리 인터페이스로 설정하기 (Fail)먼저 배터리 이름을 확인한다.$ ls /sys/class/power_supplyADP1 BAT1`BAT1`이라는 배터리가 보인다. 배터리 관리 인터페이스를 확인한다. $ ..
남는 노트북으로 홈 서버 구축하기
·
탐구, 생각, 정리
집 대청소를 하던 중 10년 전에 쓰던 노트북을 발견했다.250GB SSD에, 펜티엄 3805U를 달고 있길래 그냥 버리기는 아까워서 홈 서버를 구축해보고자 했다.AWS는 정액요금으로 사용하면 너무 비싸고, 프리 티어는 성능 제한때문에 서비스를 마음대로 올리기가 어렵기 때문에 나만의 서버를 만들어보고 싶었다. I. 우분투 설치기존에 깔려있던 윈도우 대신 우분투를 설치하기 위해, Ubuntu 24.04.1 LTS ISO 파일을 다운로드받았다.Get Ubuntu Server | Download | Ubuntu 이후 Rufus를 이용하여 부팅 USB를 만들어주었다.Rufus - 간편한 방법으로 부팅 가능한 USB 드라이브 만들기 이후 노트북 바이오스에서 부팅 USB로 부트하여 우분투를 설치하였다.[삼성 PC..
Github Secrets 하나만으로 모든 환경변수 관리하기
·
문제, 해결, 개선
Github 자동 배포를 위해 민감한 환경 변수들을 Github Secret에서 관리하고 있었다.기존에는 각 환경변수 하나마다 하나의 repository secret을 만들어서 사용하였다.  매 프로젝트마다 각 변수를 설정하고 수정하는 것이 번거롭고, 특히 이전에 적용했던 값들을 따로 기록해서 관리해야 하는 것이 불편했다.프로젝트의 모든 환경변수가 들어있는 env 파일을 직접 관리하고, 깃허브 시크릿에 바로 올려 사용하고 싶었다. 파일의 보안만 잘 신경쓴다면, 각 프로젝트별로 하나의 env파일만 사용할 수 있어 편리할 것 같았다. 특히!! 인텔리제이에서 프로젝트별로 .env 파일을 등록해서 환경변수로 사용하고 있었는데, 그 파일을 별도의 수정 없이 깃허브 시크릿에 바로 사용하고 싶었다.   Github ..
[Project - 빌릴건대] KUIT 4기 해커톤
·
Projects
교내 동아리에서 진행하는 해커톤에 참여하고 기여한 내용을 간단히 정리해보고자 한다. 동아리에서 스터디한 내용으로 프로젝트를 구현해본다는 취지의 해커톤이었고, 사전 준비기간 4일과 1박의 해커톤 본 행사로 이루어진 짧은 프로젝트를 진행하였다.PM 없이 안드로이드 3명 / 서버 3명이서 진행하였고, 팀원분들 대부분 프로젝트 경험이 많지는 않았어서 기본적인 CRUD 위주의 간단한 프로젝트를 기획하였다. KUIT-4th-Hackathon-Team2/backend GitHub - KUIT-4th-Hackathon-Team2/backendContribute to KUIT-4th-Hackathon-Team2/backend development by creating an account on GitHub.github.c..