Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Installierte Pakete nach Anzahl der Abhängigkeiten auflisten
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) Diskussionsforum
View previous topic :: View next topic  
Author Message
gt_amd64
Apprentice
Apprentice


Joined: 02 Dec 2004
Posts: 180

PostPosted: Thu Dec 21, 2023 5:45 pm    Post subject: Installierte Pakete nach Anzahl der Abhängigkeiten auflisten Reply with quote

Hallo,
hat Jemand vielleicht einen Befehl oder ein Skript mit dem man die installiereten Pakete nach Anzahl der Abhängigkeiten auflisten kann?

Also das Paket von dem die meisten anderen Pakete abhängen sollte bei der Ausgabe an erster Stelle stehen - zum Beispiel so:


    97: dev-libs/glib
    63: sys-libs/talloc
    24: sys-libs/zlib
    ...
    01: virtual/libcrypt


Hintergrund ist die Performance gezielter optimieren zu können bzw. als Entscheidungshilfe dafür bei welchen Paketen man mal einen Blick auf die USE-Flags werfen sollte oder welche Pakete man in die package.accept_keywords aufnimmt.

Falls Jemand eine Lösung parat hat, wäre das sehr hilfreich - Danke!
Back to top
View user's profile Send private message
Banana
Veteran
Veteran


Joined: 21 May 2004
Posts: 1392
Location: Germany

PostPosted: Thu Dec 21, 2023 7:28 pm    Post subject: Reply with quote

Also mit equery https://wiki.gentoo.org/wiki/Equery#Listing_all_packages_depending_on_a_package_with_depends_.28d.29 bekommt man schon mal die Abhängigkeiten. Diese Ausgabe kann man zählen und weiter nutzen.
_________________
My personal space
My delta-labs.org snippets do expire

PFL - Portage file list - find which package a file or command belongs to.
Back to top
View user's profile Send private message
gt_amd64
Apprentice
Apprentice


Joined: 02 Dec 2004
Posts: 180

PostPosted: Thu Dec 21, 2023 9:00 pm    Post subject: Reply with quote

Richtig - equery kenne ich natürlich. Ich hatte gehofft das hier Jemand schon ein Skript oder eine Befehlsfolge dafür hat - trotzdem Danke.
Back to top
View user's profile Send private message
Banana
Veteran
Veteran


Joined: 21 May 2004
Posts: 1392
Location: Germany

PostPosted: Fri Dec 22, 2023 10:37 am    Post subject: Reply with quote

Hier mal was das pro installiertem Paket die Pakete ausgibt die dieses benötigen: https://delta-labs.org/sp/JwU

Läuft aber recht lange da equery ausbremst. Die Ausgabe in eine Datei oder direkt durch sort laufen lassen.


https://wiki.gentoo.org/wiki/Equery
https://wiki.gentoo.org/wiki/Gentoo_Cheat_Sheet
_________________
My personal space
My delta-labs.org snippets do expire

PFL - Portage file list - find which package a file or command belongs to.
Back to top
View user's profile Send private message
gt_amd64
Apprentice
Apprentice


Joined: 02 Dec 2004
Posts: 180

PostPosted: Fri Dec 22, 2023 4:30 pm    Post subject: Reply with quote

Vielen Dank - das funktioniert so schon ganz gut und ist sehr hilfreich!

Ich hatte es mit equery g PKG versucht, aber das ist komplizierter zu verarbeiten weil dort sämtliche Versionen von z.B. python angezeigt werden.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5189

PostPosted: Fri Dec 22, 2023 5:14 pm    Post subject: Reply with quote

gt_amd64 wrote:
Vielen Dank - das funktioniert so schon ganz gut und ist sehr hilfreich!

Ich hatte es mit equery g PKG versucht, aber das ist komplizierter zu verarbeiten weil dort sämtliche Versionen von z.B. python angezeigt werden.

Das "PKG" ist ein normales "pkgspec", wie man es auch von emerge kennt. Du kannst auch hier die versionsnummer oder slot angeben
z.b.
Code:
equery g \=dev-lang/python-3.12.1

Code:
equery g dev-lang/python:3.12

_________________
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
sMueggli
Guru
Guru


Joined: 03 Sep 2022
Posts: 370

PostPosted: Fri Dec 22, 2023 5:22 pm    Post subject: Reply with quote

gt_amd64 wrote:
Hintergrund ist die Performance gezielter optimieren zu können bzw. als Entscheidungshilfe dafür bei welchen Paketen man mal einen Blick auf die USE-Flags werfen sollte oder welche Pakete man in die package.accept_keywords aufnimmt.


Ich glaube nicht, dass die Anzahl der Abhängigkeiten ein guter Indikator für "Performance" ist. Dazu stellen sich die Fragen, was genau du unter "Performance" verstehst und viel wichtiger, wie du die Performance misst. Ohne Messungen kannst du keinen Vorher/Nachher-Vergleich aufstellen.

Es ist oft so, dass sich Dinge "schneller" anfühlen, wenn man weiss, dass man "etwas an der Performance" optimiert hat.
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2229
Location: My own world! I and Gentoo!

PostPosted: Fri Dec 22, 2023 5:40 pm    Post subject: Reply with quote

Dazu eine trivia:

Ich erinnere mich dunkel an ein Blogpost über Abhängigkeiten und Performance in C anhand des simplen Beispiels 'yes'...
Und wie man manchmal deutlich größere "Abhängigkeiten" braucht um bessere Performance zu liefern.


Jetzt müsste ich den nur wieder finden.
_________________
mfg
Steel
___________________

Heim-PC: AMD Ryzen 5950X, 64GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-1145G7, 16GB RAM, Intel Iris Xe Graphic (leider WSL2)
Back to top
View user's profile Send private message
gt_amd64
Apprentice
Apprentice


Joined: 02 Dec 2004
Posts: 180

PostPosted: Fri Dec 22, 2023 6:05 pm    Post subject: Reply with quote

Was Performancesteigerung angeht:

Ja, Messbarkeit ist so eine Sache - vieles lässt sich objektiv einfach schlecht messen.
Hat man eine sehr schnelle CPU wird man derartige Optimierungen vermutlich nicht bemerken oder spüren und kann sich die Zeit auch sparen.
Hat man eine langsame CPU dann muss man da nicht viel messen, sondern dann merkt man es tatsächlich deutlich! (z.B. der Seitenaufbau beim Firefox)

Die Anzahl der Abhängigkeiten alleine ist sicher nicht aussagekräftig - das ist korrekt!
Hier gilt es die richtige Auswahl zu treffen - interessant für mich sind hier vor allem die libs, denn je öfter eine lib genutzt wird, desto größer ist die Wahrscheinlichkeit das hier eine Optimierung (und sei es nur -Ofast statt -O2) insgesamt etwas bringt.

Nebenbei hat mir das Skript auch noch diese Meldungen ausgespuckt:
Code:

!!! Invalid CPV: 'gui-libs/-MERGING-wlroots-0.16.2-r2'
!!! Invalid CPV: 'sys-kernel/-MERGING-dracut-055-r4'
!!! Invalid CPV: 'sys-kernel/-MERGING-gentoo-sources-5.17.2'


Diese -MERGING Ordner befinden sich in /var/db/pkg/ und da ich gentoo-sources-6.6.8 installiert habe vermute ich mal das man diese Verzeichnisse löschen kann, also hat sich das schon zum Aufräumen gelohnt - weniger Dateien steigern auch die Performance :D
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum 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