Files
varlog/_cache/articles/2d2a63f0-bba6-4b5e-a5e6-0ef2e2b5b39d.json
T
2026-05-15 10:37:48 +02:00

1 line
7.8 KiB
JSON

{"uuid":"2d2a63f0-bba6-4b5e-a5e6-0ef2e2b5b39d","slug":"dnf","title":"dnf","author":"cedric@abonnel.fr","published":true,"published_at":"2023-02-28 19:41:07","created_at":"2023-02-28 19:41:07","updated_at":"2023-02-28 19:41:07","revisions":[],"cover":"","files_meta":[],"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Informatique","content":"# dnf\n\n![DNF est un outil pour gérer les paquets sur les systèmes Linux qui utilisent RPM, et il facilite grandement la gestion des dépendances et des mises à jour de logiciels.](dummy.png)\n\n---\nDNF signifie \"Dandified Yum\", et c'est un gestionnaire de paquets pour les systèmes d'exploitation Linux utilisant RPM (Red Hat Package Manager). Il est principalement utilisé pour gérer les paquets et les dépendances sur les distributions Fedora, CentOS et Red Hat Enterprise Linux.\n\nAvec DNF, les utilisateurs peuvent installer, mettre à jour, désinstaller et rechercher des paquets sur leur système. Il peut également gérer les dépendances entre les paquets, de sorte que les utilisateurs n'ont pas à s'occuper de la résolution des dépendances manuellement.\n\n## Informations concernant les fichiers\n- **Binaire** : `/usr/bin/dnf`\n- **Fichiers de cache** : `/var/cache/dnf`\n- **Configuration principale** : `/etc/dnf/dnf.conf`\n- **Configuration des dépôts** : `/etc/yum.repos.d/`\n\n## Configurer un proxy pour tous les utilisateurs\nParfois, lorsque vous travaillez dans un environnement réseau limité, vous devez configurer un proxy pour accéder à Internet. Vous pouvez également configurer un cache en ligne, également appelé *proxy cache* qui sera utilisé pour stocker des copies des paquets demandées afin d'être réutilisés ultérieurement pas d'autres machines. Voici comment configurer un proxy pour tous les utilisateurs et pour un utilisateur spécifique sur Fedora en utilisant DNF.\n\nPour configurer un proxy pour tous les utilisateurs, vous devez modifier le fichier `/etc/dnf/dnf.conf`. \n\n<callout icon=\"fa fa-slack\">\nOuvrez ce fichier en mode édition en utilisant la commande suivante :\n\n```\nsudo nano /etc/dnf/dnf.conf\n```\n\nAjoutez les lignes suivantes pour configurer un proxy simple :\n\n```\nproxy=http:*192.168.100.5:3128/\n```\n\nSi le proxy nécessite une identification, ajoutez également les lignes suivantes :\n```\nproxy=http:*192.168.100.5:3128/\nproxy_username=vivek\nproxy_password=secretePasswordHere\n```\n</callout>\n\n<callout icon=\"fa fa-slack\">\nEnregistrez et fermez le fichier. À partir de maintenant, tous les utilisateurs sur votre système seront en mesure d'utiliser le proxy pour accéder à Internet en utilisant DNF.\n</callout>\n\nC'est tout! Vous savez maintenant comment configurer un proxy avec DNF pour tous les utilisateurs sur Fedora. En suivant les étapes décrites ci-dessus, vous pouvez facilement accéder à Internet en utilisant DNF même dans un environnement réseau limité.\n\n## Configurer un proxy pour un utilisateur spécifique\nPour configurer un proxy pour un utilisateur spécifique, vous devez ajouter les lignes suivantes dans le fichier `~/.bash_profile` ou `~/.bashrc` :\n\n```\nexport http_proxy=\"http:*vivek:secretePassword@192.168.100.5:3128\"\n```\n\nLe fichier `~/.bash_profile` est utilisé pour les utilisateurs **non-root**, tandis que le fichier `~/.bashrc` est lu à chaque démarrage de la session utilisateur. Il est recommandé de redémarrer la session utilisateur après avoir effectué des modifications pour que les modifications prennent effet.\n\nC'est tout! Vous savez maintenant comment configurer un proxy avec DNF pour un utilisateur spécifique sur Fedora. En suivant les étapes décrites ci-dessus, vous pouvez facilement accéder à Internet en utilisant DNF même dans un environnement réseau limité.\n## Rechercher un paquet installé\nL'option \"installed\" spécifie à DNF de n'afficher que les paquets installés sur le système :\n\n dnf list installed\n\n--\n\nLister tous les paquets installés sur votre système qui correspondent à la expression régulière \"krb?-\" :\n\n dnf list installed \"krb?-*\"\n\nL'expression régulière \"krb?-*\" signifie que DNF va rechercher tous les paquets dont le nom commence par \"krb\" suivi d'un caractère unique, puis suivi d'un tiret et de tout ce qui suit. Cela signifie que tous les paquets qui ont un nom similaire à \"krb-xxx\" ou \"krb-yyy\" seront listés par la commande.\n\n## Surveiller les mises à jour disponibles sur Fedora DNF\nPour surveiller les mises à jour disponibles sur votre système Fedora utilisant DNF, vous pouvez utiliser un script **bash** utilisant `dnf check-update` sans **droit root**.\n\n<image shape=\"thumbnail\">\n![](20230213-000058.png)\n</image>\n\nPour exécuter la commande `dnf check-update` en tant que service et mémoriser les informations de mise à jour dans un fichier, vous pouvez utiliser un script **bash** et une tâche **cron**. \n\n<callout icon=\"fa fa-slack\">\nLe script `check_update.sh` peut être déposé dans n'importe quel répertoire sur votre système, mais il est souvent pratique de le déposer dans un répertoire dédié aux scripts. Certains répertoires communs pour les scripts incluent `/usr/local/bin/` (répertoire des binaires locaux).\n\nVoici un exemple de scripts que vous pouvez utiliser :\n\n```BASH\n#!/bin/bash\n\n# Définir le chemin vers le fichier de mise à jour\nupdate_file=/var/udpate_file\n\n# Exécuter la commande de mise à jour et stocker la sortie dans le fichier\ndnf check-update\ndnf check-update > $update_file\n```\n</callout>\n\n<callout icon=\"fa fa-slack\">\nEnregistrez ce script dans un fichier, puis rendez-le exécutable en utilisant la commande suivante :\n\n```BASH\nchmod +x /usr/local/bin/check_update.sh\n```\n</callout>\n\n<callout icon=\"fa fa-slack\">\n\nLa commande `touch` pour créer le fichier **update_file** s'il n'existe pas encore. La commande `chmod` avec l'option **644** permet à tous les utilisateurs (propriétaire, utilisateurs du groupe et autres utilisateurs) d'avoir uniquement des autorisations de lecture sur le fichier `update_file` :\n\n```BASH\nsudo touch /var/udpate_file\nsudo chmod 644 /var/update_file\n```\n</callout>\n\n<callout icon=\"fa fa-slack\">\nEnsuite, pour exécuter ce script en tant que service, vous pouvez ajouter une tâche **cron**. Pour ouvrir le fichier de configuration **cron**, utilisez la commande suivante :\n\n sudo crontab -e\n\n</callout>\n\n<callout icon=\"fa fa-slack\">\nAjoutez la ligne suivante à ce fichier pour exécuter le script tous les heures :\n 0 */1 * * * /usr/local/bin/check_update.sh\n\nCette ligne exécutera le script tous les heures. Vous pouvez ajuster l'heure en fonction de vos besoins.\n</callout>\n\n<callout icon=\"fa fa-slack\">\nPour afficher les informations de mise à jour lors de l'ouverture d'un terminal, vous pouvez ajouter le code suivant à votre fichier de configuration bash **~/.bashrc** :\n\n```BASH\n# Définir le chemin vers le fichier de mise à jour\nupdate_file=/var/udpate_file\n\n# Vérifier si le fichier de mise à jour existe\nif [ -f $update_file ]; then\n # Compter le nombre de mises à jour\n updates=$[^note: $(wc -l < $update_file) - 1]\n\n # Afficher le nombre de mises à jour en attente\n echo \"Il y a $updates mise(s) à jour en attente.\"\nfi\n```\n\n</callout>\n\nAprès avoir enregistré les modifications, ouvrez un nouveau terminal pour vérifier que les informations de mise à jour s'affichent correctement.\n\n<callout type=\"success\" icon=\"true\"> \nRetrouver le script d'installation automatique à l'adresse [git.abonnel.fr scripts-bash](https:*git.abonnel.fr/cedricAbonnel/scripts-bash/src/branch/main/install_check_update.sh)\n\nExecutez la ligne suivante dans votre Terminal :\n sudo bash -c \"$(curl -fsSL https://git.abonnel.fr/cedricAbonnel/scripts-bash/raw/branch/main/install_check_update.sh)\"\n\n</callout>","featured":false,"tags":[]}