Difference between revisions of "Ipkg on the Linkstation (for end-users)"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
Line 58: Line 58:
No stable (or unstable feeds) yet.  Some of the NSLU feeds may work but you use them at your own risk. Go to the [[List of ipkg feeds for the LinkStation]] for mor information.
No stable (or unstable feeds) yet.  Some of the NSLU feeds may work but you use them at your own risk. Go to the [[List of ipkg feeds for the LinkStation]] for more information.

Revision as of 17:53, 20 August 2006

This article is based on original work from frontalot & nix & timtimred from www.linkstationwiki.org

Ipkg on the LinkStation

iPKG - The Itsy Package Management System is the package management system used in OpenLink firmware, a very lightweight package management system. It was designed for Linux installations with severe storage limitations such as handheld computers. iPKG is more than just an embedded Linux flash image builder, (although it does that fairly well). It also allows for dynamic installation/removal of packages on a running system.

iPKG is itsy in several ways:

  • The control programs themselves are small
  • The installed meta-data tries to be only what is absolutely essential
  • The available packages are small. (The idea is that the package tree should be as fine-grain as possible.)

Manually Installing ipkg

Install Ipkg

If you want to use .ipk packages on an unsupported firmware or older firmware, you first need to install a version of ipkg manually:


wget http://downloads.linkstationwiki.net/powerpc-hdhlan/powerpc-hdhlan-ipkg-0.99.153-1.tgz 
tar -C / -xvzf powerpc-hdhlan-ipkg-0.99.153-1.tgz


wget http://downloads.linkstationwiki.net/mipsel-hdhlan/mipsel-hdhlan-ipkg-0.99.153-1.tgz
tar -C / -xvzf mipsel-hdhlan-ipkg-0.99.153-1.tgz

Manually configure the configuration files

# /etc/ipkg.conf -- Configuration for ipkg, the Itsy PacKaGe management system
# Must have one or more source entries of the form:
#	src <src-name> <source-url>
# and one or more destination entries of the form:
#	dest <dest-name> <target-path>
# where <src-name> and <dest-names> are identifiers that
# should match [a-zA-Z0-9._-]+, <source-url> should be a
# URL that points to a directory containing a Familiar
# Packages file, and <target-path> should be a directory
# that exists on the target system.
src openlink-stable <<<stable feed url>>>
#src openlink-unstable <<<unstable feed url>>>
dest root /
#dest ram /mnt/ramfs
#dest ext /mnt/hda 
# Proxy support:
#option http_proxy http://localhost:5865
#option ftp_proxy http://proxy.tld:3128
#option proxy_username <username>
#option proxy_password <password>
# Offline mode (for use in constructing flash images offline)
# option offline_root ipkg-root


No stable (or unstable feeds) yet. Some of the NSLU feeds may work but you use them at your own risk. Go to the List of ipkg feeds for the LinkStation for more information.


Experimental "unstable" ipk Packages for the MIPSEL Linkstation 2 If you wish to use those packages, the easiest way is, to add the following line to the file /etc/ipkg.conf:

src AlexanderSkwar http://alexander.skwar.name/~askwar/linkstation/packages/mipsel/

Installing Packages via a Feed

ipkg can automatically fetch and install packages from an online repository called a feed. ipkg will automatically download the requested package and its related dependencies, install the package and dependencies, and perform any setup operations, as specified in the packages.

The official LinkStationWiki feed is located at http://ipkg.linkstationwiki.net/. Feeds for a particular ipkg installation are configured in the file /etc/ipgk.conf with the src option. The ipkg configuration which comes with the OpenLink firmware is already set up for using the LinkStationWiki feed. See LinkStationWiki feed URLs if you want to verify the feed configuration or need to manually configure ipkg for the LinkStationWiki feed.

If you have a configured ipkg you can start to use the feed. Begin by updating the list of available packages:

ipkg update

Then display the list of available packages:

ipkg list

You may search for a particular package by using the grep program:

ipkg list|grep packagename

Once you know what to install installing packages from the feed is very simple:

ipkg install packagename

Some packages feature installation scripts which help configure the software. If the requested package has such a script, you will automatically be prompted to provide information.

Upgrading Already Installed Packages

You can upgrade already installed software quite easily:

ipkg upgrade

Manually Installing .ipk Packages

Unless you have a specific reason not to, you should always install packages via the official feed. However, in certain cases, you may wish to manually install packages:

ipkg install packagename_version.ipk

Note: The current version of ipkg may leave an empty directory in your tmp directory. You can delete this directory after completing a package installation (the tmp directory is also automatically cleared during each reboot).


There are a number of security issues related to installing 3rd party .ipks. These issues are not unique to the ipkg system, but stem from the fact that ipkg and other packaging systems allow to install packages which have been built by other people. Therefore, you should only install packages from feeds and sources you trust.

Some potential security issues:

  • A package can accidentally or intentionally change access rights, e.g., a package can open the whole /etc directory to all users or set the SUID bit on some binary.
  • Replacement or manipulation of security relevant binaries (e.g. the shell) or configuration files.
  • Installation of malicious binaries, e.g., backdoors and root kits. This only is an issue with untrusted feeds or .ipks.
  • Accidental or intentional changes of security-relevant configuration files.