[Brouillon] Calculate : Gérer ses logiciels

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 "non supportées" (~1.0.0)



Pour installer les dernières versions de logiciels ou les logiciels non supportés mais présents dans l'arbre des logiciels (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


Pour désactiver toutes les langues de Chromium par exemple, sauf le français :
Code BASH :
 echo "www-client/chromium -l10n_* l10n_fr" >> /etc/portage/package.use/custom


Gérer les USE de manière globale



Pour gérer les USE sur tous les paquets du système, soit on édite dans le make.conf la ligne USE, soit on utilise la commande euse :

Pour ajouter le flag vlc :
Code BASH :
euse -E vlc

Code TEXT :
Adding flag "vlc" to make.conf


Pour désactiver le flag vlc (-vlc) :
Code BASH :
euse -D vlc

Code TEXT :
Adding flag "-vlc" to make.conf


Pour désactiver toute référence au flag concerné :
Code BASH :
euse -D vlc

Code TEXT :
Adding flag "-vlc" to make.conf




Lister les paquets installés



Tous les paquets (i majuscule)
Code BASH :
eix -cI 


Suivant un motif (contenant cal):
Code BASH :
eix -cI cal



Et depuis un overlay spécifique :
Code BASH :
eix -cI --installed-in-overlay overlay



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. Ou bien vous voulez conserver en "dur" un noyau qui fonctionne bien ?
Il faut pour cela utiliser l'option --noreplace

Code BASH :
emerge --noreplace paquet


Ca fonctionne aussi avec un SLOT :

Code BASH :
emerge --noreplace sys-kernel/calculate-sources:4.4.33
Calculating dependencies... done!
>>> Recording sys-kernel/calculate-sources:4.4.33 in "world" favorites file...
>>> Jobs: 0 of 0 complete                           Load avg: 4.19, 5.20, 3.60
>>> Auto-cleaning packages...
 


Ou bien une version précise :

Code BASH :
emerge --noreplace =sys-kernel/calculate-sources-4.4.33



Supprimer un paquet dans le world file



A contrario, vous avez un paquet marqué manuellement dans le world et vous voulez le supprimer pour une raison ou pour une autre, il suffit d'utiliser l'option --deselect :

Code BASH :
emerge --deselect lepaquet


Cette action ne désinstalle pas le paquet.

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"

ou maintenant
Code :
L10N="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


La pratique en vidéo



N'hésitez pas à sélectionner la qualité HD en 720p ou 1080p !

Cette page a été vue 20762 fois