Toggle theme
Icaunux
User Tools
Toggle theme
Log In
Site Tools
Search
Tools
Show page
Old revisions
Backlinks
Recent Changes
Media Manager
Sitemap
Log In
>
Recent Changes
Media Manager
Sitemap
Trace:
installer_un_programme_en_ligne_de_commandes
====== Installer des programmes en ligne de commande ====== A l'heure où les systèmes linux, Ubuntu en particulier fonctionnent en mode graphique avec un installeur logiciel lui même en mode graphique, cet article peut sembler désuet, mais il ne l'est pas ! ===== La syntaxe ===== ==== bash ==== On ne rappellera pas les détails ici d'un sujet très vaste. Le mieux reste de lire le manuel. On peut le télécharger sous plusieurs formes. http://www.gnu.org/prep/standards/ [[http://www.gnu.org/prep/standards/standards.html|standards_page html]] ===== Intérêt ===== ==== Connaître son système ==== Ceci est d'un intérêt majeur pour qui veut apprendre et progresser. ==== Profiter d'une grande variété de programmes ==== Il est fréquent que des petits programmes bien conçus ne soient pas intégrés dans les dépôts (base des logiciels) de la distribution, ou que leur manuel soit incomplet, et que nous ne sachions pas les lancer. D'autres utilitaires n'ont pas d'interface graphique, et connaître la console est utile. Les télécharger depuis un site de confiance tel que framasoft ou sourceforge est possible. Il convient dans la plupart des cas de les décompresser dans le répertoire utilisateur (home), puis de renommer leur répertoire en le faisant précéder d'un point afin qu'ils soient cachés. Voir la suite au paragraphe "compiler un programme". ===== Structure et cohérence de cet article ===== Cet article traite de thèmes différents, mais centrés autour de fonctionnalités d'utilisation ou d'installation avancées des programmes, qui font appel au terminal (dit aussi console): * L'utilisation d'un installeur de programmes en ligne de commande : apt-get, * L'utilisation de scripts, * La création de raccourcis vers les programmes, * Des exemples de commandes... <note tuyau> Installer des programmes en ligne de commande s'effectue avec apt-get décrit plus bas.</note> <note> La compilation est un mode d'installation avancé qui se pratique de moins en moins. Il sera néanmoins évoqué rapidement.</note> <note> Utiliser la ligne de commande pour lancer des programmes, créer des lanceurs de programme, configurer des scripts est un autre usage.</note> ====== Apt-get ====== Une méthode rapide et fiable d'installer des programmes réside dans apt-get qui s'utilise en mode console. ===== Installer et désinstaller ===== sudo apt-get install <nom_du_programme> Pour désinstaller sudo apt-get remove <nom_du_programme> ===== Option Oui par défaut ===== Il sera inutile d'entrer manuellement votre souhait d'installer le paquet. sudo apt-get install -y <paquet(s)> ===== Forcer la version ===== sudo apt-get install <paquet>=<version> -V Utile si plusieurs versions sont présentes. Par exemple avec wine. En 2011-2012, la version présente nativement dans les dépôts est la 1.2. L'ajout du ppa de wine donne accès à la version de développement (la 1.3). Lancer sudo apt-get-install wine installera la version la plus récente (y compris si c'est une version de développement dite beta). ===== Installer plusieurs paquets ===== Il s'agira simplement de laisser un espace entre chaque paquet. ===== Concaténer des commandes avec && ===== Ajouter entre chaque instruction &&. Exemple: sudo apt-get update && sudo apt-get upgrade L'intérêt de la commande && réside dans le fait qu'il faut que la première soit exécutée pour que la seconde se lance.Quel intérêt d'installer des mises à jour si les dépôts ne sont pas à jour ?! [[http://publib.boulder.ibm.com/infocenter/zos/v1r12/topic/com.ibm.zos.r12.bpxa400/bpxza4b0113.htm|commandes_&&_et_||]] [[http://www.1a-centosserver.com/centos_command_line_operation/Centos_Linux_using_and_and_symbol.php|1a-centosserver_Using "&&" symbol]] ==== Entrer le mot de passe une seule fois ==== Par défaut, Ubuntu garde en mémoire votre mot de passe envirion 15 minutes. Si les mises à jour des dépôts sont longues, car vous avez une connexion lente, ou un système non mis à jour depuis longtemps, il vous sera demandé votre mot de passe plusieurs fois. Afin d'éviter cela entrez: sudo (apt-get update && apt-get dist-upgrade && apt-get autoremove && apt-get autoclean) [[http://stackoverflow.com/questions/3316677/apt-get-update-dist-upgrade-autoremove-autoclean-in-a-single-sudo-command|apt-get-update-dist-upgrade-autoremove-autoclean-in-a-single-sudo-command]] ===== Autoremove ===== L'**option autoremove** permet de désinstaller les paquets indiqués avec leurs dépendances logicielles. sudo apt-get autoremove <paquets(s)> ===== Purge ===== L'action **purge**, passée à la commande apt-get, supprime les paquets indiqués et leurs fichiers de configuration. Les fichiers de préférences et les logs ne sont pas supprimés. sudo apt-get purge <paquets(s)> L'option –purge, passée à la commande autoremove, supprime les paquets indiqués, les dépendances logicielles et leurs fichiers de configuration. Les fichiers de préférences, et les logs ne sont pas supprimés. sudo apt-get autoremove --purge <paquets(s)> ===== Simuler l'installation ===== Ceci afin de vérifier les dépendances. La simulation ne modifiant pas le système ne requiert pas d'être administrateur, et on passera la commande indifféremment avec sudo devant (si absent, un avertissement concernant la fiabilité des informations fournies apparaît; c'est sans conséquences) apt-get install -s <paquets(s)> Voici l'avertissement: <file> NOTE: Ceci n'est qu'une simulation ! apt-get a besoin des privilèges du superutilisateur pour pouvoir vraiment fonctionner. Veuillez aussi noter que le verrouillage est désactivé, et la situation n'est donc pas forcément représentative de la réalité ! </file> D'autres infos se trouvent là: [[http://doc.ubuntu-fr.org/apt-get#suppression_de_paquets|apt-get_aide]] et là: [[http://www.commentcamarche.net/contents/tutlinux/linrpm.php3|commentcamarche_Linux-L'installation de logiciels]] [[https://help.ubuntu.com/community/AptGet/Howto]] ====== Les scripts ====== Un script est un programme en langage interprété.Le langage de script est généralement exécuté à partir de fichiers contenant le code source du programme qui sera interprété. Dans le sens le plus traditionnel, qui est celui des shell scripts, un script sert principalement à lancer et coordonner l'exécution de programmes. Là aussi, il faut avoir un minimum de notions sur le fonctionnement du système, de la console, du compte administrateur, et utiliser la ligne de commande. ===== Exécuter un script ===== Il y a plusieurs manières de faire selon la façon dont ils sont écrits. On lance le scrit hello (par exemple) directement avec sh ou bash (sous Linux sh est en général un lien vers bash) sh hello.sh Si, sur la première ligne du script, le chemin vers l'interpréteur de commandes est indiqué, et que ce script est renseigné comme exécutable, il se lancera seul. ===== Le chemin absolu ===== Quel que soit l'emplacement où vous vous trouvez, et si le répertoire mes_scripts est bien présent dans votre répertoire utilisateur, pour lancer le script "script" tapez /home/<votre_identifiant>/mes_scripts/script.sh <note tuyau> Vous pouvez d'abord repérer le répertoire qui contient votre programme depuis Nautilus. Tapez "CTRL + L" affichera le chemin dans la barre de titre; copiez et collez ce dernier dans le terminal. </note> ===== Le chemin relatif ===== Dans ce cas, il faut aller dans le répertoire qui contient l'exécutable cd /home/<votre_identifiant>/mes_scripts/ Pour exécuter le script, tapez ./script.sh ===== Exemple = thinkfan ===== [[http://www.thinkwiki.org/wiki/How_to_control_fan_speed|ThinkPad_Fan_Control]] Plusieurs thinkpads sont affectés d'un bug, leurs ventilateurs tournent sans arrêt, même lorsque cela n'est pas nécessaire. Thinkfan disponible sous linux seulement, permet de ralentir les ventilateurs des thinkpad en fonction de la température des composants.Il est présent dans les dépôts, mais ensuite il est difficile voire impossible de le lancer. Une solution: le télécharger [[http://stanko.mfhinc.net/projects/tpfc/tpfc0.5.tar.gz|tpfc0.5.tar.gz]] ====== Installation avec compilation ====== ===== Décompresser et extraire l'archive ===== Les programmes sont la plupart du temps fournis compressés, c'est-à-dire sous un format plus compact permettant de réduire la taille du programme.Notamment pour faciliter son téléchargement, c'est le programme GZIP qui permet ce compactage. Plusieurs fichiers peuvent aussi être simplement regroupés en une seule archive pour faciliter leur transport, c'est le rôle du programme TAR. Enfin, les fichiers peuvent être compressés et regroupés en une archive portant l'extension .tar.gz. <note> Cette opération s'effectue facilement en mode graphique, sauf pour certains programmes (cf tarsnap ci-dessous).</note> Il est facile depuis Ubuntu en une opération de télécharger le programme puis de l'ouvrir et ensuite de l' extraire par un clic droit. L'installation en mode graphique est parfois possible avec gedebi, sinon, il faut compiler. ===== Compiler le programme ===== Lorsque le programme est une archive (et non un RPM ou un deb) il est généralement nécessaire de compiler les sources. <note bloquante> Ne pas utiliser file roller l'interface graphique d'Ubuntu, et lui préférer la commande tar ! </note> Habituellement on clique droit sur une archive et on demande extraire. Il se trouve que certains programmes sources (archives) n'aiment pas cela ! Exemple avec tarsnap qui ne créera pas le fichier configure. File roller est dans ce cas incapable de décompresser proprement l'archive et en rend l'utilisation impossible ! tar -vxf <nom_de_l'archive>.tar tar -vxf <nom_de_l'archive>.tgz dans le cas de tarsnap Options v = verbeux, x : extrait l'archive f : utilise le fichier donné en paramètre ===== Le fichier readme.txt===== Bien que la compilation se fasse pratiquement toujours de la même façon pour la majorité des applications, il est vivement conseillé de lire le fichier INSTALL ou README pour connaître exactement les commandes nécessaires à la compilation du programme. Le concepteur du programme place ce fichier dans le répertoire principal de son archive. ===== Prérequis ===== <note importante> L'installation de programmes est du ressort de l' administrateur, vous devez être root pour avoir les droits en écriture dans les répertoires système ! </note> La commande ./configure ne le requiert en principe pas mais les autres, make, install... oui ! ====== Compilation et installation ====== ===== ./configure ===== Dans un premier temps il faut exécuter la commande : ./configure Cette commande est un script permettant d'adapter le programme à la machine courante. Les options de configure sont : ./configure --help ( pour obtenir de l'aide) ./configure --prefix="repertoire" pour installer l'application dans un répertoire spécifique. Dans un second temps il faut compiler le programme, grâce à la directive ===== Make ===== <note tuyau> Il est possible de lancer la commande "sudo make all install clean" qui effectuera en plus le nettoyage des sources </note> Lors de la décompression du programme, il arrive qu'il faille le compiler. Se placer dans le répertoire, en console puis <file>sudo make</file>. Le sudo n'est pas obligatoire...Mais recommandé si l'on lance plusieurs commandes comme ci dessus. Il est fréquent que des fichiers soient décompressés, et que des répertoires système soient impactés par cette opération, ou par la suivante, l'installation. Ensuite seulement le programme sera utilisable, avec par exemple la commande sh détaillée ci-dessus. make Cette commande peut prendre plusieurs minutes/heures selon votre configuration et le logiciel à compiler. <note>En cas de probleme, la compilation s'arrêtera en vous renvoyant un message d'erreur.</note> Si tout se passe normalement de nombreuses lignes vont être affichées, puis le programme reviendra à la ligne de commande. Après avoir compilé l'application, il est possible de l'installer. ===== Make install ===== L'installation de l'application doit s'effectuer en tant que superutilisateur (root). Pour installer l'application, la syntaxe suivante est généralement utilisée : make install Si vous n'êtes pas root (il n'y a pas #, et vous n' avez pas entré sudo -s par exemple, tapez: sudo make install Entrez le mot de passe admin. En cas d'échec lors de la compilation, il faut **nettoyer les fichiers makefile** ayant été créés automatiquement lors de la compilation avant de recommencer une nouvelle compilation. Cela se fait grâce à la commande : make clean Une fois toutes ces étapes franchies, votre programme devrait être exécutable et se trouver soit dans le répertoire spécifié lors de l'installation, ou bien généralement dans /usr/local/nom_du_programme. [[http://www.commentcamarche.net/contents/tutlinux/linrpm.php3|ccm_L'installation_de_logiciels]] ====== Lancer un programme ====== ===== Ajouter un programme au menu ===== Tous les programmes n'ont pas une interface graphique. De plus certains ont une interface graphique, mais ne sont pas présents dans le menu applications. Il existe des manipulations simples pour les y ajouter. ==== Les bases ==== [[http://doc.ubuntu-fr.org/alacarte?s[]=%C3%A9diter&s[]=menus#creation_d_un_lanceur|creation_d_un_lanceur]] [[http://doc.ubuntu-fr.org/raccourci-lanceur#exemples_de_configuration_de_lanceurs|configuration_de_lanceurs]] Il est possible d'ajouter des entrées dans les menus Applications et Système visibles par défaut à gauche sur le tableau de bord du haut. <note importante>Seule la méthode en ligne de commande permet de faire un raccourci accessible à tous les utilisateurs d'un même ordinateur.</note> <note> Si vous utilisez Unity, c'est [[http://doc.ubuntu-fr.org/unity_launcher|là]]</note> ==== Créer un lanceur de script ==== Si vous souhaitez créer un lanceur qui appelle un script bash, il s'agira généralement d'indiquer la commande suivante : sh -c /chemin/du/script.sh Par exemple, si vous désirez créer un lanceur pour script test.sh se trouvant dans un dossier Script de votre Dossier Personnel vous indiquerez sh -c /home/<votre_nom_de_login>/Scripts/test.sh Si malgré les bons droits attribués à votre script, celui-ci ne semble pas s' exécuter depuis le lanceur, vérifiez d'avoir bien choisi le Type. ====== Scripts et PATH ====== [[http://doc.ubuntu-fr.org/tutoriel/script_shell#executer_un_script_-_modifier_le_path|executer_un_script_-_modifier_le_path]] Il peut être intéressant d'ajouter un répertoire au "PATH" pour pouvoir exécuter ses scripts sans avoir à se placer dans le bon dossier. Si vous tapez une commande ("ls" par exemple), le shell regarde dans le PATH qui lui indique où chercher le code de la commande. Pour voir à quoi ressemble votre PATH, tapez dans votre console: echo $PATH Exemple un /usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games Exemple deux /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games C'est à dire que le shell va aller voir si la définition de la commande tapée ("ls" pour continuer sur le même exemple) se trouve dans /usr/local/bin puis dans /usr/bin… jusqu'à ce qu'il la trouve. Ajouter un répertoire au PATH peut donc être très pratique. ===== Prérequis ===== Vous avez créé un dossier contenant vos scripts bash utilisés en console : /home/user/scripts_console. Vous souhaitez les utiliser en tapant leur nom (sans le "./") depuis n'importe quel répertoire. Il suffit d'indiquer au shell de chercher dans /home/user/scripts_console en l'ajoutant au PATH. =====Méthode===== export PATH=$PATH:/home/user/scripts_console La commande <file>echo $PATH</file> retourne maintenant /usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/home/user/scripts_console Le script "monScript" situé dans "/home/user/scripts_console" est appelé en tapant : monScript ==== Rendre la modification permanente ==== Ajouter la commande dans le fichier texte caché .bashrc se trouvant dans votre dossier personnel ainsi que dans le dossier /root. ====== Exemples de commandes ====== ===== Ne pas omettre "sh" ===== <file>r51@r51-v-laptop:~/Bureau/thinkpad-acpi$ sudo tpfc_start.sh sudo: tpfc_start.sh: command not found </file> Cette commande ne peut fonctionner car bien qu'ayant pris les droits admin, la commande <file>tpfc_start.sh</file> n'est pas précédée de **sh** <note>Le fichier tpfc_start.sh n'est pas précédé d'un point, il est donc impossible de l' exécuter en lui adjoignant ce point qui n'existe pas dans son nom. </note> <file>r51@r51-v-laptop:~/Bureau/thinkpad-acpi$ sudo sh .tpfc_start.sh sh: Can't open .tpfc_start.sh </file> ===== Sudo est-il nécessaire ?===== <file>r51@r51-v-laptop:~/Bureau/thinkpad-acpi$ sh .tpfc_start.sh sh: Can't open .tpfc_start.sh </file> Oui, la bonne syntaxe est: <file>r51@r51-v-laptop:~/Bureau/thinkpad-acpi$ sudo sh tpfc_start.sh </file> ====== sudo gedit ====== ===== Modifier un fichier système ===== En ce qui concerne l' exemple ci-dessus, dans le fichier readme.txt, on lit: <nowiki> For example, in Debian Lenny (and Ubuntu 8.04), you must add the following to "/etc/modprobe.d/options" </nowiki> options thinkpad_acpi fan_control=1 <file>In Ubuntu 9.10 you need to add this line to file "/etc/modprobe.d/alsa-base.conf" Having done so, reboot. Now you'll be able to use this program easily.</file> Il est possible de lancer un éditeur de texte en mode console pour ajouter ces lignes dans ce fichier, mais il apparaît plus simple d'utiliser un éditeur de texte en mode graphique. sudo gedit /etc/modprobe.d/alsa-base.conf Le fichier en question s'ouvre, vous le modifiez puis l'enregistrez, et le fermez. ====== Annexes ====== ===== Devenir root ===== ==== su root ? ==== Soyons clair, les façons de devenir root sont compétement différentes sous Ubuntu et sous d'autres systèmes linux, tel que Mandriva ! Sous Ubuntu la commande su root est inefficace quoi que l'on tente. Sous mandriva, elle est fonctionnelle ! <file>r51@r51-v-laptop:~/Bureau/thinkpad-acpi$ su root Mot de passe : su : Échec d'authentification </file> ===== Ubuntu en console mode admin ===== Commandes possibles: sudo bash sudo -s sudo -i ==== sudo -i ==== Cette commande vous place immédiatement dans le répertoire desktop de root "avec les droits root". ==== sudo -s ==== Cette commande vous donne les droits admin, mais vous restez dans le répertoire de l' utilisateur courant. ==== En savoir plus ==== [[http://linux.die.net/man/8/sudo]] [[http://askubuntu.com/questions/70534/difference-between-su-sudo-s-sudo-i]] sudo lets you run commands in your own user account with root privileges. su lets you switch user so that you're actually logged in as root. sudo -s runs a shell with root privileges. sudo -i also acquires the root user's environment. To see the difference between su and sudo -s, do cd ~ and then pwd after each of them. In the first case, you'll be in root's home directory, because you're root. In the second case, you'll be in your own home directory, because you're yourself with root privileges. There's more discussion of this exact question here: [[http://ubuntuforums.org/showpost.php?p=6188826&postcount=4|Difference between sudo su and sudo -s]] ===== Les programmes en mode console ===== Il arrive que l'on soit obligé de lancer une commande dans la console. Il faudra auparavant se déplacer dans le répertoire du programme avec la commande cd. Une fois dans le répertoire, dans notre exemple thinkpad-acpi enregistré sur le bureau, il faut lancer la commande en mode administrateur. # on est dans le répertoire root $ on est dans le répertoire utilisateur courant sans droit admin. ===== Fichiers cachés ===== Les fichiers préférences systèmes et ceux de logiciels dans le home sont précédés d'un point, ce qui les cache à notre vue. Pour les afficher, édition, montrer les fichiers cachés. <note tuyau> Plus simple: "CTRL h" fait apparaaître ces fichiers. </note> {{tag>linux averti Installer_un_programme_en_ligne_de_commande}}
installer_un_programme_en_ligne_de_commandes.txt
· Last modified: 2023/05/19 09:10 by
127.0.0.1
Page Tools
Show page
Old revisions
Backlinks
Back to top