web-dev-qa-ko.com

루트 액세스없이 시스템을 구축하기 위해 로컬로 개발 파일을 로컬로 설치 하시겠습니까?

이전 버전의 Linux를 실행하는 서버가 작동하는 서버가 있습니다. 시스템에 루트 액세스 권한이 없으므로 많은 (VIM 7.3)을 사용하는 더 많은 도구 버전을 구축하고 싶었습니다. 나는 그것을 짓고 ~/bin에 그것을 설치할 것이라고 생각했다. 그러나 시스템 전체가 설치되지 않은 Ncurses 개발 파일이 필요합니다. ncurses-devel rpm을 발견하고 'lib'및 '포함'폴더를 추출했습니다. 여기서 어디에서 볼 수있게 해주고 패키지를 올바르게 구성하고 구축 할 수 있도록 찾을 수 있도록 어떻게 알 수 있습니까?

편집 : VirtualBox에 동일한 OS를 설치하고 바이너리를 복사하고 바이너리를 복사 하여이 작업을 끝내 었습니다.

10
postfuturist

마지막으로 작동하는 솔루션은 ~/usr 디렉토리를 만드는 것처럼 보이는 솔루션을 사용하고, ~/usr 디렉토리를 만들고, 오른쪽 방향으로의 ./configure 스크립트를 가리 키는 것입니다. 다음은 다음과 같습니다.

  • ~/usr 디렉토리를 만들고, 포함, lib 및 bin 디렉토리를 포함하십시오.
  • .profile, .bashrc 또는 다른 쉘 초기화 스크립트에서 다음을 추가하십시오 (또는 쉘의 방언에 해당).
    export PATH=$PATH:~/usr/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/usr/lib
    export C_INCLUDE_PATH=$C_INCLUDE_PATH:~/usr/include
    export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:~/usr/include
  • 패키지를 구축 할 때 ./configure --prefix=/home/<username>/usr를 사용하십시오.

이 배열은 사용자 공간에서 물건을 만들 필요가있는 대부분의 상황에서 저에게 일했습니다. 가장 어려운 부분은 일반적으로 필요한 모든 종속성을 찾아서 구축하고 있지만 패키지 관리자의 '소스'기능을 얻는 기능이나 현명한 사용을 사용합니다.

13
chaos95

일반적으로 코드를 다시 구성하고 변경하여 모든 라이브러리 및 프로그램에 대한 홈 디렉토리 또는 다른 경로에서 다른 경로를 정의 할 수 있어야합니다 ...

그러나 imho, 가장 쉬운 방법 (충분한 공간이있는 경우)은 모든 Linux distro가 설치된 서브 디렉토리에서 chroot를 사용하고 있습니다. chroot 를 사용할 수는 없지만 이러한 훌륭한 도구를 사용할 수 없습니다 : fakechrootFakeroot

Chroot 파일 시스템을 만들려면 debootstrap 유틸리티를 사용하여 데비안 (또는 Ubuntu와 같은 데비안 파생물)이있는 디렉토리를 배포하고 싶습니다.

따라서 절차는 쉽습니다 (기술 자료에 들어 가지 않고 명령 설명서를 읽으십시오).

  • 가져오고 설치 : Fakeroot, FakechRoot 및 DebootStrap 도구
  • debootStrap을 사용하여 하위 디렉토리를 만듭니다 (나는이를 루트로 실행할 수있었습니다. 필요한 경우 바이너리를 복사하고 다른 컴퓨터에서 수행 할 수 있습니다.)
  • 실행 : FakeChroot Fakeroot chroot mydebian-dir.

자세한 정보가 필요하면이 모든 것을 수행 할 수있는 스크립트가있었습니다.

3
Keymon

prefix=/home/foo/usr가 작동하지 않으면 다음을 시도하십시오.

CFLAGS=-I/home/foo/usr/include LDFLAGS=-L/home/foo/usr/lib ./configure
1
BobuSumisu