# rip2 - 더 안전한 Rust 기반 rm

> Clean Markdown view of GeekNews topic #17741. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17741](https://news.hada.io/topic?id=17741)
- GeekNews Markdown: [https://news.hada.io/topic/17741.md](https://news.hada.io/topic/17741.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2024-11-14T09:33:02+09:00
- Updated: 2024-11-14T09:33:02+09:00
- Original source: [github.com/MilesCranmer](https://github.com/MilesCranmer/rip2)
- Points: 10
- Comments: 2

## Summary

`rip2`는 Rust로 작성된 `rm`의 대체제로, 삭제된 파일을 복구할 수 있도록 `graveyard` 디렉토리에 보관하며 덮어쓰지 않는 기능을 제공합니다. 이 프로젝트는 Windows와 NixOS 지원을 추가하고, 최신 Rust로 리팩토링되었으며, 전체 테스트 스위트와 커버리지 모니터링이 추가되었습니다. 다양한 셸의 자동완성 기능을 지원하고, 동시 프로세스 간 레이스 조건 방지를 위한 flock 구현으로 안전성을 향상시켰습니다.

## Topic Body

- `rip`은 Rust로 작성된 `rm`의 대체제로 안전성/편의성/성능에 중점을 두고 있음  
- 삭제된 파일은 절대 경로를 유지한 채 `graveyard` 디렉토리에 보관됨 (`/tmp/graveyard-$USER`), 따라서 데이터를 복구할 수 있는 기회를 제공  
  - 데이터는 덮어쓰이지 않음. 같은 경로의 파일이 삭제될 경우 백업 번호가 붙여짐  
- "rip2"는 기존 `rip` 프로젝트의 여러 포크 중 하나이며, 세 번째 포크임:  
  - 원래 프로젝트는 2020년 이후 유지보수가 중단됨  
- 추가된 변경사항:  
  - **확장된 지원**: Windows, NixOS 지원 추가  
  - **코드 정리**: 최신 Rust로 리팩토링, 원본 저장소의 PR 병합  
  - **테스트 추가**: 전체 테스트 스위트와 커버리지 모니터링 추가  
  - **스타일 개선**: 컬러풀한 출력과 seance의 날짜/시간 정보 추가  
  - **버그 수정**: FIFO 파일 및 seance 관련 문제 수정  
  - **셸 자동완성 기능**: bash, elvish, fish, powershell, zsh, nushell 등의 자동완성 지원 (clap 사용)  
  - **안전성 향상**: 동시 프로세스 간 레이스 조건 방지를 위한 flock 구현  
- Linux, macOS, Windows에서 설치 및 사용 가능

## Comments



### Comment 31275

- Author: aer0700
- Created: 2024-11-15T07:38:38+09:00
- Points: 1

RIP...

### Comment 31237

- Author: bus710
- Created: 2024-11-14T11:21:41+09:00
- Points: 1

이제 sudo rm -rf / 에도 한줄기 희망이 생기나요....?  
물론 alias rm=rip2....
