DevOps, Infra/Linux
IPC
IPC
2025.03.20IPC(Inter-Process Communication)IPC란 여러 프로세스가 서로 데이터를 주고 받으면서 협력할 수 있도록 하는 방법이다.프로세스는 독립적인 실행 객체이기 때문에 서로 통신하기 어렵다는 문제가 있다.다른 프로세스간 통신을 하려면 커널단에서 제공되는 IPC를 사용해야 한다.여러 IPC 방법들에 관해 알아보자!1. Shared Memory프로세스가 공유 메모리 할당을 요청하면 커널은 해당 프로세스에 메모리 공간을 할당해준다. 그 메모리를 어떤 프로세스건 커널의 관여 없이 접근할 수 있다.장점데이터 전송 속도가 빠르다.단점데이터를 읽어야 하는 시점을 알기 어렵다쓰레드와 비슷하게 동시에 같은 메모리에 접근할 수 있기 때문에 동기화 문제를 해결해야 한다.from multiprocessing ..
Terminal과 Shell
Terminal과 Shell
2022.04.08Terminal(Emulator)이란 대표적인 터미널 몇 개를 나열해보자면 terminal, iterm, xterm, konsole과 같은 프로그램이 있습니다. 리눅스와 같은 환경에서는 이러한 터미널을 통해서 쉘을 실행시켜고 여러 작업을 하게 됩니다. PC를 키면 터미널 프로그램부터 찾게 되죠ㅎㅎ. 세상에는 여러 터미널이 있는데 서로 지원해주는 기능도 다르고 각각의 특색이 있습니다. 사람마다 선호하는 것이 다릅니다. 이러한 터미널로 우리는 심심하게 보일 검은창을 꾸미고 (아니면 오히려 텍스트만 보이도록 하거나) 기능을 확장시킬 수 있습니다. 그래서 터미널 에뮬레이터라고도 부르는 것 같습니다. 저는 iterm2를 사용합니다. 제 터미널 창을 보시면 상단에 "배터리, CPU, RAM" 상태와 SNIPPET을..
Vim에서 Vundle 삭제하기
Vim에서 Vundle 삭제하기
2021.03.31깔끔하게 Vundle을 삭제하는 방법 (Linux 기준) 더보기 내가 Vundle을 삭제하는 이유 Vundle은 Vim 플러그인 매니저이다. 현재 PC에서는 Vundle을 만족하면서 사용하고 있다. Vundle은 플러그인 관리를 위해서 여러 가지 기능들을 제공해준다. 예를 들어서, 플러그인이 있는 저장소를 간략하게 설정 파일에 넣어서 플러그인을 설치(:PluginInstall)하거나 플러그인을 검색(:PluginSearch {플러그인명})하거나 업데이트(:PluginUpdate)하거나 사용하지 않는 플러그인을 지우(:PluginClean)거나 플러그인에 변화가 생길 때마다 help tag 자동으로 생성하고 갱신해주는 기능 등이 있다. 그런데 요즘 Vim으로 간단한 스크립팅을 많이 하는데 여러 가지 플러그..
[WSL1/WSL2] 홈 디렉터리 위치 :: WSL 홈으로 Windows 파일 옮기기
[WSL1/WSL2] 홈 디렉터리 위치 :: WSL 홈으로 Windows 파일 옮기기
2020.05.16WSL1에서 C드라이브에 접근해보자 Windows의 드라이브들은 /mnt 디렉터리에 마운트되어 있다. C드라이브에 접근해보자. cd /mnt/c OS Error 13은 파일 시스템의 권한 문제가 생겼을 때 발생합니다. 보시다시피 권한 문제가 발생할 수 있으니 조심해야 한다. Windows에서 WSL1으로 접근해보자 Windows에서는 아래의 Packages 폴더 안의 어딘가에 WSL1이 위치한다. C:\Users\[사용자명]\AppData\Local\Packages\ 내가 깐 배포판명이 포함된 폴더가 그 배포판의 WSL이 실제로 위치하는 경로이다. 만약 Ubuntu 깔았다면 Packages폴더 아래에 Ubuntu라는 단어가 들어간 폴더명이 보일 것이다. 바로 그 폴더가 Ubuntu WSL의 위치다. 그 ..
[리눅스] apt, apt-get의 사용법 비교
[리눅스] apt, apt-get의 사용법 비교
2020.05.01apt = Advanced Packaging Tool, .deb 형식의 패키지들을 관리(설치, 삭제, 업데이트)해주는 툴 apt vs apt-get? 여러 리눅스 패키지들의 문서를 읽다보면 어떤 것은 apt install을 사용해서 설치하라고 하고 어떤 것은 apt-get install을 사용해서 설치하라고 한다. 사실 apt를 쓰든 apt-get을 쓰든 큰 차이는 없다. 그럼 apt와 apt-get의 차이가 뭘까? apt를 쓰든 apt-get(또는 apt-cache)을 쓰든 내부 동작의 차이는 거의 없다. apt-get에서는 옵션들이 많아지다 보니깐 apt에서는 자주 사용하는 옵션들을 추출해서 사용자들이 사용하고 보기 편하게 만들었다. 그래서 apt가 더 예쁘고 추가적인 정보를 출력해준다. 구체적으로 ..
[리눅스] scp 기본 사용법
[리눅스] scp 기본 사용법
2020.04.15업로드 내 컴퓨터(Local) 파일 ➡ 서버 ssh랑 반대로 port번호를 지정할 옵션으로 대문자 p를 사용하는 것을 주의하자. scp -P 포트번호 경로/올릴파일명 아이디@서버주소:저장할경로 (예) 서버의 홈에 있는 Temp 폴더에 내 컴퓨터의 홈에 있는 test.c 파일을 업로드하는 명령어 (서버의 주소는 111.111.111.111이고 scp용 포트는 7722번에 열려있고 내 아이디는 root라고 해보자) scp -P 7722 ~/test.c root@111.111.111.111:~/Temp 다운로드 서버 파일 ➡ 내 컴퓨터(Local) 반대로하면 된다. scp -P 포트번호 아이디@서버주소:파일경로/파일명 받은파일을저장할경로 (예) 서버의 홈에 있는 downloadthis.c 파일을 내 컴퓨터의 ..
[Quick Fix] WSL Powerline9k Theme 깨짐/이상하게 보이는 오류 해결법 :: Overflowing rPrompt on WSL
[Quick Fix] WSL Powerline9k Theme 깨짐/이상하게 보이는 오류 해결법 :: Overflowing rPrompt on WSL
2020.03.23WSL에서 Powerline9k나 Powerline10k 테마로 이쁘게 꾸며서 사용하려고 했다. 하지만 다음과 같이 창이 넘쳐흐르는 에러가 발생했고 그냥 나두기에는 너무 거슬렸다. 이 오류 말고도 아이콘 잘림 또는 깨짐, 오버플로우, 등이 있을 수 있다. 이 오류들은 전부 Double-Width Glyph때문에 발생하는 문제들이다. 원인 - Double-Width Glyph Double-Width Glyph: Monospace 폰트와 달리 두 개의 공간을 차지하는 문자 Ex) , ,... (아마 폰트에서 지원되지 않아서 안보일 수도 있다. 사진으로 바로 아래에 올렸으니 어떤 문자인지 확인해보자.) 문제를 일으키는 2칸 문자들의 예 Mac(iterm2)이나 다른 OS의 터미널 에뮬레이터에서는 잘 동작하..
[리눅스] 간단한 리눅스 명령어들 정리
[리눅스] 간단한 리눅스 명령어들 정리
2020.03.08SSH openssh로 터미널에 접속한다. telnet과 달리 평문 통신을 하지 않고 보안이 되어있다. ssh -p 포트번호 아이디@호스트주소 보통 ssh와 동일한 포트로 ftp도 열어놓는다. logout 또는 exit 명령어로 로그아웃한다. SFTP 보안이 된 ftp이다. sftp -P 포트번호 아이디@호스트주소 대문자 P를 사용해서 포트번호를 지정하는 것을 주의하자. get을 하면 다운 put을 하면 업로드 bye를 하면 종료 SCP scp 명령어는 별도의 글을 작성했다. 2020/04/15 - [Programming/Linux] - [리눅스] scp 기본 사용법 List 파일을 모두 리스팅한다. ls 숨긴 파일과 권한까지 포함하여 한 줄씩 파일을 모두 리스팅한다. ls -al Recursive mo..