[Solved]For the uninitiated opkg update



  • This post is deleted!


  • There's a set of pre-built packages sitting on a server (which is called a "repository"). The repository also contains a list of the packages it has available, what their versions are, paths to get to them, etc. I.e. metadata about all the packages on that repository.

    'opkg update' downloads the metadata from the repository so that your local system knows what's available and where to get it. Without doing that step first, your system simply doesn't know what's out there.

    As the repositories are updating frequently, it's a good idea to run opkg update before grabbing something to make sure you're getting the latest version. Additionally, the local information isn't stored permanently on the Omega due to its small disk size, so every time you power on you need to do an update before attempting to install something (as your Omega won't have the package list until then).

    It's not necessary to run 'opkg update' before every install. If you've run it recently (within a few hours) and haven't turned off power to your Omega, you should be fine.



  • I should add that this is common to most Linux distributions and is usually seen as one of Linux's strengths over other platforms. You have one place to look for programs and one place to run updates from instead of all over the web and every program having its own way of checking for and installing updates. It also lets programs build on one another (by one package requiring another to be installed to work -- you can ask for a program to be installed and it will automatically fetch everything it uses to work instead of you hunting it down yourself).

    Debian based distributions (Debian, Ubuntu, Mint, etc.) use apt ("apt-get update && apt-get install <package>"), Red Hat based distributions (Red Hat, Fedora, CentOS, etc.) use yum ("yum update && yum install <package>"), OpenWRT uses opkg, Gentoo uses portage, Arch uses pacman... there are multiple package managers but they all do roughly the same thing.



  • This post is deleted!


  • @Rudy-Trujillo The Omega runs OpenWRT version of Linux. For those familiar with different versions of Linux it is a very much cut down version of Linux intended primarily for embedded systems (see https://openwrt.org/ and https://en.wikipedia.org/wiki/OpenWrt).
    While the basics are all there, it lacks some of the additional facilities of a full blown Linux (because of memory constraints).
    The current version of OpenWRT used on the Omega is (I believe) Chaos Calmer 15.05



  • opkg update downloads metadata into /tmp. When you shut down your omega and boot it back up again /tmp gets wiped and you lose the lists of available packages. So the next time you boot you need to run opkg update to install something. If you don't, the package will not be found and can't be installed.

    Here's another tip. To see what packages are available, run opkg list. When I'm looking for a particular package, say python, I run opkg list | grep python. This gives me all packages that have python in the name or description. Sometimes it returns too many packages, so I adjust my query or use other tricks to make sense of it.



  • This post is deleted!


  • @Rudy-Trujillo Further to the good comments from @Andrei-Railean the following tips about opkg may be helpful (but always do a opkg update first):

    • opkg list takes wild cards, so a similar effect can be had by doing (e.g.): opkg list *python*
    • opkg info <package> is helpful for details about a particular package
    • Using opkg without any commands or parameters will give a helpful summary of the available commands and parameters

Log in to reply
 

Looks like your connection to Community was lost, please wait while we try to reconnect.