View previous topic :: View next topic |
Author |
Message |
uhai Veteran
Joined: 23 Aug 2007 Posts: 1395 Location: Eppingen, Germany
|
Posted: Mon Feb 26, 2024 3:16 pm Post subject: [gelöst] Profil umstellen auf merged-usr |
|
|
Moin,
nach Wiki soll man ein "merge-usr --dryrun" laufen lassen.... und natürlich bekomme ich Fehler:
Code: | ERROR: Conflict for file '/lib64/systemd/systemd-shutdown': [Errno 17] File exists: '/usr/lib64/systemd/systemd-shutdown'
ERROR: Conflict for file '/lib64/systemd/systemd': [Errno 17] File exists: '/usr/lib64/systemd/systemd'
ERROR: Leaving '/lib64' as a directory due to prior errors
|
Also habe ich ein diff -.q gemacht:
Code: | diff -q /lib64/systemd/systemd-shutdown /usr/lib64/systemd/systemd-shutdown
Dateien /lib64/systemd/systemd-shutdown und /usr/lib64/systemd/systemd-shutdown sind verschieden. |
D.h. ich kann nicht einfach löschen.... Also genauer hingeschaut:
Code: | ls -ali /lib64/systemd/
[...]
394101 -rwxr-xr-x 1 root root 51056 8. Dez 2019 systemd-shutdown
[...]
393672 drwxr-xr-x 2 root root 4096 8. Dez 2019 system-shutdown
[...] |
und
Code: | ls -ali /usr/lib64/systemd/
insgesamt 5568
5119606 drwxr-xr-x 9 root root 4096 4. Feb 13:54 .
4980738 drwxr-xr-x 174 root root 204800 25. Feb 15:22 ..
[...]
5114366 lrwxrwxrwx 1 root root 28 8. Dez 2019 systemd -> ../../../lib/systemd/systemd
5114367 lrwxrwxrwx 1 root root 37 8. Dez 2019 systemd-shutdown -> ../../../lib/systemd/systemd-shutdown
[...] |
Also habe ich unter /usr/lib64/systemd Links stehen - wo kommen die her und wie kann ich sehen, wo die hinverlinken? Die Anzeige von ls -ali wird ja gekürzt....
Die vorhandenen Symlinks unter /usr/lib64/systemd/ haben das selbe Datum wie die Dateien unter /lib64/systemd/ - heißt das, die sind bei der Installation damals angelegt worden? Kann ich die jetzt einfach löschen?
uhai
Last edited by uhai on Sat Mar 02, 2024 10:32 am; edited 1 time in total |
|
Back to top |
|
|
sMueggli Guru
Joined: 03 Sep 2022 Posts: 496
|
Posted: Mon Feb 26, 2024 4:40 pm Post subject: |
|
|
Zum Tool diff: Diff vergleicht Dateien zeilenweise und ist somit für den Vergleich von Binärdateien nicht geeignet.
Du könntest mit sha256sum schauen, ob beide Dateien die gleiche Hashsumme generieren.
Die Ausgabe von "ls -ali /usr/lib64/systemd/ ist nicht gekürzt. Du siehst zwei Symlinks, die auf relative Pfade verweisen. Entweder du wandelst die relativen Pfade im Kopf in absolute Pfade um oder du machst
Code: | cd /usr/lib64/systemd/
cd ../../../lib/systemd/
pwd |
und siehst dann, wo du gelandet bist.
Hast du die Schritte von https://www.gentoo.org/support/news-items/2022-12-01-systemd-usrmerge.html befolgt?
Was zeigt ? |
|
Back to top |
|
|
uhai Veteran
Joined: 23 Aug 2007 Posts: 1395 Location: Eppingen, Germany
|
Posted: Mon Feb 26, 2024 5:45 pm Post subject: |
|
|
@sMueggli:
Ok, da lande ich in /lib/systemd. Dann ist systemd-shutdown in /lib/systemd und /lib64/systemd.... Ich nehme mal an, die Symlinks in /usr/lib/systemd und /usr/lib64/systemd kann ich löschen bevor ich das script laufen lasse. Dann sollte es ja ohne Error durchlaufen.
Die News sagen 1. backup, 2. script installieren und 3. testen mit -dryrun. Genausoweit bin ich. Das stimmt ja auch mit dem wiki überein.... nur bevor ich das script auf meinen Rechner loslasse, sollte der dryrun ohne Error durchlaufen, oder? |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5317
|
Posted: Mon Feb 26, 2024 6:15 pm Post subject: |
|
|
uhai wrote: | @sMueggli:
Ok, da lande ich in /lib/systemd. Dann ist systemd-shutdown in /lib/systemd und /lib64/systemd.... Ich nehme mal an, die Symlinks in /usr/lib/systemd und /usr/lib64/systemd kann ich löschen bevor ich das script laufen lasse. Dann sollte es ja ohne Error durchlaufen.
Die News sagen 1. backup, 2. script installieren und 3. testen mit -dryrun. Genausoweit bin ich. Das stimmt ja auch mit dem wiki überein.... nur bevor ich das script auf meinen Rechner loslasse, sollte der dryrun ohne Error durchlaufen, oder? |
Vermutlich kannst du das einfach löschen, eventuell wurden die symlinks erstellt bei der installation von systemd mit aktiven "split-usr" useflag.
mit qfile aus app-portage/portage-util könntest du prüfen von welchem paket das file installiert wurde
z.b. Code: | qfile /usr/lib64/systemd/systemd | bzw. Code: | qfile /lib64/systemd/systemd |
EDIT: Ok habs selbst gefunden. Die symlinks wurden von älteren systemd ebuilds installiert:
Und wurde z.b. mit diesem commit aus dem systemd-9999 ebuild entfernt
https://gitweb.gentoo.org/repo/gentoo.git/commit/sys-apps/systemd?id=86ee0807e903b2045df3d8d5b10d8617172bfe22
Du kannst die symlinks einfach löschen! _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
uhai Veteran
Joined: 23 Aug 2007 Posts: 1395 Location: Eppingen, Germany
|
Posted: Mon Feb 26, 2024 8:00 pm Post subject: |
|
|
OK, danke firefly, der dryrun hat jetzt fehlerfrei geklappt. Profil geswitcht, Update gestartet und folgenden Fehler bekommen:
Code: | !!! The ebuild selected to satisfy ">=media-video/pipewire-0.3:=" has unmet requirements.
- media-video/pipewire-1.0.3::gentoo USE="X bluetooth extra ffmpeg readline ssl systemd v4l -dbus -doc -echo-cancel -flatpak -gsettings -gstreamer -ieee1394 -jack-client -jack-sdk -liblc3 -lv2 -man -modemmanager -pipewire-alsa -roc (-selinux) -sound-server (-system-service) -test -zeroconf" ABI_X86="(64) -32 (-x32)"
The following REQUIRED_USE flag constraints are unsatisfied:
bluetooth? ( dbus )
The above constraints are a subset of the following complete expression:
ffmpeg? ( extra ) bluetooth? ( dbus ) jack-sdk? ( !jack-client ) modemmanager? ( bluetooth ) system-service? ( systemd ) !sound-server? ( !pipewire-alsa ) jack-client? ( dbus )
|
Da habe ich immer Schwierigkeiten mit der Deutung... USE = bluetooth und dbus sind gesetzt... was ist falsch? |
|
Back to top |
|
|
Josef.95 Advocate
Joined: 03 Sep 2007 Posts: 4669 Location: Germany
|
Posted: Mon Feb 26, 2024 11:00 pm Post subject: |
|
|
Hi,
in der Ausgabe Code: | media-video/pipewire-1.0.3::gentoo USE="X bluetooth extra ffmpeg readline ssl systemd v4l -dbus -doc -echo-cancel -flatpak -gsettings -gstreamer -ieee1394 -jack-client -jack-sdk -liblc3 -lv2 -man -modemmanager -pipewire-alsa -roc (-selinux) -sound-server (-system-service) -test -zeroconf" ABI_X86="(64) -32 (-x32)" | wird gezeigt mit welchen USE-Flags mit aktueller Konfiguration gebaut werden würde - beachte bluetooth ist enabled, aber -dbus ist disabled.
Das passt mit Code: | The following REQUIRED_USE flag constraints are unsatisfied:
bluetooth? ( dbus ) | (wenn bluetooth enabled ist, dann muss auch dbus enabled sein) nicht zusammen.
Bist du dir sicher das gleiche Profil gesetzt zu haben wie vor der Migration gesetzt war?
Es sollte bei der Migration aufs gleiche Profil gesetzt werden - nur eben dann zusätzlich mit dem merged-usr Zusatz. Also zb von
default/linux/amd64/17.1/desktop/plasma/systemd
dann auf
default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr
Vorschlag: Prüfe bitte nochmal ob das passende Profil gesetzt ist
wenn ja, dann schau wie in deiner /etc/portage/ Konfiguration das dbus useflag gesetzt ist. |
|
Back to top |
|
|
uhai Veteran
Joined: 23 Aug 2007 Posts: 1395 Location: Eppingen, Germany
|
Posted: Tue Feb 27, 2024 6:30 am Post subject: |
|
|
@Josef.95:
Ich habe nochmal zurückgescrollt im Terminal auf das "eselect profile list" vor dem Profilwechsel. Dort ist kein Sternchen - scheint so, dass kein Profil ausgewählt war?
Aus der Erinnerung war es amd64/systemd in der Version 17.1. Dann ist doch "default/linux/amd64/17.1/systemd/merged-usr (stable)" richtig, oder?
USE dbus ist auch gesetzt laut euse. Und in /etc/portage/package.use ist es nur einmal ausgenommen:
Code: | grep 'dbus' /etc/portage/package.use/*
/etc/portage/package.use/bluez:>=dev-libs/libdbusmenu-16.04.0-r1 gtk3
/etc/portage/package.use/dbus:>=sys-apps/dbus-1.10.24 user-session
/etc/portage/package.use/digikam:>=media-video/vlc-2.2.4-r1 dbus ogg vorbis
/etc/portage/package.use/digikam:# - sci-geosciences/gpsd-3.10::gentoo USE="X cxx ipv6 ncurses shm sockets udev -bluetooth -dbus -debug -latency_timing -ntp -python -qt4 -static -test -usb" ABI_X86="64" GPSD_PROTOCOLS="aivdm ashtech earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 navcom nmea ntrip oceanserver oncore rtcm104v2 rtcm104v3 sirf superstar2 tnt tripmate tsip ublox -fury -geostar -nmea2000" PYTHON_TARGETS="python2_7"
/etc/portage/package.use/firefox:www-client/firefox dbus
/etc/portage/package.use/gimp:# >=dev-util/gdbus-codegen-2.56.2 python_targets_python2_7
/etc/portage/package.use/glib:# >=dev-util/gdbus-codegen-2.56.2-r1 -python_single_target_python2_7
/etc/portage/package.use/hplip:# >=dev-python/PyQt4-4.12 dbus
/etc/portage/package.use/hplip:>=dev-python/PyQt5-5.7.1 dbus gui widgets
/etc/portage/package.use/thunderbird:mail-client/thunderbird dbus
/etc/portage/package.use/wine:>=sys-apps/dbus-1.12.20-r1 abi_x86_32
/etc/portage/package.use/xorg-server:>=dev-python/PyQt4-4.12 dbus
|
(Warum das bei digikam - gpsd auf -dbus gesetzt ist prüfe ich noch....)
Das installierte pipewire ist ebenfalls mit dbus gebaut:
Code: | eix media-video/pipewire
[I] media-video/pipewire
Verfügbare Versionen: 1.0.0-r1(0/0.4)^t 1.0.3(0/0.4)^t **9999(0/0.4)*l^t {X bluetooth dbus doc echo-cancel extra ffmpeg flatpak gsettings gstreamer ieee1394 jack-client jack-sdk liblc3 lv2 (+)man modemmanager pipewire-alsa readline roc selinux sound-server ssl system-service systemd test v4l zeroconf ABI_MIPS="n32 n64 o32" ABI_S390="32 64" ABI_X86="32 64 x32"}
Installierte Versionen: 1.0.3(0/0.4)^t(15:22:46 25.02.2024)(X bluetooth dbus extra ffmpeg readline ssl systemd v4l -doc -echo-cancel -flatpak -gsettings -gstreamer -ieee1394 -jack-client -jack-sdk -liblc3 -lv2 -man -modemmanager -pipewire-alsa -roc -selinux -sound-server -system-service -test -zeroconf ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="64 -32 -x32")
Startseite: https://pipewire.org/
Beschreibung: Multimedia processing graphs |
Ich verstehe das immer noch nicht.... |
|
Back to top |
|
|
Josef.95 Advocate
Joined: 03 Sep 2007 Posts: 4669 Location: Germany
|
Posted: Tue Feb 27, 2024 7:30 am Post subject: |
|
|
uhai wrote: | Ich habe nochmal zurückgescrollt im Terminal auf das "eselect profile list" vor dem Profilwechsel. Dort ist kein Sternchen - scheint so, dass kein Profil ausgewählt war? | Doch, es war sicherlich eines der nun veralteten no-merged-usr Profile gesetzt - diese wurden nun aber (in profiles.desc) deaktiviert - daher sind sie via "eselect profile list" nicht mehr sichtbar.
Alternativ hättest besser via Code: | eselect profile show | schauen sollen - das listet das aktuell gesetzte Profil :)
Quote: | Aus der Erinnerung war es amd64/systemd in der Version 17.1. Dann ist doch "default/linux/amd64/17.1/systemd/merged-usr (stable)" richtig, oder? | Ist nicht falsch - aber es ist doch vermutlich ein Desktop-System, oder? - falls ja, dann war vermutlich eher ein Desktop-Profil gesetzt (in dem auch USE=dbus per default enabled ist).
/edit: Wenn du es genau wissen möchtest, dann schau zb im letzten Backup via "file etc/portage/make.profile"
/edit2: Jo, laut deiner emerge --info von hier war es vorher ein Desktop-Profil.
Vorschlag: Setze mal das Desktop-Profil
default/linux/amd64/17.1/desktop/systemd/merged-usr
und schau dann was ein Code: | emerge -avuDU @world | dazu meint. |
|
Back to top |
|
|
uhai Veteran
Joined: 23 Aug 2007 Posts: 1395 Location: Eppingen, Germany
|
Posted: Tue Feb 27, 2024 11:40 am Post subject: |
|
|
keine Fehler mehr, nur noch rebuilds mit USE=-splitt-user
Scheint zu laufen....
uhai |
|
Back to top |
|
|
uhai Veteran
Joined: 23 Aug 2007 Posts: 1395 Location: Eppingen, Germany
|
Posted: Fri Mar 01, 2024 10:32 am Post subject: |
|
|
Profilwechsel hat ohne erkennbare Fehler geklappt. Allerdings war dbus.service und rpcbind.service danach nicht startbar. Anscheinend ist das doch verloren gegangen. Danach lief es.
Danke schön für die Hilfe....
uhai
PS:
udisk war auch weg.... |
|
Back to top |
|
|
|