在 Entware 中安装设置 PostgreSQL

出于某些不愿多说的原因,把 Home Assistant 的数据库切换到了 MariaDB(MySQL),可能是设置问题,MariaDB 导致系统负载很高。还是换回 PostgreSQL(pgsql),系统负载低了很多。

安装 PostgreSQL

这次在 Entware 中安装,比较绿色。

opkg update
#安装pgsql
opkg install sudo pgsql-cli pgsql-cli-extra pgsql-server
source ~/.bashrc
#新建文件夹,赋权给postgres
mkdir -p /opt/var/pgsql/data
chown postgres /opt/var/pgsql/data
#初始化数据库
sudo -u postgres pg_ctl -D /opt/var/pgsql/data initdb
#启动pgsql
/opt/etc/init.d/S98postgresql start

不同于通过 apt-get 安装的,安装完成就已经可用了;在 Entware 中安装的软件,需要手动完成初始化等设置。

配置 PostgreSQL 远程连接

如果 PostgreSQL 安装在其他设备,或者要使用 Adminer 来远程管理,则需要远程连接。这时需要修改 /opt/var/pgsql/data 目录下的 pg_hba.conf 和 postgresql.conf。

1、pg_hba.conf,配置对数据库的访问权限。

# IPv4 local connections:
host  all    all    127.0.0.1/32     trust

不需要特别严格的权限控制时,可以直接将 IPv4 下面的设置修改为以下代码即可,可根据需要设置IP段

host  all    all    0.0.0.0/0        trust

2、postgresql.conf,配置PostgreSQL数据库服务器的相应的参数。PostgreSQL安装完成后,默认只接受来在本机localhost的连接请求。

定位到 #listen_addresses='localhost' ,修改为

listen_addresses = '*'

允许监听来自任何主机的连接请求。

3、重启 PostgreSQL 后生效, /opt/etc/init.d/S98postgresql restart

WD My Cloud Gen1 安装 Entware-ng

本文仅针对 WD My Cloud Gen1 3.0 固件。Gen1 3.0 固件基于老旧的 Debian 7,虽然可以 apt-get 安装软件,不过万一不小心更新了 libc,很可能会变砖,小心为妙。

Entware-ng 是为路由器、NAS 等设备打造的软件仓库,可以方便的安装上千款软件,如 aria2, dropbear, shadowsocks 等。

安装 Entware-ng 到 WD My Cloud

#删除原来的opt目录,ln链接到共享目录,防止系统升级重置等丢失
rm /opt -rf
mkdir /shares/Public/opt -p
ln -s /shares/Public/opt /opt
cd /opt
#一键安装 entware-ng
wget http://pkg.entware.net/binaries/armv7/installer/entware_install.sh -O -|sh
#追加变量环境
sed -i '/\/opt\/bin/d' ~/.bashrc;
echo "export PATH=/opt/bin:/opt/sbin:\$PATH" >> ~/.bashrc
source ~/.bashrc
#把开机脚本加入rc.local
echo "/opt/etc/init.d/rc.unslung start" >> /etc/rc.local
#也许要把rc.local加入系统启动项
update-rc.d rc.local defaults 99

Entware 的使用

#更新源
opkg update
#升级软件
opkg upgrade
#查找软件
opkg find shadowsocks*
#安装aria2
opkg install aria2
#删除 aria2
opkg remove aria2

继续阅读