Fișierele executabile se mută în /usr/bin, actualizarea necesitând intervenție

În timpul actualizării sistemului dumneavoastră veți primi un mesaj de genul:

error: failed to commit transaction (conflicting files)
filesystem: /bin exists in filesystem

Actualizarea combină toate fișierele executabile (binaries) într-un singur director /usr/bin. Etapa aceasta scapă de o distincție care nu avea niciun sens pentru sisteme Arch și simplifică întreținerea pachetelor pentru echipa de development. Vedeți postul acesta pentru mai multe explicații referitoare la motivul din spatele acestei schimbări.

Următoarele instrucțiuni vor asigura o actualizare fără probleme:

1) Ocupați-vă de orice pachete neoficiale care au fișiere în /bin, /sbin sau /usr/sbin în așa fel încât acestea să folosească /usr/bin. Lista pachetelor care nu sunt într-un depozit de care va trebui să vă ocupați poate fi generată folosind:

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

De asemenea, verificați pachete instalate din depozite neoficiale folosind:

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

2) Asigurați-vă că orice pachete trecute la IgnorePkg sau IgnoreGroup nu conțin fișiere în /bin, /sbin, sau /usr/sbin. Ocupați-vă de ele dacă este cazul.

3) Dacă aveți fișiere în /bin, /sbin sau /usr/sbin care nu aparțin de niciun pachet, va trebui să le mutați. Găsiți o listă folosind:

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

4) Asigurați-vă că toate partițiile sunt montate dacă folosiți autofs. Este posibil ca acestea să nu se monteze automat dacă e necesar pe parcursul actualizării.

5) Actualizați-vă sistemul.

Înainte de efectuarea acestei actualizări, ar fi indicat să aveți deschis un al doilea terminal cu privilegii de root în caz că există vreo situație neprevăzută, în mod special dacă actualizarea are loc prin ssh.

# pacman -Syu --ignore filesystem,bash
# pacman -S bash
# pacman -Su