무엇에 들어가야 /opt/
하고 무엇에 들어가야 /usr/
합니까? 내 이해는 /usr/
사용자 홈 디렉토리에 사용되었지만 이전에 존재하기 때문에 /Users/
현재 목적은 무엇입니까?
모든 내장 디렉토리를 사용해야하는 것에 대한 매뉴얼이나 안내서가 있습니까? 마찬가지로 무엇인가 /home/
, 또는 /net/
?
무엇에 들어가야 /opt/
하고 무엇에 들어가야 /usr/
합니까? 내 이해는 /usr/
사용자 홈 디렉토리에 사용되었지만 이전에 존재하기 때문에 /Users/
현재 목적은 무엇입니까?
모든 내장 디렉토리를 사용해야하는 것에 대한 매뉴얼이나 안내서가 있습니까? 마찬가지로 무엇인가 /home/
, 또는 /net/
?
답변:
모든 내장 디렉토리를 사용해야하는 것에 대한 매뉴얼이나 안내서가 있습니까? / home / 또는 / net /은 무엇입니까?
최신 정보와 파일 시스템 계층 구조의 "역사 스케치"를 제공하는 터미널 에서 파일 시스템 프로그래밍 안내서 를 살펴보십시오 man hier
(이 답변의 끝에 포함되어 있습니다).
귀하의 질문에 대한 의견은 Filesystem Hierarchy Standard를 언급합니다 . 당신은 아마 숙독 한 후, 결론에 도달합니다 파일 시스템 프로그래밍 가이드 와 man hier
맥 OS가 따르지 않는, FHS 더 리눅스 물건입니다. 물론 일반적인 UNIX 원점으로 인해 macOS의 FHS와 파일 시스템 레이아웃 간에는 유사성이 있지만 그 차이는 현저합니다. macOS는 다음 중 하나를 사용하지 않습니다.
/boot
폴더-> macOS가 /System/Library/Kernels
대신 사용함 (이전 버전의 macOS에서는 커널을 포함하는 폴더는 /
)/home
폴더-> macOS가 /Users
대신 사용/root
폴더-> macOS가 /var/root
대신 사용그리고 /opt
모든 문서에하지 한 번에 언급되지 않은 (자세한에서 /opt
아래를.)
macOS와 FHS 호환 OS 간의 추가 차이점 /private
은 예를 들어 /etc
에 대한 심볼릭 링크 를 사용하는 것 /private/etc
입니다.
정보 /net
: 오토 마운터 맵 (에 나열되어 있음 /etc/auto_master
) 입니다. 자세한 내용 은 Wikipedia 를 참조하십시오.
/ opt /에 무엇이 들어가야하고, / usr /에 무엇이 들어가야합니까? 내 이해는 / usr /이 사용자 홈 디렉토리를위한 것이었지만 / Users /에 존재하기 때문에 현재 목적은 무엇입니까?
/usr
과거에는 사용자의 홈 디렉토리를 배치하는 데 사용 되었지만 더 이상 그렇지 않습니다.
요즘 /usr
에는 사용자 명령 ( /usr/bin
일반 사용자 및 /usr/sbin
관리 사용자의 경우 root
), 공유 라이브러리 ( /usr/lib
), 매뉴얼 페이지 ( /usr/share/man
), 사용자 ( /usr/libexec
) 및 기타 항목 에서 직접 실행해서는 안되는 실행 파일이 들어 있습니다 .
또한 /usr/local
기본 OS와 함께 제공되지 않는 프로그램, 라이브러리 및 기타 파일을 배치하기 위한 하위 디렉토리를 제공합니다 .
/opt
매우 유사한 역할을 /usr/local
하며 서로 호환되는 것으로 보입니다. 그러나 다른 Linux / UNIX sysadmin과의 작업 경험 으로 BSD 기반 UNIX OS에서 선호 되는 것으로 보입니다 /usr/local
.
이이 걸릴 내입니다 그래서 : 맥 OS는 BSD 기반 결과적으로 내가 사용하십시오 /usr/local
. 다음과 같이 프로그램 디렉토리를 만든 다음에 symlink 명령 /usr/local/bin
등 을 수행 할 수 있습니다 .
/usr/local/mysql
/usr/local/mysql/bin/mysqladmin
/usr/local/mysql/lib/libmysqlclient.so
/usr/local/bin/mysqladmin -> ../mysql/bin/mysqladmin
/usr/local/lib/libmysqlclient.so -> ../mysql/lib/libmysqlclient.so
이것은 Linux와 UNIX에서도 일반적인 관행 이었지만 FHS는 명시 적으로 금지 했습니다. 자체 디렉토리 계층에 타사 패키지를 설치하려면 /opt/<package>
대신 사용해야 합니다. FHS 준수를 위해서는 구성 파일을 넣고 /etc/opt/<package>
가변 파일 을에 넣으십시오 /var/opt/<package>
.
따라서 macOS에서는 /usr/local
위에서 설명한대로 고수하는 것이 좋습니다 .
에 설치되는 Cisco VPN 및 XQuartz 와 같은 애드온 소프트웨어를 알고 /opt
있으므로 위와 같은 차이점이 사라 지기 시작합니다.
man hier
위에서 언급했듯이 이것은 다음과 man hier
같습니다.
A historical sketch of the filesystem hierarchy. The modern macOS filesystem is documented in the
``File System Programming Guide'' available on Apple Developer.
/ root directory of the filesystem
/bin/ user utilities fundamental to both single-user and multi-user environments
/dev/ block and character device files
fd/ file descriptor files; see fd(4)
/etc/ system configuration files and scripts
/mach_kernel kernel executable (the operating system loaded into memory at boot time).
/sbin/ system programs and administration utilities fundamental to both single-user and multi-
user environments
/tmp/ temporary files
/usr/ contains the majority of user utilities and applications
bin/ common utilities, programming tools, and applications
include/ standard C include files
arpa/ C include files for Internet service protocols
hfs/ C include files for HFS
machine/ machine specific C include files
net/ misc network C include files
netinet/ C include files for Internet standard protocols; see inet(4)
nfs/ C include files for NFS (Network File System)
objc/ C include files for Objective-C
protocols/ C include files for Berkeley service protocols
sys/ system C include files (kernel data structures)
ufs/ C include files for UFS
lib/ archive libraries
libexec/ system daemons & system utilities (executed by other programs)
local/ executables, libraries, etc. not included by the basic operating system
sbin/ system daemons & system utilities (executed by users)
share/ architecture-independent data files
calendar/ a variety of pre-fab calendar files; see calendar(1)
dict/ word lists; see look(1)
web2 words from Webster's 2nd International
words common words
man/ manual pages
misc/ misc system-wide ascii text files
mk/ templates for make; see make(1)
skel/ example . (dot) files for new accounts
tabset/ tab description files for a variety of terminals; used in the term-
cap file; see termcap(5)
zoneinfo/ timezone configuration information; see tzfile(5)
/var/ multi-purpose log, temporary, transient, and spool files
at/ timed command scheduling files; see at(1)
backups/ misc. backup files
db/ misc. automatically generated system-specific database files
log/ misc. system log files
mail/ user mailbox files
run/ system information files describing various info about system since it was
booted
utmpx database of current users; see utmpx(5)
rwho/ rwho data files; see rwhod(8), rwho(1), and ruptime(1)
spool/ misc. printer and mail system spooling directories
mqueue/ undelivered mail queue; see sendmail(8)
tmp/ temporary files that are kept between system reboots
folders/ per-user temporary files and caches
/usr/X11/
권장하지 않습니까?
man hier
) : hier (7)에 대한
필자는 /opt
종종 MacPorts 와 관련되어/opt/local
있고 경로의 '표준'사용에 대해 읽었을 때 적어도 2001 년부터 주변에 있었던 Fink 도 생각 합니다. Fink는 다음 경로를 널리 사용했습니다.
/sw
모든 .Mac 회원에게 무료로 제공되는 Virex 7.2는 악명 높게 Fink 라이브러리를 덮어 썼습니다 .
이것은 매우 나쁘다. Fink 사용자는 이것을 설치하지 마십시오…
/Volumes/Virex 7.2.dmg/Virex 7.2.pkg 328 % lsbom Contents/Resources/Virex\ 7.2.bom | grep sw
./sw 40775 0/80
./sw/lib 40775 0/80
./sw/lib/libcrypto.0.9.6.dylib 100644 0/80 945416 3192711062
./sw/lib/libcurl.2.0.2.dylib 100644 0/80 634480 510417796
./sw/lib/libcurl.2.dylib 100644 0/80 634480 510417796
./sw/lib/libdl.0.dylib 100644 0/80 15124 4193639260
./sw/lib/libssl.0.9.6.dylib 100644 0/80 261776 3001832603
라이센싱 존중을 포함하여 사건에 대한 다른 토론은 다음과 같습니다.
핑크 뉴스 항목 :
Virex 문제 해결
McAfee는 더 이상 주 Fink 디렉토리를 덮어 쓰지 않는 Virex 7.2.1을 출시했습니다
/sw
. Fink 사용자는 Virex 7.2를 계속 피해야합니다.초기 보고서에 따르면 Virex를 7.2에서 7.2.1로 업그레이드하면 여전히 몇 가지 문제가 남아 있습니다. Fink가 설치되지 않은 상태에서 Virex를 업그레이드 한 후 Fink를 설치하려면 설치
/sw
하기 전에 수동으로 디렉토리 를 삭제해야합니다 . Fink가 이미 설치된 상태에서 Virex를 업그레이드하는 경우 즉시 Viink 업그레이드가 삭제 한 파일을 복원 하려면 finkinstall opens openssl-shlibs dlcompat-shlibs curl-ssl-shlibs 를 실행해야합니다 .
McAfee Virex 버전 7.2.1 릴리스 정보에서는 Fink 사용자에게 발생한 문제에 대해 언급하지 않았습니다.
부수적으로…
것을 관찰 Virex 7.5은 더 이상 .Mac으로 회원에게 제공했다 .
FreeBSD 및 PC-BSD와 같은 운영 체제에서는 여전히 그렇습니다.
반면 /usr/home/
에 명시되지 https://www.freebsd.org/cgi/man.cgi?query=hier&sektion=7&manpath=FreeBSD+10.2-RELEASE 경로가 같은 문서에서 예시 :