Squashfs é um sistema de arquivos compactado somente leitura para Linux. Squashfs comprime arquivos, inodes e diretórios, e suporta tamanhos de bloco de até 1 MB para maior compressão. Vários algoritmos de compressão são suportados. Squashfs também é o nome do software livre, licenciado sob a GPL, para acessar os sistemas de arquivos Squashfs.

Squashfs
Desenvolvedor Phillip Lougher, Robert Lougher
Nome completo Squashfs
Lançamento 2002 (Linux)
Limites
Tamanho Máximo de arquivo 16 EiB (264 bytes)
Tamanho máximo do volume 16 EiB (264 bytes)
Recursos
Atributos POSIX e Atributos estendidos
Compressão transparente gzip, LZMA, LZO, LZMA2 e LZ4
Sistemas operativos suportados Linux, Android[1]
Portal das Tecnologias de informação

Squashfs foi projetado para ser um sistema de arquivos somente leitura de uso geral e para uso em dispositivos que possuem sistema de armazenamento com capacidade limitada (por exemplo, sistemas embarcados), onde é necessária baixa sobrecarga.

Usos editar

Squashfs é usado pelas versões de Live CD do Arch Linux, Debian, Fedora, Gentoo Linux, Linux Mint, Salix, Ubuntu e em distribuições para dispositivos embarcados, como o OpenWrt[2] e o firmware do roteador DD-WRT. Também é usado no Chromecast[3] e para as partições do sistema do Android Nougat[4]. Muitas vezes, é combinado com um sistema de arquivos de montagem de união, como UnionFS, OverlayFS ou aufs, para fornecer um ambiente de leitura e gravação para distribuições Linux em Live CD. Com isso, aproveita-se a habilidade de compressão de alta velocidade do Squashfs juntamente com a habilidade de alterar o conteúdo da distribuição enquanto ela roda do Live CD. Distribuições como Debian Live, Mandriva One, Puppy Linux, Salix Live e Slax usam essa combinação.

Squashfs também é usado pelo Linux Terminal Server Project e Splashtop. As ferramentas unsquashfs e mksquashfs foram portadas para o Windows NT[5] - Windows 8.1[6]. 7-Zip também suporta Squashfs.[7]

História editar

Squashfs foi inicialmente mantido como um patch fora de árvore do Linux. A versão inicial 1.0 foi lançada em 23 de outubro de 2002.[8] Em 2009, o Squashfs foi incorporado na linha principal do Linux como parte do kernel Linux na versão 2.6.29.[9][10] Nesse processo, o código de retrocompatibilidade para os formatos mais antigos foi removido. Desde então, o código do espaço do kernel do Squashfs foi mantido na árvore principal do Linux, enquanto as ferramentas do espaço do usuário permanecem na página do projeto no Sourceforge.net.[11]

A versão original do Squashfs usou a compressão gzip, embora o kernel do Linux na versão 2.6.34 adicionou suporte para a compressão LZMA[12] e LZO[13], o kernel do Linux na versão 2.6.38 adicionou suporte para a compressão LZMA2 (que é usado por xz)[14] e o kernel do Linux na versão 3.19 adicionou suporte para a compressão LZ4.[15]

O kernel linux versão 2.6.35 adicionou suporte para atributos estendidos de arquivo.[16]

Ver também editar

Referências

  1. «Documentation/filesystems/squashfs.txt - kernel/common - Git at Google» (em inglês). android.googlesource.com. Consultado em 21 de setembro de 2017 
  2. «The OpenWrt Flash Layout - OpenWrt Wiki» (em inglês). Wiki.OpenWRT.org. 25 de agosto de 2012. Consultado em 8 de novembro de 2012 
  3. http://blog.gtvhacker.com/2013/chromecast-exploiting-the-newest-device-by-google/
  4. https://arstechnica.com/gadgets/2016/05/android-n-borrows-chrome-os-code-for-seamless-update-installation/
  5. «Squashfs tools for Windows» (em inglês). 23 de fevereiro de 2017. Consultado em 22 de setembro de 2017 
  6. «Bestandssysteem – SquashFS Tools (Software)» (em neerlandês). Consultado em 22 de setembro de 2017 
  7. «7-Zip». Consultado em 22 de setembro de 2017 
  8. «Squashfs CHANGES file» (em inglês). 8 de agosto de 2014. Consultado em 19 de abril de 2017 
  9. «Linux 2 6 29 -- Linux Kernel Newbies» (em inglês). Linux Kernel Newbies. 10 de junho de 2009. Consultado em 19 de abril de 2017 
  10. «Btrfs and Squashfs merged into Linux kernel - The H Open: News and Features» (em inglês). The H Open. 10 de janeiro de 2009. Consultado em 19 de abril de 2017 
  11. «Squashfs README file» (em inglês). 5 de maio de 2014. Consultado em 19 de abril de 2017 
  12. «Official Squashfs LZMA» (em inglês). Squashfs-LZMA.org. Consultado em 8 de novembro de 2012 
  13. «Linux 2 6 34 - Linux Kernel Newbies» (em inglês). KernelNewbies.org. Consultado em 8 de novembro de 2012 
  14. «Linux 2 6 38 - Linux Kernel Newbies» (em inglês). KernelNewbies.org. Consultado em 8 de novembro de 2012 
  15. Merge of LZ4 Squashfs support to Linus Torvalds tree.
  16. «Linux 2 6 35 - Linux Kernel Newbies» (em inglês). KernelNewbies.org. Consultado em 8 de novembro de 2012 

Ligações externas editar


  Este artigo relativo a GNU/Linux é um esboço. Você pode ajudar a Wikipédia expandindo-o.