
우분투 10.04를 사용하고 있습니다. 나는 내 스크립트에서 꽤 자주 사용하는 데이터 파일과 (많은 하위 디렉터리)이 포함된 큰 디렉터리를 가지고 있습니다. 나는 이 슈퍼 디렉토리에 있는 파일/디렉터리를 실수로 제거/덮어쓰기/변경하지 않도록 하고 싶습니다.
어떻게 해야 합니까?
답변1
대부분 보호 수준을 낮추고 편의성을 높이는 순서로 정렬됩니다.
CD-ROM과 같은 물리적으로 읽기 전용 미디어에 파일을 저장합니다.
읽기 전용으로 마운트하는 별도의 파일 시스템에 파일을 저장합니다.
관리자인 경우 다른 사용자를 생성하고 해당 파일을 다른 사용자가 소유하도록 만드십시오.
퓨즈 사용바인드(Ubuntu 패키지
bindfs
) 디렉토리 트리의 읽기 전용 보기를 생성하고 이 읽기 전용 보기에서 스크립트를 가리킵니다.:bindfs -p a-w /path/to/actual/tree /path/to/readonly/view myscript -d /path/to/readonly/view
를 사용하여 디렉토리 트리를 읽기 전용으로 만듭니다
chmod a-w /path/to/tree
.하드 링크된 파일을 사용하여 트리의 복사본을 만들고 스크립트에서 해당 복사본을 가리킵니다. 그러면 스크립트가 기존 파일을 계속 수정할 수 있지만 파일을 생성, 제거 또는 교체하는 경우 복사본에만 영향을 미칩니다.
cp -al /path/to/actual/tree /path/to/readonly/view myscript -d /path/to/readonly/view
BINDFS를 사용하는 것이 좋습니다. 귀하의 요구 사항에 따라 다른 작업을 수행하는 유일한 이유는 해당 요구 사항을 사용할 수 없는 경우입니다.
스크립트가 디렉토리 트리에 쓸 수 있기를 원하지만 실제 파일에는 영향을 주지 않고 통합 파일 시스템을 사용할 수 있습니다. 예를 들어재미또는Unionfs-퓨즈.
답변2
무슨 일이 있어도 결국에는 언제든지 삭제할 수 있기 때문에 실질적인 방법은 없습니다.
그래도 파일 권한을 사용해 볼 수 있습니다. 디렉터리를 마우스 오른쪽 버튼으로 클릭하고 폴더 액세스를 파일 액세스로 설정하고 파일 액세스를 읽기 전용으로 설정합니다. 그런 다음 첨부된 파일에 권한 적용을 클릭하세요. 이렇게 하면 해당 디렉터리의 파일을 삭제하기로 결정할 때 이 설정을 수동으로 해제해야 합니다.
답변3
rsync
디렉토리를 다른 디렉토리에 추가 하고 --link-dest
하드링크를 생성하여 추가 공간을 차지하지 않도록 할 수 있습니다.
좋은 글은모든 유닉스를 위한 타임머신.
답변4
실수하는 것은 인간이다. 방금 일어났는데도 여전히 졸려서(숙취 없음) 중요한 파일을 삭제한 적이 있습니다. :) 다행스럽게도 그런 어리석은 행동의 부정적인 영향을 완화하는 데 도움이 되는 몇 가지 요령을 배운 지 한참 후에 그런 일이 일어났습니다. 여기 있습니다:
- 항상 백업을 만들고, 백업에 포함되어야 할 내용이 실제로 포함되어 있는지 주기적으로 확인하고, 파일이 손실되는 상황을 방지하려면, 백업에서 해당 파일을 복원하고 어떤 이유로든 해당 파일이 백업에 포함되어 있지 않은지 확인하세요.
- 버전 제어 사용
- inotify와 같은 회계 시스템을 사용하면 파일 시스템 변경 사항을 추적하는 데 도움이 됩니다.
그 사건을 계기로 저는 "아직 졸려 있을 때는 절대 컴퓨터를 만지지 마세요"라는 단호한 규칙을 추가로 세웠습니다.