Dans ce tutoriel, nous expliquerons comment gérer les applications de paquets binaires pré-compilés dans FreeBSD à l'aide de l'outil de gestion de paquets nommé PKG via Ports référentiel de collection de logiciels.
Ports Le référentiel offre les outils nécessaires pour compiler des applications à partir du code source, ainsi que leurs dépendances, mais maintient également une énorme collection de packages pré-compilés, actuellement plus de 24.000 packages, qui peuvent être installés sur un système FreeBSD avec pkg commande.
Exigences :
- Installation de FreeBSD 11.x
Rechercher et trouver des applications dans l'arborescence des ports sous FreeBSD
1. Les référentiels de ports sont divisés en catégories dans FreeBSD , chaque catégorie étant représentée par un répertoire dans /usr/ports/ chemin du système de fichiers.
Une simple liste du répertoire /usr/ports/ affichera toutes les catégories disponibles comme indiqué dans la capture d'écran ci-dessous.
# ls /usr/ports/
2. Pour voir toutes les applications disponibles appartenant à une catégorie, lancez une commande ls sur le répertoire de la catégorie.
Supposons que vous souhaitiez afficher tous les packages logiciels disponibles proposés par la catégorie base de données, exécutez la commande ci-dessous dans la console. Dirigez le résultat via la commande less pour naviguer plus facilement dans la sortie.
# ls /usr/ports/databases/ | moins
3. Afin d'afficher le nombre de packages disponibles dans une catégorie, répertoriez le répertoire de la catégorie et dirigez le résultat via la commande wc, comme indiqué dans l'exemple ci-dessous.
# ls /usr/ports/databases/ | wc -l
Comme vous pouvez le voir dans la capture d'écran ci-dessus, la catégorie de base de données FreeBSD contient plus de 1000 paquets pré-compilés de la base de données.
4. Pour voir si une application spécifique est disponible dans une catégorie, encore une fois, utilisez la commande ls et filtrez le résultat via l'utilitaire grep afin de rechercher une application personnalisée.
Dans les exemples ci-dessous, on recherchera mongodb paquets disponibles de la base de données et antivirus palourde packages de sécurité.
# ls /usr/ports/databases/ | grep mongodb# ls /usr/ports/security/ | grep palourde
Comme vous pouvez le constater, plusieurs versions d'une application peuvent être disponibles dans les ports FreeBSD.
5. Si vous ne savez pas à quelle catégorie appartient un logiciel, vous pouvez utiliser une autre approche pour trouver la catégorie de logiciel. Utiliser le caractère générique de globalisation du shell *
caractère pour rechercher un modèle dans toute l'arborescence des répertoires de ports.
En supposant que vous vouliez voir dans quelle catégorie vous pouvez trouver les packages logiciels pour mailx utilitaire, vous pouvez exécuter la commande suivante.
# ls /usr/ports/*/*mailx
6. Une autre méthode pour rechercher un package logiciel et la catégorie à laquelle appartient le package consiste à utiliser la commande de localisation par rapport à un modèle de chaîne.
Avant d'exécuter la chaîne de recherche, vous devez mettre à jour la base de données de localisation avec la commande suivante.
# /usr/libexec/locate.updatedb
7. Après avoir mis à jour la base de données de localisation, recherchez un package logiciel spécifique en utilisant un modèle de mot-clé à partir du nom du package. Par exemple, si vous souhaitez rechercher le mailx utilitaire, vous pouvez exécuter la commande ci-dessous.
# localiser mailx
Comme vous pouvez le constater, deux packages sont disponibles pour mailx utilitaire, tous deux situés dans /usr/ports/mail/ catégorie.
8. Semblable à la recherche d'un package avec la commande locate, vous pouvez également utiliser la commande whereis pour afficher la catégorie d'application.
# où est mailx
Rechercher un logiciel via la commande PKG dans FreeBSD
9. La méthode la plus simple pour rechercher et trouver une application dans FreeBSD consiste à utiliser la ligne de commande de gestion des packages PKG. Afin de rechercher les packages binaires d'une application, par exemple postfix logiciel, lancez la commande ci-dessous.
# pkg recherche package_name
10. Si vous souhaitez voir à quelle catégorie appartient le package, exécutez la même commande que ci-dessus avec le -o
drapeau, comme illustré dans les exemples ci-dessous.
# pkg search -o package_name
Gérer les logiciels dans FreeBSD
11. Afin d'installer un paquet pré-compilé à partir des dépôts Ports dans FreeBSD, émettez le pkg commande comme illustré dans l'exemple ci-dessous.
# pkg install package_name
12. Pour demander des informations sur un package installé spécifique dans le système, exécutez la commande ci-dessous.
# informations sur le paquet package_name
13. Les informations sur le paquet Le commutateur de commande affichera le message "Aucun package(s) correspondant au package_name " si le progiciel n'est pas déjà installé sur votre système, comme indiqué dans la capture d'écran ci-dessous.
# paquet info tcpdump
14. Pour répertorier tous les packages logiciels installés dans FreeBSD, exécutez pkg info commande sans option ni commutateur.
Le filtre grep contre les informations sur le paquet La commande peut vous montrer si certains packages ou applications spécifiques sont déjà présents dans le système, comme illustré dans l'exemple ci-dessous.
# informations sur le paquet | grep ftp
15. Pour supprimer un paquet du système, lancez les commandes ci-dessous.
# pkg remove package_nameou# pkg delete package_name
16. Si vous souhaitez empêcher la suppression ou la modification d'un package installé, vous pouvez utiliser le verrou commutateur pour la commande pkg, comme indiqué dans l'image ci-dessous.
# pkg verrouille package_name
Déverrouiller Le commutateur de commande pkg vous permettra de supprimer la restriction de package et de modifier ou de désinstaller le package.
# pkg déverrouiller package_name
17. Afin de savoir à quel package installé appartient une commande ou un fichier exécutable, lancez la commande suivante, comme illustré dans les exemples de capture d'écran ci-dessous.
# pkg qui /chemin/vers/exécutable
18. Pour télécharger localement un package à partir de Ports référentiel, sans installer le package sur le système, exécutez la commande pkg avec la récupération commutateur.
Le binaire du package téléchargé, qui est un .txz compressé fichier, peut être trouvé dans /var/cache/pkg/ chemin du système.
# pkg récupérer nom_paquet# ls /var/cache/pkg/ | grep package_name
19. Pour vérifier si les packages installés sont exposés à des vulnérabilités ou des bogues courants, exécutez la commande ci-dessous.
# pkg audit -F
Pour voir une liste des anciennes vulnérabilités qui affectaient un package logiciel dans des versions antérieures, exécutez la commande ci-dessous.
# pkg audit package_name
Vous trouverez ci-dessous un extrait de toutes les vulnérabilités connues trouvées dans Nginx serveur web compilé pour FreeBSD.
# pkg audit nginxRechercher les vulnérabilités du logiciel /94b6264a-5140-11e3-8b22-f0def16c5c1b.htmlnginx est vulnérable :Versions concernées :<1.0.15nginx -- Débordement de tampon dans le ngx_http_mp4_moduleCVE :CVE-2012-2089WWW :https://vuxml.FreeBSD.org/freebsd/0c14dfa7- 879e-11e1-a2a0-00500802d8f7.htmlnginx est vulnérable :Versions concernées :<1.4.7nginx -- SPDY heap buffer overflowCVE :CVE-2014-0133WWW :https://vuxml.FreeBSD.org/freebsd/fc28df92-b233-11e3- 99ca-f0def16c5c1b.html...
Maintenir l'utilitaire de gestion des packages dans FreeBSD
20. Pour vous assurer que les référentiels de logiciels et tous vos packages installés sont à jour avec les dernières versions ou correctifs de sécurité, exécutez les commandes suivantes.
# mise à jour du paquet# mise à jour du paquet
21. Pour afficher les référentiels distants et les statistiques de packages locaux, telles que le nombre de packages installés sur votre système et l'espace disque occupé par les logiciels installés, exécutez la commande suivante.
# statistiques de paquet
22. Pour supprimer toutes les dépendances laissées par les packages installés dans le système, exécutez la commande ci-dessous.
# pkg autoremove
23. Afin d'effacer automatiquement le répertoire de cache local de gestion des packages pour les packages téléchargés à distance, exécutez la commande ci-dessous. Vous devez d'abord vérifier la liste des packages binaires téléchargés localement.
# pkg clean -a -n # pkg clean -a -y
C'est tout! Comme vous pouvez le voir, FreeBSD dispose d'un impressionnant système de collecte de packages, similaire aux outils de gestion de packages utilisés dans les distributions Linux telles que Yum, RPM et APT avec un grand nombre de logiciels binaires pré-compilés et une ligne de commande simple et efficace, pkg, qui peut être utilisée pour gérer le logiciel de manière décente.