ROAMSWITCH · UNINSTALL
RoamSwitch 제거
RoamSwitch는 자신을 삭제하기 전에 네트워크에 가한 모든 변경을 되돌립니다. 앱만 지우면 방화벽 규칙, 게이트웨이 ARP 고정, DNS 덮어쓰기가 남아 통신이 계속 끊긴 상태가 될 수 있기 때문입니다.
1. 무엇이 실행되는가
제거는 아래 순서로 진행됩니다. 각 단계는 독립적이어서 하나가 실패해도 나머지는 실행되며, 마지막에 결과가 목록으로 표시됩니다.
- 네트워크 변경을 되돌립니다. Air-Gap 격리, 방화벽 규칙, VPN 및 Tailscale 킬 스위치, 포트 스캔 자동 차단, 게이트웨이 ARP 고정, DNS 덮어쓰기를 원래대로 돌립니다. Mac에서는 RoamSwitch가 중지한 서비스(SSH, 파일 공유, 화면 공유)도 다시 시작합니다.
- 서비스를 중지하고 등록을 해제합니다. Linux에서는 systemd 서비스와 타이머입니다. Mac에서는 권한 있는 헬퍼와 보조 서비스 2개, 로그인 항목, 시스템 확장(링크 가드)입니다.
- 배치한 미끼 파일을 삭제합니다. 랜섬웨어 탐지용 숨김 파일과 자격 증명 미끼(
~/.aws/credentials등)를 지웁니다. 내용에 RoamSwitch 표시가 있는 파일만 대상이며, 같은 경로에 있는 실제 파일과 심볼릭 링크는 건드리지 않습니다. - 설치 과정에서 추가한 설정을 삭제합니다. Linux에서는 apt 훅, Falco와 logrotate 설정 파일입니다. Mac에서는 npm과 pnpm의 셸 별칭입니다(해당 줄만 제거합니다).
- 프로그램 본체를 삭제합니다. Linux에서는 패키지 관리자(apt, dnf, zypper, pacman)로 삭제하며, 패키지 관리 밖에서 tarball로 설치했다면 파일을 직접 삭제합니다. Mac에서는 앱을 휴지통으로 옮깁니다(삭제가 아니므로 되돌릴 수 있습니다).
2. Mac에서
메뉴 막대의 RoamSwitch 아이콘에서 ‘🧰 복구 및 제거’ → ‘🗑 RoamSwitch 제거…’를 선택합니다.
확인 창에 게이트웨이의 현재 MAC 주소와 신뢰된 MAC 주소가 표시됩니다. 두 값이 다르거나 격리 원인이 사라졌는지 확인할 수 없으면 공격을 받는 중일 수 있으므로, ‘위의 위험을 이해하고 실행합니다’를 선택하기 전에는 ‘제거’ 버튼을 누를 수 없습니다. 가능하면 테더링 같은 다른 네트워크로 옮긴 뒤 실행하세요.
‘설정, 기록, 라이선스 정보도 삭제’는 기본적으로 꺼져 있습니다. 꺼 두면 ~/Library/Application Support/RoamSwitch(격리한 위협, 기록)와 라이선스 정보가 남아 나중에 다시 설치할 때 이어서 쓸 수 있습니다. 켜면 그것들과 설정, 권한 있는 헬퍼가 보관하던 데이터가 모두 삭제됩니다.
시스템 확장(링크 가드)을 사용했다면 시스템 설정에서 제거 승인을 요청할 수 있습니다. 승인하면 제거가 완료됩니다. 승인을 요청받지 않아도 앱을 삭제한 시점에 제거가 예약되어, 다음에 Mac을 재시동하면 완료됩니다.
마지막으로 앱이 휴지통으로 옮겨지고 RoamSwitch가 종료됩니다. 휴지통을 비우면 앱 본체도 사라집니다. 결과는 목록으로 표시되며, 실패한 항목이 있으면 그 이유도 함께 나옵니다.
3. Linux에서
데스크톱(트레이)에서
트레이 아이콘에서 ‘🧰 복구 및 제거’ → ‘🗑 RoamSwitch 제거…’를 선택합니다. 확인 창의 동작은 Mac과 같습니다(위험이 있으면 승인 체크가 필요하고, ‘설정, 상태, 기록도 삭제’는 기본적으로 꺼져 있습니다). ‘제거’를 누르면 관리자 암호(polkit)를 요청하며, 완료되면 앱이 종료됩니다.
명령줄에서
sudo roamswitch uninstall sudo roamswitch uninstall --purge sudo roamswitch uninstall --yes
--purge를 붙이면 설정, 상태, 기록도 삭제합니다. --yes를 붙이면 의심스러운 점이 없을 때 확인 질문을 생략합니다. 아무것도 붙이지 않으면 설정과 기록은 남습니다.
게이트웨이가 신뢰된 것과 일치하지 않거나 격리 원인이 사라졌는지 확인할 수 없으면 경고를 표시하고, UNINSTALL을 입력하기 전에는 진행하지 않습니다. 터미널이 없는 환경(스크립트 등)에서는 위험을 이해하고 --force를 붙이지 않는 한 아무것도 변경하지 않고 종료 코드 2로 끝납니다.
패키지 관리자로
sudo apt remove roamswitch sudo apt purge roamswitch sudo dnf remove roamswitch sudo zypper remove roamswitch sudo pacman -R roamswitch
apt purge는 설정, 상태, 기록도 삭제합니다(apt remove는 남겨 둡니다). dnf, zypper, pacman에서는 설정과 기록이 남습니다.
패키지를 삭제하기 직전에 위와 같은 네트워크 복구, 서비스 중지, 미끼 파일 삭제가 자동으로 실행됩니다. 이 경로에서는 확인을 묻지 않습니다. 삭제 후에는 네트워크를 관리할 구성 요소가 남지 않으므로, 통신이 끊긴 채로 남는 것을 막는 것을 우선합니다. tarball로 설치했다면 roamswitch uninstall이 파일을 직접 삭제합니다.
apt 저장소 설정(/etc/apt/sources.list.d/roamswitch.list)과 서명 키는 그대로 남습니다. 필요 없으면 직접 삭제하세요.
4. 남는 것과 건드리지 않는 것
- ClamAV, nftables, Falco, Tailscale, WireGuard 도구 등 RoamSwitch와 별도로 설치한 소프트웨어는 삭제하지 않습니다.
- 미끼 파일과 같은 위치에 있으면서 RoamSwitch 표시가 없는 실제 파일은 삭제하지 않습니다.
- 설정, 상태, 기록은 Linux에서
--purge(apt라면apt purge)를 선택하거나 Mac에서 확인 창의 체크를 선택하지 않는 한 남습니다.
5. 제거 후에도 통신이 되지 않을 때
첫 단계에서 통신을 막을 수 있는 변경을 모두 되돌립니다. 그래도 통신이 되지 않으면 Wi-Fi를 다시 연결하거나 랜 케이블을 다시 꽂아 DHCP를 갱신해 보세요. RoamSwitch를 삭제하기 전이라면 같은 복구만 따로 실행할 수 있습니다. Linux에서는 sudo roamswitch emergency-restore, Mac에서는 메뉴의 ‘🧰 복구 및 제거’ → ‘🆘 네트워크 긴급 복구…’입니다.