Comment installez-vous un logiciel sous Linux ?
J’ai lu beaucoup, beaucoup de « gros » articles cette semaine. En voici un en Anglais : https://statuscode.ch/2016/02/distribution-packages-considered-insecure/
Je ne vais pas y aller par quatre chemins, je trouve l’article pas terrible mais il a le mérite de m’avoir poussé à la réflexion.
J’en appelle à tous les techniciens, expérimentés, anciens qui me lisent, je ne suis pas sûr de savoir installer un logiciel sous Linux. Je m’explique.
J’installe une Debian, je met à jour mes paquets. Je veux installer WordPress ou DokuWiki. Ces paquets sont disponibles dans les dépôts Debian. Je télécharge sur le site de WordPress et DokuWiki ou j’installe à partir des dépôts ?
Pour ma part je les télécharge sur leurs sites respectifs. Il y a 3 grandes manières d’installer un logiciel sous GNU/Linux : Installation à partir des dépôts, installation d’un .deb ou en récupérant une archive sur un site, la compilation. La question est : Quand utiliser chacune d’entre elles ?
Est-ce que les logiciels genre LAMP doivent être récupérés sur leurs sites ? Est-ce qu’il y a des préconisations par rapport aux catégories des logiciels (système, LAMP) ? Des bonnes pratiques ou des documentations/liens à me conseiller ? Que pensez-vous de la compilation (un exemple : Samba 4) ?
Pour ma part je n’ai jamais compilé un programme (sauf pour faire des tests) pour le boulot et la maison. Je trouve que c’est crade. C’est crade parce que le mec qui arrive derrière devra chercher où tu as installé le logiciel, avec quelles options de compilation, flippera pour mettre à jour, n’aura pas un référentiel comme dpkg pour voir les programmes installés. C’est mon avis personnel à l’heure d’aujourd’hui mais j’ai très très peu compilé, je suis ouvert à la critique évidemment.
Merci !
Déjà 23 avis pertinents dans Comment installez-vous un logiciel sous Linux ?
Les commentaires sont fermés.
Un logiciel, tu passes par un dépôt et le .deb uniquement si hors dépôt.
Le .tar.gz par exemple si pas de paquet, et la compilation si tu es un warrior.
Les scripts LAMP, bah si tu veux les exécuter sur ton ordi, tu installes LAMP via dépôt puis bah WordPress c’est un script PHP donc… tu fait du LAMP.
Sous Windows, Ninite.com dès l’installation puis uniquement le site officiel des logiciels.
La compilation est utile lorsque l’on veut avoir la dernière version ou qu’il n’y a pas de paquet dispo pour la distro installée.
Elle ne devrait utilisée qu’à des fins de test et pas dans un environnement de production sauf cas exceptionnel et documenté car ça peut mettre une belle pagaille.
Il me semble que tu passes à côté de la question, WordPress est dans les dépôts Debian donc tu l’installes par les dépôts ou tu vas le télécharger sur le site de WordPress ?
Merci !
Tcho !
Merci c’est très clair. Et concernant DokuWiki ou WordPress par les dépôts ou à partir du site ?
Tcho !
– la version souhaitée (la plupart du temps, les versions dans les repositories sont un peu anciennes)
– ou le besoin d’avoir des mises à jour automatisées (ok c’est chouette d’avoir la version la plus à jour, mais il faut aussi gérer les mises à jour successives, alors qu’en se basant sur celle des packages, c’est normalement géré par un apt-get upgrade)
J’ai longtemps bataillé pour maintenir owncloud à jour, et puis comme c’est devenu une appli critique pour moi, pas question de rater une mise à jour, j’utilise les mécanismes de mise à jour de la distribution (yunohost en l’occurrence)
Non, ça ne l’est pas. Et, en tant que packageur pour Mageia Linux, je peux t’expliquer très précisémment pourquoi ça ne l’est pas : la plupart du temps, un paquet DEB, RPM, AUR ou autre truc exotique, ça n’est qu’un ou un ensemble de scripts qui se contentent de compiler le code source. Voici, par exemple, le RPM de Handbrake que je maintiens pour Mageia. C’est tout. Y’a rien de plus hormis le code source lui-même. Bon , ça a l’air impressionnant parce que c’est pas du bon vieux Bash, mais en vrai, ce que tu vois, ça n’est qu’un ensemble de macros Bash dans le langage RPM.
Bah nan, justement, je dirais plutôt l’inverse : dépôt, compilation et DEB. Bon, le fait est que la plupart du temps, en grosses flemmasses, on se contente de prendre le DEB ou RPM d’une autre distrib’ mais c’est une très mauvaise pratique : il n’est pas rare que la compilation des paquets soit customisée pour une distrib’ donnée et qui introduise des subtiles incompatibilités qui finiront un jour par causer des problèmes mystiques. Le cas tout récent du hack de Mint a révélé ça : certaines màj de sécu sur des paquet Ubuntu n’étaient pas répercutées sur Mint à cause d’incompatibilités. Le cas le plus courant que tu puisses trouver, c’est par exemple essayer d’installer un RPM Fedora sur une Mageia : marche pas parce que les dépendances ont pas forcémment le même nom (vécu). Si tu veux être certain que ça marchera comme c’est censé marché : compilation.
Mais en vrai, chuis d’accord : la plupart du temps, on cherche un paquet d’une distrib assez proche.
Merci pour ton commentaire très intéressant. En fait ce qui est « crade » en tant que sysadmin c’est que si ce n’est pas fait correctement (documenté notamment) alors c’est franchement le bordel après.
J’espère que Cep, Denis et Cabernet viendront commenter, je vois que les points de vue sont différents.
Tcho !
C’est ce que je fais aussi en ce qui me concerne.
Tcho !
Je n’utilise la compilation que lorsque j’y suis contraint. En revanche, il m’arrive d’installer des scripts PHP sans passer par les dépôts.
Ce que le p’tit suisse met en avant dans son article, c’est la lenteur de certaines distributions à intégrer les correctifs et autres mises à jour. C’est vrai pour Debian. C’est vrai pour CentOS/Red Hat. En bref, il faut arbitrer entre confort-vitesse-coût et sécurité. En environnement professionnel, nous sommes très souvent contraints à choisir la vitesse ! Et puis, il y a Gentoo pour les puristes, n’est-ce pas ? ;+)
En ce qui me concerne, je reste sur les dépots officiels pour tout, sauf pour les applications web (ou des petites app), où je préfère récupérer les « sources » directement depuis les dépôts officiels. Je trouve ca propre, et maintenable, dans le sens ou toute la partie système est gérée par ton package manager. Dans ma tete, je vois plusieurs choses:
* Sysadmin scope:
– Depot: Toute la base de mon systeme, la stack LAMP ( disons 98% sinon 100%).
– Depot Upstream: Quand l’editeur propose une version plus recente que celle des depots, genre Varnish, Puppet, php (DotDeb), etc …
* Client scope/Applications métier:
– VirtualEnv (VirtualEnv, RVM, NPM …): Si je veux me faire un truc propre avec des programmes non system packaged. Mais bon, des fois, faut quand meme installer un compilateur… Alors pour la prod, je fais quand meme, mais j’aime pas trop trop …
– Docker: Bah ca marche pas mal pour les application web quand meme, quitte a foutre un bout de php-fpm/uwsgi dedans
– Sources: Tout ce qui est script PHP sans trop de dépendances … En general, ca finit soit dans /var/www,
– Sources (compilation): J’évite comme la peste, par convention et probablement par méconnaissance (et pi pas de compilo sur la prod, didiouuu! )
Ce qu’il faut voir, c’est que je sécurise mon systeme avec les packets officiels. Si le reste est troué, je m’en br*.*le, c’est la faute du client, et ma config qui va servir les apps pétées sont sécurisé et a jour :p C’est ma maniere de balancer admin/securité et client/prod merdique. Ca marche pas mal au final
Voila, par contre, je comprends que ca soit pas terrible d’avoir des packets troués dans les dépots, on peut pas deviner a l’avance lesquels on doit utiliser/ou pas. Pour moi, les applications web n’ont pas lieux d’être dans des repos, vu la rapidité d’évolution de ces derniers. Et puis, en ce qui me concerne, j’ai jamais vu un client utiliser le wordpress/drupal/whetever de sa distrib pour son site (et pourtant, j’en ai vu passer des clients dégueu :p ). Après, si ca aide Kevin a se monter un blog facilement, pourquoi pas, mais alors Kevin ne commence pas sa vie d’informaticien sur les bonnes pratiques :p
++
Tcho !
Pour moi l’ordre c’est: dépôts officiels, autres dépôts, .deb et compilation.
À noter que je n’ai rien contre la compilation, je fais ça toute la journée et j’adore ça! Mais je ne vais pas jeter la pierre à une personne qui me dit que c’est pas super simple d’utilisation, car c’est vrai, c’est pas simple.
Pour ma part je passe toujours par les paquets. Compilation très rare et uniquement pour des tests.
Pour les applis web en revanche je passe uniquement par le site officiel:
1) Les dépots contiennent généralement des versions antiques de ces applis
2) Je ne vois pas trop l’intéret de passer par les dépots. De plus une fois l’installation terminée tu as parfois du mal à retrouver tes petits (éclatement des fichiers dans différents répertoires…)
3) Comme cela été dit beaucoup d’appli web ont un gestionnaire de mise à jour automatique
Voilà je n’ai pas apporté grand chose de nouveau, mais si j’ai bien compris il s’agissait avant tout d’un sondage…
Merci de ton message, oui c’est une sorte de sondage et pour être sûr que je faisais comme la majorité des gens.
Tcho !