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.