mini-COMO FAZER montagem automática ou Automount don@sabotage.org v0.3, 22 de Outubro de 1998 Este arquivo descreve o montador automático autofs, como configurá-lo, e alguns problemas a serem evitados. ______________________________________________________________________ Índice geral 1. Introdução 1.1 mount Automático - o que e por que 1.2 Tipos de automontagem 2. Instalação 3. Configuração 4. Essa longa espera pela desmontagem 5. Dúvidas 5.1 Não vejo /auto/floppy, ou qualquer ponto de montagem que estou procurando. 5.2 Como eu vejo o que foi montado? 5.3 Coloco um disco do win95 ("vfat") e ele é mostrado como apenas um disco FAT regular. 5.4 Meu sistema de arquivo 5.5 Quem eu agradeço pelo autofs? 5.6 Onde posso aprender mais sobre automontagem? ______________________________________________________________________ 11.. IInnttrroodduuççããoo 11..11.. mmoouunntt AAuuttoommááttiiccoo -- oo qquuee ee ppoorr qquuee O mount automático é o processo onde a montagem (e desmontagem) de certos sistemas de arquivos é feita automaticamente por um programa residente. Se o sistema de arquivos está desmontado, e um usuário tenta acessá-lo, ele será automaticamente (re)montado. Isto é especialmente útil em grandes ambientes de rede e para montagens de sistemas de arquivos entre várias máquinas (especialmente aquelas que nem sempre estão ligadas). Isto também pode ser muito útil para dispositivos removíveis, ou outros usos, como como um fácil chaveamento entre a montagem de conversão ascii forçada do sistema de arquivo e uma mesma montagem não forçada. 11..22.. TTiippooss ddee aauuttoommoonnttaaggeemm Há dois tipos de automontagem no Linux; _A_M_D e _a_u_t_o_f_s. AMD é o programa residente que faz a automontagem, e supostamente funciona como o AMD do SunOS. Ele é implementado no espaço do usuário, o que significa que ele não é parte do kernel. Não é necessário para o kernel entender a automontagem se a sua montagem do NFS para a máquina local passa pelo programa residente do AMD, que faz as rotas de todos os tráficos de sistemas de arquivos automaticamente montados através do sistema NFS. O autofs é um sistema novo auxiliado pelo kernel, o que significa que o código do sistema de arquivos do kernel sabe onde estão os pontos de montagem do automount, diferente de um sistema de arquivos subjacente, e o programa de montagem automática pega isso de lá. Apenas o autofs será descrito neste mini-COMO FAZER. 22.. IInnssttaallaaççããoo Por causa que o autofs é implementado no espaço do kernel, o seu kernel deve ter o suporte incorporado. Nos kernels 2.0.xx isto é uma opção experimental, mas parece ser estável. Nos 2.1.xx (e presupostamente nos 2.2.xx) não é experimental. O programa de montagem automática e seus arquivos de configuração também são necessários; usar os rpms ( da RedHat, como parte da instalação ) é um bom método. O programa de montagem automática deve ser inicializado por um roteiro rc no diretório /etc/rc.d/init.d. O rpm faz isso, mas você deve ter certeza que ele é inicializado, fazendo uma ligação do seu diretório rc?.d, usando o painel de controle da Red Hat, ou conseguindo fazer a inicialização de algum jeito em outra distribuição. Distribuições que não usam rpm terão de fazer alguma coisa aplicável para seus sistemas. E não parece ser muito difícil fazer o que o roteiro rc faz; se você está lendo este COMO FAZER, isto significa que provavelmente você não quer saber isso. 33.. CCoonnffiigguurraaççããoo A instalação dos RPMs irá trazê-lo para este ponto de modo fácil, mas aqui está uma parte que você pode não ter certeza se está feita ou não. Há dois arquivos no diretório /etc, um é chamado de auto.master e outro de auto.misc. Meu auto.master está assim: /auto /etc/auto.misc --timeout 60 A primeira entrada não é o ponto de montagem, e sim onde os pontos de montagem ( achados na segunda entrada ) ficarão. A terceira opção diz que os sistemas de arquivos montados podem tentar se desmontarem 60 segundos depois de usados. É claro que eles não podem se desmontar se estiverem em uso. O auto.misc é um "arquivo mapa". Arquivos de mapa múltiplos podem ser definidos no auto.master. O meu auto.misc está assim: kernel -ro,soft,intr ftp.kernel.org:/pub/linux cd -fstype=iso9660,ro :/dev/cdrom zip -fstype=auto :/dev/hdd4 floppy -fstype=vfat :/dev/fd0 A primeira coluna (a "chave") é o ponto de montagem. Neste caso será /auto/floppy ou outra coisa. O meio são as opções; leia a página do manual do mount para mais detalhes a respeito. E a última coluna especifica de onde vem o sistema de arquivos. A entrada do "kernel" supostamente deve ser uma montagem do NFS. O ":" em todas as outras linhas significa que são dispositivos locais. 44.. EEssssaa lloonnggaa eessppeerraa ppeellaa ddeessmmoonnttaaggeemm Alguns de vocês podem estar olhando estes 60 segundos e pensando, _é _b_a_s_t_a_n_t_e _t_e_m_p_o _d_e _e_s_p_e_r_a _p_e_l_a _e_j_e_ç_ã_o _d_e _u_m _d_i_s_q_u_e_t_e_._._. _T_a_l_v_e_z _v_o_c_ê _i_r_á _a_p_e_n_a_s _s_i_n_c_r_o_n_i_z_a_r _o_s _d_i_c_o_s _e _c_o_l_o_c_á_-_l_o_s _q_u_a_n_d_o _m_o_n_t_a_d_o_s _e _n_i_n_g_u_é_m _i_r_á _n_o_t_a_r_. Deixe-me sugerir uma alternativa sensata. Antes de qualquer coisa, você pode mudar o tempo de espera. Porém isso pode ser um pouco ineficiente; dizendo ao sistema para desmontar as coisas depois de 15 segundos ou diferente. Atualmente há um jeito de perguntar pela desmontagem ao programa de montagem automática. Se você mandar (com o programa kill) o sinal SIGUSR1 para o processo de montagem automática, ele irá desmontar tudo o que puder. Mas antes que as pessoas comecem a fazer botões de desmontagem em seus gerenciadores de janela, há um pequeno problema. O processo de montagem automática é executado pelo superusuário, e só irá aceitar sinais do seu executor. 50 % do motivo pelo qual você provavelmente está usando a montagem automática é o fato de poder fazer montagens e desmonatagens *sem* ser o superusuário. Seria fácil fazer um programa em C com transição para superusuário, que fizesse isso. Todavia, usando o comando sudo é possível permitir que usuários possam mandar o próprio sinal de kill. O único problema é que o sudo não irá deixar você usar " ' " para processar subcomandos, o que você teria de fazer achando o PID corrente. Você deve ter um programa chamado killall, que irá permitir fazer isto: (obrigado pela sugestão) ALL ALL=NOPASSWD:/usr/bin/killall -USR1 automount Por outro lado, você teria que permitir aos seus usuários o envio do -SIGUSR1 para todos os processos. O que provoca vários efeitos em programas; ele irá reciclar alguns gerenciadores de janela, mas dará um kill no xemacs. Então, fico na esperança que não haverá invasões de buffers no killall... 55.. DDúúvviiddaass 55..11.. NNããoo vveejjoo //aauuttoo//ffllooppppyy,, oouu qquuaallqquueerr ppoonnttoo ddee mmoonnttaaggeemm qquuee eessttoouu pprrooccuurraannddoo.. Se a montagem automática está configurada propriamente, qualquer ponto de montagem que você estiver procurando estará lá se você tentar e usá-lo. Mesmo que não o veja quando está fora de uso. Se estiver procurando o diretório com uma ferramenta gráfica, pode ser necessário digitar o nome manualmente. Infelizmente não é possível escolher entre os pontos de montagens disponíveis invisíveis, e este provavelmente é uma das principais desvantagens do autofs. Se isto é realmente um defeito para você, edite os arquivos de configuração ( Dica: aqueles que terminam com .c de "configuração" ). 55..22.. CCoommoo eeuu vveejjoo oo qquuee ffooii mmoonnttaaddoo?? O comando df. O comando mount sem opções também faz a mesma coisa, e mostra as suas opções com o qual foi montado. 55..33.. CCoollooccoo uumm ddiissccoo ddoo wwiinn9955 ((""vvffaatt"")) ee eellee éé mmoossttrraaddoo ccoommoo aappeennaass uumm ddiissccoo FFAATT rreegguullaarr.. Este não é um problema com a automontagem. Como esta escrita, o tipo do sistema de arquivos "automático" não tenta uma montagem vfat antes de uma montagem bem sucedida de um sistema de arquivos ms-dos. VFAT é o nome dos arquivos grandes do WinNT e do Win95 limitados num sistema de arquivos FAT/MSDOS. De acordo com alguns autores do mount, uma vez que o mount é apenas um invólucro da chamada do sistema que deve ser especificado o tipo de sistema de arquivos, ainda é responsabilidade do usuário informar o tipo de sistema de arquivos. Tendo o mount pego uma lista dos sistemas de arquivos para tentar em ordem, é melhor do que o atual método "heurístico" que está sob consideração. Tenho certeza de que se qualquer um quiser ir ao reforço de achar o(s) proprietário(s) do programa de montagem, seus comentários serão bem vindos. Então, isto significa agora que você não poderá montar vfat a não ser que você dê a habilidade para se detectar todos os outros sistemas de arquivos. Tenho esperança que isso será consertado num futuro próximo. Sinta-se livre para criar pontos de montagem com diferentes tipos de sistemas de arquivos especificados. 55..44.. MMeeuu ssiisstteemmaa ddee aarrqquuiivvoo //ggrruummbblleessmmuurrff eessttáá mmoonnttaaddoo ee oo kkiillll --SSIIGGUUSSRR11 nnããoo qquueerr ddeessmmoonnttáá--lloo.. Ele está sendo usado por outra coisa. O super usuário provavelmente não pode desmontá-lo. Se você foi um dos que causou a montagem (não pode haver outra pessoa usando-a) procure por uma shell que pode estar em seu diretório. Se não há nenhuma, procure por outra coisa (particularmente algo que possa ter ido através do diretório como um navegador de diretórios) que possa ter deixado algum rastro invisível. Se você deu uma olhada, tente usar o programa fuser. 55..55.. QQuueemm eeuu aaggrraaddeeççoo ppeelloo aauuttooffss?? Não é a mim. Não tive nada com isso. Apenas quiz dar atenção para o excelente trabalho realizado com o autofs, e quão fácil de usar ele é. Comparado aos criminosos da AMD (dica: eles venderam um pacote caro e com versões pré-históricas de ferramentas livres), o autofs é muito bem documentado e os implementadores têm os meus sinceros agradecimentos. Tudo está estampado com os direitos autorais da Transmeta, então me desculpe por não poder prover uma lista de créditos. 55..66.. OOnnddee ppoossssoo aapprreennddeerr mmaaiiss ssoobbrree aauuttoommoonnttaaggeemm?? Há um tutorial do autofs em < http://www.linuxhq.com/lg/issue24/nielsen.html>. Veja também os am- utils em . (Agradecimentos por estas URLs)