본문 바로가기

전체 글6

Hyper-V 고급 세션 환경에서 Ubuntu사용 시 xRDP로그인이 안되는 문제 해결 방법 개요 최근에 리눅스 환경에서 빌드를 할 일이 생겨 Hyper-V에 Ubuntu를 설치하였고. 초기 설정 후 고급 세션 환경에서 로그인이 진행이 안 되는 이슈가 발생하였다. 이슈 Hyper-V에서는 Quick installation을 통해 최적화된 우분투 이미지를 받아 가상 환경을 구축할 수 있는데. 이때 Hyper-V는 고급 세션 환경에서 리눅스의 xRDP를 통해 원격 접속을 진행한다. xRDP 화면에서 로그인을 진행하면 그놈 세션으로 안 넘어가고 가만히 멈춰있는 현상이 발생하며. 수분 후 connection problem, giving up 메시지와 함께 커넥션 로그 다이얼로그가 표시된다. 원인 이러한 증상은 Ubuntu 18.04.2 버전 이후부터 발생되는 것으로 확인되며 Hyper-V에서 설치된 U..
STM32MP157C-DK2 | Yocto 를 활용한 리눅스 이미지 빌드 개요 이전 글에서 Buildroot를 사용하여 STM32MP157C-DK를 컴파일하는 방법에 대해서 알아봤다. Buildroot는 ST의 공식 지원 빌드 시스템이 아니기도 하고. 대부분 커뮤니티 지원을 통해 프로젝트가 운영되고 있다. 그래서 WiFi 를 활성화하거나. 보드에서 지원하는 기능을 활성화시킬 때 여러 부가 작업이 요구된다. 예를 들어 아래 글을 보면 WiFi 를 활성하기 위해서는 ST의 Kernel을 사용하고 defconfig와 파일 시스템의 수정이 요구된다. 불가능한 건 아니지만 귀찮은 작업이기는 하다. (https://lists.buildroot.org/pipermail/buildroot/2020-November/598141.html) ST에서 공식적으로 지원하고 있는 빌드 시스템인 Yoc..
STM32MP157C-DK2 | Buildroot 를 활용한 리눅스 이미지 빌드 개요 최근 지인의 요청으로 STM32MP157C-DK2 보드의 리눅스 이미지를 빌드하는 방법에 대해서 기술해보고자 한다. ST에서는 해당 보드의 이미지를 빌드하기 위해 Yocto 기반의 개발 환경을 제공해주고 있지만 이 글에서는 가벼운 환경에서 최소 기능으로 작동이 되는 이미지를 빠르게 빌드하기 위해 Buildroot 환경을 사용하도록 하겠다. (Buildroot에서 기본적으로 제공하는 세팅으로는 보드 지원에 한계가 있음. 설정을 바꾸는 방법으로 어느 정도 해결이 가능하나. 배보다 배꼽이 더 클 수 있음. 다음 글에서는 Yocto로 빌드하는 법을 기술할 예정) Buildroot에 대해서 간단하게 설명하면. 임베디드 리눅스 이미지를 빌드하기 위한 도구이다. Buildroot에서 해당 타깃 보드에 대한 부트..
EP3. 개인화 TTS 적용 개요 개인 서버에는 유틸리티 성격의 Spring Boot 애플리케이션이 돌아가는데 이 앱에서 제공하는 기능 중 하나가 TTS이다. 여러 Provider의 TTS 서비스를 이용할 수 있도록 설계되어있으며 이를 사용하는 곳의 특성상 어느 정도 캐시 기능도 포함하고 있다. 최근에 발생한 이슈는 할당량에 대한 고민이었는데. 최근 지인이 본인의 TTS를 만들어보고 싶다고 이야기를 하였고. 내가 했던 답변은 "최근 머신러닝 기술이 많이 발전했고. 개인화 TTS 구현하는 방법에 대해 잘 기술한 자료들이 많을 것"이라고 대답을 했었다. 개인화 TTS 작업 그리고 구글링을 조금 해보니 어느 사람이 초보자도 개인화 TTS를 만들 수 있을 정도로 이해하기 쉽게 잘 정리된 문서가 있었고. 지인은 이를 이용해서 모델을 학습한 ..
EP2. Spring Boot 환경에 New Relic APM 도입 개요 내 개인 서버에는 유틸리티 기능을 제공하는 API 서버가 존재한다. 해당 서버는 Spring Boot로 구현되어있으며 최근에 배포 자동화 작업을 마무리하고 계속 필요한 기능들을 추가하고 있다. 해당 서버에 점점 기능이 많이 추가되면서 그에 따라 버그들도 생기기 시작했는데 프로그램에서 출력되는 로그로만 분석하는 것에는 슬슬 한계를 느껴 APM을 도입을 결정하게 되었다. APM 선정 진행 NAS의 성능 한계로 Pinpoint와 같은 Self-Hosted 방식은 부득이하게 사용하지 못하고 SaaS 형태의 APM을 선택하기로 하였다. APM 솔루션 선정 기준은 다음과 같다. 많이 사용하는 솔루션 기능 제한이 적어야 함 (유저 수 제한은 제외) 무료 플랜 (기간제 플랜 제외) 국내 솔루션들은 대부분 기간제라..
EP1. 개인 서버 이전 및 배포 자동화 환경 구축 최근 나는 AWS의 Lightsail에서 운용 중인 개인 서버들을 NAS 서버로 이전하는 작업을 진행하였다. 이전하는 주된 이유는 3 개월 무료 프로모션이 종료되어 비용을 지불해야 하는 상태가 되어서이다. (지금은 긴축 기간이어서.. 여기다 더 비용을 투자하고 싶지 않았다.) 해당 서버에는 다음과 같은 애플리케이션이 돌아가는 상태였다. Nginx 기반 프로필 사이트 몇 가지 유틸리티 기능을 제공하는 개인 용도의 Spring Boot API 서버 이를 기존 NAS 서버에 이동시키는 것은 간단한 작업이나. 올리는 김에 나는 여기에 몇 가지 작업을 더 추가하기로 하였다. 추가하려는 기능은 다음과 같다. Docker 위에 각각의 애플리케이션이 돌아가도록 세팅 배포 자동화 기능 도입 먼저 Docker 도입의 주된..