Fr:Entropy
Contents |
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
- equo search <package name>
Installation de paquets
- equo install <package> --ask
Suppression de paquets
- equo remove <package>
world Update
- equo world --ask
Qu'est-ce que Spritz
Spritz est le GUI (Interface Graphique Utilisateur) d'Equo.
Section Update (Mise à jour)
Mises à jour
Bouton "Mises à jour", liste les mises à jour disponibles pour votre système.
Disponible
Liste tous les paquets disponibles.
Installés
Liste tous les paquets installés sur votre système.
Informations sur le paquet
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
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:password@sabayonlinux.org/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:xxxxxxxx@sabayonlinux.org/ # >> @@ 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:xxxxxxxx@community.sabayonlinux.org/ # >> @@ 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:xxxxxxxx@sabayonlinux.org/ # >> @@ 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


