O que é o formato de ficheiro SFS?
Um arquivo .sfs é uma imagem de sistema de arquivos comprimido somente leitura Squashfs, comumente encontrada como o sistema de arquivos raiz live dentro de distribuições Linux em CD e USB. O kernel Linux pode montar imagens .sfs diretamente com mount -t squashfs, e o comando unsquashfs (do pacote squashfs-tools) extrai todos os arquivos sem a necessidade de montagem.
O Squashfs compacta uma árvore de diretórios inteira em uma única imagem binária comprimida. Um superbloco de 96 bytes no início identifica o formato - magic bytes hsqs (little-endian) ou sqsh (big-endian) - e registra o algoritmo de compressão, tamanho do bloco e offsets de tabela para inodes, diretórios e dados de fragmentos. Os arquivos são armazenados em blocos comprimidos de forma independente, permitindo acesso aleatório sem descompactar a imagem inteira.
Vários algoritmos de compressão são suportados e selecionados no momento da criação: gzip (original), lzma, lzo, xz, lz4 e zstd. O mksquashfs moderno usa xz por padrão para obter a melhor taxa; imagens de firmware embarcado frequentemente usam lzo para descompressão mais rápida em hardware de baixa potência.
ISOs de Linux Live (Ubuntu, Fedora, Kali Linux) incorporam o sistema de arquivos raiz como filesystem.squashfs ou filesystem.sfs dentro de um contêiner .iso. O Android usa Squashfs para partições /system. Roteadores OpenWrt e câmeras IP armazenam firmware em Squashfs. A extensão .squashfs também é amplamente utilizada para o mesmo formato.
- O Squashfs foi criado por Phillip Lougher em 2002 e integrado ao kernel Linux na versão 2.6.29 (março de 2009).
- O EROFS (integrado no Linux 5.4, 2019) é o sucessor moderno para implementações em Android e sistemas embarcados.
mksquashfscria imagens;unsquashfsas extrai; ambos estão no pacotesquashfs-tools.
Segurança e proteção
RISCO: LOWImagens Squashfs são contêineres de sistema de arquivos - as mesmas considerações de segurança se aplicam ao montar qualquer imagem de disco: os arquivos extraídos podem conter executáveis maliciosos ou ataques de link simbólico. Ao montar com «mount -o loop», use uma montagem somente leitura (já é o padrão para Squashfs). Extraia com unsquashfs e inspecione antes de executar qualquer binário. Imagens de firmware de fontes não oficiais podem conter backdoors.
Detalhes do formato
em resumo- Módulo SFS do Puppy Linux - O Puppy Linux usa .sfs especificamente para pacotes de complementos modulares em camadas sobre o sistema base.
- Arquivo StarCraft/Blizzard (não oficial) - Alguns arquivos de dados de jogos da Blizzard foram historicamente nomeados com .sfs, mas são um formato proprietário completamente diferente.
Programas que abrem arquivos SFS
Detalhes técnicos
especificação profunda| Assinatura do arquivo | 68 73 71 73 («hsqs», little-endian) no offset 0; variante big-endian: 73 71 73 68 («sqsh») |
| Tamanho do superbloco | 96 bytes - fixo; contém magic, versão, contagem de inodes, tamanho do bloco, tipo de compressão e offsets de tabela |
| Tipo de sistema de arquivos | Comprimido somente leitura - sem suporte a gravação após criado; remonte como overlay para sistemas live |
| Opções de compressão | gzip, lzma, lzo, xz/lzma2, lz4, zstd - selecionáveis no momento da criação com mksquashfs |
| Compressão padrão | xz no mksquashfs moderno; gzip em versões antigas; lzo comum em firmware embarcado |
| Tamanho do bloco | 4 KB - 1 MB (configurável na criação; padrão 128 KB) |
| Versão em disco | Squashfs 4.0 (2009); campo de versão no offset de byte 28 do superbloco |
| Integridade | Sem checksum por arquivo; CRC nos blocos de metadados de inode e diretório na v4.0 |
| Tamanho típico da imagem | 4-64 MB (firmware embarcado); 400-900 MB (sistema de arquivos raiz de ISO Linux Live) |
| Máximo de arquivos | ~4 bilhões (limite de número de inode de 32 bits) |
| Ordem dos bytes | Little-endian (nativo do host); variante big-endian existe para sistemas embarcados antigos |
| Ferramenta de criação | mksquashfs (pacote squashfs-tools) |
| Ferramenta de extração | unsquashfs (squashfs-tools); 7-Zip no Windows |
| Casos de uso comuns | Sistema de arquivos raiz de ISO Linux Live, partições /system de Android, firmware de roteadores OpenWrt e câmeras IP |
| Lançado | 2002 (Squashfs 1.0 by Phillip Lougher) |
| Versão mais recente | Squashfs 4.0 (2009, merged into Linux kernel 2.6.29) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | docs.kernel.org |
Conversões de SFS
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos SFS.