Jump to content

Problem with installing package coreutils-sort (8.16-1) ? (please help)


Yummi
 Share

Recommended Posts

I need the more extended GNU sort (sorting on columns) but I'm not able to install this package with OPKG Manager.

Is something wrong with package coreutils-sort?

Installing other coreutils-packages (join, tr, cat) is going smooth, but in particular the coreutils-sort package NOT. It looks like a hangup.

The installation is coming to this stage:

____________________________________________

Installing coreutils-sort (8.16-1) to root...
Downloading http://cloud.wifipineapple.com/mk5/packages/coreutils-sort_8.16-1_ar71xx.ipk.

______________________________________________

The final message doesn't show up and refreshin screens confirms that this package has not been installed.

I hope somebody can help me,

Yummi

Link to comment
Share on other sites

Some context which wasn't obvious to me until I looked at the link:

You're trying to install this onto a Wifi Pineapple, so this is OpenWRT we're talking about here (it's cool to post it here, but the Pineapple does have its own section on this forum).

The file is downloading here right now, so that doesn't seem to be the problem - the file IS there.

Can you verify that you can download it from another machine on your network or even manually on the Pineapple using something like wget or curl?

How are you doing in terms of available diskspace?

Link to comment
Share on other sites

Hi Cooper,

yes it is for WPa MK5 but forum subject Questions (Got a problem? Not sure about something? Ask here.) seemed to me the place to put down my problem.

I'm a newbie as far also Linux concerns but trying to learn fast. The GUI OPKG Manager was the most safe way to install coreutils-sort. Lack of memory/diskspace can't be the problem.

Indeed I can download this package file with wget.

Learning a bit more about installing packages, I tried to install it in this way. Here screen output:

----------------------------------

root@Pineapple:~# opkg install coreutils-sort
Installing coreutils-sort (8.16-1) to root...
Collected errors:
* check_data_file_clashes: Package coreutils-sort wants to install file /usr/bin/sort
But that file is already provided by package * busybox
* opkg_install_cmd: Cannot install package coreutils-sort.
--------------------------------------------------------------
So here the real problem shows up.( OPKG Manager is lacking some reporting features in case of fail)
But how I can solve this?
The curious thing is that I was able to install some other coreutils commands as cat, sed, cut, tr and more and these commands have also lean versions in the WPa-set (Busy-box).
So what is here the specific reason for denying to install?
Thnx for helping,
Yummi
Link to comment
Share on other sites

The problem you have is, like opkg is reporting to you, you're installing a specific file that is already being considered part of another package, specifically busybox. You can understand how this is a problem when you consider an automated upgrade of installed packages. Say you let your version overwrite the one from busybox, and a new version of busybox appears. What should the installer do? Replace, leave as-is? It's not like you can uninstall busybox as it provides a considerable chunk of the core programs that make the system work.

I think you're just going to have to make a mental note here. You can use the --force-overwrite parameter to opkg to have it replace the busybox file and whenever you upgrade the software on the system which includes busybox remember that you may have to repeat the coreutils-sort package installation as it may have been overwritten by busybox.

Link to comment
Share on other sites

ok, I understand this for the most and overwriting busybox is a bad idea.

But what I do NOT understand is (and these things I mentioned already in my last reply): why I could install several other coreutils-packages (cat, sed, cut, and more) having also counterparts in busybox? I was able to install these with the OPKG Manager.

Link to comment
Share on other sites

I have no answer for that, sorry. You're going to have to ask the OpenWRT package people about that. Might just be that the coreutils-sort package needs to do something to explicitly specify it will replace the busybox file, which those other utils do but this one doesn't. I'm guessing here, but that would kind-of make sense.

Going by this forum post from 2013 it's not exactly a new problem for them.

Link to comment
Share on other sites

Maybe I'v begin of an answer for my last question...

we have 2 directories with commands: /bin and /usr/bin (usr stands for user? yeah ... I'm a newbee :unsure: )

the new packages (coreutils) installed the "new commands they bring" in /usr/bin/

So I have a sed in /bin and a sed in /usr/bin, first one being the one with poor capabilities.

Here a list of packages I (probably) installed:

====================
root@Pineapple:/usr/bin# opkg list-installed coreutils*
coreutils - 8.16-1 <============= this one NOT (I assumed)
coreutils-cat - 8.16-1
coreutils-comm - 8.16-1
coreutils-csplit - 8.16-1
coreutils-join - 8.16-1
coreutils-paste - 8.16-1
coreutils-split - 8.16-1
coreutils-truncate - 8.16-1
==============================
the commands they implement I found back in /usr/bin.
Some have 'poor/lean' counterparts in /bin
As PATH gives priority to /bin above /usr/bin I see mostly the /bin version if a command is not full-path-qualified entered.
BUT.... the strange thing: sort and a few more (basic?) linux-commands are placed in /usr/bin and not in /bin. Have no idea why it is this way. But sort is a link to busybox.
Here part of the directory-list of /usr/bin:
==============================
-rwxr-xr-x 1 root root 103237 Mar 23 2013 sed
lrwxrwxrwx 1 root root 17 Aug 4 04:40 seq -> ../../bin/busybox
lrwxrwxrwx 1 root root 17 Aug 4 04:40 sort -> ../../bin/busybox
-rwxr-xr-x 1 root root 50112 Mar 23 2013 split
-rwxr-xr-x 1 root root 313493 Mar 11 07:25 ssh
-rwxr-xr-x 1 root root 140933 Mar 11 07:25 ssh-keygen
-rwxr-xr-x 1 root root 4066 Mar 11 07:26 sslstrip
lrwxrwxrwx 1 root root 17 Aug 4 04:40 strings -> ../../bin/busybox
lrwxrwxrwx 1 root root 17 Aug 4 04:40 tail -> ../../bin/busybox
==================================
And the sed here is NOT a link to /bin/busybox (installed by me).
So I assume that moving sort from /usr/bin/ to /bin could solve the problem :ohmy:
.... or are these thoughts too simple?
Link to comment
Share on other sites

Too curious to wait until you, Cooper or anybody else with more knowledge than I have, would react on my last suggestion, I went on and experimented.

I moved sort (in fact a link) from /use/bin/ to /bin/ so I removed it from /usr/bin.

And the wonder did happen..... even with the GUI OPKG Manager I could install coreutils-sort.

Here the report:

======================

Installing coreutils-sort (8.16-1) to root...
Downloading http://cloud.wifipineapple.com/mk5/packages/coreutils-sort_8.16-1_ar71xx.ipk.
Configuring coreutils-sort.

======================

This last line was missing in all my earlier retries to install coreutils-sort.

I've seen your link to forum OpenWRT - in fact there is written same things except that the suggestion given is removing the lean version of sort.

I have now both.

I assume that the basic commands in /usr/bin/ (and not in /bin/) are being installed there by installing new infusions and solving dependencies needed for that infusion. Anybody can confirm this?

Thanx, Cooper, for responding. I learned some new things,

Yummi

Link to comment
Share on other sites

My pleasure. See this article on the Linux File System Structure. The difference between /bin and /usr/bin is that it's assumed that /bin is available to the OS once the root filesystem has been mounted (which is pretty damn early on in the booting sequence) whereas you may have /usr mounted from elsewhere (another disk, a network share... that sort of thing) so the files there will only become available after the boot process has reached the stage where it tries to mount all the filesystems that /etc/fstab says should get mounted on boot. Because of this, critical programs like bash or ls or grep get installed in /bin whereas non-boot-critical programs such as, say, curl or md5sum go into /usr/bin.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...