虽然群晖套件中心的工具挺丰富,但需要比较偏门的工具时很可能没有。如果能有像 apt、yum 这样的软件包管理器就好了,这个确实可以有,IPKG(Itsy Package Management System)就是这样的工具。
iPKG 是一个非常轻量级的包管理系统。它是为存储资源匮乏的 Linux 系统软件安装设计的,例如掌上电脑(曾经)。它不仅可以构建软件包,还可以方便地安装和卸载。曾在 OpenWrt 系统上较为流行。由于 ipkg 项目已不再继续开发,很多项目已转粉 opkg(从 ipkg fork 的项目)。不过这不影响我们的使用。
下载 bootstrap 安装脚本
wget http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-x86_64-bootstrap.sh
我的 NAS CPU 是 INTEL Celeron J3355,系统是 64 位的,所以选择了 x86_64,64 位兼容 i686(32 位),所以也可以装 32 位的。我看网上好多选择了 http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh ,从名字 syno-* 来看似乎是适配群晖的?除了软件数量少几百个,似乎没有什么大的差异。不过由于我需要安装 64 位的 GCC,所以就不选它了。
看一下 buildroot-x86_64-bootstrap.sh:
#!/bin/sh
feed=http://ipkg.nslu2-linux.org/optware-ng/buildroot-x86_64
ipk_name=$(wget -qO- $feed/Packages | awk '/^Filename: ipkg-static/ {print $2}')
wget -O /tmp/$ipk_name $feed/$ipk_name
tar -C /tmp -xvzf /tmp/$ipk_name ./data.tar.gz
tar -C / -xzvf /tmp/data.tar.gz
rm -f /tmp/$ipk_name /tmp/data.tar.gz
echo "src/gz optware-ng $feed" > /opt/etc/ipkg.conf
echo "dest /opt/ /" >> /opt/etc/ipkg.conf
PATH=$PATH:/opt/bin:/opt/sbin
echo "Bootstraping done"
echo "Installing glibc-locale package to generate needed /opt/lib/locale/locale-archive"
echo "================================================================================="
/opt/bin/ipkg update
/opt/bin/ipkg install glibc-locale
echo "================================================================================="
echo "Removing glibc-locale package to save space: this doesn't remove generated /opt/lib/locale/locale-archive"
/opt/bin/ipkg remove glibc-locale
该脚本的作用是选择了与脚本 CPU 架构相一致的 ipkg 本尊,将其下载后安装在 \opt\bin 。
安装
chmod +x buildroot-x86_64-bootstrap.sh
./buildroot-x86_64-bootstrap.sh
常用命令
ipkg update #更新本地可用软件列表,首次安装软件前至少先运行一次
ipkg list #列出所有的可用软件
ipkg list_installed #查看已安装的软件
ipkg find <软件名> #从可用软件包中搜索指定软件
ipkg list | grep <关键词> #从可用软件包中搜索指定关键词
ipkg install <软件名> #安装指定软件
ipkg remove <软件名> #卸载指定软件
ipkg upgrade #升级已安装的软件
|