Escolar Documentos
Profissional Documentos
Cultura Documentos
Ambiente virtual
TUTORIAL
uma tarefa comum: voc arquivos para um formato alternati- vimento do FUSE. Infelizmente, o
quer apenas que os usurios vo (de .doc, para .odt, por exemplo). script ./configure no ir notific-lo
vejam determinados arqui- Os sistema de arquivos cmdfs se o pacote est faltando, mas atra-
vos em um servidor de arquivos e baseado em FUSE [2] e lhe permite vs do comando aptitude install
que tambm possam alterar esses criar filtros de contedo sem a ne- libfuse-dev voc poder instalar o
arquivos dinamicamente durante o cessidade de o administrador passar pacote sem grandes problemas.
acesso. Da grande coleo de arqui- pela tarefa demorada e propensa Para o cdigo fonte do cmdfs,
vos no servidor, talvez voc queira a erros tarefa de criao de uma consulte o site da ferramenta. De-
que o departamento pessoal veja estrutura complexa de diretrios e pois que o pacote de desenvolvimen-
apenas os documentos pertencentes links. Embora a ltima verso do to do FUSE instalado, o familiar
a ele e o departamento financeiro cmdfs remonte a 2010, o aplicativo processo de baixar, descompactar,
apenas os arquivos relacionados funciona bem e atende o propsito executar os comandos ./configure,
equipe correspondente. a que se destina. make e make install ir cuidar da con-
O cmdfs [1] uma ferramenta figurao do cmdfs. Se voc prefere
til que cria um sistema de arquivos Instalao saber quais programas sero instala-
virtual, filtrando o contedo a partir A menos que o repositrio de sua dos pelo gerenciador de pacotes, use
de uma rvore de diretrios j exis- distribuio Linux oferea o pacote o comando checkinstall ao invs de
tente. Com o cmdfs possvel criar cmdfs por padro, a instalao requer make install.
um sistema de arquivos virtual que algum trabalho manual com o arquivo Aps concluir a instalao, os
contm apenas determinadas partes de cdigo fonte, j que, at agora, o administradores que precisam
do sistema de arquivos de origem que cmdfs no encontrou seu caminho ser membros do grupo fuse em al-
voc deseja disponibilizar aos usu- para os repositrios do Debian ou gumas distribuies podem usar
rios. No entanto, o cmdfs pode fazer do Ubuntu). o comando cmdfs para criar vises
muito mais, incluindo recursos de Para compilar o cdigo fonte, alternativas para arquivos ou dire-
filtragem para transformar os arqui- voc precisa do pacote de desenvol- trios usando uma sintaxe mode-
vos de acordo com especificaes
predeterminadas. Por exemplo, voc Listagem 1: Cmdfs no fstab
poderia usar o recurso de filtragem 01 []
do cmdfs para reduzir a resoluo 02 cmdfs#/Data /home/Benutzername/test fuse
das imagens digitais que estivessem user,mime-re=image/*,hide-empty-dirs,command=convert\
040-\040-sepia-tone\04090%\040- 0 0
grandes demais ou para converter
72 www.linuxmagazine.com.br
Sistemas de arquivos virtuais | TUTORIAL
Filtro de arquivos
Como um exemplo do cmdfs em
ao, suponha que eu queira criar
um sistema de arquivos que monta
um diretrio de origem, mas apenas
mostra os arquivos de um tipo espe-
cfico, e que eu tambm queira isso
para esconder diretrios vazios ou
seja, os diretrios que no contm
Figura 1 O diretrio de origem est esquerda, e o diretrio montado com
arquivos do tipo especificado. Se o cmdfs est direita. O usurio s enxerga diretrios com arquivos
tipo de arquivo em que estou inte- que combinam com o tipo MIME de imagem.
ressado .jpg, devo usar o comando:
execute o comando file com a op- Pelo fato de a ferramenta convert
cmdfs ~/Data ~/test -o
extension=jpg,hide-empty-dirs o --mime-type: poder lidar com escalonamento sim-
file --mime-type ples, bem como executar diversas outras
A extenso do arquivo no diferen- LibreOfficeText.odt operaes, um parceiro perfeito para
cia maisculas de minsculas. Se voc LibreOfficeText.odt: application o cmdfs. A seguinte linha de comando
vnd.oasis.opendocument.text
estiver fazendo isso para vrios tipos gera todos os arquivos de imagem no
de arquivo, use uma lista separada ponto de montagem com uma altura
por ponto e vrgula entre aspas, como: Edio direta e largura mximas de 800 pixels:
testes, uma boa ideia apagar regu- Quando uma mudana des- ~/teste. Neste caso, o cmdfs parecia
larmente o contedo do diretrio coberta, ele pode disparar aes entrar em um loop infinito em algu-
de cache. A excluso de arquivos automatizadas. Por exemplo, voc mas distribuies quando tentamos
em cache importante porque o pode informar seus usurios sobre acessar o ponto de montagem com,
cmdfs s cria arquivos em cache se as alteraes nos arquivos no dire- por exemplo, ls -l.
as datas de modificao dos arquivos trio de origem, ou pode iniciar Entramos em contato com o de-
forem alteradas. automaticamente uma ferramenta senvolvedor, mas seus esforos para
Embora seja possvel especificar de leitura OCR para documentos a resoluo dos problemas no che-
uma data de expirao do cache que so digitalizados. Se quiser usar garam a uma explicao para este
no ato da montagem do sistema este mecanismo em seus prprios comportamento antes da concluso
de arquivos usando o parmetro -o scripts, ser necessrio carregar as deste artigo. Uma possvel causa po-
cache-expiry, isto causar picos de ferramentas inotify a partir dos re- deria ser permisses incorretas para
sobrecarga no sistema. Quando o positrios apropriados [5]. o diretrio de cache (o Syslog relata
cmdfs acessar o ponto de montagem, Para uso permanente, talvez voc esse tipo de erro.)
recriar todos os arquivos no cache queira integrar o ambiente em seu
aps a data de validade ter expirado. arquivo /etc/fstab para montar o Faa testes
O parmetro -o oferece algumas sistema de arquivos virtual automa- Se preferir no usar seus prprios
outras opes teis alm do geren- ticamente. Por exemplo, adicione a arquivos como candidatos a teste,
ciamento de cache. A tabela 1 mos- entrada que est na listagem 1 para ou se no quiser criar arquivos de
tra algumas das mais importantes. o exemplo da converso das imagens teste por sua prpria conta e risco,
para spia. Para certificar-se de que a ainda possvel baixar arquivos de
Dinmico entrada seja montada como preten- exemplo da Internet.
Todos os exemplos at agora tm dido, tambm necessrio substituir Existe uma grande coleo de
sido estticos, o que significa que o os espaos em branco na linha de dados de teste, incluindo arquivos
cmdfs ir ignorar novos arquivos e comando com \040. de imagem, com tamanhos de at
diretrios da rvore de origem. No 35GB, em sites como o Digital Cor-
entanto, se voc adicionar o parme- Problemas estranhos pora [6]. Teste e divirta-se.
tro monitor opo -o, poder dizer Em nosso laboratrio, os nicos
ao cmdfs para monitorar os arquivos problemas que encontramos fo- Mais informaes
originais. Para fazer isso, o cmdfs de- ram quando o diretrio e o ponto
[1] Cmdfs: http://sourceforge.
pende de um mecanismo do kernel de montagem residiam no mesmo net/projects/cmdfs/
Linux chamado inotify [4]. local por exemplo, ~/Documentos e
[2] FUSE, Filesystem in
Parmetro Significado Userspace: http://fuse.
-o command=shell command Comandos Shell para converso direta sourceforge.net
74 www.linuxmagazine.com.br