개요
lrzsz 는 터미널에서 접속한 원격지에서 호스트 PC 로 파일을 전송 및 수신을 가능하게 하는 툴이다.
macbook (macOS Big Sur 11.2.3) 에서 해당 유틸리티를 설치하는 방법을 정리한다.
1. homebrew 설치
최초 homebrew 를 설치하지 않았다면 brew 설치를 먼저 진행해 주어야 한다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
해당 스크립트 수행 시 /opt/homebrew 경로에 설치가 된다.
2. lrzsz 설치
설치한 brew 로 lrzsz 패키지를 설치한다.
brew install lrzsz
패키지 설치 후 출력되는 메시지 마지막 부분에 아래 명령어를 수행하여 설치를 마치라는 내용이 나온다.
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/changhoe/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
lrzsz 설치를 마친 후 github 에서 lrzsz 에서 사용할 스크립트를 받는다. (링크 : https://github.com/aurora/iterm2-zmodem)
나는 편하게 git 으로 다운받았다.
git clone https://github.com/aurora/iterm2-zmodem
다운 받은 github 의 스크립트(*.sh) 들을 /usr/local/bin/ 경로로 복사한다. 해당 경로가 없다면 생성한다.
cd iTerm2-zmodem
ls
#LICENSE README.md iterm2-recv-zmodem.sh iterm2-send-zmodem.sh
mkdir /usr/local/bin/ # if directory is not exist
cp -rf *.sh /usr/local/bin/
brew 로 lrzsz 를 설치하는 경우 rz 와 sz 의 경로가 /opt/homebrew/bin/ 에 있기 때문에 sh 스크립트 내의 rz 와 sz 의 실행 경로를 수정한다. (/usr/local/bin/ -> /opt/homebrew/bin/)
....
21 else
22 cd "$FILE"
23 /opt/homebrew/bin/rz --rename --escape --binary --bufsize 4096
24 sleep 1
25 echo
....
iterm2-recv-zmodem.sh, iterm2-send-zmodem.sh 파일 2개 모두 확인하여 수정한다.
iterm2 의 trigger 를 이용하여 데이터가 송,수신 될 때 스크립트가 수행되도록 설정한다.
( iterm2 환경설정 > Profile > Profile Name 선택 > Advanced > Triggers Edit )
열린 Trigger 팝업 창에서 [ + ] 키를 눌러 아래 내용들을 추가한다.
Regular expression: rz waiting to receive.\*\*B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
Instant: checked
Regular expression: \*\*B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
Instant: checked
모든 설정을 마친 후 iterm2 에서 원격지 접속 후 rz 를 입력할 경우 Finder 팝업 (Choose a file to send) 이 뜨며 업로드할 파일을 선택할 수 있다.
해당 유틸을 사용하기 위해서는 원격지에도 lrzsz 가 설치되어 있어야 한다.
# debian
apt-get install -y lrzsz
# redhat
yum -y install lrzsz
참고 링크
- https://github.com/RobberPhex/iTerm2-zmodem
- https://www.onlab.kr/2018/04/09/mac-iterm2에서-zmodem-사용하기/
'개발 노트 > Etc.' 카테고리의 다른 글
[Python] Django 실행 시 sqlite3 버전 이슈 (2) | 2021.06.22 |
---|---|
[API] 네이버 Finance 주식 시세 가져오기 (2) | 2021.06.05 |
[Docker] code-server https 개발환경 구축 (0) | 2021.05.26 |
[Docker] Ubuntu CLI 한글 입력 (0) | 2021.04.22 |
[Docker] x509: certificate signed by unknown authority 에러 (2) | 2021.04.15 |