Bon, allons y pour les explications de texte.
Dans l’ordre chronologique de mes messages.
nany a écrit
dpkg -l | awk '/^rc/{next} ; / linux-(c|g|h|i|lo|m|si|t)/{print $1,$2,$3,$4 | "sort -k3 | column -t"}'
Cette commande sert à lister les différents paquets de noyau installés.
dpkg -l : liste tous les paquets du système.
awk : un programme magique (<3) qui permet d’écrire des petits scripts. Je n’en ai pas encore vu le bout.
/^rc/{next} : si la ligne commence par rc alors on l’ignore.
/ linux-(c|g|h|i|lo|m|si|t)/ : si la ligne contient linux-c ou linux-g ou linux-h etc.
print $1,$2,$3,$4 : alors on affiche les colonnes 1, 2, 3 et 4.
sort -k3 : trie selon la troisième colonne.
column -t : affiche sous forme de tableau.
nany a écrit
sudo apt purge -y linux-headers-generic linux-headers-4.15.0-76 linux-headers-4.15.0-76-generic
uname -r
apt purge : cette commande a servi à désinstaller complètement des paquets du noyau.
uname -r : affiche la version du noyau en cours d’utilisation.
nany a écrit
cat /boot/grub/grub.cfg
cat /etc/default/grub
cat sert à conCATéner le contenus de plusieurs fichiers. On l’utilise aussi beaucoup pour afficher le contenu d’un seul fichier en le passant tout seul comme argument.
nany a écrit
ls -l /etc/grub.d
ls est une commande de base pour lister le contenu de répertoires.
nany a écrit
ls -l /etc/grub.d/backup
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F1656F24C74CD1D8
ls : voir ci-dessus.
apt-key : pour gérer les clés d’apt.
nany a écrit
ls -l /etc/grub.d/backup/etc_grub_d
cat /etc/grub.d/backup/RESTORE_INSTRUCTIONS
ls et
cat déjà expliquées, voir ci-dessus.
nany a écrit
cd /etc/grub.d && sudo mkdir -v backup_proxy
cd /etc/grub.d && sudo find . -maxdepth 1 -type f -exec sudo mv -v '{}' /etc/grub.d/backup_proxy \;
cd /etc/grub.d/backup/etc_grub_d && sudo cp -v * /etc/grub.d && cd
sudo update-grub
cd : pour aller dans un répertoire (cd pour Change Directory).
mkdir : crée un répertoire.
find : commande de recherche.
-maxdepth 1 : pour limiter la recherche à 1 répertoire de profondeur dans l’arborescence.
-type f : recherche unique ment les fichiers de type
file.
-exec : execute une commande.
mv : pour déplacer un fichier.
'{}' : représente chaque occurrence de la recherche.
\; : pour marquer la fin de l’option -exec.
cp : copie de fichiers.
update-grub : mise à jour du GRUB.
nany a écrit
cd /etc/grub.d && for f in *; do [[ "$f" != "README" ]] && sudo chmod -c +x "$f" ; done && cd
sudo update-grub
for f in *; do : pour tous les fichiers du répertoire.
[[ "$f" != "README" ]] && : si le fichier a un nom différent de README, alors…
chmod : change le mode du fichier (ici, avec l’argument +x, on le rend exécutable).
done : pour indiquer la fin de la boucle for.
cd : sans argument, va dans le répertoire personnel.
nany a écrit
find /etc/apt -type f -name '*.list*' -exec bash -c 'echo -e "\n$1\n"; [[ $1 = *".list" ]] && nl -ba "$1"' _ '{}' \;
find et
-type f : voir ci-dessus.
-name '*;list*' : recherche les fichiers dont le nom contient .list.
-exec : voir ci-dessus.
bash -c : pour exécuter une série de commandes bash.
echo -e "\n$1\n" : affiche un saut de ligne puis le nom du fichier trouvé puis un nouveau saut de ligne.
[[ $1 = *".list" ]] && : si le nom du fichier se termine par .list, alors…
nl -ba "$1" : affiche le contenu du fichier en numérotant ses lignes.
_ '{}' : passe comme argument à la commande bash le nom de chaque fichier trouvé (récupéré dans la variable $1).
\; : voir ci-dessus.
nany a écrit
sudo apt purge linux-headers-4.15.0-76 linux-headers-4.15.0-76-generic linux-image-5.0.0-37-generic linux-modules-5.0.0-37-generic linux-modules-extra-5.0.0-37-generic
sudo sed -i '/partner/s/^# deb http/deb http/' /etc/apt/sources.list && sudo apt clean && sudo apt update
apt purge : voir ci-dessus.
sed : pour Stream EDitor, soit un éditeur de texte.
/partner/ : pour les lignes contenant partner…
s/^# deb http/deb http/ : remplace # deb http (en début de ligne) par deb http.
apt clean : vide le cache d’apt.
apt update : resynchronise apt.
nany a écrit
cd /usr/src && sudo rm -frv linux-headers-4.15.0-76
cd /lib/modules && sudo rm -frv 4.15.0-76-generic 5.0.0-37-generic && cd
echo -e "#\x21/bin/bash\n\ndpkg -l | awk '/^rc/{print \$2}' | xargs -r dpkg -P\n\nexit \"\$?\"" | sudo tee /etc/cron.monthly/purge-rc
sudo chmod -c +x /etc/cron.monthly/purge-rc
echo -e "#\x21/bin/bash\n\napt-get autoremove --purge -y\n\nexit \"\$?\"" | sudo tee /etc/cron.monthly/autoremove
sudo chmod -c +x /etc/cron.monthly/autoremove
rm : supprime des fichiers.
echo : affiche tout ce qui se trouve entre guillemets.
tee : sur la sortie standard et dans le fichier passé en argument.
chmod : voir ci-dessus.
sudo qui précède certaines commandes sert à obtenir les droit d’administrateur.
Pour toute info complémentaire sur une commande :
man commande
en remplaçant bien sûr
commande par le nom de la commande.
Deux exemples :
man man
man woman
(Oui, le man est sexiste.)
Voilà, j’ai essayé d’être concis tout en étant le plus explicite possible sans trop avancer sur les termes techniques. J’espère que c’est assez compréhensible.
J’oubliais, le trait vertical (|) ou pipe (qui se prononce
païpe (tube en anglais)) sert à donner comme argument à la commande qui le suit le résultat de la commande qui le précède.