#1 Le 25/03/2016, à 17:22
- bdadvi94
Commande pour supprimer les paquets selon un critère
Salut, je cherche désespérément une commande pour supprimer totalement TOUS les paquets (et dépendances, configurations etc) qui ont été installé à une certaine date (aujourd'hui).
Synaptic ne me propose pas de trier mes paquets par date...
Merci de votre aide
Hors ligne
#2 Le 25/03/2016, à 17:55
- erresse
Re : Commande pour supprimer les paquets selon un critère
Salut,
Tu peux toujours afficher dans Synaptic l'historique et tu auras toutes les installations/désinstallations classées par date (dont celles d'aujourd'hui), mais tu risques de devoir désinstaller à la main un par un les paquets, en choisissant toutefois "désinstallation complète pour purger les configurations. Après quoi, un coup de "sudo apt-get --purge autoremove" pour dégager les dépendances orphelines et le tour est joué.
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#3 Le 26/03/2016, à 19:00
- LeoMajor
Re : Commande pour supprimer les paquets selon un critère
bonsoir,
avec les historiques,
avec un gz
read -p "A partir de quelle date ?" dat; dt=$dat; awk 'dt~$0,/End-Date/ {if($0~/Start-Date/) printf("%s\n%s\n","----",$2) ; if($0~/Install|Upgrade|Remove|Purge/) { printf("%s\n",$1); for(i=2;i<=NF;i++) {if($i~/:amd64|:i386|:i686/) {gsub(/:amd64|:i386|:i686/,//,$i); printf("%s \0",$i) } } printf("%s\n"," ") }}' < <(zcat /var/log/apt/history.log.4.gz)
----
2015-11-05
Install:
libsctp11 lksctp-tools1
----
2015-11-05
Install:
libmozjs185-1.01
----
2015-11-05
Remove:
libexttextcat-data1 libwps-0.2-21 fonts-opensymbol1 libexttextcat01
....
nb: la date est facultative
ou sans gz
read -p "A partir de quelle date ?" dat; dt=$dat; awk 'dt~$0,/End-Date/ {if($0~/Start-Date/) printf("%s\n%s\n","----",$2) ; if($0~/Install|Upgrade|Remove|Purge/) { printf("%s\n",$1); for(i=2;i<=NF;i++) {if($i~/:amd64|:i386|:i686/) {gsub(/:amd64|:i386|:i686/,//,$i); printf("%s \0",$i) } } printf("%s\n"," ") }}' /var/log/apt/history.log
après, tu as juste à copier la ligne des paquets qui t'intéresse, et la commande désirée.
2016-03-01
Install:
aptitude-doc-fr1 eclipse-rcp1 eclipse-platform-data1
....
sudo apt remove aptitude-doc-fr1 eclipse-rcp1 eclipse-platform-data1 -s
sudo apt remove aptitude-doc-fr1 eclipse-rcp1 eclipse-platform-data1
..
Dernière modification par LeoMajor (Le 26/03/2016, à 19:01)
Hors ligne
#4 Le 27/03/2016, à 15:35
- LeoMajor
Re : Commande pour supprimer les paquets selon un critère
petite erreur avec le "1" à la fin, sur le gsub
gsub(/:amd64|:i386|:i686/,"",$i)
Hors ligne