在哪里放置可变数据(日志记录、数据)

在哪里放置可变数据(日志记录、数据)

Nix 新用户在这里。

Blazegraph我正在尝试从tgz可用版本创建派生这里

里面有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创建result文件夹,然后nix-shell --pure.

然后,当我尝试运行时./result/bin/blazegraph start,出现错误

result/log/blazegraph.out: Permission denied

我猜result文件夹内不能写入任何内容,因为它是不可变的。在这种情况下,我应该将上面列出的文件夹(数据、配置)放在哪里?我能想到的第一个候选人是/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

相关内容