Mac OS X-/ home을 / users로 연결하는 방법


14

펭귄과 사과를 다루는 우리에게는 habbit에서 / home 경로를 사용할 수 있거나 값이 일부 파일의 라인 어딘가에 동기화 될 수있는 이상한 경우에 매우 가치가있는 것처럼 보입니다. 두 기계에서 사용하십시오.


6
~usernameMac OSX 또는 Linux에 상관없이 홈 디렉토리로 확장됩니다.
nohillside

1
나는 이것을 알고 있지만 일부 크로스 플랫폼 응용 프로그램은 절대 경로를 저장합니다. 예는 Sublime Text 2입니다.
anthonyryan1

1
실제로 ~홈 디렉토리로 확장됩니다. 사용자 홈 디렉토리 (예 :) /Users/[username]에 실제로 링크 할 것인지 또는 실제로 /Users/머신의 모든 사용자에 대한 별도의 디렉토리를 포함 하는 사용자 디렉토리 자체 ( ) 에 대한 질문을 명확하게 할 수 있습니까 ?
cleverbit

답변:


19

sudo ln -s /Users /home추가 구성으로 작동하지만 ~쉘 또는에서 홈을 통해 액세스해야하므로 좋은 생각이 아닙니다 $HOME. 또한 /home리눅스 표준 일 수도 있고 유닉스에서 종종 사용 되기는하지만 모든 사람이 협약을 지키면 대부분의 시간 동안 만 작동하는 것이 아니라는 정보를 신뢰하는 것이 항상 낫지는 않습니다.

sudo ln -s /Users /home작업 하려면 주석에서 다음 단계를 수행하십시오.

EDITOR=nano sudo -e /etc/auto_master
# add a "#" at the start of the line beginning with /home
# save changes
sudo automount -cv
sudo ln -s /Users /home

7
먼저 /etc/auto_master홈 라인을 편집 하고 주석 처리하십시오. 그런 다음 재부트하여 기존 / home 자원을 해제하십시오. 그런 다음 다음을 사용하여 디렉토리를 심볼릭 링크 할 수 있습니다. ln -s /Users /home. 이 작업을 수행 할 때까지 리소스가 바쁠 때 단순히 심볼릭 링크를 만들 수 없습니다.
anthonyryan1

@AR. 그렇게 할 경우 잠재적으로 부정적인 결과가 발생합니까 (또는 그 이유는 무엇입니까?). 그리고 루트로도 또는 chmod a + w / etc / auto_master 후에 다른 방법으로 편집 할 수 없습니까?
Abe

2
-1. operation not supported메시지 가 표시됩니다
Abe

2
@Abe @AR.의 지시를 따르는 경우에는 그렇지 않습니다. 다시 부팅 할 필요는 없습니다. sudo automount -cv대신 실행할 수 있습니다 .
zigg

@zigg 감사합니다. 그러나 여전히 대답이 완료되지는 않습니다. 편집을 제안하겠습니다-어쨌든 공감할 수 없었습니다!
Abe

5

다른 유닉스 시스템에서 비슷한 자동 마운터를 사용했지만 실제로이 작업을 직접 수행 한 적이 없기 때문에이 답변이 정식으로 신뢰할 수는 없지만 유감스럽게도 /homeOS X에서 사용되는 것에 대한 이해 가 있습니다.

자, 트레일을 따라 갑시다.

mount터미널을 입력 하여 활성 마운트를 표시하면 다음 줄이 표시됩니다.

map auto_home on /home (autofs, automounted, nobrowse)

autofs지도는에 정의되어 /etc/auto_master있으며에 /home구체적으로 정의되어 /etc/auto_home있습니다. 을 살펴보면 /etc/auto_home다음 줄이 표시됩니다.

+/usr/libexec/od_user_homes

맨 페이지의 추가 단계를 따라od_user_homes 가면 사용자 이름을 가져 와서 Open Directory에서 찾아보고 해당 사용자의 홈 디렉토리로 URL을 반환하는 프로그램을 찾을 수 있습니다. 맨 페이지auto_master 에서 읽으면 실행 가능한 프로그램을 맵에 사용하면 해당 프로그램이 호출되어 마운트 할 URL을 찾게되고 결과적으로 해당 위치에 마운트됩니다.

의도 한 응용 프로그램은 Mac이 디렉토리 서비스에 연결되어 있으면 /home/jdoe자동 마운터가 jdoe홈 디렉토리 를 마운트하게 만드는 것으로 보입니다 .

이를 바탕으로 Mac을 디렉토리 서비스에 연결하지 않으려 /home경우이 주석에 설명 된대로 자동 마운트를 제거해도 됩니다. 그래도 향후 OS 업데이트가 어떻게 처리 될지 모르겠습니다.


1
자동 마운터를 비활성화하는 대신 사용하는 것이 좋습니다. 따라서 자동 마운터가 / Users / $ USER를 / home / $ USER에 마운트하게합니다. / etc / auto_home의 해당 줄을 "+ / bin / echo / home / $ 1"과 같이 바꾸는 것이 간단한 지 궁금하거나 적절한 오류 처리를 원한다면 od_user_homes가하는 일을 복제하는 스크립트를 만드십시오
Tim B

@TimB 재미있는 생각. 조금 가지고 놀았 automountd지만, 처리 할 로컬 경로를 지정할 수 있는지 확실하지 않습니다 . NFS, SMB 및 AFS를 수행하는 것이 가능해 보입니다.
zigg

Linux에서 작동하는지 모르겠지만 항상 Solaris에서 수행 한 작업이었습니다. 실제 디렉토리는 / export / home / $ USER이며 / home / $ USER에 자동 마운트하기위한 표준 구성이있었습니다. 실제로 blogs.oracle.com/observatory/entry/automounted_home_directory
Tim B

1
나는 방금 빨리 보았다. 실행 가능한 맵 od_user_homes를 모방 할 필요조차 없습니다. 그것은 OD를 지원하기 위해 거기에 있습니다. / homes / $ USER에 / Users / $ USER의 일반적인 자동 마운트가 가능합니다. auto_master 매뉴얼 페이지에 나와 있지만, 로컬 디렉토리가 아닌 원격 NFS 마운트를 보여주는 예가 있지만 로컬에서도 작동해야합니다.
Tim B

내가 잘못하고 있었을 수도 있지만 NFS 마운트를 사용할 수있는 로컬 경로를 구성하려고 시도했지만을 Input/output error시도했습니다 cd. 필자가 읽은 것처럼 NFS, SMB 또는 AFS 만 사용할 수있는 것처럼 보였다. 그러나 아마도 우리는 다른 곳에서이 실험을해야 할 것이다.
zigg

2

에 대한 사용은 없습니다 /home. 다양한 다른 유닉스 버전과 마찬가지로 OS X는 사용자에게 고유 한 위치를 가지고 있습니다. 리눅스에서는 /home/user에 있고 OS X에서는에 /Users있습니다. 따라서 속기 ~또는 환경 변수 를 사용하는 것이 좋습니다 $HOME.

/Users/[username]다음 명령을 사용하여 사용자의 기본 / 홈 디렉토리에 대한 심볼릭 링크를 만들 수 있습니다 .

ln -s ~ /foo

/home시스템 루트에 이미 해당 이름을 가진 (n 미사용) 디렉토리가 있으므로 이름이 지정된 링크를 작성하는 것은 작동하지 않습니다 .


1
바로 그거죠. /export/home/username솔라리스 와 같은 다양한 이유로 홈 디렉토리에 다른 규칙을 사용하는 다른 유닉스 계열 시스템을 사용하고 있습니다. /home/username작동 한다고 가정하는 것은 나쁜 습관 입니다. 홈 디렉토리를 찾는 프로그램을 사용해야 getpwnam하거나 getpwuid.
zigg

1
프로그램이 존재한다고 가정하는 것은 좋지 않은 일이지만, 때로는 소프트웨어가 유능한 방식으로 개발되지 않았다는 점에 대해서는 동의하지 않습니다.
anthonyryan1

필자의 경우와 다른 마운트들 중에서도 : map auto_home on /home (autofs, automounted, nobrowse)… 나는 그 마운트의 기원을 모르지만 "사용하지 않음"에 동의하지 않아야합니다 /home.
Graham Perrin

죄송합니다. /home분명하게 예약되어 있지만 OSX에서는 사용되지 않습니다. 사용하는 것이 아닙니다.;)
cleverbit

I @richarddas 같은 얻을 operation not supported에서 오류가 sudo ln -s /Users/username /home/username난에서처럼을 sudo ln -s /Users /home. @AR에서 제공하는 솔루션이 작동합니다 ( /home라인 주석 처리 /etc/auto_master및 재부팅).
Abe

1

디렉토리 / home의 이름을 바꾸지 않고 (잘못된 경우) / home에서 / Users로 (또는 시스템에서와 같이 / Volumes / Users로) 심볼릭 링크를 만들지 않는 이유는 전혀 없습니다. 디스크는 시스템 용입니다.

나는 11 가지 맛의 유닉스를 가진 대학교 부서에서 시스템 관리자로 일했습니다. 전역 디렉토리 트리에는 모든 종류의 심볼릭 링크가있어 파일 시스템이 올바른 작업을 수행 할 수 있었으며 스크립트는 가능한 한 모든 곳에서 작업 할 수있게되었습니다. 몇 가지 문제가 발생하지만 손가락이 / home / foo를 입력하는 데 익숙하고 symlink가 손가락을 다시 훈련하는 작업을 연기하는 경우 해킹하십시오.

마찬가지로 일부 Linux에는 / usr / home과 같은 홈 디렉토리가 있습니다.

내가 일한 한 곳은 교수가 그의 허락에 부주의 한 경우 교수 파일 주위를 습격하는 학생들을 부분적으로 보호하기 위해 / Users / {group} / {username}의 홈 디렉토리를 가졌습니다. Users 디렉토리는 실행되었지만 읽기 비트는 설정되지 않았으며 그룹 디렉토리는 그룹 구성원 만 읽을 수 있습니다.

(이 모든 것은 그림에서이 특정 고양이를 박탈 할 수있는 여러 가지 방법이 있습니다.

하나의 가능성-타임 머신이 모든 것을 두 번 복사하지 않는지 확인하십시오. TM이 심볼릭 링크를 처리하는 방법을 모르겠습니다. 그렇다면 / home을 제외 목록에 추가하십시오.


1
무언가 또는 누군가가 당신의 대안을 위해 부적절한 모드 나 ACL을 설정 /Users한다면, 권한을 복구하는 익숙한 루틴은 아마도 필요한 수정을하지 못할 것입니다. 따라서 /Users심볼릭 링크가 아닌 디렉토리로 Apple에서 설치하는 것이 좋습니다 .
Graham Perrin

0

나는 이것을 전에 시도하고 재부팅 할 때까지 약 일주일 동안 작동하게했습니다 ...

당신은 심볼릭 링크 수 /home/Users. 실제로조차 제거 할 수 없습니다 /home.

를 제거 /home하면 재부팅 후 다시 나타납니다.

당신이 이동하는 경우 /home/home.old, 그리고 심볼릭 링크 /home, 그것은 심볼릭 링크를 제거합니다 /home.

Mac이 충돌하거나 재부팅되지 않는 한이 작업을 수행 할 수 있습니다.

재부팅하면 모두 사라집니다!

재부트하면 Mac OS X은 새로운 사용자를 생성한다고 생각하는 것 같습니다. 따라서 이전 /Users/username디렉토리의 모든 사용자 환경 설정을 덮어 씁니다 .

에 모든 내용을 복사 했으므로 재부팅 후 /home/username수행 할 때 새 홈 디렉토리가 표시됩니다 ls /home. 대신, 당신은 아무것도 얻지 못합니다 !!! 존재하지 않는 것처럼 보입니다.

내 경우에는 약 30 분 동안 기절 한 다음 단일 사용자 모드로 부팅하여 무언가 할 수 있는지 확인했습니다. 로그 파일을 가져 오거나 복구 유틸리티를 시작할 수 있다고 생각했습니다.

단일 사용자 모드에서는 내 홈 디렉토리가있었습니다. Apple 은 다중 사용자 모드에있을 때 새로 생성 된 디렉토리를 의도적으로 숨 깁니다/home . 이것은 의도적으로 악의적 인 디자인 기능입니다.

애플은 절름발이가 되어 OS를 해킹하는 것을 막는다. 어떤 종류의 디자인 기능입니까? Apple은 새로 생성 된 /home디렉토리 의 내용을 숨 깁니다 . Apple이 /home디렉토리 또는 사용자가 만든 디렉토리 를 자동으로 제거해야 할 합법적 인 이유는 없습니다 !

이 경우, / home 디렉토리에 디렉토리를 마운트하고 있습니다. 효과적으로 숨 깁니다.

/home대신에 실제로 사용하기로 결정한 경우 /Users모든 부팅시 모든 것을 설정하는 스크립트를 작성하여 문제를 해결할 수 있습니다.

또한 금지 /home되어 /Users있기 때문에 대체 가 아닌 다른 디렉토리를 사용할 수 있어야합니다 /home.

당신이 떠들썩한 파티를 사용하는 경우, 당신은 즉 환경 변수 ...의 일부를 설정해야합니다 : CD_HOMEHOME.

추가하고 싶습니다 ... 마운트를 해제하거나 강제로 마운트 해제 할 수는 없지만 디스크를 마운트 /home수 있습니다/home . 이 모든 것이 "auto_home"위에 마운트되었습니다.

복구 디스크를 /home성공적으로 마운트 할 수있었습니다 . 아마도 이것이 가능한 방법 일 것입니다.


TL / DR; 재 부팅 방지 사용자 정의는 최상위 답변을 사용하여 가능합니다
MarkHu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.