Jump to content

[arch-announce] Binaries move to /usr/bin requiring update interventio


ichase

Recommended Posts

More manual intervention. Always cringe when that happens. :)

 

Make sure you make a back up before attempting!!!! Lord knows I will, this looks like it could be ugly. I speak only from my past moments with manual intervention updates. ;) I wish all you Archers the best and smoothest of update :)

 

Allan McRae wrote:

 

During your next update, you will get a error message like:

 

 

error: failed to commit transaction (conflicting files)

 

filesystem: /bin exists in filesystem

 

 

The update merges all binaries into a unified /usr/bin directory. This step

removes a distinction that has been meaningless for Arch systems and simplifies

package maintenance for the development team. See [this post][1] for more

explanation of the reasoning behind this change.

 

The following instructions will ensure a safe update:

 

1) Fix any non-official packages with files in /bin, /sbin or /usr/sbin to put

those files in /usr/bin. The list of packages that are not in a repo that need

to be fixed can be generated using:

 

 

$ pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -

 

 

Also check packages installed from non-official repos using:

 

 

$ paclist <repo> | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/\|

/usr/sbin/'

 

 

2) Make sure any packages in IgnorePkg or IgnoreGroup do not have files in /bin,

/sbin, or /usr/sbin. Fix them if necessary.

 

3) If you have files in /bin, /sbin or /usr/sbin that are unowned by any

package, you need to move them. Find a list using:

 

 

$ find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/null

 

 

4) Ensure all partitions are mounted if using autofs. They may not automount

when needed later in this update.

 

5) Update your system.

 

Before performing this update, you may want to ensure you have a second terminal

open with root privileges in the unlikely event of an emergency, particularly if

updating over ssh.

 

 

# pacman -Syu --ignore filesystem,bash

 

# pacman -S bash

 

# pacman -Su

 

[1] https://mailman.archlinux.org/pipermail/arch-dev-public/2012-March/022625.html

URL: https://www.archlinux.org/news/binaries-move-to-usrbin-requiring-update-intervention/

Edited by ichase
  • Like 1
Link to comment
Share on other sites

amenditman

I had three which fell into this category

1) Fix any non-official packages with files in /bin, /sbin or /usr/sbin to put

those files in /usr/bin. The list of packages that are not in a repo that need

to be fixed can be generated using:

 

 

$ pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -

 

I have no idea what "Fix" means and the packages were trivial so I just uninstalled them. I can always re-install later if I need them.

  • Like 1
Link to comment
Share on other sites

Thanks for the heads-up, ichase. I think I got the steps down right (even though I'm using Bridge Linux). One warning message on the very last step that I'm concerned about; looking into that now:

 

[root@bridgelinux steve]# pacman -Su
:: Starting full system upgrade...
resolving dependencies...
looking for inter-conflicts...

Packages (1): filesystem-2013.05-2

Total Download Size: 0.01 MiB
Total Installed Size: 0.01 MiB
Net Upgrade Size: -0.30 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages ...
filesystem-2013.05-2-i686 8.4 KiB 41.0K/s 00:00 [####################################] 100%
(1/1) checking keys in keyring [####################################] 100%
(1/1) checking package integrity [####################################] 100%
(1/1) loading package files [####################################] 100%
(1/1) checking for file conflicts [####################################] 100%
(1/1) checking available disk space [####################################] 100%
(1/1) upgrading filesystem [####################################] 100%
warning: directory permissions differ on /root/
filesystem: 755 package: 750
[root@bridgelinux steve]# 

Link to comment
Share on other sites

abarbarian

So I did, and got,

 

 $ pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -
grub 0.97-21
grub 0.97-21
consolekit 0.4.6-4
lynis 1.3.0-1

 

But am not sure what to do ! Do I put a symlink in somewhere ? I think I will wait for some advice this time before diving in.

 

An this is called constructive criticism.

 

If you (Arch community et al) are going to post instructions on some major change that has the effect of possibly borking a system. The least you could do is test the instructions you give.

 

$ paclist <repo> | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/\| /usr/sbin/'
bash: syntax error near unexpected token `|'

 

Oh how the mighty are fallen. :tease:

 

Saturnian I too have seen that warning,

 

warning: directory permissions differ on /root/
filesystem: 755 package: 750

 

 

several times before but have never found out what it means or does so I have just ignored it. If you find a solution please do post. :breakfast:

Edited by abarbarian
  • Like 1
Link to comment
Share on other sites

amenditman
But am not sure what to do ! Do I put a symlink in somewhere ? I think I will wait for some advice this time before diving in.

Same issue I had, couldn't figure out what "Fix" meant. My packages were not anything I use everyday like yours so I just deleted them.

 

An this is called constructive criticism.

 

If you (Arch community et al) are going to post instructions on some major change that has the effect of possibly borking a system. The least you could do is test the instructions you give.

 

$ paclist <repo> | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/\| /usr/sbin/'

bash: syntax error near unexpected token `|'

 

You have to replace <repo> with the URL(?) of the repo you are testing against.

 

warning: directory permissions differ on /root/

filesystem: 755 package: 750

 

This warning just says that the directory currently on your system has permissions of drwxr-xr-x and the directory from the package as shipped from the developer has permissions of drwxr-x---.

It is a security issue. Does the need to be world readable and executable?

The package developer thinks it should not be.

 

On a single user system in a home you can easily ignore this, but it is pretty easy to just fix it by doing the package update and then changing the permissions to 750

with

chmod -Rv 750 <filename/directory name>

.

Shouldn't make any difference in your usage. Just makes it more secure in case someone unauthorized gets access to your computer.

  • Like 2
Link to comment
Share on other sites

$ paclist <repo> | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/\| /usr/sbin/'
bash: syntax error near unexpected token `|'

 

You have to replace <repo> with the URL(?) of the repo you are testing against.

 

I wasn't sure what exactly to replace the <repo> with, either (repo name? URL?), but I skipped that command because I don't have any non-official repos enabled.

 

@amenditman: Thanks very much for that explanation about the permissions warning. Makes perfect sense now.

  • Like 1
Link to comment
Share on other sites

amenditman

I wasn't sure what exactly to replace the <repo> with, either (repo name? URL?), but I skipped that command because I don't have any non-official repos enabled.

 

@amenditman: Thanks very much for that explanation about the permissions warning. Makes perfect sense now.

I think that most users probably don't have any unofficial repos. Between the official Archlinux repo and the AUR you should be pretty much covered.

 

No problem, gotta get some benefit from all these UNIX/Linux classes.

  • Like 1
Link to comment
Share on other sites

Nice explanation ameditman! :thumbup:

 

Indeed. And once I saw his post, I looked back at this line

 

filesystem: 755 package: 750

 

and thought, "Snap! Of course! I should have known that! Duh!"

Edited by saturnian
Link to comment
Share on other sites

abarbarian

Darn. Must read the fine print :bangin:

 

Amenditman thanks for the permissions clear up. :clap2:

 

So what do I do about theses then. I can not really delete them.

 

$ pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -
grub 0.97-21
grub 0.97-21
consolekit 0.4.6-4
lynis 1.3.0-1

 

 

Also the below does not seem quite right. I'm not doing very well here today folks am I.

:wub:

$ paclist http://repo.archlinux.fr/$arch | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/\| /usr/sbin/'

error: repository "http://repo.archlinux.fr/" was not found.

bash /bin/

bash /bin/bash

bash /bin/sh

consolekit /usr/sbin/

consolekit /usr/sbin/ck-log-system-restart

consolekit /usr/sbin/ck-log-system-start

consolekit /usr/sbin/ck-log-system-stop

consolekit /usr/sbin/console-kit-daemon

coreutils /bin/

coreutils /bin/cat

coreutils /bin/chgrp

coreutils /bin/chmod

coreutils /bin/chown

coreutils /bin/cp

coreutils /bin/date

coreutils /bin/dd

coreutils /bin/df

coreutils /bin/echo

coreutils /bin/false

coreutils /bin/ln

coreutils /bin/ls

coreutils /bin/mkdir

coreutils /bin/mknod

coreutils /bin/mv

coreutils /bin/pwd

coreutils /bin/rm

coreutils /bin/rmdir

coreutils /bin/stty

coreutils /bin/sync

coreutils /bin/true

coreutils /bin/uname

cryptsetup /usr/sbin/

cryptsetup /usr/sbin/cryptsetup

cryptsetup /usr/sbin/cryptsetup-reencrypt

cryptsetup /usr/sbin/veritysetup

device-mapper /usr/sbin/

device-mapper /usr/sbin/dmeventd

device-mapper /usr/sbin/dmsetup

dhcpcd /sbin/

dhcpcd /sbin/dhcpcd

dhcpcd /usr/sbin/

dhcpcd /usr/sbin/dhcpcd

e2fsprogs /sbin/

e2fsprogs /sbin/badblocks

e2fsprogs /sbin/debugfs

e2fsprogs /sbin/dumpe2fs

 

 

right down to and including the kitchen sink

 

util-linux /usr/sbin/partx

util-linux /usr/sbin/readprofile

util-linux /usr/sbin/resizepart

util-linux /usr/sbin/rtcwake

util-linux /usr/sbin/uuidd

util-linux /usr/sbin/vigr

util-linux /usr/sbin/vipw

v4l-utils /usr/sbin/

v4l-utils /usr/sbin/v4l2-dbg

wpa_supplicant /usr/sbin/

wpa_supplicant /usr/sbin/wpa_cli

wpa_supplicant /usr/sbin/wpa_passphrase

wpa_supplicant /usr/sbin/wpa_supplicant

zvbi /usr/sbin/

zvbi /usr/sbin/zvbid

Link to comment
Share on other sites

securitybreach

Odd... I have a lot of those packages installed and I did not get any errors. Of course none of those packages are even in the http://repo.archlinux.fr/ repo anyway. BTW why are you even using that repo? Yaourt updates just like any other AUR package. I would remove that repo from pacman.conf, then run pacman -Syy. If you did not get any output from: pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm - then your good to go.

 

Also, if you do have any packages show up then that means that the developer has not updated the packages to reflect the recent changes. You could just wait a day or so and they should be updated.

Link to comment
Share on other sites

abarbarian

Well I had,

 

$ pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -

grub 0.97-21
consolekit 0.4.6-4
lynis 1.3.0-1

 

Which was stopping the update. So I deleted

 

consolekit and lynis --- they had no dependencies ---- so I do not really know what they were there for --- hope they are not needed, time will tell.

 

Reading up on grub i decided to leap into grub2 as grub is no longer supported apart from in the AUR.

It took some time mostly for reading and teasing out the few bits on info needed from the brilliant but very long wiki.

My one concern is that I was using a separate partition for /boot. It looks like I now have all the necessary files in /boot and also in /root/boot. I'll leave both for now and if booting fails I'll delete the /boot partition and see if that works.

 

Made a few tweaks to grub2 and will now try I reboot.

 

If you do not hear from me for a while boot will have failed and I'll be trying to fire up Windows 7 but that will take at least a few days as I have not fired it up for some time and it will take a long time to update everything needed to run it safely.

 

:hysterical:

Link to comment
Share on other sites

securitybreach

Consolekit should of been removed a long time ago:

Warning: From ConsoleKit's web site:

 

ConsoleKit is not actively maintained. The focus has shifted to the built-in seat/user/session management of systemd called systemd-loginctl.

 

See the 2012-10-30 news announcement: https://www.archlinux.org/news/consolekit-replaced-by-logind/

 

If you are looking for a convenient way to mount disks as user, have a look at udev, udiskie and PolicyKit. For Arch support, you need to switch to systemd.

 

Arch Repositories: ConsoleKit is no longer packaged in the official repositories [1]. It is strongly discouraged to continue to use or to start using ConsoleKit.

Replacing ConsoleKit with systemd-logind

https://wiki.archlinux.org/index.php/ConsoleKit

 

Lynis is basically a security auditing(scanner) application from AUR.

Link to comment
Share on other sites

abarbarian

Thanks Josh. I was wondering what lynis was.

 

Looks like me fiddling was a winner. Mouse froze after reboot but a full shutdown and start sorted that out.

 

I wonder if it is safe to delete that /boot partition ? If I get time I'll give it a try. If not I'll have to leave it for a while. :whistling:

  • Like 1
Link to comment
Share on other sites

abarbarian

I am not for sure about the /boot partition but I am glad you got it all sorted :thumbsup:

 

Phew me too I was dreading having a borked system. The change over to grub2 was pretty easy really. I recon I can have some fun customising it in the fall. :fish:

  • Like 1
Link to comment
Share on other sites

I realize many of those who have been using Linux for much longer than I have are very anti-Grub2. But I can honestly say, I love Grub2, there is so much tweaking and configuring you can do with it, not to mention have an awesome grub menu screen with a background of your choice with just a few key strokes. I started my linux journey with Grub2 (Mandriva One 2010) so of course that is what I am and have been used to. Not long after converting to Arch I switched over to Grub2 and yes, it was an easy transition. ;)

Have been so busy, I have not even attempted this update yet, should be knocking it out in the morning or hopefully this afternoon. :)

Edited by ichase
Link to comment
Share on other sites

amenditman

Have been so busy, I have not even attempted this update yet, should be knocking it out in the morning or hopefully this afternoon. :)

Hope all goes well for you.

Link to comment
Share on other sites

securitybreach

I am just curious why you all reboot your machines all the time? I rarely see grub so I only moved to Grub2 after a reinstall that included it.

Link to comment
Share on other sites

securitybreach

I shut down several times a week when I will be away for many hours.

 

I never turn off my machines. I may reboot for a new kernel once in a while but they stay turned on.

Link to comment
Share on other sites

Hope all goes well for you.

Went well and without a hitch :) I only had one unsupported package entrance-svn and I removed it.

Link to comment
Share on other sites

abarbarian

Great news ichase. Well done.

 

Are you using entrance-git then ? Hows E17 doing these days ? Are you still using it ? Maybe this should go tot aE17 thread ? :whistling:

Link to comment
Share on other sites

No still using Openbox, I just have other DE's and WMs installed just to check things out. :) Quick edit of the .xinitrc file and log out of X and back in and voila, new environment :thumbsup:

Link to comment
Share on other sites

I realize many of those who have been using Linux for much longer than I have are very anti-Grub2. But I can honestly say, I love Grub2, there is so much tweaking and configuring you can do with it, not to mention have an awesome grub menu screen with a background of your choice with just a few key strokes.

 

I wasn't at all happy about switching from grub-legacy to grub2, so I put it off for a long time. But, I like grub2, and since I switched, I haven't wanted to go back to using grub-legacy. Definitely a learning curve involved for anyone who's used to multi-booting with grub-legacy like I was.

  • Like 1
Link to comment
Share on other sites

I had no problem with this upgrade on either of my desktop systems.

 

Not so on the laptop.

I followed the directions exactly as I did with the other two systems.

After I updated bash I have an unbootable system.

Grub starts to load the system but freezes at the "Loading initial ramdisk..." point.

Luckily I have a recent rsynced copy.

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.

×
×
  • Create New...