Comment utiliser le gestionnaire de paquets Pkg sur FreeBSD 12

introduction

FreeBSD est un système d'exploitation open source de type Unix utilisé pour alimenter les serveurs modernes, les bureaux et les plates-formes embarquées. Des géants comme Netflix, Yahoo !, WhatsApp, BBC et Sony utilisent FreeBSD sous une forme ou une autre. Le système FreeBSD n'est pas aussi largement connu que Linux, en grande partie parce que Linux s'est concentré pendant de nombreuses années sur le bureau et que le projet FreeBSD a eu tendance à être davantage basé sur un serveur.

Dans ce guide, vous découvrirez la gestion des paquets sur FreeBSD 12.

Ports et packages

Sur FreeBSD, nous avons deux façons différentes d'installer des logiciels complémentaires: via la collection de ports , ou Ports , et via des packages préconfigurés pour installer et gérer les logiciels.

Ports est un système pour construire des logiciels supplémentaires sur FreeBSD. Avec les ports, vous commencez avec le code source brut fourni par le fournisseur de logiciels et créez le logiciel exactement comme vous en avez besoin, en activant et désactivant les fonctionnalités selon vos besoins.

Les packages sont des logiciels précompilés, et ils sont le résultat de la construction de ports, en utilisant les options que le responsable du port pense être les plus utiles à la plus grande variété de personnes et en les regroupant dans un package pour les rendre facilement installables. Les packages vous permettent d'installer, de désinstaller et de mettre à niveau rapidement des logiciels complémentaires. Le système d'emballage de FreeBSD est appelé package , ou pkg. Les informations sur le package sont stockées dans une base de données SQLite que vous pouvez interroger sur les données du package.

Une autre chose importante à propos de la gestion des paquets FreeBSD est l'emplacement des binaires des paquets. Les packages installent les binaires sous /usr/local, et la plupart des fichiers de configuration se retrouvent dans /usr/local/etcplutôt que /etc. Si vous venez du monde Linux, vous trouverez peut-être cela très rare.

Le gestionnaire de paquets FreeBSD, pkg

Le remplacement de nouvelle génération des outils de gestion de paquets FreeBSD traditionnels est pkg. Offrir de nombreuses fonctionnalités qui rendent le traitement des paquets binaires plus rapide et plus facile, pkgest le moyen le plus simple d'installer un logiciel qui n'est pas déjà inclus dans le système de base de FreeBSD. Il s'agit d'un programme unique avec de nombreuses sous-commandes que vous utiliserez pour à peu près toutes les opérations sur les packages tels que l'installation, la suppression et l'analyse des packages. Toutes les opérations et modifications du package doivent être exécutées en tant que rootou via sudo.

Voici comment installer le curlpaquet sur FreeBSD:

pkg install curl

Vous pouvez alimenter la commande avec -ypour éviter le Proceed with this action? [y/N]:problème lors de l'installation du logiciel ou vous pouvez configurer pkgpour toujours assumer -ydans un fichier de configuration.

Pour supprimer le package, vous utiliseriez delete:

pkg delete curl

Comme vous pouvez le voir, c'est très simple et intuitif.

Utilisez pkg helppour une référence rapide sur les sous-commandes disponibles ou pkg help <subcommand>pour afficher la page de manuel d'une sous-commande particulière:

pkg help
pkg help install
pkg help delete

L'installation pkg

La version stock de FreeBSD n'est pas livrée avec le pkggestionnaire de paquets installé. La première fois que vous essayez d'installer un package, pkgvous invite à installer l'outil de gestion des packages. Par exemple, supposons que le premier paquet que vous souhaitez installer sur votre nouveau FreeBSD soit wget, et vous verrez l'invite suivante dans votre terminal:

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y

Vous appuierez sur Yet ENTERet l'installation de l'outil de gestion de paquets commencera. Une fois qu'il est en place, le package logiciel initial que vous vouliez installer ( wget) sera installé.

Vous pouvez également installer le système de conditionnement seul, sans ajouter d'autres packages, en exécutant pkg bootstrap. En outre, pkgsait comment s'installer et se mettre à jour ainsi que d'autres packages.

REMARQUE: les instances Vultr ont été pkginstallées par défaut, vous n'avez donc pas besoin de l'installer.

Configuration pkg

Le pkgprogramme est conçu pour être très flexible, chaque sous-commande ayant de nombreuses options. Vous pouvez établir un comportement personnalisé mais cohérent pour la plupart des programmes avec le fichier de configuration à l'échelle du système pour pkg, situé dans /usr/local/etc/pkg.conf.

Le fichier contient des valeurs par défaut mises en commentaire pour pkg. Juste en lisant ce fichier, vous pouvez en apprendre beaucoup sur le pkgcomportement. La configuration est écrite en langage de configuration universel (UCL) et il y a beaucoup d'options de configuration commentées et pas mal d'alias. Les variables peuvent être définies sur un entier, une chaîne ou une valeur booléenne:

#PKG_DBDIR = "/var/db/pkg";
#PKG_CACHEDIR = "/var/cache/pkg";
#PORTSDIR = "/usr/ports";
#INDEXDIR = "";
#INDEXFILE = "INDEX-10";        # Autogenerated
#HANDLE_RC_SCRIPTS = false;
#DEFAULT_ALWAYS_YES = false;
#ASSUME_ALWAYS_YES = false;
. . .

Vous pouvez définir des alias pour les pkgsous-commandes dans pkg.conf. Au bas de pkg.conf, vous trouverez une section intitulée ALIAS. Lorsque vous vous retrouvez à exécuter des commandes complexes à plusieurs reprises, vous devez ajouter des alias.

Pour plus d'informations sur le format de fichier et les options, vous pouvez vous référer à la pkg.conf(5)page de manuel:

man pkg.conf

Recherche de packages

Maintenant que vous avez installé un gestionnaire de packages, vous pouvez installer des packages. Si vous êtes un administrateur système, vous savez que différents systèmes d'exploitation attribuent des noms différents aux versions packagées du même logiciel. Un paquet pour le serveur Web Apache sur FreeBSD, par exemple, aura un nom complètement différent de celui d'Apache empaqueté sur différentes distributions Linux. Donc, avant de pouvoir installer quoi que ce soit, vous devrez déterminer le nom du package que vous souhaitez installer.

Le projet FreeBSD propose plusieurs ensembles de packages dans un référentiel public, et ils sont mis à jour tous les quelques jours. Il existe actuellement plus de 25 000 packages.

Par exemple, essayons de rechercher le serveur Web Apache:

pkg search apache
# apache24-2.4.38                Version 2.4.x of Apache web server

Il trouvera tous les packages avec apacheleurs noms. Cela renverra une longue liste, mais ce que vous recherchez est le apache24package. Il y a une courte description de chaque paquet. Cela devrait vous aider à décider quel paquet installer, mais ce n'est pas toujours simple.

Certaines recherches peuvent générer des centaines de résultats. Vous devrez utiliser différentes options de ligne de commande pour rogner ou ajuster les résultats de la recherche. Consultez la pkg-searchpage de manuel ou la page d'aide pkg help searchpour en savoir plus sur les options de recherche courantes.

Si vous ne savez pas si un package est ce que vous voulez vraiment, vous pouvez utiliser la commande suivante pour rechercher les détails du package:

pkg search -R apache24

# name: "apache24"
# origin: "www/apache24"
# version: "2.4.38"
# comment: "Version 2.4.x of Apache web server"
# maintainer: "[email protected]"
# www: "https://httpd.apache.org/"
# abi: "FreeBSD:12:amd64"
# arch: "freebsd:12:x86:64"
# prefix: "/usr/local"
# . . .
# . . .

Cette commande vous donnera beaucoup d'informations utiles sur le paquet.

Installation de packages

Pour installer le logiciel, utilisez la installsous - commande et le nom d'un package à installer:

pkg install apache24

Lorsque vous installez des packages avec pkg install, pkgconsulte le catalogue de packages local, puis télécharge le package demandé à partir du référentiel sur pkg.FreeBSD.org. Une fois le package installé, il est enregistré dans une base de données SQLite conservée /var/db/pkg/local.sqlite. Veillez à ne pas supprimer ce fichier, sinon votre système perdra la trace des packages installés. Si le logiciel a des dépendances, pkgles comprendre et les installer avec le package de base. Les packages installés en tant que dépendances sont appelés packages automatiques .

Le gestionnaire de packages a la possibilité de simplement télécharger des packages sur Internet et de les enregistrer dans un emplacement sur le disque. Cela vous permet de les installer à un autre moment. Vous pouvez utiliser la pkg fetchcommande pour télécharger le package sans l'installer:

pkg fetch nginx

Cette commande récupérera juste Nginx sans ses dépendances. Vous pouvez utiliser l' -dindicateur pour récupérer toutes les dépendances ainsi que le package nommé:

pkg fetch -d nginx

Les packages sont téléchargés dans le répertoire de cache des packages /var/cache/pkg. Après avoir récupéré les packages, pkgles ajoutera à ce répertoire. Vous pouvez lister les fichiers pour voir ce qu'ils contiennent:

ls /var/cache/pkg

Maintenant, pour installer un package téléchargé après une extraction, exécutez-le pkg installnormalement. Le processus d'installation utilise les fichiers mis en cache plutôt que ceux téléchargés.

Au fil du temps, le répertoire de cache du package peut devenir volumineux. La pkg cleancommande supprime tous les packages mis en cache qui ont été remplacés par des versions plus récentes, ainsi que tous les fichiers de packages qui ne sont plus dans le référentiel:

pkg clean

Si vous souhaitez supprimer tous les packages mis en cache, utilisez l' -aindicateur:

pkg clean -a

Si vous souhaitez nettoyer automatiquement le cache de packages après chaque installation ou mise à niveau de packages, définissez l' pkg.confoption AUTOCLEANsur true.

Obtention d'informations sur les packages installés

Si vous oubliez les packages que vous avez installés sur un système, vous pouvez utiliser pkg infopour obtenir une liste complète des logiciels installés:

pkg info
# atk-2.28.1                     GNOME accessibility toolkit (ATK)
# avahi-app-0.7_2                Service discovery on a local network
# ca_root_nss-3.42.1             Root certificate bundle from the Mozilla Project
# . . .
# . . .

Si vous souhaitez plus d'informations sur un package installé, utilisez pkg infoet le nom du package. Cela montre les détails d'installation du package dans un rapport convivial:

pkg info nginx
# nginx-1.14.2_3,2
# Name           : nginx
# Version        : 1.14.2_3,2
# . . .
# . . .

Vous pouvez voir de nombreuses informations utiles comme la version du logiciel, l'heure d'installation du logiciel, la licence du logiciel, les indicateurs de compilation et plus encore. Consultez la pkg-infopage de manuel pour les détails complets.

Suppression de packages

Pour désinstaller les packages binaires, utilisez la pkg deletesous - commande. Il est également disponible en tant que pkg remove:

pkg delete nginx
# or
pkg remove nginx

Vous obtiendrez une liste des packages à supprimer et l'espace disponible.

Si vous supprimez un package dont dépendent d'autres packages, pkgsupprime également les packages dépendants.

Forfaits de verrouillage

Il peut arriver que vous souhaitiez qu'un package sur votre serveur ne soit jamais mis à niveau. Lorsque vous verrouillez un package, pkgil ne sera pas mis à niveau, rétrogradé, désinstallé ou réinstallé. Il applique les mêmes règles aux dépendances du package et aux programmes dont il dépend.

Utilisez pkg lockpour verrouiller un package:

pkg lock openssl

Ce opensslpackage est maintenant verrouillé.

Pour répertorier tous les packages actuellement verrouillés sur le système, utilisez l' -lindicateur:

pkg lock -l

Pour retirer le verrou, utilisez la pkg unlockcommande:

pkg unlock openssl

Pour verrouiller ou déverrouiller tous les packages du système en même temps, utilisez l' -aindicateur:

pkg lock -a
pkg unlock -a

Référentiels de packages

Les référentiels de packages sont pris en charge par pkg, qui sont des collections nommées de packages. Vous pouvez ajouter, supprimer, activer et désactiver des référentiels. Vous devez configurer chaque référentiel dans son propre fichier au format UCL. Les dépôts officiels de FreeBSD appartiennent au /etc/pkgrépertoire. FreeBSD est livré avec le dépôt "FreeBSD" activé. Vous trouverez son fichier de configuration dans /etc/pkg/FreeBSD.conf:

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

Vous pouvez ajouter et supprimer des référentiels selon vos besoins. Comme cela /etc/pkgest réservé aux référentiels officiels de FreeBSD, vous aurez besoin d'un autre répertoire. L'emplacement traditionnel est /usr/local/etc/pkg/repos. Si vous souhaitez utiliser un répertoire différent, vous devrez définir un emplacement pkg.confavec l' REPO_DIRSoption. Le répertoire local du référentiel n'existe pas par défaut, vous devrez donc le créer avec mkdir -p /usr/local/etc/pkg/repos. Mettez vos propres configurations de référentiel dans ce répertoire.

Exemples de pkgsous-commandes

Cette section répertorie certaines des sous-commandes les plus fréquemment utilisées que vous utiliserez probablement lors de l'administration d'un serveur FreeBSD:

# Installs a package without asking any questions
pkg install -y package

# Makes a backup of the local package database
pkg backup

# Lists all installed packages
pkg info

# Shows extended information for a package
pkg info package

# Searches package repository
pkg search -i package

# Shows packages with known security vulnerabilities
pkg audit -F

# Shows which package owns the named file
pkg which file

# Removes unused packages
pkg autoremove

# Uninstalls a package
pkg delete package

# Removes cached packages from /var/cache/pkg 
pkg clean -ay

# Updates local copy of the package catalog
pkg update

# Upgrades installed packages to their latest version
pkg upgrade

# Checks the integrity of all your packages
pkg check -saq

# Verifies that a package's files are unaltered
pkg check -s nginx

# Shows what files came with the package
pkg info -l nginx

# Lists non-automatic packages
pkg prime-list

Fichiers et répertoires importants

  • Le pkgfichier de configuration -/usr/local/etc/pkg.conf
  • Répertoire réservé aux dépôts officiels FreeBSD - /etc/pkg
  • Fichier de dépôt FreeBSD - /etc/pkg/FreeBSD.conf
  • Emplacement traditionnel pour les référentiels personnalisés - /usr/local/etc/pkg/repos
  • Répertoire du cache de packages - /var/cache/pkg
  • Base de données SQLite - /var/db/pkg/local.sqlite

Résumé

FreeBSD fournit deux technologies complémentaires pour l'installation de logiciels tiers: la collection de ports FreeBSD, pour l'installation à partir des sources et des packages, pour l'installation à partir de binaires pré-construits. Comme FreeBSD fait évoluer le système de manière plus décisive vers la gestion universelle des packages, essayez de gérer les logiciels tiers pkgdans la mesure du possible. Évitez d'utiliser des ports, sauf si le logiciel souhaité n'a pas de version packagée ou si vous devez personnaliser les options de compilation.



Leave a Comment

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.