[Brouillon] Calculate : Gérer ses logiciels
Table des matières
http://www.calculate-linux.org/main/en/optimization_of_system
https://wiki.gentoo.org/wiki/Profile
Pour rechercher les versions de logiciel qu'il est possible d'installer on utilise la commande eix:
Et sans la question
Si le logiciel est une dépendance* et qu'on ne souhaite pas qu'il soit noté comme installé manuellement :
*ne figure pas dans /var/lib/portage/world
Via l'application
Sinon, on doit enchainer toutes ces commandes sous Gentoo
En cas d'interruption de mise à jour, d'optimisation, tel emerge -e world ou emerge -quD world il est possible de reprendre le travail là où il s'est arrêté:
Pour installer les dernières versions de logiciels (ou les logiciels non stables) qui sont archtildées (en orange dans la console dont la version est précédée du symbole ~ via la recherche eix), renseigner le fichier /etc/portage/package.keywords/custom
Pour une version spécifique du logiciel :
Pour toutes les versions :
On peut utiliser en ligne de commande :
Masquer un paquet va empêcher son installation.
Tout se passe dans le fichier /etc/portage/package.mask/custom
Pour empêcher l'installation des versions supérieures à 2.2 de Zabbix, j'indique dedans :
Si non veut masquer toute la branche 5.6 de PHP :
system : système de base gentoo
world : logiciels (/var/lib/portage/world)
http://gpo.zugaina.org/Overlays/
Remarque : le paquet doit être installé :
Remarque : le paquet doit être installé :
Ou en précisant la version :
Exemple :
Vous avez un paquet installé, mais non référencé dans le world ? Il ne sera jamais mis à jour, et il se peut que d'autres compilations échouent.
Pour ajouter le paquet, utiliser l'option --noreplace
Beaucoup de paquets sur Calculate Linux sont déjà compilés et distribués sous forme binaire.
La personnalisation d'un "USE" compile automatiquement le paquet sur la machine, mais avec les FLAG par défaut, le binaire est automatiquement téléchargé.
Si on souhaite tout de même compiler manuellement le paquet, procéder comme ceci :
Une fois, j'ai eu ce souci lors de la mise à jour :
Il suffit de regénerer les infos de métadonnées (ici exemple avec sys-apps/busybox) :
Sous Calculate Linux, on travaille avec des modèles. Si on souhaite modifier par exemple le fichier de config de GRUB, ne pas modifier le fichier /etc/default/grub mais créer le fichier modèle ayant le même nom mais finissant par .clt (Exemple : /etc/default/grub.clt On peut copier le grub en grub.clt)
Modifier ensuite ce qu'on veut dans ce fichier .clt puis mettre à jour les fichiers de configuration :
dispatch-conf -f
Ensuite, appeler la commande cl-XX qui utilise ce fichier.
Les différences sont affichées à l'écran et on applique les modifications avec u.
Exemple :
Vérifier que MAKEOPTS = nb de cores + 1
On peut ajouter un FTP autre que celui par défaut (plus proche de chez nous). Exemple sur ma CLD (KDE donc, en 64bits)
Voir les variables d'environnement :
Si on veut limiter la bande passante lors des installations de mises à jour (petites connexions) on peut réécrire la variable dans le make.conf (exemple ici avec une limite à 20ko/s) :
On peut (si on n'est pas en profil binaire) forcer l'installation des paquets en français uniquement:
Pour faire démarrer bumblebee par exemple au démarrage de la machine, saisir:
Pour le retirer du démarrage:
LA commande ci-dessous permet de voir quels services sont actifs au démarrage de la machine (default)
Pour lancer automatiquement des modules au démarrage de la machine, éditer le fichier /etc/conf.d/modules et y ajouter dans la ligne non commentée les modules séparés par un espace:
Exemple avec mon fichier dans lequel j'ai ajouté les 3 modules virtualbox:
En cas de MàJ du noyau: (voir avec XK ?)
Voir son profil (c'est l'étoile qui est notre profil actuel)
Binary = paquets déjà précompilés => Install rapide.
amd64 = paquets sources compilés sur la machine => Install lente.
Définir un profile (ex le n° 15):
- Boite a liens
- Gérer les logiciels
- Avoir des infos sur un paquet installé
- Recherche de logiciels
- Installer un logiciel
- Tester l'installation d'un logiciel (vérifier les dépendances)
- Supprimer un logiciel
- Mettre à jour un logiciel
- Mettre à jour son système
- Reprendre un emerge interrompu
- Installer des applications archtildées
- Masquer un paquet
- Conserver les USEFLAG spécifiques
- Tout recompiler les paquets
- Ajouter un dépot (overlay)
- Avoir connaissance de la signification d'u USEFLAG
- Savoir dans quel paquet se trouve un fichier
- Lister toutes les dépendances d'un paquet
- Enregistrer un paquet dans le world file
- Installer un paquet depuis les sources au lieu du paquet binaire
- Filesize does not match recorded size
- Mettre à jour un fichier de configuration
- Configurer son make.conf dès l'installation
- Régler le timezone et l'horloge
- Services
- Modules
- Profiles
Boite a liens
http://www.calculate-linux.org/main/en/optimization_of_system
https://wiki.gentoo.org/wiki/Profile
Gérer les logiciels
Avoir des infos sur un paquet installé
Code BASH :
eix <nom du paquet>
Recherche de logiciels
Pour rechercher les versions de logiciel qu'il est possible d'installer on utilise la commande eix:
Code BASH :
adrien@calculate ~ $ eix firefox * www-client/firefox Available versions: 10.0.6 10.0.7 10.0.9 10.0.10 10.0.11 (~)17.0.1 {+alsa bindist custom-cflags custom-optimization +dbus debug gstreamer +ipc +jit libnotify +minimal pgo selinux startup-notification system-sqlite +webm wifi LINGUAS="af ak ar as ast be bg bn_BD bn_IN br bs ca cs csb cy da de el en_GB en_ZA eo es_AR es_CL es_ES es_MX et eu fa fi fr fy_NL ga_IE gd gl gu_IN he hi_IN hr hu hy_AM id is it ja kk km kn ko ku lg lt lv mai mk ml mr nb_NO nl nn_NO nso or pa_IN pl pt_BR pt_PT rm ro ru si sk sl son sq sr sv_SE ta ta_LK te th tr uk vi zh_CN zh_TW zu"} Homepage: http://www.mozilla.com/firefox Description: Firefox Web Browser
Installer un logiciel
Code BASH :
emerge -avq logiciel
Et sans la question
Code BASH :
emerge -vq logiciel
Tester l'installation d'un logiciel (vérifier les dépendances)
Code BASH :
emerge -pv logiciel
Supprimer un logiciel
Code BASH :
emerge -C logiciel
Mettre à jour un logiciel
Code BASH :
emerge -u logiciel
Si le logiciel est une dépendance* et qu'on ne souhaite pas qu'il soit noté comme installé manuellement :
Code BASH :
emerge -1u logiciel
*ne figure pas dans /var/lib/portage/world
Mettre à jour son système
Via l'application
Code BASH :
cl-update
Sinon, on doit enchainer toutes ces commandes sous Gentoo
Code BASH :
#Synchronisation de portage et overlays : eix-sync #Facultatif emerge -1qvu sys-apps/portage app-portage/portage-utils #facultatif emerge -1qvu sys-devel/gcc #Facultatif emerge -1qvu dev-lang/python #Facultatif python-updater #MaJ du système emerge -aquvDN --with-bdeps=y world #Que si MAJ de perl perl-cleaner -q --modules #Suppression des paquets orphelins emerge -aqc #Que si kernel installé emerge -q @module-rebuild #Recompilation des dépendances revdep-rebuild -iq #Nettoyage des archives (facultatif) eclean-dist eclean-pkg
Reprendre un emerge interrompu
En cas d'interruption de mise à jour, d'optimisation, tel emerge -e world ou emerge -quD world il est possible de reprendre le travail là où il s'est arrêté:
Code BASH :
emerge -r
Installer des applications archtildées
Pour installer les dernières versions de logiciels (ou les logiciels non stables) qui sont archtildées (en orange dans la console dont la version est précédée du symbole ~ via la recherche eix), renseigner le fichier /etc/portage/package.keywords/custom
Pour une version spécifique du logiciel :
Code :
=www-client/firefox-17.0.1
Pour toutes les versions :
Code :
www-client/firefox
On peut utiliser en ligne de commande :
Code BASH :
echo "net-misc/teamviewer" >> /etc/portage/package.keywords/custom
Masquer un paquet
Masquer un paquet va empêcher son installation.
Tout se passe dans le fichier /etc/portage/package.mask/custom
Pour empêcher l'installation des versions supérieures à 2.2 de Zabbix, j'indique dedans :
Code BASH :
>net-analyzer/zabbix-2.1
Si non veut masquer toute la branche 5.6 de PHP :
Code BASH :
dev-lang/php:5.6
Conserver les USEFLAG spécifiques
Code BASH :
echo "sys-kernel/calculate-sources -minimal" >> /etc/portage/package.use/custom
Tout recompiler les paquets
Code BASH :
emerge -e system && emerge -e world
system : système de base gentoo
world : logiciels (/var/lib/portage/world)
Ajouter un dépot (overlay)
http://gpo.zugaina.org/Overlays/
Code BASH :
layman -a nom-overlay
Avoir connaissance de la signification d'u USEFLAG
Code BASH :
equery u pbzip2 [ Legend : U - final flag setting for installation] [ : I - package is installed with flag ] [ Colors : set, unset ] * Found these USE flags for app-arch/pbzip2-1.1.8: U I - - static : !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically - - symlink : Install symlinks which override app-arch/bzip2 implementation
Savoir dans quel paquet se trouve un fichier
Remarque : le paquet doit être installé :
Code BASH :
equery b $(which gpg2) * Searching for /usr/bin/gpg2 ... app-crypt/gnupg-2.0.25 (/usr/bin/gpg2)
Lister toutes les dépendances d'un paquet
Remarque : le paquet doit être installé :
Code BASH :
equery g clementine
Ou en précisant la version :
Code BASH :
equery g clementine-1.3.1
Exemple :
Code TEXT :
$ equery g clementine-1.3.1 * Searching for clementine1.3.1 ... * dependency graph for media-sound/clementine-1.3.1 `-- media-sound/clementine-1.3.1 amd64 `-- dev-db/sqlite-3.12.0 (dev-db/sqlite) amd64 `-- dev-libs/glib-2.46.2-r3 (>=dev-libs/glib-2.24.1-r1) amd64 `-- dev-libs/libxml2-2.9.4 (dev-libs/libxml2) amd64 `-- dev-libs/protobuf-2.5.0-r2 (dev-libs/protobuf) amd64 `-- dev-libs/qjson-0.8.1-r1 (dev-libs/qjson) amd64 `-- dev-qt/qtcore-4.8.6-r2 (>=dev-qt/qtcore-4.5) amd64 `-- dev-qt/qtgui-4.8.6-r4 (>=dev-qt/qtgui-4.5) amd64 `-- dev-qt/qtopengl-4.8.6-r1 (>=dev-qt/qtopengl-4.5) amd64 `-- dev-qt/qtsql-4.8.6-r1 (>=dev-qt/qtsql-4.5) amd64 `-- media-libs/chromaprint-1.2 (>=media-libs/chromaprint-0.6) amd64 `-- media-libs/gstreamer-1.6.3 (media-libs/gstreamer) amd64 `-- media-libs/gst-plugins-base-1.6.3 (media-libs/gst-plugins-base) amd64 `-- media-libs/libechonest-2.3.1-r1 (media-libs/libechonest) amd64 [qt4] `-- media-libs/libmygpo-qt-1.0.8 (>=media-libs/libmygpo-qt-1.0.8) ~amd64 `-- media-libs/taglib-1.9.1-r2 (>=media-libs/taglib-1.8) amd64 [mp4] `-- sys-libs/zlib-1.2.8-r1 (sys-libs/zlib) amd64 `-- dev-libs/crypto++-5.6.2-r3 (dev-libs/crypto++) amd64 `-- virtual/glu-9.0-r1 (virtual/glu) amd64 `-- virtual/opengl-7.0-r1 (virtual/opengl) amd64 `-- x11-libs/libX11-1.6.3 (x11-libs/libX11) amd64 `-- dev-libs/libcdio-0.92 (dev-libs/libcdio) amd64 `-- dev-qt/qtdbus-4.8.6-r1 (>=dev-qt/qtdbus-4.5) ~amd64 `-- media-libs/libgpod-0.8.3-r1 (>=media-libs/libgpod-0.8.0) amd64 `-- media-libs/liblastfm-1.0.9 (>=media-libs/liblastfm-1) amd64 [qt4(+)] `-- media-libs/libmtp-1.1.11 (>=media-libs/libmtp-1.0.0) amd64 `-- sci-libs/fftw-3.3.4 (sci-libs/fftw) amd64 `-- media-libs/glew-1.10.0-r2 (media-libs/glew) amd64 `-- media-libs/libprojectm-2.1.0-r1 (>=media-libs/libprojectm-1.2.0) amd64 `-- dev-libs/boost-1.56.0-r1 (>=dev-libs/boost-1.39) amd64 `-- virtual/pkgconfig-0-r1 (virtual/pkgconfig) amd64 `-- sys-devel/gettext-0.19.7 (sys-devel/gettext) amd64 `-- dev-qt/qttest-4.8.6-r1 (dev-qt/qttest) amd64 `-- dev-cpp/gmock-1.7.0-r1 (dev-cpp/gmock) amd64 `-- dev-cpp/sparsehash-2.0.2 (dev-cpp/sparsehash) amd64 `-- media-sound/pulseaudio-8.0 (media-sound/pulseaudio) amd64 `-- gnome-base/gsettings-desktop-schemas-3.18.1 (gnome-base/gsettings-desktop-schemas) amd64 `-- sys-devel/make-4.1-r1 (sys-devel/make) amd64 `-- dev-util/cmake-3.4.3 (>=dev-util/cmake-2.8.12) amd64 `-- sys-apps/sed-4.2.1-r1 (>=sys-apps/sed-4) amd64 `-- x11-base/xorg-server-1.17.4 (x11-base/xorg-server) amd64 [xvfb] `-- x11-apps/xhost-1.0.7 (x11-apps/xhost) amd64 `-- sys-fs/udisks-2.1.7 (sys-fs/udisks) amd64 `-- media-plugins/gst-plugins-libmms-1.6.3 (media-plugins/gst-plugins-libmms) amd64 `-- gnome-base/gvfs-1.26.3 (gnome-base/gvfs) amd64 `-- media-plugins/gst-plugins-meta-1.6.3 (media-plugins/gst-plugins-meta) amd64 `-- media-plugins/gst-plugins-soup-1.6.3 (media-plugins/gst-plugins-soup) amd64 `-- media-plugins/gst-plugins-taglib-1.6.3 (media-plugins/gst-plugins-taglib) amd64 [ media-sound/clementine-1.3.1 stats: packages (48), max depth (1) ]
Enregistrer un paquet dans le world file
Vous avez un paquet installé, mais non référencé dans le world ? Il ne sera jamais mis à jour, et il se peut que d'autres compilations échouent.
Pour ajouter le paquet, utiliser l'option --noreplace
Code BASH :
emerge --noreplace app-emulation/virtualbox Local copy of remote index is up-to-date and will be used. Calculating dependencies... done! >>> Recording app-emulation/virtualbox in "world" favorites file... >>> Auto-cleaning packages... >>> No outdated packages were found on your system.
Installer un paquet depuis les sources au lieu du paquet binaire
Beaucoup de paquets sur Calculate Linux sont déjà compilés et distribués sous forme binaire.
La personnalisation d'un "USE" compile automatiquement le paquet sur la machine, mais avec les FLAG par défaut, le binaire est automatiquement téléchargé.
Si on souhaite tout de même compiler manuellement le paquet, procéder comme ceci :
Code BASH :
FEATURES="-getbinpkg" emerge -avq paquet
Filesize does not match recorded size
Une fois, j'ai eu ce souci lors de la mise à jour :
Code BASH :
>>> Verifying ebuild manifests !!! Digest verification failed: !!! /usr/portage/sys-apps/busybox/busybox-9999.ebuild !!! Reason: Filesize does not match recorded size !!! Got: 8493 !!! Expected: 8580
Il suffit de regénerer les infos de métadonnées (ici exemple avec sys-apps/busybox) :
Code BASH :
cd /usr/portage/sys-apps/busybox ebuild --force busybox-9999.ebuild manifest
Mettre à jour un fichier de configuration
Sous Calculate Linux, on travaille avec des modèles. Si on souhaite modifier par exemple le fichier de config de GRUB, ne pas modifier le fichier /etc/default/grub mais créer le fichier modèle ayant le même nom mais finissant par .clt (Exemple : /etc/default/grub.clt On peut copier le grub en grub.clt)
Modifier ensuite ce qu'on veut dans ce fichier .clt puis mettre à jour les fichiers de configuration :
dispatch-conf -f
Ensuite, appeler la commande cl-XX qui utilise ce fichier.
Les différences sont affichées à l'écran et on applique les modifications avec u.
Exemple :
Code BASH :
cl-setup-boot * On configure les paramètres d'amorçage ... * Creating Host-Only initramfs ... * Host-Only initramfs has been created * Configuring the grub --- /etc/default/grub2015-07-25 10:20:11.224213906 +0200 +++ /etc/default/._cfg0000_grub2015-07-25 10:20:32.218213023 +0200 @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------ -# Modified Calculate-core 3.3.2.7 +# Modified Calculate-core 3.3.3.7 # Processed template files: # /var/lib/layman/calculate/profiles/templates/3.3/2_ac_install_merge/sys-boot/grub/default.grub # /var/lib/layman/calculate/profiles/templates/3.3/3_ac_install_live/1-merge/sys-boot/grub/new-3.3.1-splashutils/default.grub.default @@ -70,7 +70,7 @@ #GRUB_DISABLE_RECOVERY=true GRUB_DISABLE_RECOVERY=true GRUB_DEFAULT=saved -GRUB_TIMEOUT=10 +GRUB_TIMEOUT=2 GRUB_GFXMODE="1024x768" GRUB_BACKGROUND="/boot/grub/grub-calculate.png" GRUB_COLOR_NORMAL="white/black" * (1 of 1) -- /etc/default/grub Sélectionnez une action de configuration : (Supprimer le nouveau[z]/Utiliser le nouveau[u]/Suivant[n]): * Installation du chargeur d'amorçage ... [ ok ] * Changement d'ordonnanceur d'E/S ... [ ok ] * Les paramètres d'amorçage ont bien été configurés !
Configurer son make.conf dès l'installation
Vérifier que MAKEOPTS = nb de cores + 1
Code :
MAKEOPTS="-j9"
On peut ajouter un FTP autre que celui par défaut (plus proche de chez nous). Exemple sur ma CLD (KDE donc, en 64bits)
Code :
PORTAGE_BINHOST="ftp://download.asso-linux-online.fr/download/calculate/CLD/grp/x86_64"
Voir les variables d'environnement :
Code BASH :
adrien@oxygen ~ $ portageq envvar FETCHCOMMAND wget -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"
Si on veut limiter la bande passante lors des installations de mises à jour (petites connexions) on peut réécrire la variable dans le make.conf (exemple ici avec une limite à 20ko/s) :
Code BASH :
FETCHCOMMAND="wget --limit-rate=20k -t 3 -T 60 --passive-ftp -O \${DISTDIR}/\${FILE} \${URI}"
On peut (si on n'est pas en profil binaire) forcer l'installation des paquets en français uniquement:
Code :
LINGUAS="fr"
Régler le timezone et l'horloge
Code BASH :
calculate adrien # date dim. janv. 20 16:45:48 UTC 2013 calculate adrien # cp /usr/share/zoneinfo/Europe/Paris /etc/localtime calculate adrien # echo "Europe/Paris" > /etc/timezone calculate adrien # date dim. janv. 20 17:46:46 CET 2013
Services
Pour faire démarrer bumblebee par exemple au démarrage de la machine, saisir:
Code BASH :
rc-update add bumblebee default
Pour le retirer du démarrage:
Code BASH :
rc-update del bumblebee default
LA commande ci-dessous permet de voir quels services sont actifs au démarrage de la machine (default)
Code BASH :
rc-update -v
Modules
Pour lancer automatiquement des modules au démarrage de la machine, éditer le fichier /etc/conf.d/modules et y ajouter dans la ligne non commentée les modules séparés par un espace:
Exemple avec mon fichier dans lequel j'ai ajouté les 3 modules virtualbox:
Code BASH :
modules_3="acpi-cpufreq cpufreq_conservative cpufreq_powersave cpufreq_userspace mperf speedstep-lib vboxdrv vboxnetflt vboxnetadp"
En cas de MàJ du noyau: (voir avec XK ?)
Code BASH :
genkernel --oldconfig all
Profiles
Voir son profil (c'est l'étoile qui est notre profil actuel)
Code BASH :
eselect profile list <sortie ommise> [15] calculate:calculate/desktop/CLD/amd64 * [16] calculate:calculate/desktop/CLD/amd64/binary <sortie ommise>
Binary = paquets déjà précompilés => Install rapide.
amd64 = paquets sources compilés sur la machine => Install lente.
Définir un profile (ex le n° 15):
Code BASH :
eselect profile set 15