Yummi Posted August 25, 2015 Share Posted August 25, 2015 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 Quote Link to comment Share on other sites More sharing options...
cooper Posted August 25, 2015 Share Posted August 25, 2015 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? Quote Link to comment Share on other sites More sharing options...
Yummi Posted August 25, 2015 Author Share Posted August 25, 2015 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... Downloading http://cloud.wifipineapple.com/mk5/packages/coreutils-sort_8.16-1_ar71xx.ipk. 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 Quote Link to comment Share on other sites More sharing options...
cooper Posted August 25, 2015 Share Posted August 25, 2015 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. Quote Link to comment Share on other sites More sharing options...
Yummi Posted August 25, 2015 Author Share Posted August 25, 2015 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. Quote Link to comment Share on other sites More sharing options...
cooper Posted August 25, 2015 Share Posted August 25, 2015 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. Quote Link to comment Share on other sites More sharing options...
Yummi Posted August 25, 2015 Author Share Posted August 25, 2015 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 ) 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 .... or are these thoughts too simple? Quote Link to comment Share on other sites More sharing options...
Yummi Posted August 25, 2015 Author Share Posted August 25, 2015 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 Quote Link to comment Share on other sites More sharing options...
cooper Posted August 25, 2015 Share Posted August 25, 2015 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.