Fr:Entropy

From Sabayon Wiki
Jump to: navigation, search
i18n: ca de en es fr it pl pt ru Tr
UnderConstruction.png
En construction
Cet artcile est actuellement en construction et pourrait s'avérer incomplet ou hors d'usage.


Qu'est-ce qu'Entropy ?

Entropy est le nom du futur Gestionnaire de Paquets de Sabayon Linux. Le nom désigne la totalité de l'infrastructure composée des clients Equo (mode texte) et Spritz (mode graphique), ainsi que des applications serveur Reagent et Activator.

Quelques informations:

  • Compatible avec Gentoo Linux
  • Concentre le meilleur de Portage, YUM et APT
  • Rapide comme l'éclair
  • Basé sur SQLite
  • Intelligent et adpapté à l'utilisateur
  • Système puissant de paquets: plusieurs paquets au sein d'une même archive (Smart Packages)
  • Support des applications "auto-contenues" (Smart Applications)
  • Paquets rétro-compatibles: les paquets peuvent être convertis pour être utilisés sur Gentoo Linux
  • Support des branches multiples (chaque branche est une version différente)
  • Support de la corruption des bases de données: outils de sauvetage et de réparation du système inclus
  • Faciliter de déploiement sur un environnement réseau
  • Dépôts multiples : tout le monde peut créer le sien
  • API extensible et compréhensible par les êtres humains
  • Intelligence Artificielle robuste (Entropy possède un cerveau)
  • Très bon sens de l'humour, et bien plus encore...


Les bases

Obtenir Entropy

Actuellement, les versions supportant Entropy sont : Sabayon Linux 3.4F, Sabayon Linux 3.5*. L'installation sur Gentoo Linux ou toute autre distribution n'est pas officiellement supportée.

Utiliser Equo

Il y a plusieurs options disponibles pour l'utilisation d'Equo, voici quelques commandes basiques.

Recherche
  1. equo search <package name>
Installation de paquets
  1. equo install <package> --ask
Suppression de paquets
  1. equo remove <package>
world Update
  1. equo world --ask

Qu'est-ce que Spritz

Spritz est le GUI (Interface Graphique Utilisateur) d'Equo.

Spritz

Section Update (Mise à jour)

Mises à jour

Update

Bouton "Mises à jour", liste les mises à jour disponibles pour votre système.

Question.png
Note: Les versions des paquets peuvent être différentes entre Portage et Entropy. Si vous avez utilisé Portage pour mettre à jour certains paquets, Spritz les marquera peut-être comme nécessitant une mise à jour

Disponible

Available

Liste tous les paquets disponibles.

Installés

Installed

Liste tous les paquets installés sur votre système.

Informations sur le paquet

Package Info

Cliquer ce bouton ou double-cliquer sur le nom d'un paquet affichera les informations sur le paquet.

Catégories de paquets

Cette section affiche les paquets disponibles section par section. Pour obtenir plus d'informations sur un paquet, double-cliquez dessus. To install package, right or left click on the square to the left of package name & description then select install.

Liste d'attente des paquets

Choix du dépôt

Fichiers de configuration

Sortie

Options Avancées

En savoir plus

Dépôts de paquets

packages.sabayonlinux.org

Dépôts Communautaires (expérimental)

Les dépôts communautaires sont des dépôts de paquets gérés par les utilisateurs, qui peuvent donc recompiler certains paquets avec des paramètres différents, ajouter leurs propres paquets... Leurs contenus sont sous la responsabilité de ceux qui les maintiennent. Modifier les "USE flags" peut entraîner une variation des librairies de symboles exportées, ce qui peut causer des problèmes lors des mélanges de paquets. Ce problème sera résolu (par la gestion des USE flags lors du calcul des dépendances) dans la prochaine version. Pour l'instant, maintenir un dépôt n'est pas fait pour les débutants.

Si vous lancez "equo --help" vous trouverez la liste des commandes disponibles. Même si tout devrait fonctionner correctement, cette fonction est encore expérimental et requiert votre feedback.

Nécessaire de base

Voici la liste des prérequis pour construire votre propre dépôt:

  • Portage ou n'importe quel Gestionnaire de Paquets Source compatible avec Portage (pour la compilation)
  • Entropy >= 0.15.21 incluant le paquet sys-apps/entropy-server
  • Si possible une version supérieure ou égale à Sabayon Linux 3.5 Loop3
  • un FTP distant ou uploader les paquets et leur base de données
  • HTTP ou FTP anonyme pour le téléchargement
  • une connaissance basique de la terminologie Portage

Mettre en place votre dépôt

Vous devez configurer server.conf situé dans /etc/entropy en vous basant sur le fichier d'exemple. Copiez-le et éditez-le :

# cp /etc/entropy/server.conf.example /etc/entropy/server.conf

Il n'y a que 4 paramètres à définir :

  • branches, les branches de Sabayon que vous souhaitez supporter (3.5 seulement pour l'instant)
## multiple (space separated) values are allowed
# branches|3.5

Pensez également à ajouter l'une des lignes de branches à /etc/entropy/repositories.conf

  • officialserverrepositoryid, spécifie l'indentifiant du dépôt par défaut (lisez plus loin pour connaître son utilité). Le Dépôt Communautaire doit connaître le dépôt par défaut, surtout lorsque plusieurs dépôts sont définis.
## this is just an ascii string identifier explained later
# officialserverrepositoryid|myrepository
  • repository, ce paramètre contient toutes les informations sur le dépôt, comme l'identifiant du dépôt, URIs d'upload/download, etc. Chaque dépôt peut avoir plusieurs miroirs directement gérés par Entropy. Notre conseil est d'en avoir un seul (que nous appelons généralement "miroirs primaires" puisque gérés par Entropy) et de synchroniser les autres avec rsync. Les "Handlers" sont des scipts PHP optionnels côté serveur utilisés pour faciliter le travail de l'interface. Actuellement il y en a un seul utilisé pour vérifié les données uploadées, plus d'infos ici : Digest verification handler. Le paramètre handler doit donc être une URI pointant vers la racine du dépôt. Exemple :
## repository|<repository string identifier>|<repository description>|<FTP upload/download URI 1> <FTP upload/download URI 2>|handlers URL (path to repositories root directory)
## we will write
# repository|myrepository|My very first repository|ftp://username:[email protected]/myrepositories/%7Chttp://www.sabayonlinux.org/myrepositories

De plus, il existe un autre paramètre critique listé dans /etc/entropy/repositories.conf appelé "product". Pour le moment, Sabayon Linux ne supporte qu'un seul product, nommé "standard". Assurez-vous donc de l'inscrire dans ce fichier, puisque nous allons monter un dépôt pour Sabayon Linux, product: standard.

Vérification et Initialisation

Si tout est bien configuré, en lançant cette commande :

# equo community repo status

Vous obtiendrez :

# >>  @@ Entropy Server Mirrors Interface loaded:
# >>    # mirror: ftp://myrepository:[email protected]/
# >>  @@ Entropy Server Interface Instance on repository: myrepository (type: community repository)
# >>  @@ Currently configured repositories:
# >>    # __system__
# >>    # myrepository
# >>  !!! [repo:myrepository] Your default repository is not initialized.
# Do you want to initialize your default repository ? [Yes/No] 

Dans un premier temps, le dépôt __system__ est un dépôt virtuel représentant la base de données de vos paquets. Ensuite, Entropy a repéré que votre dépôt tout neuf était vide et vous a demandé de l'initialiser. Faites-le! Cela connectera votre FTP, et préparera la structure des dossiers et la base de données. Au début, le processus pourra prendre un moment, surtout au niveau du listing du FTP. Nous avons remarqué que, s'il est vide, ftplib de Python prend du temps. Enfin, vous devriez voir apparaître :

# >>  !!! Entropy database is probably empty. If you don't agree with what I'm saying, then it's probably corrupted! I won't stop you here btw...
# >>  !!! Entropy database: fixing KDE dep strings on etpdb:myrepository. Please wait ...
# >>  * Mirrors have not been unlocked. Remember to sync them.

C'est bon !

Compilation et Ajout

La prochaine étape consiste à ajouter quelques trucs. Nous allons donc compiler un paquet à l'aide d'un Gestionnaire de paquet compatible avec Portage (Portage, Paludis, Pkgcore - tout ce qui écrit dans /var/db/pkg correctement). Avant de commencer, nous devons nous assurer que Portage et Entropy sont synchronisés correctement. Quand vous installez un paquet avec Entropy, la base de données de Portage est également mise à jour, donc si vous n'avez jamais utilisé Portage, vous pouvez passer cette étape. La commande pour synchroniser les bases de données est :

# equo database gentoosync

Maintenant, il est temps de compiler ! Mettons que vous souhaitiez faire votre propre media-sound/amarok en utilisant le support de "postgres" ou avec des CFLAGS différents.

# emerge media-sound/amarok

Si vous avez Equo appelé par Portage, vous devez supprimer l'appel à equo dans /etc/portage/bashrc et, si nécessaire, re-emerger le paquet deux fois. Ceci est dû un changement de comportement de Portage dans sa dernière version (apparemment il inscrit dans ses métadonnées xpak le bashrc de equo). Après un moment, c'est fini, il est temps de dire a Entropy d'intégrer ce paquet, avec :

# equo community repos update

Il vous sera demandé d'intégrer le paquet dans votre dépôt. Notez bien que, si vous avez plus d'un dépôt communautaire, un moyen rapide de changer de dépôt par défaut (dépôt courant) est d'utiliser la variable d'environnement ETP_REPO :

# ETP_REPO=myotherrepository equo community repos update

Vous serez prévenus du changement juste après :

# >>  @@ Entropy Server Mirrors Interface loaded:
# >>    # mirror: ftp://mynewrepo:[email protected]/
# >>  @@ Entropy Server Interface Instance on repository: myotherrepository (type: community repository)
# >>  @@ Currently configured repositories:
# >>    # __system__
# >>    # mynewrepo
# >>    # myotherrepository

Voici la sortie que vous devriez avoir :

# >>  @@ These are the packages that would be added/updated to the add list:
# >>     # media-sound/amarok-1.4.9.1
# >>   Would you like to package them now ? (inside mynewrepo) [Yes/No] 

Bien sûr que oui ! Vous avez intégrer media-sound/amarok dans la base de données de votre dépôt !

Mise en ligne

Nous devons à présent uploader le paquet binaire en ligne, en utilisant la méthode facile :

## you can add --syncall to sync all the repositories once
# equo community mirrors sync

Voici la sortie que vous devriez avoir :

# >>  @@ Entropy Server Mirrors Interface loaded:
# >>    # mirror: ftp://mynewrepo:[email protected]/
# >>  @@ Entropy Server Interface Instance on repository: mynewrepo (type: community repository)
# >>  @@ Currently configured repositories:
# >>    # __system__
# >>    # mynewrepo
# >>  * Starting to sync data across mirrors (packages/database) ...
# >>  @@ [repo:mynewrepo|sync|branch:3.5] packages sync: sabayonlinux.org
# >>  @@ Local statistics:
# >>  @@ upload directory:                1 files ready
# >>  @@ packages directory:              0 files ready
# >>  @@ Remote statistics for: sabayonlinux.org
# >>  * [ftp:sabayonlinux.org] connecting with user: mynewrepo
# >>  * [ftp:sabayonlinux.org] switching to: /
# >>  * [ftp:sabayonlinux.org] switching to: /
# >>  * [ftp:sabayonlinux.org] switching to: standard/mynewrepo/packages/amd64/
# >>  * [ftp:sabayonlinux.org] switching to: 3.5
# >>  @@ remote packages:                 0 files stored
# >>  @@ Calculating queues ...
# >>  ** Expanding queues:
# >>     # [branch:3.5|upload] media-sound:amarok-1.4.9.1~0.tbz2 [182.9kB]
# >>  @@ Packages to be removed:                  0
# >>  @@ Packages to be moved locally:            0
# >>  @@ Packages to be uploaded:                 1
# >>  @@ Total removal size:                      0.0b
# >>  @@ Total upload size:                       182.9kB
# >>  @@ Total download size:                     0.0b
# Would you like to run the steps above ? [Yes/No] 

Oui, évidemment.

# >>  @@ [sabayonlinux.org|upload] connecting to mirror...
# >>  @@ [sabayonlinux.org|upload] changing directory to standard/mynewrepo/database/amd64/...
# >>  * [ftp:sabayonlinux.org] switching to: standard/mynewrepo/packages/amd64/3.5
# >>  @@ [sabayonlinux.org|#1|(1/2)] uploading: media-sound:amarok-1.4.9.1~0.tbz2.md5
# >>  @@ [sabayonlinux.org|#1|(1/2)] digest verification: media-sound:amarok-1.4.9.1~0.tbz2.md5: not supported
# >>  @@ [sabayonlinux.org|#1|(1/2)] upload successful: media-sound:amarok-1.4.9.1~0.tbz2.md5
# >>  @@ [sabayonlinux.org|#1|(2/2)] uploading: media-sound:amarok-1.4.9.1~0.tbz2
# >>  @@ [sabayonlinux.org|#1|(2/2)] digest verification: media-sound:amarok-1.4.9.1~0.tbz2: not supported
# >>  @@ [sabayonlinux.org|#1|(2/2)] upload successful: media-sound:amarok-1.4.9.1~0.tbz2
# >>  @@ [branch:3.5] upload completed successfully: sabayonlinux.org
# >> Please insert a commit message:  my first commit
# >>  * Remote Entropy Database Repository Status:
# >>       Host:  sabayonlinux.org
# >>        * Database revision: 0
# >>        * Database local revision currently at: 1
# >>  @@ [repo:mynewrepo|sabayonlinux.org] mirror successfully locked for download
# >>  * [repo:mynewrepo|sabayonlinux.org|upload] preparing to upload database to mirror
# >>  * Entropy database is already locked by you :-)
# >>  * Mirrors have not been unlocked. Remember to sync them.
# >>  * Entropy database is already locked by you :-)
# >>  * Mirrors have not been unlocked. Remember to sync them.
# >>  * [repo:mynewrepo|sabayonlinux.org|EAPI:3] preparing uncompressed database for the upload
# >>     # database path: /var/lib/entropy/server/mynewrepo/database/amd64/packages.db
# >>  * [repo:mynewrepo|sabayonlinux.org|EAPI:2] creating compressed database dump + checksum
# >>     # database path: /var/lib/entropy/server/mynewrepo/database/amd64/packages.db
# >>     # dump: /var/lib/entropy/server/mynewrepo/database/amd64/packages.db.dump.bz2
# >>     # dump checksum: /var/lib/entropy/server/mynewrepo/database/amd64/packages.db.dump.bz2.md5
# >>     # opener: bz2.BZ2File
# >>    Database Export completed.
# >>     # database path: /var/lib/entropy/server/mynewrepo/database/amd64/packages.db
# >>     # compressed database path: /var/lib/entropy/server/mynewrepo/database/amd64/packages.db.bz2
# >>     # compressed checksum: /var/lib/entropy/server/mynewrepo/database/amd64/packages.db.md5
# >>     # opener: bz2.BZ2File
# >>  @@ [sabayonlinux.org|upload] connecting to mirror...
# >>  * [ftp:sabayonlinux.org] connecting with user: mynewrepo
# >>  * [ftp:sabayonlinux.org] switching to: /
# >>  * [ftp:sabayonlinux.org] switching to: /
# >>  @@ [sabayonlinux.org|upload] changing directory to standard/mynewrepo/database/amd64/...
# >>  * [ftp:sabayonlinux.org] switching to: standard/mynewrepo/database/amd64/
# >>  @@ [sabayonlinux.org|#1|(1/14)] uploading: make.conf
# >>  @@ [sabayonlinux.org|#1|(1/14)] upload successful: make.conf
# >>  @@ [sabayonlinux.org|#1|(2/14)] uploading: packages.db.bz2
# >>  @@ [sabayonlinux.org|#1|(2/14)] upload successful: packages.db.bz2
# >>  @@ [sabayonlinux.org|#1|(3/14)] uploading: packages.db
# >>  @@ [sabayonlinux.org|#1|(3/14)] upload successful: packages.db
# >>  @@ [sabayonlinux.org|#1|(4/14)] uploading: packages.db.dump.bz2.md5
# >>  @@ [sabayonlinux.org|#1|(4/14)] upload successful: packages.db.dump.bz2.md5
# >>  @@ [sabayonlinux.org|#1|(5/14)] uploading: packages.db.revision
# >>  @@ [sabayonlinux.org|#1|(5/14)] upload successful: packages.db.revision
# >>  @@ [sabayonlinux.org|#1|(6/14)] uploading: packages.rss
# >>  @@ [sabayonlinux.org|#1|(6/14)] upload successful: packages.rss
# >>  @@ [sabayonlinux.org|#1|(7/14)] uploading: updates.rss
# >>  @@ [sabayonlinux.org|#1|(7/14)] upload successful: updates.rss
# >>  @@ [sabayonlinux.org|#1|(8/14)] uploading: packages.db.dump.bz2
# >>  @@ [sabayonlinux.org|#1|(8/14)] upload successful: packages.db.dump.bz2
# >>  @@ [sabayonlinux.org|#1|(9/14)] uploading: package.mask
# >>  @@ [sabayonlinux.org|#1|(9/14)] upload successful: package.mask
# >>  @@ [sabayonlinux.org|#1|(10/14)] uploading: package.keywords
# >>  @@ [sabayonlinux.org|#1|(10/14)] upload successful: package.keywords
# >>  @@ [sabayonlinux.org|#1|(11/14)] uploading: packages.db.md5
# >>  @@ [sabayonlinux.org|#1|(11/14)] upload successful: packages.db.md5
# >>  @@ [sabayonlinux.org|#1|(12/14)] uploading: package.unmask
# >>  @@ [sabayonlinux.org|#1|(12/14)] upload successful: package.unmask
# >>  @@ [sabayonlinux.org|#1|(13/14)] uploading: profile.link
# >>  @@ [sabayonlinux.org|#1|(13/14)] upload successful: profile.link
# >>  @@ [sabayonlinux.org|#1|(14/14)] uploading: package.use
# >>  @@ [sabayonlinux.org|#1|(14/14)] upload successful: package.use
# >>  * [repo:mynewrepo|sabayonlinux.org] mirror successfully unlocked
# >>  * [repo:mynewrepo|sync] database sync completed successfully
# Should I continue with the tidy procedure ? [Yes/No] 
# >>  @@ [repo:mynewrepo|tidy|branches:3.5] collecting expired packages
# >>  @@ [branch:3.5] collecting expired packages in the selected branches
# >>  @@ [branch:3.5] nothing to remove on this branch

Ok !

Ajouter votre dépôt et le faire fonctionner avec Equo/Spritz

Pour l'utiliser avec Entropy, il faut l'ajouter à /etc/entropy/repositories.conf, de cette manière :

# repository|mynewrepo|This is a description placeholder|http://your.repositories.root.directory.url.for.packages1 http://your.repositories.root.directory.url.for.packages2 ...|http://your.repositories.root.directory.url.for.database#<database compression (bz2 usually, optional)

Observez bien la ligne concernant notre dépôt (Jenna)

# repository|jenna|Sabayon Linux Bitch Repository|http://svn.sabayonlinux.org/entropy%7Chttp://svn.sabayonlinux.org/entropy#bz2

Votre Equo/Spritz peut maintenant utiliser le dépôt communautaire !

J'en veux plus !

Il y a plein de choses que vous pouvez faire avec les Dépôts Communautaires, prenez le temps de lire l'aide :

# equo --help