루트 액세스 없이 소스에서 zsh 설치

루트 액세스 없이 소스에서 zsh 설치

소스를 복제했습니다다루기 힘든github의 소스 파일, 그 후 명령을 실행했습니다.

bash install-sh

그리고

./install

그것은 나에게 메시지를 표시합니다

어떤 입력 파일을 지정하지.

그런 다음 내가 시도한 지침을 따르십시오.

make install

난 운이 없어

*** 대상을 "설치"하게 만드는 규칙은 없습니다. 멈추다.

누구든지 나에게 몇 가지 팁이나 지침을 줄 수 있습니까?

답변1

쉘은 zsh시스템의 패키지 관리 소프트웨어를 통해 패키지로 사전 컴파일될 가능성이 높습니다.

쉘의 공식 소스 코드 배포는 zsh다음에서 찾을 수 있습니다.https://www.zsh.org/pub/, configure스크립트가 포함되어 있습니다. Git 저장소는 주로 프로젝트에 기여하려는 개발자와 사람들을 위한 것입니다 zsh. configure프로젝트 설치 접두사 등을 구성하고 나중에 소프트웨어를 빌드하는 데 사용되는 실제 Makefile을 생성하기 위한 스크립트가 누락되었습니다. make저장소의 나머지 코드에서 파생되므로 스크립트가 부족합니다.

프로젝트 파일에 따라 먼저 저장소의 최상위 디렉터리에서 실행하여 INSTALL파일을 생성해야 합니다 . 이와 같은 사전 구성 단계는 스크립트(또는 이에 상응하는 것)가 프로젝트 소스 코드 저장소에 배포되지 않은 프로젝트에서 비교적 일반적입니다../Util/preconfigconfigureconfigure

완료되면 나중에 실행할 때 프로젝트를 설치할 위치 와 같은 로컬 디렉터리를 가리키는 옵션을 configure사용하여 실행할 수 있습니다 . 유틸리티는 선택한 설치 접두사 아래에 추가 디렉터리를 자동으로 생성합니다.--prefix"$HOME"/localmake installmakebin

bin또한 변수에 접두사가 설치된 디렉터리를 추가하는 것을 잊지 마세요 PATH.

답변2

문제는 시스템 디렉터리에 설치하려고 하는데 권한이 없는 사용자로는 이 작업을 (매우 일관되게) 수행할 수 없다는 것입니다(전체 아이디어입니다).

따라서 설치 대상 디렉터리를 변경해주세요!

https://github.com/zsh-users/zsh/blob/master/INSTALL귀하의 참고 사항입니다.

스크립트 configure에는 도움말 명령이 함께 제공됩니다.

./configure --help설치 접두사를 변경할 수 있다고 알려줍니다.

물건을 설치하려는 디렉토리가 ./configure --prefix=/home/ren/prefix있다고 가정하면 를 사용하여 간단히 수행할 수 있습니다 ./home/ren/prefix

그런 다음 정상적으로 계속 진행합니다. 그 후에는 /home/ren/prefix/binie 에서 실행 파일을 사용하고 싶다고 시스템에 알려야 합니다 export PATH=/home/ren/prefix/bin:$PATH. 또한 라이브러리가 있음을 알려야 합니다. 예를 들어 /home/ren/prefix/lib64해당 경로를 직접 확인해야 합니다 export LD_LIBRARY_PATH=/home/ren/prefix/lib64:$LD_LIBRARY_PATH. 그런 다음 새로 컴파일된 zsh를 실행할 수 있습니다.

$> zsh

응!

일반적으로 나는 자신의 시스템에서 쉘을 컴파일하는 것이 우선 순위 목록에서 높아야 한다고 생각하지 않습니다. 보다 합리적인 패키지 관리자를 사용하여 설치할 수 있습니다. 그냥 시험해보고 싶다면 podmanor를 사용하여 실행해 볼 수 있습니다 docker(이 경우 podman을 docker로 교체하면 됩니다).컨테이너,안에루트이지만 시스템의 루트는 아닙니다.

podman run -it --rm debian:11
root@abcdef123:/# apt update
root@abcdef123:/# apt install -y zsh
root@abcdef123:/# zsh
abcdef123:/# ## this is now zsh

관련 정보