What is Entware?
Entware is a software repository for embedded devices like routers or network attached storages. It is a modern alternative to Optware and was originally designed for use on OpenWRT but has been adapted for use on other distributions.
Why use Entware?
On a Synology NAS you can use so-called Synology add-on packages or Docker to run applications. Just like the Entware packages itself. So why should you use Entware?
- It will allow you to install over 2500+ packages many of which are not available as a Synology add-on package.
- In some cases it is a more lightweight and convenient alternative to Docker. You can use it for example to install the easy to use Nano editor that we will use as an example later on.
- Synology announced the end-of-life for a lot of Synology packages. That could also be a reason to take a look at Entware.
Install Entware on Synology NAS
Entware can be installed on ARM and Intel based Synology NAS models.
You can also check the processor and architecture of your Synology NAS with the following script.
cat /proc/cpuinfo | grep "model name" | uniq uname -mCode language: Markdown (markdown)
In the case of my Synology NAS model, the output shows an
Intel(R) Celeron(R) CPU N3150 processor and
Create the directories on your volume and mount the filesystem.
mkdir -p /volume1/@Entware/opt /opt mount -o bind /volume1/@Entware/opt /optCode language: Markdown (markdown)
Run install script depending on the architecture (see
uname -m output).
wget -O - http://bin.entware.net/x64-k3.2/installer/generic.sh | /bin/shCode language: Markdown (markdown)
wget -O - http://bin.entware.net/armv5sf-k3.2/installer/generic.sh | /bin/shCode language: Markdown (markdown)
wget -O - http://bin.entware.net/armv7sf-k3.2/installer/generic.sh | /bin/shCode language: Markdown (markdown)
For armv8 (aarch64).
wget -O - http://bin.entware.net/aarch64-k3.10/installer/generic.sh | /bin/shCode language: Markdown (markdown)
Create a triggered user-defined task in Task Scheduler.
- DiskStation Manager > Control Panel > Task Scheduler
- Create > Triggered Task > User Defined Script
- Task: Entware
- User: root
- Event: Boot-up
- Pretask: none
- Task Settings
- Run Command: (see bellow)
# Mount/Start Entware mkdir -p /opt mount -o bind "/volume1/@Entware/opt" /opt /opt/etc/init.d/rc.unslung start # Add Entware Profile in Global Profile if grep -qF '/opt/etc/profile' /etc/profile; then echo "Confirmed: Entware Profile in Global Profile" else echo "Adding: Entware Profile in Global Profile" cat >> /etc/profile <<"EOF" # Load Entware Profile . /opt/etc/profile EOF fi # Update Entware List /opt/bin/opkg updateCode language: Bash (bash)
Finally, reboot you Synology NAS.
For more information you can consult the Entware documentation.
Entware package management
Package management is done with opkg.
Run opkg without arguments to see the opkg commands that can be used.
opkgCode language: Markdown (markdown)
You can for example install the Nano editor with the following command.
opkg install nanoCode language: Markdown (markdown)
Start the Nano editor.
nanoCode language: Markdown (markdown)
Remove the Nano editor.
opkg remove nanoCode language: Markdown (markdown)
List available packages.
opkg listCode language: Markdown (markdown)
List installed packages:
opkg list-installedCode language: Markdown (markdown)
And something else you probably do not want to miss out on… 😀
opkg install vitetrisCode language: Markdown (markdown)
vitetrisCode language: Markdown (markdown)
And much, much more for you to try.