Une place pour une véritable innovation. Partagez vos propres utilitaires créés avec la communauté Manjaro.
Questions et discussions sur la programmation et le codage.
Avec pacman -Qi nous pouvons avoir pas mal d'informations sur nos paquets mais il n'est pas forcément aisé d'afficher des informations pour un groupe de paquets. Débutons avec un exemple:
Rechercher uniquement les paquets Manjaro
Manjaro ne fabrique pour nous que quelques paquets sur les 11 000 dans nos dépots - les autres arrivent directement d'archlinux.
Comment les trouver ? par la signature du mainteneur pacman -Qi | grep -E "^Pa.*manjaro.org" ... génial je vais avoir une liste ... mais il manque le nom du paquet !
Paqueteur : Philip Mueller <philm@manjaro.org>
Paqueteur : Bernhard Landauer <oberon@manjaro.org>
Paqueteur : Philip Müller <philm|manjaro|org>
Paqueteur : Philip Müller <philm|manjaro|org>
ps: pacman -Qi fait un "pacman -Qi" pour tous nos paquets installés , on peut le remplacer par un "pacman -Si" pour avoir tous les paquets installés ou non
Notre problème ici est de retourner 2 lignes différentes : le nom du paquet + le nom du mainteneur
grep ne le permet pas mais nous avons awk
Notre commande devient:
Explication de la commande awk
nous recherchons une ligne qui débute par "Nom" et sauvegardons la deuxième colonne dans la variable name /^Nom/ {name=$2}
puis, nous recherchons la ligne débutant par "Paque" et affichons la variable "name" et la seconde colonne de cette ligne /^Paque.*manjaro.org/ {print name" \t "$2}
Pour aller un peu plus loin, nous pouvons formater la sortie pour aligner les colonnes. La fonction printf est disponible avec awk ; cela donne: {printf "%-26s %s\n",name,$2}
name est affiché sur 26 caractères puis la description
Merci pour ces scripts bien utiles ainsi que pour les explications claires et concises.
J'ai simplement testé les commandes , pour l'instant, et seul la commande pacman-orphelins me retourne tout un tas de paquets qui ne le sont pas (orphelins).
Je suis sous zsh peut-être la raison de mes déboires avec cette commande ?
Manjaro-Xfce-Compiz 64
Desktop
CPU amd-phenom-64(pci=nomsi dans grub)
CG nvidia GeForce GT 730
Ram : 4 Go
kernel : 54 branche : stable, driver GPU : Nvidia-non-libre
Edit: après nettoyage des orphelins avec sudo pacman -Rs $(pacman -Qdtq) quand je relance
$ LANG=C pacman -Qi $(pacman -Qdtq) | awk -F: '/^Name/ {name=$2} /^Desc/ {printf "%-26s %s\n",name,$2}'
a52dec A free library for decoding ATSC A/52 streams
aalib A portable ASCII art graphic library
accountsservice D-Bus interface for user account query and manipulation
acl Access control list utilities, libraries and headers
acpi Client for battery, power, and thermal readings
acpid A daemon for delivering ACPI power management events with netlink support
acsccid PC/SC driver that supports ACS CCID smart card readers.
adapta-maia-theme An adaptive Gtk+ theme based on Material Design Guidelines.Build with Manjaro Maia color
.......
..........
.......
zstd Zstandard - Fast real-time compression algorithm
zvbi VBI capture and decoding library
Plus d'orphelins, mais la quasi totalité des paquets installés sont listés et détaillés
Noyau récent MANJARO x86_64 bits: 64 Xfce 4.16
ASUSTeK model: PRIME B350M-A v: Rev X.0x
6-Core: AMD Ryzen 5 2600X
AMD Baffin [Radeon RX 460/560D / Pro
driver: amdgpu v: kernel
Display: x11 server: X.Org driver: amdgpu,ati unloaded: modesetting
OpenGL: renderer: Radeon RX 560 Series
Arch en Dual. Aucun lien publicitaire ne saurait être toléré dans la signature!
oops
ba oui si rien dans la liste des orphelins, en fait nous faisons un pacman -Qi | awk et nous avons donc tous les paquets installés
reste à trouver la parade
- pacman -Qi $(pacman -Qdtq || echo "vide") pas top top car l'erreur est fausse mais au moins il ne retourne rien
- ou sinon plus propre tester à la ligne avant [[ "$(pacman -Qdt|wc -l)" <1 ]] && exit 0