때때로 apt
또는 다른 패키지 관리자를 사용하지 않고 수동으로 응용 프로그램을 설치합니다 .
무엇 (위치 /usr/
, /usr/local/
, /opt/
, /home/
, 등) 사용자 응용 프로그램의 설치를위한 "모범 사례"에 의해 제안?
때때로 apt
또는 다른 패키지 관리자를 사용하지 않고 수동으로 응용 프로그램을 설치합니다 .
무엇 (위치 /usr/
, /usr/local/
, /opt/
, /home/
, 등) 사용자 응용 프로그램의 설치를위한 "모범 사례"에 의해 제안?
답변:
정말 다릅니다. 응용 프로그램에 makefile이 있거나 예를 들어 distutils (예 : setup.py
파일이 있음) 또는 유사한 빌드 / 설치 시스템을 사용하는 경우 python 앱의 경우 이를 설치해야합니다 /usr/local/
. 이것은 종종 기본 동작입니다.
내가 이해 한 /usr/local/
것과 비슷한 계층이 /usr/
있습니다. 그러나, 같은 디렉토리 /usr/bin/
및 /usr/lib/
패키지를 통해 설치를 위해 일반적으로 예약되어 있습니다 apt
. 따라서 "설치"될 것으로 예상되는 프로그램 /usr/
은에서 제대로 작동해야합니다 /usr/local/
.
tarball을 추출하고 직접 실행해야하는 경우 (예 : Firefox)에 넣습니다 /opt/
. 하나의 디렉토리 만 필요하고 해당 디렉토리와 관련된 모든 파일 / 라이브러리를 얻는 프로그램은에서 하나의 디렉토리를 얻을 수 있습니다 /opt/
.
opt/
. 제 생각에는 머리에 못을 박았습니다.
~/.local/share
? @Marco
~
(홈 디렉토리) 내부에 물건을 설치할 수 있지만, 한 명의 사용자 만 응용 프로그램에 액세스 할 수 있습니다. 시스템의 다른 사용자는 해당 소프트웨어의 자체 설치를 설치하고 유지 보수해야합니다. 응용 프로그램 설치에 대한 모범 사례와 같이 홈 디렉토리를 설치하면 시스템 패키지를 방해하지 않기 때문에 강력한 지침이 없다고 생각합니다.
사용자를/usr
위한 것이 아니라 유닉스 시스템 리소스 를 의미한다는 것을 기억하는 것이 좋습니다 .
따라서, 모든 배포판에 모든 배포본에 대한 권리가 /usr,
있으며 /usr/local
, 시스템에 대한 특정 추가 사항이 들어가서 업그레이드하기 전에 보존한다는 것을 알고 있습니다.
한편, 응용 프로그램과 다른 것들이 들어갑니다 /opt
.
/home
나는 그 규칙을 거의 따르지 않지만 어떤 사람들은 물건을 넣는 것을 편안하게 느낍니다 .
즉, 배포 패키지 관리자가 먼저 작업을 수행 한 다음 물건을 굴릴 때 위의 작업을 수행하도록했습니다.
User
입니다. 리눅스 사용자는 개발자 였기 때문입니다. 처음에는 개발자와 사용자를 구별하기 시작하여 /home
디렉토리가 도입되었습니다. 그리고 누군가가 그것이 의미한다는 말을 가지고 있었는데 Unix System Resources
이는 실제로 이해가되지 않습니다. 왜냐하면 우리는 Unix system Resources
in/dev
/ home / user / opt /에 firefox devel과 같은 불안정한 프로그램을 설치하면 제거하기가 훨씬 쉽고 다른 사용자가 사용해야하는 버전에 대해 혼동하지 않아도됩니다. 홈 디렉토리의 하위 폴더에 있습니다.
/ usr /에 프로그램을 설치하지 마십시오. 혼돈을 일으킬 수 있습니다. / usr /에 설치된 것은 배포 패키지에만 사용됩니다. / usr / local /은 로컬로 컴파일 된 패키지를위한 것입니다. 그리고 Srtucture는 정확히 같은 방식으로 작동합니다! / usr / local /의 파일은 / usr /의 파일보다 우선합니다
사전 컴파일 된 (이진) 패키지 (Thunderbird, Eclipse, Netbeans, IBM NetSphere 등)의 설치에는 / opt /를 사용해야합니다. 그러나 단일 사용자 전용 인 경우 홈 디렉토리에 저장해야합니다.
전체 경로를 입력하지 않고 "이상한"위치 (예 : / home / user / opt / firefox /)에 설치된 프로그램을 실행하려면 $ PATH 변수에 추가해야합니다. /home/user/.profile에 이와 같은 줄 추가
export PATH=/home/user/opt/firefox:$PATH
실행해야하는 실행 파일이있는 폴더 이름이어야합니다.
Linux 파일 시스템 계층 표준은를 나타냅니다 /usr/local
.
에서 http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html :
'/ usr / local'의 기본 아이디어는 '/ usr'이외의 모든 시스템에 별도의 ( 'local') '/ usr'디렉토리를 갖는 것이 었습니다.이 디렉토리는 다른 곳에서 읽기 전용으로 마운트 될 수 있습니다. '/ usr'의 구조를 복사합니다. 요즘 '/ usr / local'은 자체 컴파일 또는 타사 프로그램을 유지하기에 좋은 장소로 널리 알려져 있습니다. / usr / local 계층은 소프트웨어를 로컬로 설치할 때 시스템 관리자가 사용합니다. 시스템 소프트웨어가 업데이트 될 때 덮어 쓰기되지 않도록 안전해야합니다. 호스트 그룹간에 공유 가능하지만 / usr에는없는 프로그램 및 데이터에 사용될 수 있습니다. 로컬로 설치된 소프트웨어는 / usr에서 소프트웨어를 교체하거나 업그레이드하기 위해 설치되지 않는 한 / usr이 아닌 / usr / local 내에 있어야합니다.
나는 보통 집에 "Programs"라는 이름의 폴더를 가지고 있는데, 그 프로그램을 설치하는 곳은 이상하다.
컴퓨터를 다시 설치하거나 변경할 때 집의 다른 곳으로 옮겨 질 때 큰 이점이 있습니다. 분명한 단점이 있습니다. 해당 앱은 내 사용자 만 사용할 수 있습니다.
/
디렉토리로만 시도한 다음 동일한 이전 사용자 이름과 비밀번호를 입력했지만 Ubuntu가 다른 홈 폴더를 생성한다는 것을 알았습니다.