
다음과 같이 스트림을 암호화하는 프로젝트가 있습니다.
some_command | gpg --keyring tempkeyring.gpg --recipient "person" --output filename.gpg --encrypt
그러면 스트림이 진행되고 암호화가 이미 시작된 동안 현재 사용되는 키링을 삭제하면 프로세스가 손상됩니까? 키링은 임시적이며 스크립트가 실행될 때마다 새로 생성됩니다. 나는 커널이 여전히 시스템이 파일에 액세스하도록 허용하고 gpg가 작업을 마치면 공간을 확보할 것이라고 추측합니다. gpg가 뒤집어질까요, 아니면 암호화가 잘 끝날까요?
운영 체제는 Linux RHEL 및 CentOS 커널 2.6 이상입니다.
답변1
조사한 결과 이것이 Linux 커널에 대한 답변이지만 다른 운영 체제나 파일 시스템을 전혀 포함하지 않습니다.
gpg는 상관하지 않습니다. 나는 이것이 시스템 내의 다른 삭제와 마찬가지로 취급한다고 생각합니다. *nix 환경에서 파일을 삭제하면 해당 파일이 실제로 '연결 해제'됩니다. 파일에 대한 모든 링크를 제거하면 시스템은 파일을 삭제하고 공간을 확보합니다. Linux(및 Unix, 저는 확신합니다...) 커널이 하는 일은 파일의 링크를 해제한 다음 해당 파일을 사용하는 프로그램이 있는지 확인하고, 만약 그렇다면 해당 파일을 사용하는 프로그램이 닫힐 때까지 기다린 다음 파일을 해제하는 것입니다. 실제로 파일을 삭제하여 공간을 확보하세요. 파일이 이미 연결 해제되었으므로 다른 누구도 해당 파일에 액세스할 수 없지만 현재 열려 있는 응용 프로그램은 이름으로 파일에 액세스하려고 시도하지 않고 현재 열려 있는 핸들만 사용하는 한 문제가 없습니다.