Para aqueles de nós que brincam de pinguins e maçãs, parece muito útil poder usar caminhos de origem / fora do habbit ou para aqueles casos estranhos em que o valor pode ter sido sincronizado em algum lugar ao longo da linha em algum arquivo que você use nas duas máquinas.
14
~username
expande para o seu diretório pessoal independentemente do Mac OSX ou Linux.~
expande para o seu diretório pessoal. Você pode esclarecer na sua pergunta se deseja vincular o diretório inicial do usuário (ou seja,/Users/[username]
) ou de fato o diretório do usuário (/Users/
), que contém diretórios separados para todos os usuários da máquina?Respostas:
sudo ln -s /Users /home
funcionará com configurações adicionais, mas não acho que seja uma boa ideia, pois você deve acessar a home via~
shell ou$HOME
. Também/home
pode ser um padrão Linux e frequentemente usado no Unix, mas nem sempre é tão melhor confiar em informações que garantem que não funcionam algo que funciona apenas na maioria das vezes se todos mantiverem uma convenção.Para fazer o
sudo ln -s /Users /home
trabalho, siga estas etapas (nos comentários):fonte
/etc/auto_master
e comente a linha inicial. Em seguida, reinicie para liberar o recurso existente / doméstico. Em seguida, você pode desvincular o diretório usando o seguinte.ln -s /Users /home
. Até você fazer isso, você simplesmente não poderá criar o link simbólico, pois o recurso está ocupado.operation not supported
mensagemsudo automount -cv
.Lamento que esta resposta não seja exatamente autorizada, pois nunca fiz isso pessoalmente - embora eu tenha usado um montador de automóveis semelhante em outros sistemas Unix - mas aqui está o meu entendimento sobre o que
/home
é usado no OS X.Então, vamos seguir a trilha:
Se você digitar o
mount
Terminal pela primeira vez para mostrar montagens ativas, verá esta linha:autofs
mapas são definidos em/etc/auto_master
e,/home
por sua vez, são definidos especificamente em/etc/auto_home
. Se você der uma olhada/etc/auto_home
, verá esta linha:Siga a trilha mais um passo para a
od_user_homes
página de manual e você encontrará um programa cujo objetivo é obter um nome de usuário, procurá-lo no Open Directory e retornar um URL para o diretório inicial do usuário. Se você ler sobreauto_master
a sua página man , você vai achar que usando um programa executável para um mapa resulta em que o programa está sendo chamado para procurar uma URL para montar, o que por sua vez é montada no local.O aplicativo pretendido parece ser que, se o seu Mac estiver conectado a um serviço de diretório, isso
/home/jdoe
fará com que o montador automático montejdoe
o diretório inicial do local.Com base nisso, parece lógico concluir que, se você não pretende conectar seu Mac a um serviço de diretório, provavelmente está bem removendo a
/home
montagem automática conforme detalhado neste comentário . Mas não sei como as futuras atualizações do sistema operacional irão lidar com isso.fonte
automountd
será tratado. Parece possível fazer NFS, SMB e AFS.Input/output error
ao tentarcd
. Pela minha leitura, parecia que eu só podia usar NFS, SMB ou AFS, como eu disse. Mas talvez devêssemos tomar essa linha de experimentação em outros lugares ...Não adianta
/home
. O OS X, como várias outras versões do Unix, tem um local único para o usuário. No Linux, está/home/user
, e no OS X, está/Users
. É por isso que é uma boa prática usar a abreviação "~
" ou a variável de ambiente$HOME
.Enquanto você pode criar um link simbólico para o diretório base / home do usuário,
/Users/[username]
use o seguinte comando:Não funcionará para criar um link nomeado,
/home
pois já existe um diretório (n não utilizado) com esse nome na raiz do sistema.fonte
/export/home/username
no Solaris. É uma prática ruim assumir/home/username
que funcionará. Os programas que procuram diretórios pessoais devem usargetpwnam
orgetpwuid
.map auto_home on /home (autofs, automounted, nobrowse)
… embora eu não conheça a origem dessa montaria, devo discordar de "não adianta/home
"./home
é, aparentemente, reservados, mas não utilizado em OSX, não que não há nenhum ponto de usá-lo;)operation not supported
erro dosudo ln -s /Users/username /home/username
que desudo ln -s /Users /home
. A solução fornecida pelo @AR funciona (comente a/home
linha/etc/auto_master
e reinicie).Não vejo nenhum motivo para renomear o diretório / home (caso esteja errado) e criar um link simbólico de / home para / Users (ou, como na minha máquina, / Volumes / Users desde o meu sistema disco é para sistema, caramba!)
Eu trabalhava como administrador de sistemas, em um departamento universitário com 11 tipos de unix. Tínhamos todos os tipos de links simbólicos na árvore de diretórios global para que o sistema de arquivos fizesse a coisa certa e os scripts chegavam o mais próximo possível do trabalho em qualquer lugar. Você se depara com algumas dicas, mas se seus dedos estão acostumados a digitar / home / foo e um link simbólico adia o trabalho de reciclagem de seus dedos, fique atento.
Da mesma forma, alguns linuxen já terão os diretórios Home como / usr / home.
Um local em que trabalhei tinha diretórios pessoais de / Users / {group} / {username} como uma proteção parcial contra estudantes que vasculhavam arquivos de professores, se o professor não tivesse cuidado com suas permissões. O diretório Users tinha executado, mas nenhum bit de leitura foi definido, e os diretórios do grupo eram legíveis apenas para os membros do grupo.
(Tudo isso na ilustração, existem muitas maneiras de privar esse felino em particular de sua pele.
Um possível problema: verifique se a máquina do tempo não acaba fazendo duas cópias de tudo. Não sei como a TM trata os links simbólicos. Se isso acontecer, adicione / home à lista de exclusões da TM.
fonte
/Users
, as rotinas familiares para reparar permissões provavelmente falharão ao fazer as correções necessárias. Portanto, recomendo que/Users
seja instalado pela Apple: um diretório, não um link simbólico.Eu tentei isso antes e trabalhei por cerca de uma semana até reiniciar ...
Você não pode simplesmente ligar
/home
para/Users
. Na verdade, você não pode nem remover/home
.Se você conseguir remover
/home
, ele reaparecerá após a reinicialização.Se você mover
/home
para/home.old
e o link simbólico/home
, ele removerá o link simbólico/home
.Você pode ter isso funcionando enquanto o seu mac não falhar ou reiniciar.
Quando você reinicia, tudo desaparece!
Quando você reinicia, o Mac OS X parece pensar que está criando um novo usuário, substituindo todas as suas preferências de usuário no
/Users/username
diretório antigo .Desde que você copiou tudo para
/home/username
, espera ver o seu novo diretório inicial ao fazê-ls /home
lo após a reinicialização. Em vez disso, você não obtém NADA !!! É como se nunca tivesse existido.No meu caso, fiquei em pânico por cerca de 30 minutos, depois iniciei no modo de usuário único para ver se algo poderia ser feito. Eu estava pensando em conseguir um arquivo de log ou tentar iniciar um utilitário de reparo.
No modo de usuário único, meu diretório pessoal estava lá. A Apple oculta intencionalmente todos os diretórios criados recentemente sob
/home
o usuário quando no modo multiusuário. Este é um recurso de design intencionalmente maligno.A Apple é manca e desencoraja todo e qualquer tipo de invasão de seu sistema operacional. Que tipo de recurso de design é esse? A Apple oculta o conteúdo do
/home
diretório recém-criado . Não há absolutamente nenhuma razão legítima para a Apple remover automaticamente o/home
diretório ... ou qualquer diretório criado pelo usuário!Nesse caso, eles estão montando um diretório no seu diretório / home ... ocultando-o efetivamente.
Se você estiver realmente determinado a usar em
/home
vez de/Users
, poderá contornar isso escrevendo um script para configurar tudo a cada inicialização.Além disso, devo mencionar que você deve poder usar outro diretório que não
/home
substitui,/Users
porque apenas/home
é banido.Se você usar o bash, terá que definir algumas variáveis de ambiente ... ou seja:
CD_HOME
eHOME
.Gostaria de acrescentar que ... embora você não possa desmontar ou forçar a desmontagem
/home
, você pode montar um disco em cima/home
. Tudo isso montado em cima de "auto_home".Consegui montar o disco de recuperação em cima do
/home
sucesso ... talvez seja assim que isso possa ser feito.fonte