QNAP安装Entware
2023-02-18 16:44:49 时间
老高才入坑qnap(威联通),在ssh到NAS后,发现没有常用的zsh、git、sudo,这可让用惯了centos,debian系统的老高情何以堪。
一番查阅后,老高发现原来QNAP所使用的系统QTS可以使用Entware,也就是opkg最为包管理系统,这不就简单了,老高以前在OpenWrt上用的就是这个玩意儿!
本篇内容可以让你学会如何在QNAP上安装Entware-ng,以及zsh,git,sudo还有ohmyzsh等常用工具,并且保证他们不会被系统还原!
安装
想要在你的QNAP上安装Entware,可以访问Qnapclub Store - Entware-ng,找到对应的架构的下载地址。
比如老高的机器是TS-551
,和TS-453Bmini
一样是x86_64,所以下载TS-NASX86_64
版本,对应下载链接为https://www.qnapclub.eu/en/qpkg/model/download/11369/Entware-ng_0.97.qpkg
最后我们ssh到NAS中,执行下面的命令:
cd /tmp
# 下载
wget https://www.qnapclub.eu/en/qpkg/model/download/11369/Entware-ng_0.97.qpkg
# 执行安装
sh Entware-ng_0.97.qpkg
# 最后删除安装包
rm Entware-ng_0.97.qpkg
这样就完成了安装过程。
使用
以安装 zsh + oh-my-zsh 为例
# 首先更新opkg
opkg update
# 安装zsh
opkg install zsh
# 安装git
opkg install git-http
# 安装oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
到这里我们就完成了一半了!为什么是一半呢?因为每次重启时,文件系统就会被还原,所以我们需要在系统加载的时候HACK一下,通过观察挂载的规则,老高发现/etc/init.d/Entware.sh
这个脚本可以为我所用,所以后面我们就改一下这个脚本!
l /etc/init.d/Entware.sh
/etc/init.d/Entware.sh -> /share/CACHEDEV1_DATA/.qpkg/Entware/Entware.sh
# 首先,我们需要把oh-my-zsh的配置放在硬盘中,否则重启就会被删除
# 这里假设硬盘路径为/share/CACHEDEV1_DATA/
mkdir -p /share/CACHEDEV1_DATA/.zsh
cd ~
mv .zsh_history .zshrc .oh-my-zsh /share/CACHEDEV1_DATA/.zsh
## 最重要的一步!
vi /share/CACHEDEV1_DATA/.qpkg/Entware/Entware.sh
## 找到start位置,在创建link的时候加入以下代码
/bin/ln -sf /share/CACHEDEV1_DATA/.zsh/.zshrc /root/.zshrc
/bin/ln -sf /share/CACHEDEV1_DATA/.zsh/.oh-my-zsh /root/.oh-my-zsh
/bin/ln -sf /share/CACHEDEV1_DATA/.zsh/.zsh_history /root/.zsh_history
额外补充,如果你的删除键有问题,尝试在.zshrc文件的最后加一行
TERM=xterm
安装sudo
opkg install sudo
# 或者
opkg install coreutils
# coreutils包含了更多基础命令行,很值得入手?
相关文章
- BGEN格式如何使用?有经验的家长已经给孩子收藏了。。。
- 【Docker】docker网络—bridge网桥网络详悉
- 【Docker】基于Rancher快速部署docker容器管理平台
- 【Podman】podman入门学习 | Docker替代品
- 关于CSDN云主机从购买到上手体验的真实感受与些许建议 | CSDN开发云
- 【Mermaid】画图工具使用笔记
- 【Anolis OS】龙蜥操作系统(Anolis OS) 8.6安装指南
- 【ChatGPT】与ChatGPT聊天,了解世界杯的前世今生
- 【猿如意】如意如意随我心意快快显灵—markdown笔记来啦
- 最近很火的ChatGPT,带你注册体验全攻略
- 备份同步神器 Rclone 使用教程
- [manjaro]更新fcitx到fcitx5
- AX9000 Docker - Cloudreve 搭建并打洞
- 什么是 HDR? / 杜比视界又是什么? / 我们真的需要 HDR 吗?
- Flask框架在项目中关于调试模式和URL的运用和表现
- 【Flask】大型项目中对于url_for() 的使用以及请求数据上传文件的开发实例
- 【Flask】大型项目要进行项目部署的技术实操(Apache)
- 组合式函数(Composables)解决了mixins的哪些痛点?
- 【Flask】当企业级项目在大多数视图登录性能优化以及测试覆盖的详细解决方案
- 【Flask】显式应用程序对象和销毁行为以及销毁行为在flask项目中的使用