알고 있으면 도움되지 않을까,,?
[Ubuntu] Welcome Message 바꾸기
[Ubuntu] Welcome Message 바꾸기
2023.09.19시작 우분투 환경에 접속하게 되면 위와 같은 시스템 메시지가 출력됩니다. 환영 문구와 시스템 정보, 업그레이드 관련 문구 등이 웰컴 메시지에 포함됩니다. Spring Boot 애플리케이션을 업 시켰을 때 터미널에 출력되는 ASCII Art 입니다. '우분투의 웰컴 메시지에도 이런 ASCII Art 를 추가할 수 없을까..?' 하는 생각에 찾아보고 이를 정리해보고자 합니다. Welcome Message는 어디에..? 어떻게..? 웰컴 메시지는 /etc/update-motd.d/ 경로에 위치합니다. 해당 디렉토리의 파일들은 위 사진과 같습니다.(환경에 따라 약간의 차이가 있을 수 있습니다) 00-header 파일을 살펴보면, 위 내용과 같습니다. Bash 파일이며 아래의 코드도 모두 Bash 문법에 맞게 작..
[Ubuntu] Windows 부팅 디스크 만들기(WoeUSB-ng)
[Ubuntu] Windows 부팅 디스크 만들기(WoeUSB-ng)
2023.09.18시작 윈도우 환경에서는 Windows USB DVD Download Tool, 혹은 RUFUS 를 사용해서 부팅 디스크를 만듭니다. 우분투 환경에서 기본적으로 제공되는 Startup Disk Creator 라는 툴이 있지만, 이를 사용해서는 윈도우 부팅 디스크를 만들 수 없습니다. 그 대안책이 WoeUSB 였습니다. https://github.com/WoeUSB/WoeUSB GitHub - WoeUSB/WoeUSB: A Microsoft Windows® USB installation media preparer for GNU+Linux A Microsoft Windows® USB installation media preparer for GNU+Linux - GitHub - WoeUSB/WoeUSB: A M..
[Setting] alias 를 파일로 관리하기
[Setting] alias 를 파일로 관리하기
2023.09.10들어가며 alias 는 없어서는 안되는 기능 중 하나입니다. git clone 과 같이 긴 명령어를 gcl 로 alias 해서 사용할 수 있도록 도와주기 때문입니다. 잘만 사용한다면 효율人이 될 수 있죠. alias 을 설정하는 방법으로는 (제가 아는 선에서) 크게 2가지 방법이 있습니다. 첫번째는 아래 명령어와 같이 터미널에 하나하나 추가하는 방법입니다. 지금까지 저는 이 방법으로 alias 를 설정해왔습니다. alias gcl="git clone" 이 방법의 단점으로는 하나하나 설정해야 한다는 점과, 재부팅을 하고나면 초기화 되어버린다는 점이 있습니다. 저는 총 214 개의 alias 를 설정하고 사용합니다. 이를 첫번째 방식을 사용하여 설정한다면, 설정하는 데에도 적지 않은 시간이 걸리며,, 만약 ..
[ngrok] 배포없이 로컬 서비스 인터넷으로 공개하기
[ngrok] 배포없이 로컬 서비스 인터넷으로 공개하기
2023.09.07ngrok 이란? ngrok 은 로컬 환경에 있는 서비스나 애플리케이션을 인터넷에 공개할 수 있도록 도와주는 서비스입니다. 대부분 로컬 환경에 있는 서비스를 외부에서 접속하도록 하려면, 방화벽을 여는 등의 방법을 사용합니다. 쉽지 않죠.. 이를 쉽게 하기 위해서 ngrok 은 NAT 나 방화벽을 우회하여 인터넷으로부터 로컬 서비스에 접속할 수 있도록 하는 터널링 서비스를 제공합니다. 토이 프로젝트를 진행할 때, '로컬에서 실행한 서비스를 팀원들도 접속할 수 있도록 하고 싶은디.. 서버에 올려야되나ㅠㅠ' 하는 고민을 했던 경험이 있습니다. 그때는 화면 공유를 해서 직접 보여주거나, 서버에 올리는 방법 밖에 생각을 못했었는데, 이 고민을 ngrok 이 해결해줄 수 있습니다. 무료 버전과 유료 버전이 있으며,..
[Ubuntu] Notion 설치하기
[Ubuntu] Notion 설치하기
2023.09.07그냥 깔면 되지! 공부한 내용을 정리할 때 노션을 주로 사용합니다. 최근에 데스크탑 OS 를 윈도우에서 우분투로 바꾸면서, 노션을 재설치 해야했습니다. 그런데,, 노션은 리눅스 앱을 만들어주지 않았군요..? 허허 심지어 2017년에는 노션의 트위터(X) 계정에 아래와 같은 트윗도 올라왔네요 그래도 깔아야지! 앞으로 5년 간은 리눅스 앱을 만들어주지 않을거 같으니, 다른 방법을 찾아보도록 하겠습니다. 다행히도, 리눅스 환경에서 노션 앱을 필요로 하는 사람들이 있었고 이를 해결해놨습니다. Lotion https://github.com/puneetsl/lotion GitHub - puneetsl/lotion: Unofficial Notion.so app for Linux Unofficial Notion.so ..
[Error] The IP address configured for the host-only network is not within the allowed ranges. Please update the address used to be within the allowed ranges and run the command again.
[Error] The IP address configured for the host-only network is not within the allowed ranges. Please update the address used to be within the allowed ranges and run the command again.
2023.08.30Env: Ubuntu 22.04 vagrant up 명령어를 쳤을 때 뜨는 에러입니다. 맥이나 리눅스 환경에서 사용할 수 있는 Private Network Address 범위에 맞지 않게 VagrantFile 에 작성되어 있어서 발생하는 에러입니다. 이를 해결하는 방법으로는 여러가지가 있습니다. 주소 바꾸기 가장 간단한 방법으로는 VagrantFile 에 명시한 주소 값을 허용된 범위 내의 주소로 바꿔주는 것입니다. 저의 VagrantFile 은 아래와 같이 작성되어 있습니다. Vagrant.configure("2") do |config| config.vm.define HOST_NAME do |subconfig| subconfig.vm.box = BOX_IMAGE subconfig.vm.hostname ..
서버의 mysql, jupyter notebook 에 접속해보자
서버의 mysql, jupyter notebook 에 접속해보자
2023.08.29이 글은 데이터베이스 수업에서 학교에서 제공되는 서버에 학생들 각각의 User 를 만들고, 이를 x2go client 라는 오픈소스 원격 데스크탑 소프트웨어를 이용해 접속하여 CentOS 의 GUI 를 사용하는 방식으로 진행되었습니다. 원격 데스크탑 소프트웨어인 만큼 가볍지 않고, 소프트웨어 자체의 사용법도 쉽지 않은 방법이여서 어려움이 많았습니다. GUI 를 굳이 사용하지 않아도 CLI 로 충분히 수업을 따라갈 수 있을 것 같아서 이에 대한 해결방법을 정리합니다. 필요/주의사항 우선, Mac 환경입니다. SSH 를 사용하는 방법이다보니, 운영체제가 크게 상관이 없습니다. 다만 터미널에서 ssh 명령어를 사용하는데 윈도우는 이를 사용하기 위해 필요한 사전 작업이 있는 것으로 알고 있습니다. 이 사전 작업..
[모두를 위한 클라우드 컴퓨팅 Chapter 9] condor_status 오류
[모두를 위한 클라우드 컴퓨팅 Chapter 9] condor_status 오류
2023.08.28모두를 위한 클라우드 컴퓨팅 에서 Slave 이미지를 만드는 중에 HTCondor 클러스터에 정상적으로 조인이 되었는지를 확인할 때 condor_status 라는 명령어를 사용합니다. 슬레이브 EC2 에서 이 명령어를 입력했을 때 무반응 혹은 아래 사진과 같은 에러 메시지가 뜰 수 있습니다. 마스터 EC2 과의 통신이 제대로 이루어지지 않고 있다는 오류 메시지입니다. 이 오류는 EC2 의 보안 그룹 때문에 발생할 수 있습니다. 마스터 EC2 와 슬레이브 EC2 에 할당되어 있는 보안그룹의 Inbound Rules 을 편집해줘야 합니다. 저는 0.0.0.0/0 으로부터의 All Traffic 을 허용하는 룰을 추가하여 해결하였습니다. 다만.. 이는 매우 위험한 보안 설정이므로, 최소한의 화이트리스트만 설정..
JetBrains 는 학교 이메일 검증을 이렇게 한다
JetBrains 는 학교 이메일 검증을 이렇게 한다
2023.08.16학교 이메일로 회원가입을 하면, 교육 할인을 제공해주는 서비스들이 많습니다. 대표적으로 JetBrains 에서는 학교 이메일 인증을 한 계정을 대상으로 Free Educational Licences 를 제공합니다. JetBrains 는 수많은 학교 도메인들을 어떻게 검증할까? 에 대해서 궁금해졌습니다. 학교 도메인 검증을 위한 정규식을 쓰나..? 아니면 세계 각국의 교육청에서 학교 도메인과 관련한 API 를 제공하나..? 설마 모두 수기로 관리하지는 않겠지? 그 설마가 맞았습니다. JetBrains 는 깃허브에 .txt 파일로 모든 학교의 도메인을 관리하고 있습니다. 위 사진에서는 조선대학교, 충남대학교, 친숙한 42서울 등이 보입니다. 우리 학교는 어디있을까ㅏㅏ 찾았다.. 해당 깃허브 레포지토리는 아래..
[CDN] 동적 데이터가 많은 서비스에서 CDN 을 사용하는 이유가 도대체 뭘까..?
[CDN] 동적 데이터가 많은 서비스에서 CDN 을 사용하는 이유가 도대체 뭘까..?
2023.08.04에 대해서 갑자기 궁금해졌습니다. 흔히들 알고있는 CDN 사용에 있어서의 이점은 이미지 파일이나, JS, CSS 등과 같이 변경되지 않은 정적인 컨텐츠를 캐싱하여, 사용자의 요청이 들어왔을 때 오리진 서버에서 응답하기보다 캐시 서버에서 응답함으로써 오리진 서버의 과부하를 막고 더 빠른 속도로 응답할 수 있다는 점입니다. 그런데.. 사용자 요청이나 데이터의 정보를 기반으로 즉석에서 생성되는 동적 컨텐츠의 경우에는, 이를 캐싱하더라도 Cache Hit Ratio가 높지 않아서 CDN 을 굳이 사용할 필요가 있을까 생각했습니다. 생각이 짧았군여.. 일반적으로 캐시 서버는 지역적으로 분산되어 있습니다. 그 이유는 사용자가 어떠한 요청을 했을 때, 가장 인접한 캐시 서버로부터 컨텐츠를 전달받아 원활한 서비스를 받..
[ssh] -i 옵션
[ssh] -i 옵션
2023.08.02chmod 700 caputdraconis.pem ssh -i caputdraconis.pem user@host AWS EC2 에 ssh 로 접속하기 위해서 -i 옵션으로 .pem 키를 명시해주며 사용합니다. 위와 같은 명령어를 입력하는 머슬 메모리와 함께 말이죠..! 그런데 이렇게 너무 당연하게 사용하는 -i 옵션이 뭐일까.. 에 대해서 갑자기 궁금해졌습니다. 파일을 명시해주니 -f 와 같은 이름일 것 같았는데 말이죠. 여기서 i 는 identity 의 i 였습니다. ssh 접속 과정 중에 필요한 RSA 인증을 위한 비밀 키를 읽어 올 아이덴티티 파일을 선택한다는 의미입니다. 아이덴티티 파일이 바로 .pem 키였던거죠..! 흐헣
컨테이너에 대한 강의 추천
컨테이너에 대한 강의 추천
2023.07.20컨테이너라고 하면, 흔히들 도커+쿠버네티스 환경을 떠올립니다. 하지만 도커는 컨테이너를 다루는 도구, 쿠버네티스는 도커와 같은 컨테이너 런타임을 통해 컨테이너를 오케스트레이션 하는 자동화 도구에 불과합니다. 이들을 제대로 사용하려면 컨테이너에 대해서도 잘 알아야합니다. 저 또한 도커와 쿠버네티스를 공부하면서 컨테이너에 대한 지식이 부족함을 느꼈고, 이를 보완하기 위한 여러 자료들을 찾아보다가 좋은 강의가 있어서 글을 작성합니다. HandsOn 형식의 강의입니다. https://www.youtube.com/watch?v=mSD88FuST80