변경 가능한 데이터(로깅, 데이터)를 넣을 위치

변경 가능한 데이터(로깅, 데이터)를 넣을 위치

새로운 Nix 사용자가 여기에 있습니다.

Blazegraphtgz사용 가능한 버전에서 포크를 만들려고 합니다.여기.

내부에는 bin/, conf/, data/, lib/, log/등과 같은 pid/여러 폴더 가 있습니다 war/. blazegraph 데이터베이스는 명령을 사용하여 시작할 수 있습니다 ./bin/blazegraph.sh start.

이것은 내 이니셜입니다 default.nix.

# { stdenv, fetchurl, makeWrapper, jre }:
with import <nixpkgs> {};

stdenv.mkDerivation rec {
  name    = "blazegraph-${version}";
  version = "2.1.5";

  src = fetchurl {
    url    = "https://github.com/blazegraph/database/releases/download/BLAZEGRAPH_RELEASE_2_1_5/blazegraph.tar.gz";
    sha256 = "440cecbe1714fc8eba9ec4e798f44eecb41529394323cae9027c8d1944acd9e4";
  };

  phases = "installPhase";

  installPhase = ''
    mkdir -p $out
    cd $out
    cp ${src} $out
    tar xvf $out/*blazegraph.tar.gz
    cp -r $out/blazegraph-tgz-2.1.5/* $out
    mv $out/bin/blazegraph.sh $out/bin/blazegraph
    chmod +x $out/bin/blazegraph
  '';
}

그 후, 나는 nix-build폴더 resultnix-shell --pure.

그런 다음 실행하려고 하면 ./result/bin/blazegraph start오류가 발생합니다.

result/log/blazegraph.out: Permission denied

result폴더는 변경할 수 없기 때문에 폴더 안에는 아무것도 쓸 수 없는 것 같습니다 . 이런 경우 위에 나열된 폴더(data, config)를 어디에 넣어야 하나요? 제가 생각하는 첫 번째 후보는 입니다 /var/lib/blazegraph. 어떤 제안이 있으십니까?

편집하다

default.nix내 홈 디렉토리에 위치합니다 . 출력 운영 체제는 ls -l result다음과 같습니다.

total 49952
dr-xr-xr-x 2 xxx xxx     4096 Dec 31  1969 bin
dr-xr-xr-x 9 xxx xxx     4096 Dec 31  1969 blazegraph-tgz-2.1.5
dr-xr-xr-x 2 xxx xxx     4096 Dec 31  1969 conf
dr-xr-xr-x 2 xxx xxx     4096 Dec 31  1969 data
dr-xr-xr-x 2 xxx xxx     4096 Dec 31  1969 lib
dr-xr-xr-x 2 xxx xxx     4096 Feb 13 17:21 log
dr-xr-xr-x 2 xxx xxx     4096 Feb 13 17:50 pid
dr-xr-xr-x 5 xxx xxx     4096 Dec 31  1969 war
-r--r--r-- 1 xxx xxx 51114828 Dec 31  1969 x5p8m36z8da5zvwarjhrkh22fdk3s1hf-blazegraph.tar.gz

출력은 ls -l result/log다음과 같습니다

total 16
-rw-r--r-- 1 xxx xxx 15300 Feb 13 17:19 blazegraph.out

관련 정보