群晖DSM 6.2增加zgrep命令

群晖 `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/

参考链接