/usr이 아닌 다른 디렉토리를 표준으로 사용하십시오.

/usr이 아닌 다른 디렉토리를 표준으로 사용하십시오.

/usr표준 디렉토리가 아닌 다른 디렉토리를 사용하여 무언가를 설치할 수 있습니까 ? 나는 /usr읽기 전용 무한 OS 시스템을 가지고 있기 때문에 "표준" 방식으로 작업을 수행할 수 없기 때문에 묻습니다 .

즉, 내 홈 디렉터리(" user"라고 부르겠습니다)에 "s"와 hare그 사이에 모든 명령과 종속성을 포함하는 다른 폴더를 만드는 방법이 있습니까? 그럼 예를 들어 - 디렉터리에 perl-tk를 설치하려는 경우 make install 중에 해당 폴더에 이미 설치된 perl 패키지를 사용할 수 있나요?/usr/home/user/home/user/usr/whatever

변경할 수 없습니다 /usr(오버레이를 사용하는 방법이 있었지만 시스템 업데이트를 통해 변경 사항이 사라졌습니다). 따라서 어떻게든 "외부에서 작업"해야 하지만 여전히 "링크"해야 합니다.

시스템을 바꾸는 것은 당연한 선택이겠지만, 단지 도전으로부터의 탈출일 뿐입니다 ;)

답변1

이는 Endless OS원하는 작업에 적합한 도구가 아닐 수도 있습니다. ~에서끝없는 OS 개발자 페이지,

끝없는 운영 체제

일반적인 Linux 배포판이 아닙니다. 우리는 rpm, apt 또는 기타 패키징 시스템을 사용하지 않습니다.우리는 OSTree에서 관리하는 읽기 전용 루트 파일 시스템을 사용하며 그 위에 애플리케이션 패키지가 오버레이되어 있습니다.우리는 다양한 대상 사용자를 가지고 있습니다. 대부분의 데스크탑 Linux 배포판은 기술에 정통한 사용자와 개발자를 대상으로 합니다. 단순함이 핵심이므로 우리는 사용자를 위한 최고의 앱을 직접 선택합니다. 우리 운영 체제에는 특히 Linux 커널, OSTree, systemd, GNU, X, GNOME 및 Xapian과 같은 많은 핵심 기술이 있습니다.

답변2

예, 에 소프트웨어를 설치할 수 있습니다 /usr.

(시스템 전반에 걸친) 예는 입니다 /usr/local. (디렉토리가 /usr읽기 전용이므로 직접적으로 도움이 되지는 않을 것입니다.) 디렉토리는 /usr/local레이아웃과 일치합니다(등이 있습니다). 대부분의 경우 기본으로 구별하는 데 사용됩니다. 작업 시스템의 일부로 제공되고(입력될) 패키지는 시스템 관리자가 소스에서 설치합니다(입력될)./usr/bin/lib/usr/usr/local

/opt패키지를 별도의 패키지별 디렉터리에 설치하도록 설계된 것도 있습니다 . 예를 들어, 아래에 Perl 6을 설치하면 /opt/perl6Perl만 포함되고 다른 것은 포함되지 않습니다. 별도의 패키지에 대해 별도의 디렉터리를 유지하므로 일반적으로 해당 디렉터리를 삭제하여 패키지를 쉽게 "제거"할 수 있습니다. 일반적으로 $PATH해당 프로그램에 액세스하려면 적절한 설정을 지정 하거나 해당 프로그램에 액세스하려면 bin이미 존재하는 다른 디렉터리에 기호 링크를 만들어야 합니다 . $PATH관리는 일반적으로 관리자를 위한 것으로, 설치된 모든 패키지를 /opt업데이트해야 한다는 점을 고려하면 최선의 선택이 아닐 수 있습니다 .$PATH

디렉토리 아래에 소프트웨어를 설치하려면 $HOME그 위에 하위 디렉토리를 생성하고 또는 계층 구조를 일치시키는 것이 한 가지 가능한 방법입니다..local/usr/usr/local

그러니 이것을 시도해 보세요:

mkdir ~/.local

그런 다음 --prefix새 패키지를 설치할 때와 마찬가지로 사용하십시오. 예를 들어 패키지가 autoconf 스타일 구성 스크립트를 사용하는 경우 다음 명령을 사용하여 패키지를 빌드하고 설치할 수 있습니다.

./configure --prefix="$HOME/.local"
make
make install

거기에서 프로그램에 액세스하려면 ~/.local이를 추가해야 합니다 . $PATH그래서 당신의 ~/.bashrc:

PATH=$HOME/.local:$PATH
export PATH

변경 사항을 적용하려면 새 셸(새 터미널 또는 로그아웃했다가 다시 로그인)을 엽니다. 또는 기존 쉘에서 동일한 명령을 실행하십시오. 이제 ~/.local/bin프로그램을 직접 실행할 수 있습니다 .

관련 정보