Você está exatamente certo. Depende um pouco do formato de arquivo e compactação precisos usados, mas geralmente, no mínimo, todos os dados armazenados "após" o arquivo excluído devem ser reescritos.
Demora mais tempo para excluir arquivos de um arquivo zip grande e um arquivo rar do que um arquivo menor? Eu acho que para um arquivo ser deletado de um arquivo, todos os dados que existirem após o arquivo deletado teriam que ser reescritos no arquivo, demorando mais tempo, ao invés de um arquivo menor, onde a quantidade de dados a ser reutilizada -write é menos ... se não, como esses arquivos podem remover dados do meio do repositório sem reescrever o resto dos dados?
Você está exatamente certo. Depende um pouco do formato de arquivo e compactação precisos usados, mas geralmente, no mínimo, todos os dados armazenados "após" o arquivo excluído devem ser reescritos.
tar não suporta modificação de arquivo compactado. então você deve reescrever completamente o arquivo tar, temporariamente manter um descompactado. isso depende do formato do arquivo tar.
Com relação a @David (o pôster anterior), sinto que a resposta dada é um pouco deficiente.
Vamos analisar as perguntas:
1. Demora mais tempo para excluir arquivos de um arquivo zip grande e um arquivo rar do que um arquivo menor?
Sim, porque o arquivo é maior. No entanto, esta é uma generalização absurda. Considerando os dois principais fatores que podem afetar isso: tamanho do arquivo e número de arquivos arquivados.
Se houver apenas um arquivo arquivado, essencialmente o que você está fazendo é excluir o arquivo em si. Se houver muitos arquivos, no entanto, os programas de arquivamento (e formatos) terão maneiras diferentes de tratar arquivos.
O Tar, por exemplo, era destinado a ser um formato de arquivo sequencial para armazenar arquivos em fita. Uma das desvantagens é que, como não há "índice", ele precisa iterar todo o arquivo para encontrar uma pasta ou um arquivo.
O Rar, por outro lado, tem uma opção para fazer arquivos sólidos . Um arquivo sólido é um arquivo onde todas as informações foram tratadas anteriormente como um fluxo grande. Isso significa que, sempre que alguém quiser acessar, editar, adicionar ou excluir um arquivo, o arquivo inteiro deverá primeiro ser descompactado e recompactado.
E agora chegamos a algo novo: taxa de compactação. Se os arquivos forem altamente compactados, levará mais tempo, não importa o algoritmo, para acessá-los. Embora isso dependa do tipo de arquivo que está sendo compactado (os arquivos de texto (não .docx) têm alta redundância para que possam ser descompactados rapidamente)
2. Como esses arquivos podem remover dados do meio do arquivo sem reescrever o restante dos dados?
O raciocínio anterior a essa pergunta nem sempre é válido, exceto pelo arquivo "sólido" do rar.
Barring Tar (por razões mostradas no link da Wikipedia), tanto zip quanto rar têm algo como uma "tabela de conteúdo" que permite que os arquivos extraiam dados seletivamente. Tudo isso é feito sem recomprimir os dados existentes, embora algumas coisas precisem ser alteradas dentro do arquivo para informar que o arquivo não existe mais.
Pense em um arquivo como uma pequena caixa, onde cada arquivo é espremido e espremido para ajustá-lo. Assim que você pegar um item, a caixa será inserida para preencher o espaço.