sudo 액세스없이 패키지 설치


11

수퍼 유저 액세스 권한이없는 경우 큰 종속성 트리를 사용하여 패키지를 설치하는 쉬운 방법이 있습니까? 예를 들어, firefox를 설치하고 싶다고 가정하십시오. 파이어 폭스는 많은 의존성을 가지고 있으며, 각각의 의존성 등이있다. 이러한 "./configure; make; make install"방식을 설치하는 데는 시간이 오래 걸린다.

개인 디렉토리에 설치하기 위해 apt-get을 제공 할 수있는 옵션이 있습니까? 아니면 나를 위해 모든 무거운 짐을지기 위해 해킹하는 방법이 있습니까?


www.superuser.com에 문의하거나 서버에 관한 질문이 구체적으로 www.serverfault.com 인 경우

답변:


4

다음을 사용하여 홈 디렉토리에 개별 .deb 파일을 설치할 수 있습니다.

dpkg-deb -x /path/to/some.deb $HOME

그러나 이것은 적성과 apt-get처럼 의존성을 다루지 않습니다.


이 방법을 사용하여 워크 스테이션에 julia 용 atom을 설치했습니다. 또한 ~ / .bashrc에 atom에 대한 별칭을 만들었습니다. alias atom = "/ path / to / the / executable / atom / binary / file". 그런 다음 source ~ / .bashrc를 실행하면 터미널에서 atom을 실행할 수 있습니다.
Good Will

2

NixO ( LWN )를 확인하십시오 . 패키지는 격리되어 있으며 (때로는 배포판에서 패치해야 함) 여러 번, 다른 버전으로 또는 다른 사용자가 설치할 수 있습니다.

jhbuild 는 큰 cmmi 프로세스를 자동화 할 수 있습니다. 그러나 누군가는 모듈 세트 (종속성 그래프)를 작성해야합니다.

수동 구성 / 모든 설치 프로세스를 수행하는 경우 stow 를 사용 하여 가정에 설치를 단순화 할 수 있습니다. Stow는 여러 접두사로 항목을 설치하는 데 도움이되지만 종속성 해결에는 하나의 접두사 만 사용합니다.

dpkg는 instdir / admindir / root를 사용하여 다른 접두사에 설치하도록 강제 할 수 있지만 chroot 환경에만 유용합니다.


0

소스에서 Firefox를 컴파일하지 말고 바이너리 디렉토리를 홈 디렉토리에 설치하십시오.

Mozilla 기술 자료 문서에서는 를 수행하는 방법을 설명합니다. 기본적으로 tarball을 추출하고 그 안에 파일 을 실행하면 firefox됩니다. 모든 종속성이 이미 포함되어 있으므로을 (를) 설치할 필요가 없습니다 apt.

편집 : 아니요. 일반적인 방법은 없습니다. 적어도 대부분의 응용 프로그램 (특히 GUI 응용 프로그램)은 관련 데이터 중 많은 부분이 / usr / share와 같은 잘 알려진 위치에 배치되고 하드 코딩 되어 있기 때문에 (잘, 컴파일 타임에 구성 할 수 있지만 문제의 말대로 모든 것을 다시 컴파일하고 싶지는 않습니다. 따라서 시스템 디렉토리가 아닌 실행 디렉토리에서 자원을 검색하는 사전 컴파일 된 바이너리 패키지를 확인할 수 있습니다.


나는 패키지 관리 관행에 관한 질문을 해석합니다. Firefox가 단지 예일 것으로 생각되므로 Firefox 관련 방법은 그다지 유용하지 않습니다.
quack quixote

감사합니다. 게시물을 수정했습니다. Firefox 정보는 여전히 유용합니다.
whitequark

0

나는 대답이 거의 "아니오"라고 생각합니다. 우선 모든 패키지 데이터베이스는 루트를 통해서만 액세스 할 수 있으며, 일부 / 많은 패키지에는 경로를 하드 코드하여 경로를 재배치 할 수 없습니다. chroot를 사용하는 것이 가능할 수도 있지만 그에 대한 root 또는 최소한 권한을 부여하려면 root를 가진 사람이 필요합니다.


0

나는 당신이 chroot를해야한다고 생각하면 거기에 패키지를 설치할 수 있습니다.

심판 : https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/appendix-chroot.html https://wiki.ubuntu.com/DebootstrapChroot


어쨌든 chroot를 만들려면 루트 권한이 필요하므로 패키지를 대신 설치하지 않는 이유는 무엇입니까? 이 외에도 sysadmin이 전체 루트 권한을 부여 할 가능성은 (또는 단지 apt 관련) chroot에 대한 권한보다 훨씬 적습니다. 호스트 시스템에는 (거의) 위험하지 않습니다.
whitequark
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.