The Optware package manager is a lightweight system designed to deliver and manage software packages on NAS devices and other Linux-based small computer systems. It provides a convenient way to extend the functionality of your device by allowing you to easily install, update, and remove additional software beyond the default offerings. This flexibility is especially valuable for users who want to customize their NAS with new services or tools tailored to their specific needs.
To add these extra services to your NAS, the first step is to install the IPKG package manager, which serves as the foundation for Optware. Fortunately, on the Lenovo IX4-300d, IPKG is already pre-installed, so there’s no need for a full installation. Instead, all that’s required is to add the appropriate software repositories, enabling you to quickly access and install a wide range of useful packages to enhance your NAS’s capabilities.
Requirements
Before proceeding, make sure you have SSH access enabled on your NAS. If you haven’t set up SSH yet, follow this guide to enable it.
Add IPKG Optware Repositories
To extend your NAS with additional Linux packages via IPKG (the package manager behind Optware), you need to add the appropriate repositories first. Follow these instructions carefully:
-
Open your SSH client
Launch PuTTY (Windows) or Terminal (macOS/Linux) and connect to your NAS using the IP address and SSH credentials. -
Set the repository feed URL
Run the following command to store the feed URL in a variable: -
Download the IPKG package
Fetch the latest IPKG package filename from the repository and download it: -
Extract and install IPKG
Extract the downloaded package and install it on your NAS root filesystem: -
Create IPKG configuration directory
-
Add repository sources
Append repository URLs to the IPKG feed configuration file: -
Clean up installation files
Remove the downloaded package to free space: -
Update IPKG package lists
Your NAS is now ready to install new software packages!
Installing Packages with IPKG
Try installing a useful tool like the nano
text editor to test your setup:
Once installed, you can launch nano directly from the command line to edit files.
Useful IPKG Commands
-
List all installed applications:
-
List all available packages in the repository:
-
Install a package:
-
Remove a package:
Important: Never remove the default installed system packages, as these are critical for your NAS to function properly. Some of these are:
binutils
,bzip2
,diffutils
,expat
,libc-dev
,libcurl
,libdb
,libevent
,libnsl
,libstdc++
,ncurses
,ncursesw
,openssl
,rcs
,readline
,sqlite
,zlib
, and others.
Following this guide, you will have a fully functional IPKG system on your NAS, unlocking a wide variety of additional Linux applications and tools. Enjoy customizing your device!
THANKS! These are great concise instructions!
Thanks for the insights. Is there a reason you’ve chosen the unstable branch instead of the stable branch for your feed?
you can change the link to “http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/” for stable releases however i did all my guides using the unstable repository and had no problems so far. Both should work just fine.
Is there a way to make the ix4-300d a full webserver where i can host multiple virtual hosts?
The ix4-300d is running linux, so any linux(ARM) Web server can be installed on your NAS. I will try to install a web server on mine and let you know how it went.
thank you very much Steven, i really appreciate that
hi Steven, is there any progress on this topic?
i’m sorry, I have not started yet… i’m verry bussy atm.
Had to execute the following command before getting app listed
export IPKG_CONF_DIR=/opt/etc
Getting this error when doing second export command:
login as: root
[email protected]‘s password:
root@MilyardMedia2:/# export feed=http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable
root@MilyardMedia2:/# export ipk_name=wget -qO- $feed/Packages | awk ‘/^Filename: ipkg-opt/ {print $2}’
-sh: export: `-qO-‘: not a valid identifier
-sh: export: `http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages’: not a valid identifier
root@MilyardMedia2:/#
i will test the guide on my NAS again and see if there are problems… I will try in a few days..
Thanks. I am trying to get setup now. I got a new 4tb for just this and moved all my other files to my 12tb.
The guide has been updated, tested and working… for some reason wordpress changed special characters in the code
Great! I will give it a try again!
Also by any chance you installed Iomega’s MySQL and config it for xbmc?
XBMC is easy to configure, the best way is to configure your NAS as a “Samba Share” in XBMC so you can browse your drive in XBMC like you would on your PC. An other option is to use the IX4-300d’s build in Media Server but this feature seems to be very unstable and laggy, also your video’s won’t be organized in folders.
is it safe to upgrade the firmware of the ix4-300d? or do i have to start over with all the things i’ve done?
I already wrote a guide on how to upgrade the firmware on the IX4-300d : http://stevenbreuls.com/2013/11/preserve-custom-servers-after-omegalenovo-ix4-300d-update/
upgrade is done, didn’t have to do anything all my changes still work.
i managed to install a second apache for my public webserver, and set the port of the internal webserver on a other port so port 80 is free for the secondary webserver, only can’t get php working with that server, do you have any idea
i have not yet tried to install php webserver on my NAS. However i think it’s very usefull having a small webserver for testing. When i find the time i will probably try installing apache myself 🙂
i’ll go on also, and let you know if i find any progress 🙂
When doing the 5th command getting this error:
-sh: syntax error near unexpected token `;&’
one of my plugins seems to add extra characters to the code, i will fix this asap.
the 5th line should be :
echo “src cross $feed” >> /opt/etc/ipkg/feeds.conf
With just the one > not >>?
Also I keep running into issues, Just wondering if would be willing to help me out remote and I can write all the commands down etc to post?
Since having to replace this NAS keep running into little issues. Trying to get this backup so wife and kids can use the HTPC.
It was >> indeed, i’m sory :p btw, all code is fixed now.
Steven you think you could help me out trying to get this going? I am not a Linux/Unix guy by any means and I am having issues. I am got this new NAS and trying to get Sickbeard and CouchPotatoe running on it and keep getting errors when trying most of the commands here now. I think WordPress messed up some of them but I don’t really know the correct syntax for them, If you could help me out remotely of something I will be willing to donate to your site etc. I am working from home today so I would really like to get this going so the wife and kids can use the HTPC again.
Fixed all code’s, wordpress plugin wasnt working as it should.
When I try to update ipkg i get this:
root@NAS:/opt/etc# /opt/bin/ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable/Packages
Updated list of available packages in /opt/lib/ipkg/lists/native
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages
An error ocurred, return value: 1.
Collected errors:
ipkg_download: ERROR: Command failed with return value 3: `wget –passive-ftp -q -P /opt/ipkg-naEv0s http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages‘
any idea how to fix it?
Steven do You use IRC channel or any other chat, where we can talk and do some live testing?
no i am not using IRC, however you can chat with me on the facebook page.
Amazing – Thank YOU! I’ve been trying to figure out how to put FLAC on my Lenovo NAS so I could convert some .wav files. This did the trick!!
Hi, after using df command I get:
root@NAS:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 51200 6308 44892 13% /
/dev/root.old 11339 3244 8095 29% /initrd
none 51200 6308 44892 13% /
ubi0:boot 913360 358152 550368 40% /boot
/dev/mapper/md0_vg-BFDlv 4128448 8192 3910544 1% /mnt/boot
/dev/loop0 681297 610599 70698 90% /mnt/apps
/dev/loop1 7657 1005 6243 14% /mnt/etc
none 7657 1005 6243 14% /etc
/dev/loop2 128 128 0 100% /oem
tmpfs 51184 180 51004 1% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 102360 0 102360 0% /run/shm
/dev/mapper/md0_vg-vol1 16493480 724464 15601452 5% /mnt/system
/dev/mapper/1714d3ec_vg-lv371485ca 11454436576 162780 11454273796 1% /mnt/pools/A/A0
So it looks like there is no opt partition.
Maybe it is possible to install ipkg to mnt/system?
Any updates on that issue?
Hello everyone, seems that latest firmware is somewhate “destructive” for /opt/ as any ipkg installed is not retained upon reboot… hope someone can figure out a solution… many thanks!
I agree – same experience here. The latest firmware update is destructive for /opt. Please help!
same here.
how can we fix this problem with /opt ?
I fixed it. With next link: http://vincesoft.blogspot.be/2012/01/how-to-install-software-into-your.html
This fixed the ipkg. Further i followed the next steps here.
Thanks! , i will try to update my guide.
today i installed latest firmware. I repaired the startup script to get nzbget worked again.
Thanks sesew. That modification worked fine for me.
Hi, your posts are all a great help in understanding the capabilities of the ix4!
I have an issue and I’m wondering if you can give me a clue as to how I would solve that! I’ve installed PHP through the LifelineApps and I’m trying to install the Zip module as well as Bzip2 so that I can use PhpMyAdmin on the machine.
I’ve located the PHP.ini but now I’m stuck trying to figure out where/how to install the modules and how I should edit the php.ini to reflect the changes… any help would be more than appreciated!
i’m sorry i cannot help you. my NAS won’t install the liflineapps anymore so i cannot test the PHP server.
Thanks, it works for me, until reboot.
After reboot everything is setted back to default in /opt folder.
For example the /opt/bin folder is comletly deleted.
Firmware: 4.1.110.33149
Do you have any idea?
not sure what happened, i havn’t updated to the latest firmware yet…
Good for you! 🙂