Fri Sep 15 17:43:38 2017 UTC

Scénario E

Introduction

Ce scénario est un peu l'aboutissement de mon travail. Ici on propose un mélange de différents scénarios. On installe une NuTyX dans un dossier dédié dans lequel on produit nos paquets personnels. Cela signifie que l'on doit parler de DEUX NuTyX.

Ce scénario est donc la combinaison de DEUX scénarios, dont un sera ... le scénario A ( Cool maintenant vous savez pourquoi j'ai tenu à en parler ). Le deuxième scénario qui est celui de votre environnement isolé celui que vous préféréz entre les 3 autres (B, C et D). A partir de maintenant on ne parle plus d'environnement isolé mais de la chroot.

Quelques avantages par rapport aux précédents:

  1. Comme vous n'installerez jamais de paquets de développement sur votre NuTyX principale, celle-ci gardera une taille raisonnable.
  2. Bien que vous devez prévoir quelques Gigas pour votre chroot, sachez que si vous devez la supprimer, un simple:
    rm -r /<chemin-de-votre-chroot>
    et vous retrouverez votre NuTyX principale.
  3. Tous vos paquets seront donc compilés dans la chroot, ce qui épargne toute fausse manoeuvre sur votre NuTyX principale.
  4. Votre chroot peut être un système de base, c'est même vivement recommandé alors que sur votre principale, vous utilisez très probablement une interface graphique.

Les fichiers /etc/cards.conf

*** NuTyX Principale ***
dir /mnt/hd/usr/ports/personnel
dir /var/lib/pkg/depot/gui|http://downloads.nutyx.org
dir /var/lib/pkg/depot/gui-extra|http://downloads.nutyx.org
dir /var/lib/pkg/depot/cli|http://downloads.nutyx.org
dir /var/lib/pkg/depot/cli-extra|http://downloads.nutyx.org
dir /var/lib/pkg/depot/base|http://downloads.nutyx.org
locale fr
base /var/lib/pkg/depot/base

Vous noterez que j'ai volontairement ajouté la ligne:

dir /chroot/usr/ports/personnel

En effet, on veut pouvoir installer les paquets de la chroot dans la principale.

Je choisis le scénario C pour ma chroot. *** NuTyX chroot *** Scénario C ***

dir /usr/ports/personnel
dir /usr/ports/gui
dir /usr/ports/cli
dir /usr/ports/base
dir /var/lib/pkg/depot/base|http://downloads.nutyx.org
logdir /var/log/pkgbuild
locale fr
base /usr/ports/base
base /usr/ports/aconserver

Le fichier /etc/pkgmk.conf

Comme dit plus haut, le scénario A n'a pas besoin de fichier de configuration /etc/pkgmk.conf. On peut directement configurer le /etc/pkgmk.conf de notre chroot. *** NuTyX chroot *** Scénario C ***

export CFLAGS="-O2 -pipe"
export CXXFLAGS="${CFLAGS}"
case ${PKGMK_ARCH} in
    "x86_64"|"")
       export MAKEFLAGS="-j4"
       ;;
    "i686")
       export CFLAGS="${CFLAGS} -m32"
       export CXXFLAGS="${CXXFLAGS} -m32"
       export LDFLAGS="${LDFLAGS} -m32"
       ;;
    *)
       echo "Unknown architecture selected! Exiting."
       exit 1
       ;;
esac
PKGMK_SOURCE_DIR="/srv/www/sources"
PKGMK_KEEP_SOURCES="yes"
PKGMK_WORK_DIR="$PWD/work"
PKGMK_IGNORE_REPO="no"
PKGMK_IGNORE_COLLECTION="no"
PKGMK_GROUPS=()
PKGMK_LOCALES=(fr)
PKGMK_COMPRESS_PACKAGE="yes"
PKGMK_COMPRESSION_MODE="gz"
PKGMK_CLEAN="no"

Construction dans un environnement isolé aussi appelé "chroot"

Cette méthode n'est pas indispensable mais fortement recommandée.

Elle permet en effet d'éviter de "casser" la NuTyX qu'on utilise tous les jours. Dans un environnement isolé, vous vous assurerez de préserver votre NuTyX principale contre toute fausse manoeuvre.

On appellera désormais notre environnement isolé: chroot.

On va commencer par installer la chroot:

install-nutyx

Et l'installation commence.

This installation will be on /mnt/hd                                     [ INFO ]
*******************************************
downloads of cards.devel1412543016x86_64.cards.tar.xz

.....
...
ADD: cards-0.10.81.3, 9 files: 100 %                                     [  OK  ]
Downloading ca-certificates...                                           [ INFO ]
Retrieve info about the 62 packages: 100 %
pre-install: start
pre-install: finish
ADD: ca-certificates-20141001, 323 files: 100 %                          [  OK  ]
"***************************************************"
"* Installation finish. Tanks for installing NuTyX *"
"*                                                 *"
"* Dont forget to choose a valid kernel before you *"
"*      want to boot on your install NuTyX         *"
"*                                                 *"
"*        For more info, come to visit us:         *"
"*                                                 *"
"*              http://www.nutyx.org               *"
"*                                                 *"
"***************************************************"

Pour pouvoir travailler dans la chroot il est nécessaire de pouvoir rentrer (et sortir) facilement de l'environnement, pour ce faire, nous allons utiliser le même script. Vous êtes toujours en root tapez donc ceci dans votre terminal:

install-nutyx -ec

Ce script vous permet donc également d'entrer et de sortir très simplement de votre chroot.

!!!Désormais pour entrer dans votre chroot, utilisez UNIQUEMENT la commande en root:
install-nutyx -ec

Le gros avantage de travailler dans une chroot est que si vous faîtes une manipulation douteuse, comme vous êtes dans la chroot, ce ne sera jamais très grave,

!!! En revanche si vous n'êtes pas dans la chroot, et que vous tapez certaines commandes mentionnées dans cet article, je ne peux pas vous garantir le résultat et donc le fonctionnement de votre NuTyX.

yippee Tout est en place, on peut maintenant compiler un paquet avec quelques dépendances.

clap Ca c'est vraiment cool non clap

Votre premier paquet est compilé et installé. Le gestionnaire de paquets (de votre chroot) l'a intégré dans sa base de données. Petite remarque, si vous avez suivi ce tuto, vous avez sans doute remarqué que toutes les commandes ont été effectuées depuis la racine de votre chroot ... Cool.

Tapez maintenant la commande suivante:

cards info clipit
Retrieve info about the 123 packages: 100 %
Name           : clipit
Description    : ClipIt is a lightweight GTK+ clipboard manager.
Maintainer     : Gilberto Xyhthyx <xyhthyx at gmail dot com>
Packager       : François Perrin
Version        : 1.4.2
Release        : 1
Build date     : Sun Oct 26 22:27:45 2014
Size           : 1117696
Number of Files: 70
Arch           : x86_64

Installer mon premier paquet sur la NuTyX principale

wall Super j'ai un nouveau paquet...

? Mais comment je fais pour l'installer dans ma NuTyX principale... ?

!! Pas de problème tout est prévu.

On peut maintenant quitter la chroot:

exit
!!! A partir d'ici, vous êtes de nouveau dans votre NuTyX principale

Donc si vous faites maintenant:

cards info -b clipit
Name           : clipit
Description    : ClipIt is a lightweight GTK+ clipboard manager.
Maintainer     : Gilberto Xyhthyx <xyhthyx at gmail dot com>
Packager       : François Perrin
Version        : 1.4.2
Release        : 1
Build date     : Sun Oct 26 23:27:45 2014
Arch           : x86_64
Url            :
Local Directory: /mnt/hd/usr/ports/personnel
CoolCoolCool

Il ne nous reste plus qu'à l'installer: Surprised

get clipit
Retrieve info about the 622 packages: 100 %
ADD: (personnel) clipit-1.4.2, 71 files: 100 %

Conclusion

Dans ce scénario, (une petite piqure de rappel ne fait jamais de tort), sur la principale, ce seront les commandes:

cards install
cards install -u
cards remove

et dans la chroot, on utilisera:

cards depends
cards depcreate
cards level
cards base -r