본문 바로가기
Programing & OS

MC(midnight commander) 설치 삽질기. rocky linux8.

by 자루스 2026. 2. 24.

https://midnight-commander.org

 

Midnight Commander

Welcome to Midnight Commander GNU Midnight Commander (or mc) is a visual, dual-pane file manager. It is released under the GNU General Public License and therefore qualifies as Free Software. Midnight Commander is a feature-rich, full-screen, text-mode app

midnight-commander.org

 

서버 이전을 하려고 하다가 내부통신망이 필요했다.
그리고 파일이 자잘하게 많은 이유로 .....
sftp가 되는 file 도구를 찾다가 MC를 찾아내었다.
그런데 이것이 나의 반나절을 잡아먹을 줄이야 ...



 

Rocky Linux 8 기본 mc에서 SFTP가 안 되는 문제 해결기 (버전 탐색 포함)

1. 문제 상황

Rocky Linux 8에 기본 설치된 Midnight Commander(mc)는 SFTP가 지원되지 않았다.

mc sftp://DB_old

결과:

그냥 실행됨. 암호를 묻지 않음.
	
ftp로 연결하면 물어봄
mc ftp://DB_old

mc 버전 확인:

mc -V
Virtual File Systems:
cpiofs, tarfs, sfs, extfs, ftpfs, fish, smbfs

sftp가 포함되어 있지 않음.


2. Rocky 8 기본 저장소 확인

설치된 mc 확인:

dnf info mc

Rocky 8 기본 repo(AppStream/BaseOS)에는 4.8.19 계열이 제공되며, 해당 빌드는 sftp VFS가 비활성화되어 있다.

즉, repo 기준으로는 SFTP 지원 버전이 존재하지 않는다.


3. GNU FTP에서 최신 버전 탐색

GNU 공식 디렉토리 확인:

https://ftp.gnu.org/gnu/mc/

실제 목록:

mc-4.6.0.tar.gz
mc-4.6.1.tar.gz
mc-4.6.2-pre1.tar.gz
...

GNU FTP에는 2007년 4.6.x까지만 존재하며, 4.8.x 최신 버전은 존재하지 않는다.

따라서 GNU FTP 기준으로도 최신 안정 버전 확보 불가.


4. GitHub Releases 탐색

공식 저장소:

https://github.com/MidnightCommander/mc

여러 버전 시도:

wget https://github.com/MidnightCommander/mc/releases/download/4.8.31/mc-4.8.31.tar.xz
→ 404 Not Found

wget https://ftp.gnu.org/gnu/mc/mc-4.8.33.tar.xz
→ 404 Not Found

결론:

  • 일부 버전은 존재하지 않음
  • GNU FTP에는 최신 버전이 없음
  • GitHub release 태그와 실제 배포 버전이 일치하지 않는 경우 존재

 


5. 최종 결론: 존재하는 안정 버전으로 대체

실제 존재하고 다운로드 가능한 버전(예: 4.8.30)을 사용하기로 결정.

wget https://github.com/MidnightCommander/mc/archive/refs/tags/4.8.30.tar.gz
tar -xzf 4.8.30.tar.gz
cd mc-4.8.30

최신이 아니라 “존재하는 안정 버전”으로 대체하는 전략 선택.


6. SFTP 지원 포함 빌드

sudo dnf groupinstall "Development Tools" -y
sudo dnf install \
  autoconf automake libtool pkgconfig gettext \
  glib2-devel slang-devel ncurses-devel \
  libssh2-devel openssl-devel zlib-devel -y

./autogen.sh --prefix=/usr/local
./configure --prefix=/usr/local --enable-vfs-sftp
make -j$(nproc)
sudo make install
sudo ldconfig

7. sftp 포함 여부 확인

/usr/local/bin/mc -V
File system:
cpio, extfs, fish, ftp, sfs, sftp, tar

sftp가 포함되었음을 확인.


8. 기존 mc alias 충돌 해결

unalias mc
alias mc='/usr/local/bin/mc'
hash -r

9. SSH 비밀번호 반복 문제 해결

~/.ssh/config

Host DB_old
	HostName 192.168.100.100
	User root
	Port 2xxxx
	IdentityFile ~/.ssh/id_edxxxx
	IdentitiesOnly yes

Host 192.168.100.100
	User root
	Port 2xxxx
	IdentityFile ~/.ssh/id_edxxxx
	IdentitiesOnly yes

이후 비밀번호 없이 접속 가능:

mc sftp://192.168.100.100/

최종 정리

  • Rocky 8 repo에는 SFTP 지원 mc가 없음
  • GNU FTP에는 최신 4.8.x가 없음
  • GitHub 릴리즈는 버전 확인 필요 (404 다수)
  • 결론: 존재하는 안정 버전으로 대체 후 직접 빌드
  • libssh2-devel 포함하여 --enable-vfs-sftp 필수
  • alias 충돌 제거 필요
  • ssh config 정리하면 비밀번호 문제 해결

최신을 찾으려다 시간 낭비하지 말고, “존재하는 안정 버전 + 직접 빌드”가 가장 현실적인 선택이었다.


왜 이렇게까지 mc를 붙잡고 있었는가?

솔직히 말하면, 단순히 파일 몇 개 옮기기 위함은 아니었다.

목적은 하나였다.

  • 어디에서 접속하든 동일한 환경에서
  • GUI 없이도
  • 항상 SFTP가 가능하고
  • mc라는 익숙한 파일 툴을 그대로 사용할 수 있게 만들기 위함

서버가 바뀌어도, 배포판이 달라도, 테스트 서버든 운영 서버든 같은 방식으로 파일을 관리하고 싶었다.

결국 오늘의 삽질은 단순한 기능 추가가 아니라, “환경을 표준화하는 과정”이었다.

그래서 결론은 이렇다.

배보다 배꼽이 더 큰 하루였지만,
한 번 정리해 두면 어디에서나 동일한 작업 환경을 유지할 수 있다.