群晖 `DSM 6.2` 系统上执行 `zgrep` 命令的时候提示找不到命令,其他平台系统(`ARM` ),需要手工编译安装`ZUtils`,来提供。但是如果是 `X86` 系统的话(比如 `DS718+` ),可以直接使用交叉编译环境里的工具,直接拷贝到系统即可。
首先参考 搭建群晖交叉编译环境(DS718+/ubuntu 16.04.6/DSM 6.2.1-23824 Update 6) 搭建群晖 `DSM 6.2` 的编译环境。
`DS718+` 执行如下:
$ cd ~/toolkit//build_env/ds.x64-6.2/ $ scp -r ./bin/zgrep username@10.10.10.111:~/ $ ssh 10.10.10.111 -l username $ sudo mv ~/zgrep /usr/local/bin/
需要编译的(`ARM` 芯片版本),执行如下命令编译:
$ cd ~/toolkit/pkgscripts-ng # 下载 ZUtils 1.8 $ sudo wget http://deb.debian.org/debian/pool/main/z/zutils/zutils_1.8.orig.tar.xz -O ../build_env/ds.x64-6.2/root/zutils_1.8.orig.tar.xz # 也可以本站下载 sudo wget https://www.mobibrw.com/wp-content/uploads/2019/04/zutils_1.8.orig_.tar.xz -O ../build_env/ds.x64-6.2/root/zutils_1.8.orig.tar.xz $ sudo chroot ../build_env/ds.x64-6.2/ $ cd root $ export PREFIX="/root/build_libs" $ export HOST="x86_64-linux-gnu" $ mkdir -p $PREFIX # 编译 ZUtils 1.8 $ tar xvf zutils_1.8.orig.tar.xz $ cd zutils-1.8/ $ PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig/ \ LD_LIBRARY_PATH=$PREFIX/lib/ \ ./configure \ --prefix=$PREFIX $ make clean $ make $ make install
对于编译好的程序,复杂的可以自己制作安装包,简单的可以直接通过SSH推送到设备的/usr/local/bin目录下即可。
比如本次编译结果:
# 暂时只需要zgrep,因此只安装 zgrep $ scp -r $PREFIX/bin/zgrep username@10.10.10.111:~/ $ ssh 10.10.10.111 -l username $ sudo mv ~/zgrep /usr/local/bin/