16 de agosto de 2008

Redirecionamento de Diretórios no OS X


Um procedimento muito interessante em sistemas operacionais é a montagem de determinados diretórios em partições separadas do disco, dedicadas exclusivamente a eles. Isto provê uma melhor organização do disco, separando semanticamente sistema operacional, dados de usuários, arquivos temporários etc. Além disso, esta prática tem fins de segurança, já que, se uma das partições for atacada por meio de alguma técnica que tente enchê-la ao máximo, causando danos ao sistema, as outras permanecerão intactas. Outra grande vantagem é a utilização de uma partição por vários sistemas operacionais distintos. Assim, tendo o OS X e o Linux no mesmo computador, por exemplo, poder-se-ia trabalhar com os mesmos diretórios Home dos usuários dos dois sistemas, facilitando o trabalho dos mesmos.

Esta postagem se apoia na última vantagem citada, mostrando uma forma de posicionar o diretório Home do OS X numa partição exclusiva para ele. Assim, quando os dados dos usuários forem gravados em seus diretórios pessoais, serão gravados naquela partição definida. O presente texto será focado no processo de configuração do sistema para realizar esta configuração, contudo, este processo tem início na preparação do disco e do sistema para este processo. Assim, o autor sugere fortemente a leitura da postagem sobre instalação do OS X.

Este texto assumirá que a partição que vai armazenar os diretórios Home chama-se Home. Caso o leitor use outro nome para a mesma, deverá trocá-lo onde estiver indicado por itálico nos comandos citados. Uma última nota é que este texto tem como base uma discussão no fórum da distribuição Linux Ubuntu, onde estes procedimentos foram originalmente descritos.

1. Abra o Utilitário de Disco (Disk Utility) e garanta que a formatação da partição onde ficarão os diretórios Home dos usuários esteja com o formato Mac OS Expandido (Sensível a maiús./min.) – se não for possível selecionar esta opção pela aba Particionar, selecione a referida partição no menu à sua esquerda, clique na aba Apagar, selecione o formato indicado e clique no botão Apagar.

2. Copie todo o diretório /Users para a nova partição. Para isto, abra um terminal e digite o seguinte comando:

$ sudo ditto -v -rsrcFork /Users /Volumes/Home

3. Verifique qual arquivo no sistema referencia a partição criada. Para isto use o comando abaixo e anote o conteúdo da primeira coluna desta linha (é algo como /dev/disk0s4).

$ df -k | grep Home

4. Edite o arquivo de partições. Crie o arquivo fstab dentro do diretório /etc com o seguinte comando:

$ sudo vi /etc/fstab

Dentro deste arquivo, insira a linha abaixo (a primeira coluna deve ser igual à informação obtida no passo anterior):

/dev/disk0s4 /Users hfs rw 1 2

Salve e feche o arquivo.

Nota: Dentro do diretório /etc há um arquivo chamado fstab.hd. Este arquivo possui apenas um pequeno texto indicando aos usuários que o mesmo deixará de ser usado em futuras versões deste sistema operacional. De fato, no fórum oficial de suporte da Apple, há uma discussão comprovando isto e ainda acrescentando que a nova tecnologia que gerenciará este serviço será o Disk Arbitration Framework (Quadro de Arbitragem de Disco), que é gerenciado pelo daemon diskarbitrationd. O importante a saber é que esta nova tecnologia já está em uso no sistema, mas o arquivo /etc/fstab ainda pode ser usado.

5. Reinicie o sistema e entre no modo monousuário. Para isto, reinicie normalmente o computador e, no jingle de inicialização, aperte e segure as teclas COMMAND + S. Mantenha as teclas pressionadas até que o sistema dê sinais de começar o seu carregamento (na tela da maçã).

Nota: Atenção redobrada no modo monousuário! Todos os comandos digitados aqui são executados como super usuário (root). Portanto, podem danificar permanentemente o sistema e os arquivos pessoais dos usuários! Evite ao máximo a utilização deste modo e quando o fizer, pense duas vezes antes de digitar qualquer comando!

6. O sistema será iniciado num prompt de comando. Monte a raíz do sistema em modo de leitura e escrita com o seguinte comando:

# /sbin/mount -uw /

7. Digite a seguinte sequência de comandos para criar um backup do diretório /Users, criar um novo diretório /Users e assegurar-lhe as permissões 755.

# mv /Users /Users-old
# mkdir Users
# chmod 755 Users

8. Reinicie o computador com o comando reboot:

# reboot

Nota: a primeira inicialização após as mudanças efetuadas costuma demorar um pouco mais que o normal, pois o sistema estará se adapatando às alterações.

Se tudo foi feito como indicado, o sistema já estará trabalhando com os diretórios Home dos usuários em uma partição separada. O leitor poderá confirmar isso ao gravar um novo arquivo dentro do seu diretório pessoal e depois navegar através do Finder até a partição onde os diretórios Home deveriam estar montados e procurar pelo arquivo recém copiado. Se ele estiver lá, está tudo funcionando perfeitamente. Senão, ocorreu algum erro nos procedimentos.

É impressionante como uma tarefa tão trivial no Linux pode ser trabalhosa no OS X. Para um sistema que se gaba por ser de tão fácil uso, isto é, no mínimo, vergonhoso. Apesar desta não ser uma tarefa que é realizada por muitos usuários, os engenheiros da Apple poderiam prever isso, embutindo todo o processo no programa instalador do sistema e/ou no Utilitário de Disco. Basta ter qualquer uma das grandes distribuições Linux como exemplo, já que elas implementam isso com maestria!




Série Completa

Nenhum comentário:

Postar um comentário