Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[gelöst] Profil umstellen auf merged-usr
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
uhai
Veteran
Veteran


Joined: 23 Aug 2007
Posts: 1395
Location: Eppingen, Germany

PostPosted: Mon Feb 26, 2024 3:16 pm    Post subject: [gelöst] Profil umstellen auf merged-usr Reply with quote

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
View user's profile Send private message
sMueggli
Guru
Guru


Joined: 03 Sep 2022
Posts: 496

PostPosted: Mon Feb 26, 2024 4:40 pm    Post subject: Reply with quote

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
Code:
emerge --info
?
Back to top
View user's profile Send private message
uhai
Veteran
Veteran


Joined: 23 Aug 2007
Posts: 1395
Location: Eppingen, Germany

PostPosted: Mon Feb 26, 2024 5:45 pm    Post subject: Reply with quote

@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
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5317

PostPosted: Mon Feb 26, 2024 6:15 pm    Post subject: Reply with quote

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
View user's profile Send private message
uhai
Veteran
Veteran


Joined: 23 Aug 2007
Posts: 1395
Location: Eppingen, Germany

PostPosted: Mon Feb 26, 2024 8:00 pm    Post subject: Reply with quote

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
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4669
Location: Germany

PostPosted: Mon Feb 26, 2024 11:00 pm    Post subject: Reply with quote

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
View user's profile Send private message
uhai
Veteran
Veteran


Joined: 23 Aug 2007
Posts: 1395
Location: Eppingen, Germany

PostPosted: Tue Feb 27, 2024 6:30 am    Post subject: Reply with quote

@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
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4669
Location: Germany

PostPosted: Tue Feb 27, 2024 7:30 am    Post subject: Reply with quote

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
View user's profile Send private message
uhai
Veteran
Veteran


Joined: 23 Aug 2007
Posts: 1395
Location: Eppingen, Germany

PostPosted: Tue Feb 27, 2024 11:40 am    Post subject: Reply with quote

keine Fehler mehr, nur noch rebuilds mit USE=-splitt-user

Scheint zu laufen....

uhai
Back to top
View user's profile Send private message
uhai
Veteran
Veteran


Joined: 23 Aug 2007
Posts: 1395
Location: Eppingen, Germany

PostPosted: Fri Mar 01, 2024 10:32 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum