BTRBKbtrfs
스냅샷을 이용하여 자동 백업을 보내고 받는 스크립트입니다. "백엔드"가 있습니다btrfs-progs-btrbk, 이는 개별 바이너리를 생성하는 데 사용되는 패치 세트입니다 btrfs-progs
. 이러한 바이너리의 목적은 (7)을 사용하여 권한 분리를 허용하는 것입니다. 따라서 btrfs-subvolume-show
btrbk가 cron 스크립트로 실행될 때 루트 권한을 부여할 필요가 없으며 몇 가지 하위 명령만 있으면 됩니다.btrfs-subvolume-list
capabilities
btrfs
단순히 각 명령에 대해 일련의 스크립트를 제공하는 대신 패치 세트를 사용하는 이유가 무엇인지 혼란스럽습니다. 결국 btrbk
그것은 펄 텍스트 그 자체이다. 누구든지 통찰력이 있습니까?
답변1
btrfs-subvolume-show
그것이 어디서 온다고 생각하시나요 ? btrfs-progs를 다시 빌드하면 다음과 같이 분할됩니다. Perl 스크립트를 통해 단일 C 프로그램을 여러 프로그램으로 마법처럼 리팩터링하는 것은 비현실적입니다.
이 저장소를 이전 버전과 비교하세요.태그 5.1 말하기. "구분된" Makefile 대상에 대한 변경 사항, 어떤 함수가 어떤 바이너리에 있는지 주석을 달아주는 메타데이터, 그리고 이를 선택적으로 만들기 위한 #ifdef 묶음에 주목하세요. 여기의 역사는 모르지만 이렇게 영리한 패치 세트가 업스트림에서 승인되려면 시간이 좀 걸릴 수 있습니다.
답변2
글쎄요, 보안 문제입니다. 저자의 인용문btrbk,
...스크립트에서 setcap을 활성화하는 것은 나쁜 생각이며(대부분의 시스템에서는 불가능하다고 생각하는 쉘 해석기를 설정하고 싶지 않을 것입니다) "상속 가능한" 기능을 설정해야 합니다. (7) 비트 .
그는 시도했다패치 업스트림 병합, 하지만 지금까지는 운이 좋지 않았습니다.