[pacman | xargs expac] Question:

Mise à jour / Création /debug de paquetages
Avatar de l’utilisateur
myst
Hankyu
Messages : 42
Inscription : lun. 20 févr. 2017, 22:06
Localisation : Liberty/Home

[pacman | xargs expac] Question:

Message par myst »

Bonjour,

A cette date je continue toujours à construire mon mémo personnel avec Zim, afin de mieux comprendre mon système d’exploitation.
Je viens de lancer la commande très pratique ci-dessous, étant un peu perplexe concernant le résultat, car il semblerait que cette commande liste les paquets non installés sur le système.
Il est indiqué pour cette commande:
Lister les paquets marqués comme nécessitant une mise à jour avec la taille de téléchargement:

Code : Tout sélectionner

$ pacman -Quq|xargs expac -S -H M '%k\t%n' | sort -sh
https://wiki.archlinux.fr/Pacman/Trucs_et_Astuces

Question :
Y a t’il une différence de terme ou une petite erreur de terme? :idea:

Merci par avance
Bash:Arch-Linux x86_64 bits: 64 / Desktop: MATE 1.20.4 /Laptop /ASUSTeK : X550CL
Device-1: Intel 3rd Gen Core processor Graphics driver: i915 v: kernel
Device-2: NVIDIA GF117M [GeForce 610M/710M/810M/820M / GT /driver: nvidia v: 390.116
Display: x11 server: X.Org 1.20.4 driver: modesetting unloaded: intel /resolution: 1366x768~60Hz
OpenGL: renderer: Mesa DRI Intel Ivybridge Mobile v: 4.2 Mesa 18.3.4
laurent85
Elfe
Messages : 951
Inscription : mar. 16 oct. 2018, 21:05

Re: [pacman | xargs expac] Question:

Message par laurent85 »

Bonjour,
Tu as mal regardé. Exécute la première partie de la commande sans l'option "q" pour te rendre compte :

Code : Tout sélectionner

pacman -Qu
Avatar de l’utilisateur
waitnsea
Maître du Kyudo
Messages : 2114
Inscription : jeu. 15 mars 2012, 05:08

Re: [pacman | xargs expac] Question:

Message par waitnsea »

laurent85 a écrit : dim. 31 mars 2019, 17:02 Bonjour,
Tu as mal regardé. Exécute la première partie de la commande sans l'option "q" pour te rendre compte :

Code : Tout sélectionner

pacman -Qu
Bonjour,
Non, pas d'erreur, mais il fallait recharger la base auparavant - ajouté en Note au Wiki.
Avatar de l’utilisateur
myst
Hankyu
Messages : 42
Inscription : lun. 20 févr. 2017, 22:06
Localisation : Liberty/Home

Re: [pacman | xargs expac] Question:

Message par myst »

waitnsea a écrit : dim. 31 mars 2019, 18:37
laurent85 a écrit : dim. 31 mars 2019, 17:02 Bonjour,
Tu as mal regardé. Exécute la première partie de la commande sans l'option "q" pour te rendre compte :

Code : Tout sélectionner

pacman -Qu
Bonjour,
Non, pas d'erreur, mais il fallait recharger la base auparavant - ajouté en Note au Wiki.
Merci pour le retour car expac est vraiment très utile, surtout n’ayant qu’un seul paquet AUR installé sur mon système.

Code : Tout sélectionner

pacman -Qm
inxi-git 3.0.32.r0.g1f037020-1

Code : Tout sélectionner

expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 2
2019-03-31 18:18:11 pacman-contrib
2019-03-31 18:24:49 htop
:bravo: :)
Bash:Arch-Linux x86_64 bits: 64 / Desktop: MATE 1.20.4 /Laptop /ASUSTeK : X550CL
Device-1: Intel 3rd Gen Core processor Graphics driver: i915 v: kernel
Device-2: NVIDIA GF117M [GeForce 610M/710M/810M/820M / GT /driver: nvidia v: 390.116
Display: x11 server: X.Org 1.20.4 driver: modesetting unloaded: intel /resolution: 1366x768~60Hz
OpenGL: renderer: Mesa DRI Intel Ivybridge Mobile v: 4.2 Mesa 18.3.4
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17186
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [pacman | xargs expac] Question:

Message par benjarobin »

waitnsea a écrit : dim. 31 mars 2019, 18:37Non, pas d'erreur, mais il fallait recharger la base auparavant - ajouté en Note au Wiki.
Alors certes il faut mettre à jour la base de donnée avant, c'est juste que cette commande n'est pas parfaite... Si le système est à jour, on aura toujours le même résultat : La liste de tous les paquets du système.

En effet si on est à jour, la sortie de pacman -Qu est vide (elle ne retourne rien), et donc expac ne reçoit aucun paquet en argument, ce qui à pour conséquence de lister tous les paquets...

On peut facilement contourner le problème en modifiant la commande (on obtient une erreur si pas de mise à jour)

Code : Tout sélectionner

pacman -Quq | expac -S -H M '%k\t%n' - | sort -sh
Ou il y a cette solution assez moche, mais fonctionnelle, rajouter un paquet (par exemple zzz) qui n'existe pas

Code : Tout sélectionner

pacman -Quq | xargs expac -S -H M '%k\t%n' zzz | sort -sh
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
laurent85
Elfe
Messages : 951
Inscription : mar. 16 oct. 2018, 21:05

Re: [pacman | xargs expac] Question:

Message par laurent85 »

Ou encore utiliser le code retour de pacman -Qu :

Code : Tout sélectionner

pacman -Qu && pacman -Quq | xargs expac -S -H M '%k\t%n' | sort -sh
La partie après && sera exécutée si la liste n'est pas vide. On pourrait aussi ajouter un message dans ce sens au retour commande mais ça allonge encore, cette fois avec || :

Code : Tout sélectionner

pacman -Qu && pacman -Quq | xargs expac -S -H M '%k\t%n' | sort -sh || echo Liste vide
sukolyn
archer
Messages : 116
Inscription : mar. 11 juil. 2017, 09:56

Re: [pacman | xargs expac] Question:

Message par sukolyn »

attention, le || s'exécutera aussi s'il y a une erreur dans le pipe :

Code : Tout sélectionner

$ true && false || echo error
error
Avatar de l’utilisateur
papajoke
Elfe
Messages : 773
Inscription : sam. 30 août 2014, 19:54

Re: [pacman | xargs expac] Question:

Message par papajoke »

bonjour, pas sûr de l’intérêt d'avoir le détail de chaque paquet puisque l'on ne fait pas d'update partiel (et depuis le temps on connait les gros...), il serait plus judicieux d'afficher la taille totale ?

Code : Tout sélectionner

expac -S -H B '%k' - | awk '{t+=$0} END {print t}' | numfmt --to=si
ps: puisque nous n'avons pas encore fait la mise à jour de la database nous avons en fait en retour des tailles approximatives, il faudrait écrire un code type checkupdates pour avoir les véritables valeurs

EDIT: avec pacman -Qq j'obtiens 2.6Go
Arch stable - Kde 5 / zsh - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau
Avatar de l’utilisateur
myst
Hankyu
Messages : 42
Inscription : lun. 20 févr. 2017, 22:06
Localisation : Liberty/Home

Re: [pacman | xargs expac] Question:

Message par myst »

Bonjour,

Retour des commandes ce matin après la synchronisation des bases de données des paquets :wink:

Code : Tout sélectionner

$pacman -Quq|xargs expac -S -H M '%k\t%n' | sort -sh
0.26 MiB device-mapper
0.08 MiB giflib
0.14 MiB imagemagick
0.38 MiB systemd-libs
0.01 MiB systemd-sysvcompat
1.32 MiB lvm2
2.20 MiB libmagick
4.49 MiB systemd
8.34 MiB ttf-baekmuk
13.01 MiB papirus-icon-theme

Code : Tout sélectionner

$pacman -Qu
device-mapper 2.02.183-2 -> 2.02.184-1
giflib 5.1.8-1 -> 5.1.9-1
imagemagick 7.0.8.35-1 -> 7.0.8.36-1
libmagick 7.0.8.35-1 -> 7.0.8.36-1
lvm2 2.02.183-2 -> 2.02.184-1
papirus-icon-theme 20190302-1 -> 20190331-1
systemd 241.7-2 -> 241.67-1
systemd-libs 241.7-2 -> 241.67-1
systemd-sysvcompat 241.7-2 -> 241.67-1
ttf-baekmuk 2.2-10 -> 2.2-11

Merci à tous pour vos interventions :P
Bash:Arch-Linux x86_64 bits: 64 / Desktop: MATE 1.20.4 /Laptop /ASUSTeK : X550CL
Device-1: Intel 3rd Gen Core processor Graphics driver: i915 v: kernel
Device-2: NVIDIA GF117M [GeForce 610M/710M/810M/820M / GT /driver: nvidia v: 390.116
Display: x11 server: X.Org 1.20.4 driver: modesetting unloaded: intel /resolution: 1366x768~60Hz
OpenGL: renderer: Mesa DRI Intel Ivybridge Mobile v: 4.2 Mesa 18.3.4
Répondre