Bonjour les amoureux des toutous, (les amoureuses des toutous ne sont pas oubliées, c'est amoureux au sens générique),
Un petit utilitaire de rien du tout pour nos toutous.
Il affiche le contenu du fichier /root/.packages/user-installed-packages.
Et si l'utilisateur fait ce qu'il faut, le contenu du paquet installé peut être affiché.
Et si l'utilisateur le demande, le paquet peut être désinstallé.
Le programme utilise xmessage, comme d'hab.
Le code ci-dessous à copier/coller dans votre éditeur de texte, puis à enregistrer sous le nom qui vous parle, et enfin, à rendre exécutable (chmod a+x...) :
#!/bin/bash
# lister les paquets installés par l´utilisateur,
# le contenu du paquet et sa désinstallation, si demandé
# Rantanplan 2026-05-31
function liste_paquets {
test $(stat -c %s /root/.packages/user-installed-packages) -le 1 && xmessage -title Information -center -bg green -fg lightgreen -fn "Monospace bold 15" -timeout 6 "Aucun paquet n´a été installé
par l´utlisateur...
Le programme va s´arrêter." && exit
paquet=$(xmessage -center -entry -buttons Quitter:1,Désinstaller:2,Afficher:0 -title "Paquets utilisateur" -bg lightyellow -fn "Monospace 12" "
Paquets installés par l´utilisateur :
════════════════════ DÉBUT ════════════════════
`awk -F "|" '{ print $1 }' /root/.packages/user-installed-packages`
════════════════════ F I N ════════════════════
Pour afficher le contenu d´un paquet, mettez-le
en surbrillance, copiez-le puis collez-le dans
le champs libre ci-dessus.
Pour afficher la lise des fichiers du paquet,
appuyez sur le bouton ´Afficher´;
Pour le désinstaller, sur le bouton ´Désinstaller´ ;
Pour quitter le programme, sur ´Quitter´.
")
choix=$?
test $choix -eq 0 && contenu_paquet
test $choix -eq 2 && desinstall_paquet
exit
}
function controle {
test -z $paquet && xmessage -center -title ERREUR -bg pink -fg darkred -timeout 6 -fn "Monospace bold 15" "Aucun paquet n´a été sélectionné !" && liste_paquets
contenu_paquet
}
function contenu_paquet {
test ! -e /root/.packages/$paquet.files && xmessage -center -timeout 10 -title Information -bg orange -fg darkred -fn "Monospace bold 15" " Oups !
La liste des fichiers contenus dans le paquet
$paquet
n'existe pas.
Retour à l´accueil." && liste_paquets
xmessage -center -buttons Quitter:1,Désinstaller:2,Continuer:0 -bg lightblue -fg darkblue -fn "Monospace 12" -title "Contenu du paquet" "
Le contenu du paquet $paquet est listé ci-dessous
════════════════════ DÉBUT ════════════════════
`cat /root/.packages/$paquet.files`
════════════════════ F I N ════════════════════
Pour afficher le contenu d´un autre paquet,
cliquez sur ´Continuer´ ;
pour le désinstaller, sur ´Désinstaller´ ;
et pour fermer le programme, sur ´Quitter´.
"
sortie=$?
test $sortie -eq 0 && liste_paquets
test $sortie -eq 2 && desinstall_paquet
exit
}
function desinstall_paquet {
xmessage -center -title Confirmer -buttons "Ne pas désinstaller":1,Désinstaller:0 -bg darkgrey -fg white -fn "Monospace bold 14" "Êtes-vous sûr(e) de vouloir
désinstaller le paquet
$paquet ?
"
test $? -eq 1 && liste_paquets
xmessage -center -title Désinstallation -bg black -fg white -timeout 10 -fn "Monospace bold 14" " Désinstallation du paquet
$paquet
et mise à jour du fichier user-installed-packages..." & petget -"$paquet" && sed -i '/^$paquet/d' /root/.packages/user-installed-packages && xmessage -center -title Terminé -timeout 5 -bg darkgreen -fg lightgreen -fn "Monospace bold 15" "Opération terminée !
Retour à l´accueil."
liste_paquets
}
liste_paquets
Bon dimanche à l'ombre, au frais, en buvant régulièrement de l'eau ou des tisanes ou des citronnades ou des orangeades (càd citron ou orange pressé à l'instant allongé d'eau fraîche mais pas glacée).
Voilà les petits clous.
[EDIT 20260601]
Mise à jour du code avec ajout fonction désinstallation.