반응형
cron vs systemd 더 안정적인 것은?? (feat. 세계관 최강자의 대결)
·
OS/Linux
세계관 최강자 둘의 대결;;;지난번 포스팅 때, 자동화 스크립트를 cron과 systemd 둘 중 어디에 등록할지 고민하다가 systemd를 선택했다고 적어뒀었다https://ratatou2.tistory.com/288 SSH 22번 포트 자동 복구 시스템 구축하기 (feat. 서버 잃고 뇌 약간 고치기 ㅠ)열어줘잉...하... 나의 사랑스런 홈서버들과 10km 떨어진 카페에서 k8s 구축을 하고 있었다근데 자꾸 삽질 드릅게 많이하고 안돼서 킹받던 도중 iptable 다 닫아버리는 명령어를 위화감 없이 실행해ratatou2.tistory.com오늘은 간단하게 그 둘을 비교해보고 왜 systemd를 선택했는지 적어보겠다1. cron이랑 systemd가 뭔데?쉽게 풀이해서 한줄요약하면 아래와 같다cron정해..
우분투 22.04 VNC 원격 접속하기 (feat. HDMI 더미 인식시키기)
·
OS/Linux
VNC 설정하기 너무 귀찮아...답답하다 답답해!!항상 모니터를 옆에 구비할 순 없잖아요그렇다고 모니터 없이 하려면 가상화면 띄우고, 해상도 조절하고 별짓거리 다해야 띄울 수 있고 그마저도 편하지도 않음... 결국 알리에서 HDMI 동글을 샀고! 도착했지롱!그래서 오늘은 HDMI 동글을 인식시켜보면서 VNC 원격접속까지 한큐에 해보겠다!일단 시작에 앞서 HDMI 동글을 미리 끼워두자개발 환경은 Ubuntu 22.04 기준이다1. 환경변수 세팅- 우선 ssh로 접속하면 'DISPLAY'란 환경변수가 없기 때문에 설정해준다- 좀 더 정확히 말하면 ssh로 접속하면, GUI 세션(:0)과 분리되어 있어 DISPLAY를 직접 지정해줘야 한다는 의미다export DISPLAY=:0xrandr- 그리고 xrandr..
명령어 한줄로 내부망 PC끼리 파일 전송하기 (feat. scp 명령어)
·
OS/Linux
간단히 서버에서 명령어로 파일을 전송할 때 아래 한줄이면 간편하게 해결된다명령어를 입력하고나면 비밀번호를 요구하는데, (비밀번호가 있다면) 받는 쪽 서버의 비밀번호를 입력하면 된다# 템플릿scp -r @:# 예시 (현 로컬 디렉토리 Project 내부의 server라는 디렉토리를? 같은 내부망 192.168.111.222의 nextcloud-server에 복사하겠다!!)scp -r /Users/ratatou2/Desktop/Project/server/ n100@192.168.111.222:/home/n100/docker-compose/dev/nextcloud-server굳이 filezilla 같은 것들 쓸 필요 없음 scp는 OS 상관없이 SSH만 가능하면 전송 가능하기 때문이다ssh를 쓰기 때문에 보..
맥북에 npm 설치 시 권한 없음 해결 방법 (feat. macOS에 npm 설치 방법)
·
OS/Linux
맥북에 npm으로 node_modules에 Gemini-CLI 설치하다가 에러 발생Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@googlehttps://ratatou2.tistory.com/243 맥북에 Gemini CLI 설치하기 (feat. 윈도우에 설치)AI... 좀 더 편하게 쓸 순 없나?말로해서 코드를 짜려니 GPT에 매번하는 것보다 프로젝트 디렉토리에 냅다 물어보는게 더 효율적일2 것이란 생각이 들었다마침 요즘 핫한 Gemini-CLI도 추천 받았겠다ratatou2.tistory.comnpm 글로벌 설치 디렉토리에 쓰기 권한이 없어서 생기는 전형적인 EACCES 오류다(Error: EACCES: permission..
sudo apt update 안됨 (feat. 우분투 apt Hash 손상)
·
OS/Linux
갑자기 해쉬 손상돼서 다운로드 못하겠단다;;E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jammy-security/main/binary-amd64/by-hash/SHA256/86497881685fddd49fd7a0f586bb69717815fbe8b730c24d344703a9d2849948 Hash Sum mismatch Hashes of expected file: - Filesize:2378120 [weak] - SHA256:86497881685fddd49fd7a0f586bb69717815fbe8b730c24d344703a9d2849948 - SHA1:f0cfe6fe7b0e5066ca0eb7417dc8fc53853a3d06..
SSH 원격접속이 편리해지는 '딸깍' 설정법 (feat. ~/.ssh/config 설정)
·
OS/Linux
매번 SSH 정보 입력하는 것 귀찮잖아요이것은 일종의 단축 명령어를 만드는 것이다접속할 서버 정보를 ssh에 config에 미리 등록을 해둬서 지정해둔 이름을 가져다 쓰면 편하게 쓸 수 있다SSH키를 미리 발급하는 방법은 아래에서 확인하자https://ratatou2.tistory.com/215 원격 서버에 SSH 비밀번호 없이 접속하는 방법 (feat. SSH 키 발급하기)비밀번호 좀 그만 물어봐rsync 써서 Docker Volume 백업하는 시스템 만들고 있는데, 원격서버로 파일을 보낼 때마다 비밀번호를 요구한다보안 챙기는거 이해하는데.. 이러면 내 편의성도 없고 자동화ratatou2.tistory.com1. ~/.ssh/config 수정상대 서버에 접속할 서버에서 작업을 하는 것이다!nano ~/..
원격 서버에 SSH 비밀번호 없이 접속하는 방법 (feat. SSH 키 발급하기)
·
OS/Linux
비밀번호 좀 그만 물어봐rsync 써서 Docker Volume 백업하는 시스템 만들고 있는데, 원격서버로 파일을 보낼 때마다 비밀번호를 요구한다보안 챙기는거 이해하는데.. 이러면 내 편의성도 없고 자동화도 불가능하니까 SSH 키를 발급받아 각 서버에 두기로 했다빠르게 가보자! (쉬운 설명을 위해 접속하는 쪽의 서버는 A서버, 원격 접속 당하는 서버는 B서버라고 지칭하겠다)1. 접속하는 쪽(A서버)에서 SSH 키 생성ssh-keygen -t rsa -b 4096 -C "backup-key"# root 권한 (자동화 스크립트 시)sudo ssh-keygen -t rsa -b 4096 -C "root-backup-key"- '나 인증받은 서버야'라는 것을 알리기 위해, 접속하고자 하는 쪽에서 만드는 것옵션을..
리눅스 폴더 Tree 구조로 출력하기 (feat. 디렉토리 구조 시각화)
·
OS/Linux
깔-끔tree 명령어는 디렉토리 구조를 트리 형식으로 시각적으로 보여주는 도구이다한눈에 보기 편하고, 포스팅할 때도 유용해서 기록해두려고 함1. 설치하기sudo apt install tree2. 출력하기tree3. 옵션 살펴보기1. 현재 프로젝트 구조 한 눈에 보기 # 상위 2단계까지 폴더와 파일을 출력tree -L 22. 숨김파일 포함해서 전체 구조 보기tree -a3. 디렉토리만 보고 싶을 때tree -d4. node_modules, .git 폴더 제외하고 보기tree -I "node_modules|.git"5. 전체 경로 포함해서 보기 (디버깅에 유용)tree -f6. 디렉토리별 용량 함께 보기tree -d --du -h
리눅스 컴퓨터 사양 체크하기 (feat. 이쁘게 print 하기)
·
OS/Linux
이쁘다아...컴퓨터 사양을 겁나 이쁘게 보여주는 친구들이 무엇인고 그동안 궁금했었다근데 오늘 알게되어서 바로 설치해보겠음!!!굉장히 간단쓰!1. neofetch를 설치sudo apt install neofetch2. 냅다 실행!!neofetch3. 결과 (이쁘당 ㅎ)
우분투 SSH 외부 접속 설정하기 (feat. 3분만에 해결)
·
OS/Linux
서버 외부에서 접속하는 방법 맨날 까먹어서 포스팅한다맨날 ufw로 22번 포트만 열어두고 왜 안되냐고.. 무한 반복 ㅠopenssh-server로 ssh 서버도 실행시켜둬야 한다1. ufw 활성화sudo ufw enable2. 22번 포트 개방sudo ufw allow 223. ssh 서버 실행sudo apt updatesudo apt install openssh-server정상동작하는지도 체크해보자sudo systemctl status ssh4. 외부 접속 테스트이제는 Termius 같은 외부 ssh 접속 툴로 테스트 해보면?접속이 잘 되는 것을 확인할 수 있다
우분투 22.04 LTS 한글 입력 설정 방법 (feat. dnqnsxn gksrmf tjfwjd)
·
OS/Linux
한번에 되자 쫌!!!초기에 우분투 설정하면 한글 입력이 안 된다근데 또 맨날 까먹어서 결국 포스팅한다빠르게 가자1. 일단 무조건 업데이트 & 업그레이드sudo apt update -ysudo apt upgrade -y- 이 부분을 안하면 기본적인 install 툴들도 없어서 안 된다2. 한글 관련된 것들을 설치하기 위해 Region & Language로 이동- 저기서 Manage Installed Languages를 누른다- 그리고 install / Remove Languages...를 누른다- 그리고 나면 뭐 언어 관리 툴? 없다고 설치하라고 하는데 설치하면 된다- 설치하고 나면 이제 여러 언어 목록이 뜰텐데 거기서 korean을 찾아서 체크하고 apply 누른다- 재부팅을 한다 (재부팅해야만 3번 이..
우분투 크롬 실행 시 비밀번호 입력창 해제 (feat. 키링 제거)
·
OS/Linux
그만 물어봐크롬 누를 때마다 비밀번호를 입력하라는데 거슬려 죽겠다찾아보니 자동로그인을 해두면 그렇다고...아니 뭐 볼 때마다 저러는게 맞나? 싶어서 해결하는 방법을 찾아봤다 시도해본 방법 두 가지1. 설정 파일 수정 (/usr/share/applications/google-chrome.desktop)2. 키링 제거1번은 --password-store=basic 옵션 붙여주는 거였는데 안됐고, 개인적으로는 2번이 잘됐음 키링이 저장된 cd ~/.local/share/keyrings 로 이동하면 아래처럼 파일이 2개 있다user.keystore login.keyring 이거 두 개 지워주면 됨rm user.keystorerm login.keyring그러고 나면 더 이상 비밀번호를 물어보지 않는다.. 휴.....
Beelink S12 Pro 블루투스 인식 안됨 (feat. 우분투 블루투스 모듈 인식)
·
OS/Linux
저기요Beelink S12 Pro, 우분투가 설치된 내 홈서버가 블루투스가 동작을 안한다정확히는 설정에 가면 켤 수는 있지만, 켜지지 않고 이내 곧 꺼진다 ㅠ 아마 드라이버가 없었겠지... 영화보려고 헤드셋이랑 블투 연결하려다가 알게됐음바로 해결해보자1. 블루투스 상태 확인systemctl status bluetooth이 명령어를 입력하면 현 블루투스 상태를 알 수 있다active에 running 중...일단 나는 제대로 동작하고 있음을 확인할 수 있었다더보기로그 전문n100@n100-S12-Pro:~$ systemctl status bluetooth● bluetooth.service - Bluetooth service Loaded: loaded (/lib/systemd/system/bluetoo..
SMPlayer 자막 렌더링 이슈 해결 (feat. 자막에서 {\an} 표기 삭제)
·
OS/Linux
홈서버에서 SMPlyer를 사용 중인데, 자막에서 자-꾸 거슬리는게 뜬다{\an} 같은 것들이 뜨길래 찾아보니, SSA/ASS 포맷 특유의 서식 코드라고 한다자막 위치, 폰트, 스타일 같은 걸 지정해주는 친구라는 것이죠?근데 이제 SMPlayer가 이걸 제대로 렌더링 못하면, 글자로써 보이는 셈거슬려.. 거슬린다고!! 난 영화보는데 이딴걸 보고 싶지 않아 ㅠ바로 해결해보자1. MPV로 서브라이더 엔진 변경기본적으로 SMPlayer는 설정에서 서브라이더 엔진을 바꿀 수 있단다 서브라이더 엔진이란 자막 렌더링 엔진이라고 한다 즉, SMPlayer가 자막을 화면에 어떻게 띄울지 결정하는 백엔드 프로그램인 셈이다이걸 바꾸면 서식 코드를 알아서 안보여주고 처리할 수 있게 된다고 한다기본적으로 mplayer, mp..
VPN이 뭔데.. 그거 써야하나? (feat. WireGuard 구축 전의 호기심)
·
OS/Linux
일해라 핫산어쩌다보니 여러 서버를 가지고 있는데 그중에 NAS가 제일 오래됐고, 그만큼 잘 쓰고 있다그냥 클라우드처럼 필요한 것들 업로드 해놓고 편하게 쓴다근데 이제 슬슬 여러가지를 공부하면서.. 얼마나 허술한지 보이게 되는 것이죠... 보안을 챙겨야할 것 같은데 Fail2Ban 설치하기 전에 VPN이 대체 무슨 이점이 있길래 쓰나이점이 있다고 하면 나에겐 그게 메리트가 있나? 궁금해져서 한시간 동안 열심히 공부해봤음 어디 블로그 or GPT 복붙 내용이 아니라 내가 이해한 바를 기준으로 아래와 같은 내용으로 구성했고, 필요한 정보만 모아보았다1. VPN이란?2. VPN을 적용하면 무슨 이점이?3. 서버 IP는 결국 노출되는 것 아닌가?4. 그럼 왜 쓰는가?5. 그럼 나는 적용할 것인가?6. SSH, V..
리눅스 파일 압축 명령어 (feat. 딱 한줄임)
·
OS/Linux
한줄이면 된다# 템플릿tar -czvf {압축할 파일 명} {원본 파일 or 디렉토리}# 예시 docker-compose 디렉토리를 temp.tar.gz로 압축하겠다는 소리tar -czvf temp.tar.gz docker-compose/
Ubuntu 비밀번호 없이 sudo 사용 (feat. 매번 비번 입력하기 귀찮아)
·
OS/Linux
비밀번호 그만!!!매번 뭐 sudo apt update -y만 쳐도 비밀번호 쳐야하는거 지겨워 죽겠다저만 쓰는 개인 서버라니까요?해제해버리자1. visudo 편집sudo visudosudoers 파일이라고 시스템 권한 설정 파일이 있는데 이것을 편집할 것이다여기엔 어떤 사용자가 어떤 명령어를 sudo로 실행할 수 있는지가 적혀있다여기에 우리 계정을 추가해줄 것임2. 현재 계정 권한 추가# 템플릿{username} ALL=(ALL) NOPASSWD: ALL# 예시n100 ALL=(ALL) NOPASSWD: ALL이제 현재 쓰고 있는 계정 권한을 추가해주고 저장하고 나오면 된다3. sudo 권한 그룹에 계정 추가해주기# 템플릿sudo usermod -aG sudo {계정명}# 예시sudo usermod -a..
.sh 파일 실행 권한 주기 (feat. Operation not permitted)
·
OS/Linux
잊지말자맨날 까먹는데 .sh (스크립트) 파일을 만들면 항상 실행권한을 줘야한다sudo chmod +x {스크립트 파일명}.shn100@n100-S12-Pro:~/docker-compose$ chmod +x certbot_SSL_test.shchmod: changing permissions of 'certbot_SSL_test.sh': Operation not permitted권한 주면 스크립트 실행 안되는 이슈 해결
우분투 할당되지 않은 하드 디스크 할당하기 (feat. Beelink S12 Pro)
·
OS/Linux
집이 비좁아요.. 현재 듀얼 부팅 세팅을 해두느라 깜빡해서 포멧이 안된, 마운트 안된 HDD 하나가 남아있다SSD보단 느려도 간이 저장소로 쓰기도 좋아서 마운트하려고 한다1. 듀얼부팅을 위한 파일 시스템 고르기특히 윈도우와 우분투 모두에서 쓰려고 하는데, 두 운영체제가 모두 지원하는 파일 시스템은 두 가지가 있다1) exFAT- 더 가벼운 파일 시스템- 윈도우와 리눅스 모두 기본적으로 읽기/쓰기가 가능- 대용량 파일(4GB 이상)도 지원2) NTFS- 윈도우의 기본 파일 시스템- 우분투에서 `ntfs-3g` 패키지를 사용하면 읽기/쓰기 가능정리하면- exFAT는 안정성은 낮지만, 윈도우 리눅스 모두에서 보편적으로 사용 가능- NTFS는 안정성은 높지만, 윈도우 메인 처음엔 안정성이 더 중요하여 NTFS로..
서버 간 핑(ping), 통신 테스트 (feat. nc, nmap, python)
·
OS/Linux
계세요?서버간 핑 테스트, 통신 테스트가 필요한 경우가 꽤 있다이때 nc, telnet, 코드 등등 테스트 할 수 있는 방식이 여러가지다  나도 헷갈리는게 있어서 정리할겸 포스팅한다 ps. 여기서 쓸 IP 주소는 123.202.184.1로 임의 주소를 쓰겠다!사전점검포트를 사용하고 있는 프로세스가 있는가?23412 포트를 사용하고 있는 프로세스가 없어야한다23412 포트를 쓰고 있는 프로세스가 있는지 확인하고, 있으면 kill 하도록 하자! 더보기# 입력 ver1sudo netstat -tuln | grep 80# 출력tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0...
반응형