[server] APT가 홈 디렉토리에 패키지를 설치하도록하는 방법이 있습니까?

APT 가 홈 디렉토리에 패키지를 설치 하도록하는 방법이 있습니까?

시스템 전체를 변경하고 싶지 않습니다.

또는 홈 디렉토리 기반 Linux 패키지 관리자가 있습니까?



답변

Dpkg에는 RPM에있는 –relocate 기능이 없습니다. 이 기능을 지원하는 RPM 패키지 수를 고려해 볼 가치가 있습니다. 기본적으로는 할 수 없습니다.

시스템에 전역으로 설치하기 전에 무언가를 테스트하려면 chroot를 사용하면됩니다. 이렇게하려면 루트에 액세스 할 수 있어야합니다. 가장 먼저 할 일은 기본 chroot를 만드는 것입니다.

# debootstrap lenny lenny-chroot

이것은 lenny-chroot디렉토리 안에 Lenny chroot를 만듭니다 .

이제 chroot를 입력 할 수 있습니다 :

# chroot lenny-chroot

이제 우리는 원하는 것을하고 나머지 시스템을 망칠 필요없이 무엇이든 설치할 수 있습니다. 완료되면 exit를 입력하거나 ctrl-D를 누르십시오.


답변

Linuxbrew 는 소스에서 컴파일하고 바이너리를 홈 디렉토리에 유지하는 Linux 용 루트가 아닌 패키지 관리자입니다 (OS X 용으로 널리 사용되는 Homebrew 패키지 관리 시스템 기반).

문서를 인용하면 Linuxbrew 기능은 다음과 같습니다.

  • 홈 디렉토리에 소프트웨어를 설치할 수 있으므로 sudo가 필요하지 않습니다.
  • 기본 배포판으로 패키지되지 않은 소프트웨어 설치
  • 기본 배포판이 오래된 경우 최신 버전의 소프트웨어 설치
  • 동일한 패키지 관리자를 사용하여 Mac 및 Linux 시스템을 모두 관리하십시오.

답변

젠투 접두사는 원하는 것을 정확하게 수행합니다.

지정된 디렉토리에 모든 패키지를 설치합니다. 루트 액세스가 필요하지 않습니다. 제거하려면 기본 디렉토리를 제거하십시오.

추신 : 우분투> = 11.04 또는 Multiarch가있는 다른 데비안 파생 제품에서는 작동하지 않습니다.


답변

컴파일 옵션을 약간 추가 한 것처럼 컴파일 타임에 다른 접두사 옵션 ( “checkinstall”또는 다른 방법으로)을 사용하여 패키지로 컴파일하는 중도 옵션이 있습니다. 장점은 적성 또는 시냅스와 같은 패키지 관리자에 패키지가 표시된다는 것입니다.

게다가 어떤 경우에는 실제 .deb를 다운로드하고 dpkg 설치를 통해 다른 접두사를 적용하는 것이 가능할 수 있다고 생각하지만 임의의 패키지로 수행 할 수있는 것이 아니라고 생각합니다. 설치하기 전에 내보낼 위치에 대한 일부 변수 (리터럴 명시 적 접두사가 아닌). 나는 “dpkg instdir prefix”에 대한 google 절차에 대해 아무것도 모른다.


답변

fakechroot 를 사용할 수 있습니다 -웹 사이트의 데모를 살펴보십시오.


답변

루트가없는 GoboLinux는 자신의 홈 디렉토리에서 높은 권한이없는 패키지 관리자를 원하는대로 정확하게 수행 할 수 있습니다. 바라건대 당신은 무엇을하고 있는지 알고 있습니다. rootless는 Gobo의 가장 잘 유지되는 설치 모드가 아니며, 몇 년 전에 사용했을 때 설치 스크립트가 다른 Gobo 변경 사항에 비해 약간 오래 되었기 때문에 약간의 조정이 필요했습니다.

꽤 많은 패키지를 다시 .deb패키지하고 홈 디렉토리에 패키지를 설치할 수 있으며 작동하기 위해 루트 권한이 필요하지 않은 klik이 있지만 초기 설정에는 루트가 필요합니다.


답변

나는 보통 소스를 얻고 “INSTALL”과 같은 파일을 체크 아웃한다. 일반적으로해야 할 지침이 ./configure --prefix=somedir있습니다. 그런 다음 somedir/bin경로 에 추가 해야합니다.