GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser pkgsrc sous Linux

NetBSD est célèbre pour fonctionner sur pratiquement n'importe quoi, mais saviez-vous que c'est deuxième prétendre à la gloire est le pkgsrc directeur chargé d'emballage? Comme NetBSD, pkgsrc s'exécute sur pratiquement n'importe quoi, ou du moins n'importe quoi d'Unix et de type Unix. Vous pouvez installer pkgsrc sur BSD, Linux, Illumos, Solaris et Mac. Au total, plus de 20 systèmes d'exploitation sont pris en charge.

Pourquoi utiliser pkgsrc ?

À l'exception de MacOS, tous les systèmes d'exploitation Unix sont livrés avec un gestionnaire de packages inclus. Vous n'avez pas nécessairement besoin pkgsrc, mais voici trois bonnes raisons de l'essayer :

  • Emballage. Si vous êtes curieux d'en savoir plus sur l'empaquetage mais que vous n'avez pas encore essayé de créer un paquet vous-même, pkgsrc est un système relativement simple à utiliser, surtout si vous êtes déjà familiarisé avec les Makefiles et que vous construisez des systèmes comme GNU Autotools.
  • Générique. Si vous utilisez plusieurs systèmes d'exploitation ou distributions, vous rencontrez probablement un gestionnaire de packages pour chaque système. Vous pouvez utiliser pkgsrc sur des systèmes disparates de sorte que lorsque vous empaquetez une application pour un, vous l'avez empaquetée pour tous.
  • Souple. Dans de nombreux systèmes d'empaquetage, il n'est pas toujours évident de choisir un paquet binaire ou un paquet source. Avec pkgsrc, la distinction est claire, les deux méthodes d'installation sont tout aussi simples et les deux résolvent les dépendances pour vous.

Comment installer pkgsrc

Que vous soyez sous BSD, Linux, Illumos, Solaris ou MacOS, le processus d'installation est fondamentalement le même :

  1. Utilisez CVS pour consulter l'arborescence pkgsrc
  2. Amorcer le système pkgsrc
  3. Installer des packages

Utiliser CVS pour vérifier l'arborescence pkgsrc

Avant Git, avant Subversion, il y avait CVS . Vous n'avez pas besoin d'en savoir beaucoup sur CVS pour effectuer une vérification de son code - si vous êtes habitué à Git, alors pensez à checkout en tant que clone . Lorsque vous effectuez une vérification CVS de pkgsrc, vous téléchargez des "recettes" détaillant la manière dont chaque paquet doit être construit. C'est beaucoup de fichiers, mais ils sont petits parce que vous n'extrayez pas réellement le code source de chaque paquet, juste l'infrastructure de construction et les Makefiles nécessaires pour construire dessus. L'utilisation de CVS vous permet de mettre à jour facilement votre paiement pkgsrc lorsqu'un nouveau est publié.

Les docs pkgsrc recommandent de garder votre arborescence dans /usr répertoire, vous devez donc utiliser sudo (ou devenez root) pour utiliser cette commande :

$ cd /usr
$ sudo cvs -q -z2 \
  -d [email protected]:/cvsroot \
  checkout -r pkgsrc-2019Q3 -P pkgsrc

Au moment où j'écris, la dernière version est 2019Q3. Consultez la section des nouvelles de la page d'accueil de pkgsrc.org ou la documentation de NetBSD pour déterminer la dernière version.

Bootstrap pkgsrc

Une fois l'arborescence pkgsrc copiée sur votre ordinateur, vous disposez d'un fichier /usr/pkgsrc répertoire rempli de scripts de construction. Avant de pouvoir les utiliser, vous devez amorcer pkgsrc afin d'avoir un accès facile aux commandes pertinentes dont vous avez besoin pour compiler et installer le logiciel.

La façon dont vous démarrez pkgsrc dépend du système d'exploitation sur lequel vous êtes.

Pour NetBSD, vous pouvez simplement utiliser le programme d'amorçage fourni :

# cd pkgsrc/bootstrap
# ./bootstrap

Sur d'autres systèmes, il existe de meilleurs moyens avec certaines fonctionnalités personnalisées incluses, fournies par Joyent. Pour connaître la commande exacte à exécuter, visitez pkgsrc.joyent.com. Par exemple, sous Linux (Fedora, Debian, Slackware, etc.) :

$ curl -O \
  https://pkgsrc.joyent.com/packages/Linux/el7/bootstrap/bootstrap-trunk-x86_64-20170127.tar.gz
$ BOOTSTRAP_SHA="eb0d6911489579ca893f67f8a528ecd02137d43a "

Même si le chemin suggère que les fichiers inclus sont pour RHEL 7, les binaires ont tendance à être compatibles avec toutes les distributions Linux, sauf les plus avancées. Et si vous trouvez un binaire incompatible avec la distribution sur laquelle vous vous trouvez, vous avez la possibilité de compiler à partir des sources.

Vérifiez la somme de contrôle SHA1 :

$ echo "${BOOTSTRAP_SHA}" bootstrap-trunk*gz> check-shasum
sha1sum -c check-shasum

Vous pouvez également vérifier la signature PGP :

$ curl -O \
https://pkgsrc.joyent.com/packages/Linux/el7/bootstrap/bootstrap-trunk-x86_64-20170127.tar.gz.asc
curl -sS https://pkgsrc.joyent.com/pgp/56AAACAF.asc | gpg --import
gpg --verify ${BOOTSTRAP_TAR}{.asc,}

Une fois que vous êtes sûr d'avoir le bon kit d'amorçage, installez-le dans /usr/pkg :

sudo tar -zxpf ${BOOTSTRAP_TAR} -C / 

Cela vous fournit les commandes pkgsrc habituelles. Ajoutez ces emplacements à votre PATH :

$ echo "PATH=/usr/pkg/sbin:/usr/pkg/bin:$PATH">> ~/.bashrc
$ echo "MANPATH=/usr/pkg/man:$MANPATH">> ~/.bashrc

Si vous préférez utiliser pkgsrc sans compter sur les versions de Joyent, vous pouvez simplement exécuter le bootstrap script que vous avez obtenu avec l'arborescence pkgsrc. Lisez le fichier README correspondant dans le bootstrap répertoire avant de l'exécuter pour des notes importantes spécifiques au système.

Comment installer un logiciel avec pkgsrc

L'installation d'un binaire précompilé (comme vous le feriez avec DNF ou Apt) avec pkgsrc est facile. La commande pour les installations binaires est pgkin , qui a son propre site dédié sur pkgin.net. Le processus devrait sembler assez familier à quiconque utilise Linux.

Pour rechercher le tmux paquet :

$ pkgin search tmux 

Pour installer le package tmux :

$ sudo pkgin install tmux 

Le pkgin Le but de la commande est d'imiter le comportement des gestionnaires de packages Linux typiques, il existe donc des options pour répertorier les packages disponibles, pour interroger les packages disponibles pour trouver ce qui fournit un exécutable spécifique, etc.

Comment compiler à partir du code source avec pkgsrc

La vraie puissance de pkgsrc, cependant, est la facilité de construire un paquet à partir des sources. Vous avez téléchargé les plus de 20 000 scripts de construction lors de la première étape de configuration, et vous pouvez y accéder en naviguant directement dans votre arborescence pkgsrc.

Par exemple, pour construire tcsh à partir de la source, localisez d'abord le script de construction :

$ find /usr/pkgsrc -type d -name "tcsh"
/usr/pkgsrc/shells/tcsh

Ensuite, allez dans le répertoire source :

$ cd /usr/pgksrc/shells/tcsh 

Le répertoire de script de construction contient un certain nombre de fichiers pour aider l'application à se construire sur votre système, mais notamment, il contient le DESCR fichier, qui contient une description du logiciel, ainsi que le Makefile qui déclenche la génération.

$ ls 
CVS    DESCR     Makefile
PLIST  distinfo  correctifs
$ cat DESCR
TCSH est un C-shell étendu avec de nombreuses fonctionnalités utiles comme
la saisie automatique des noms de fichiers, l'historique édition, etc.
$

Lorsque vous êtes prêt, créez et installez :

$ sudo bmake install 

Le système pkgsrc utilise le bmake (fournie par la commande pkgsrc lors de la première étape), assurez-vous donc d'utiliser bmake (et non faire par habitude).

Si vous construisez pour plusieurs systèmes, vous pouvez créer un package au lieu d'installer tout de suite :

$ cd /usr/pgksrc/shells/tcsh
$ sudo bmake package
[...]
=> Création d'un paquet binaire dans /usr/pkgsrc/packages/All/tcsh -X.Y.Z.tgz

Les packages créés par pkgsrc sont des archives tar standard, mais ils peuvent être installés facilement avec pkg_add :

$ sudo pkg_add /usr/pkgsrc/packages/All/tcsh-X.Y.Z.tgz
tcsh-X.Y.Z :ajout de /usr/pkg/bin/tcsh à /etc/shells
$ tcsh
localhost%

Les pkgtools collection de pkgsrc fournit le pkg_add , info_pkg , pkg_admin , pkg_create , et pkg_delete commandes pour vous aider à gérer les packages que vous créez et maintenez sur votre système.

Pkgsrc pour une gestion facile

Le système pkgsrc offre une approche directe et pratique de la gestion des packages. Si vous recherchez un gestionnaire de paquets qui reste à l'écart et invite à la personnalisation, essayez pkgsrc sur n'importe quel système d'exploitation Unix ou de type Unix que vous utilisez.


Linux
  1. Comment utiliser BusyBox sous Linux

  2. Comment j'utilise cron sous Linux

  3. Comment utiliser FIND sous Linux

  4. Comment utiliser Pacman sur Arch Linux

  5. Comment utiliser Google Drive sous Linux

Comment utiliser traceroute sur Kali Linux

Comment utiliser l'écran Linux

Comment utiliser du Command sous Linux

Comment utiliser le terminal Linux dans Android

Comment utiliser la commande sysctl sous Linux

Comment utiliser le gestionnaire de paquets Yum sur Rocky Linux 8