11 Oct 2024
Gentoo Linux: wechseln von split profile zu merged profile
Ändern Sie Ihr Split-Profil in ein Merged-Profil unter Gentoo Linux. Die zugrundeliegende Motivation für diese Änderung ist Kompatibilität: Theoretisch sollte diese Änderung eine verbesserte Interoperabilität zwischen Linux-Distributionen ermöglichen.
Split-usr war der Standard in 17.1, aber jetzt ist merged-usr der Standard in 23.0. Deshalb sagt die Tabelle, dass man das split-usr-Profil wählen soll, wenn man es weiter nutzen will.
bei Split-usr w Merged-usr geht es um /usr, /sbin, etc., nicht Partitionen.
Siehe auch: https://wiki.gentoo.org/wiki/Merge-usr
- Systeme mit OpenRC können immer noch ein split-usr Profil verwenden
- Ich verwende OpenRC, aber bin jetzt trotzdem auf merged-usr gewechselt
Wähle ein geeignetes merged-usr Profil aus
eselect profile list
...
[23] default/linux/amd64/23.0/desktop (stable)
...
[46] default/linux/amd64/23.0/split-usr/desktop (stable)
...
fehmarn ~ # eselect profile set 23
fehmarn ~ # eselect profile show
Current /etc/portage/make.profile symlink:
default/linux/amd64/23.0/desktop
Start den merge, zuerst via dryrun
fehmarn / # merge-usr --dryrun
INFO: Migrating files from '/bin' to '/usr/bin'
ERROR: Conflict for file '/bin/gawk':
[Errno 17] File exists: '/usr/bin/gawk'
INFO: Skipping symlink '/bin/awk'; '/usr/bin/awk' already exists
INFO: Skipping symlink '/bin/plymouth'; '/usr/bin/plymouth' already exists
ERROR: Leaving '/bin' as a directory due to prior errors
INFO: Migrating files from '/sbin' to '/usr/bin'
INFO: No problems found for '/sbin'
INFO: Migrating files from '/usr/sbin' to '/usr/bin'
INFO: No problems found for '/usr/sbin'
INFO: Migrating files from '/lib' to '/usr/lib'
ERROR: Conflict for file '/lib/systemd/system/slim.service':
[Errno 17] File exists: '/usr/lib/systemd/system/slim.service'
ERROR: Leaving '/lib' as a directory due to prior errors
INFO: Already a symlink: '/lib32'
INFO: Migrating files from '/lib64' to '/usr/lib64'
INFO: No problems found for '/lib64'
Korrigiere alle Probleme manuell, YMMV
fehmarn / # ls -lha /bin/|grep gawk
-rwxr-xr-x 2 root root 279K Jun 20 2018 gawk
fehmarn / # ls -lha /usr/bin/|grep gawk
lrwxrwxrwx 1 root root 4 Apr 1 2023 awk -> gawk
-rwxr-xr-x 1 root root 707K Nov 14 00:06 gawk
-rwxr-xr-x 1 root root 6.5K Nov 14 00:06 gawkbug
fehmarn / # rm /bin/gawk
fehmarn / # cd /bin
fehmarn /bin # ln -s /usr/bin/gawk gawk
fehmarn /bin # cd
fehmarn ~ # merge-usr --dryrun
...
rm /usr/lib/systemd/system/slim.service
...
fehmarn ~ # merge-usr --dryrun
Starte jetzt den Merge
- aber nur, wenn es keine weiteren Probleme mehr gibt
fehmarn / # merge-usr
[...]
- Genieße das Ergebnis!
fehmarn / # tree -L 1 /
/
|-- bin -> usr/bin
|-- boot
|-- dev
|-- etc
|-- home
|-- lib -> usr/lib
|-- lib32 -> lib
|-- lib64 -> usr/lib64
|-- lost+found
|-- media
|-- mnt
|-- opt
|-- proc
|-- root
|-- run
|-- sbin -> usr/bin
|-- sys
|-- tmp
|-- usr
`-- var
- Yeeha!