« APT » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| (3 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
== Paquets APT == | == Paquets APT == | ||
Sur Debian (et ses dérivés comme Ubuntu), '''<code>apt</code>''' est un outil en ligne de commande pour gérer les paquets logiciels. Il permet d’installer, mettre à jour, supprimer et gérer les logiciels provenant des dépôts officiels de Debian. | Sur Debian (et ses dérivés comme Ubuntu), '''<code>apt</code>''' est un outil en ligne de commande pour gérer les paquets logiciels. Il permet d’installer, mettre à jour, supprimer et gérer les logiciels provenant des dépôts officiels de Debian. | ||
=== 📋 Historique des mises à jour APT === | |||
Ce script '''AWK''' permet de reformater le contenu du fichier <code>/var/log/apt/history.log</code> afin d’obtenir une vue claire et lisible des opérations réalisées par '''APT'''. Les sessions sont regroupées par date et les paquets installés ou mis à jour sont affichés sous forme de liste, facilitant ainsi le suivi des modifications effectuées sur le système. | |||
- Ligne de commande | |||
<syntaxhighlight lang="bash" line copy> | |||
awk '/^Start-Date:/ {print "\n📅 " substr($0,13)} /^Upgrade:/ {sub(/^Upgrade: /,""); gsub(/, /,"\n - "); print "⬆️ " $0} /^Install:/ {sub(/^Install: /,""); gsub(/, /,"\n - "); print "📦 " $0}' /var/log/apt/history.log | |||
</syntaxhighlight> | |||
- Dans fichier bash | |||
<syntaxhighlight lang="bash" line copy> | |||
#!/bin/bash | |||
awk ' | |||
/^Start-Date:/ {print "\n📅 " substr($0,13)} | |||
/^Upgrade:/ { | |||
sub(/^Upgrade: /,"") | |||
gsub(/, /,"\n - ") | |||
print "⬆️ " $0 | |||
} | |||
/^Install:/ { | |||
sub(/^Install: /,"") | |||
gsub(/, /,"\n - ") | |||
print "📦 " $0 | |||
} | |||
' /var/log/apt/history.log | |||
</syntaxhighlight> | |||
{| class="wikitable" | |||
|- | |||
! Élément | |||
! Rôle | |||
|- | |||
| <code>/^Start-Date:/</code> | |||
| Détecte le début d’une session APT et affiche la date et l’heure de l’opération. | |||
|- | |||
| <code>/^Upgrade:/</code> | |||
| Détecte la liste des paquets mis à jour lors de la session. | |||
|- | |||
| <code>/^Install:/</code> | |||
| Détecte la liste des nouveaux paquets installés. | |||
|- | |||
| <code>sub()</code> | |||
| Supprime le préfixe (<code>Start-Date:</code>, <code>Upgrade:</code> ou <code>Install:</code>) afin d’alléger l’affichage. | |||
|- | |||
| <code>gsub()</code> | |||
| Remplace les séparateurs <code>,</code> par des retours à la ligne pour présenter les paquets sous forme de liste. | |||
|- | |||
| <code>print</code> | |||
| Affiche le résultat final en ajoutant des icônes et une mise en forme plus lisible. | |||
|- | |||
| <code>substr()</code> | |||
| Extrait uniquement la partie utile de la date, sans afficher le libellé <code>Start-Date:</code>. | |||
|} | |||
==== 🗃️ Historique complet (journaux archivés) ==== | |||
Affiche l'historique complet des installations et des mises à jour APT, en incluant les journaux archivés (<code>history.log.*</code>). Les sessions sont présentées dans un format lisible, de la plus récente à la plus ancienne. | |||
<syntaxhighlight lang="bash" line copy> | |||
printf '%s\n' /var/log/apt/history.log* \ | |||
| sort -Vr \ | |||
| xargs zgrep -h -E "Start-Date|Upgrade:|Install:" \ | |||
| awk '/^Start-Date:/ {print "\n📅 " substr($0,13)} /^Upgrade:/ {sub(/^Upgrade: /,""); gsub(/, /,"\n - "); print "⬆️ " $0} /^Install:/ {sub(/^Install: /,""); gsub(/, /,"\n - "); print "📦 " $0}' | |||
</syntaxhighlight> | |||
=== Check services à redémarrer === | === Check services à redémarrer === | ||