Questions générales sur Manjaro Linux.
S'il vous plaît, avant de poster, essayez la fonction de recherche du forum.
Répondre

Comment rechercher si un paquet existe ?

#1Messageil y a 10 ans

Bonjour tout le monde,

Encore une question de débutant (qui n'est pas une critique de Manjaro ou d'ArchLinux) :

Avec Debian, Mint ou Ubuntu, le gestionnaire de paquets Synaptic permet de rechercher des paquets en utilisant des wild cards "*" et "?" dans le champ de saisie du nom de paquet à rechercher.

Avec CentOS, Fedora et Red Hat, le gestionnaire de paquet "yum" propose quelque chose d'assez similaire avec l'option "search".

J'ai essayé rapidement pacman (après avoir lu la page man pacman) et aussi son utilitaire GUI mais il ne me semble pas qu'ils proposent une telle possibilité (ou alors je ne l'ai pas vu).

Ma question est donc : comment rechercher un paquet dont "je suppose le nom" mais dont je ne suis pas certain qu'il soit le même avec Manjora ?

Exemple - pour mon script, je recherche les équivalents de tous les paquets qui sous Debian, Ubuntu and Co, ont les noms suivants :

libtokyocabinet-8
libtokyocabinet-dev
libsqlite3
libsqlite3-dev
libtidy-0.99.0
libtidy-dev
libmemcached-tools
libmemcached-dev
libev-dev
libev-libevent-dev
libcairo2
libcairo2-dev
gettext
libgettextpo0
libunistring0
mysql-client
libmysqlclient-dev
openssl
libssl-dev
lua5.1
liblua5.1.0-dev
g++
gobjc
gobjc++
gnustep
gnustep-make
gnustep-common
gnustep-devel
openjdk-7-jdk
php5-cli
python-dev
ruby
ruby-dev
scala

Comment faire ?

Merci d'avance de vos précieux conseils.

Cordialement.

A +.
Edité pour marquer Résolu
Dernière modification par Fnuxil y a 10 ans, modifié au total 1 fois.

Comment rechercher si un paquet existe ?

#2Messageil y a 10 ans

plutôt qu'un long discours, je te renvoies vers le wiki; les wildcards sont supportés...
dans l'éventualité où certains paquets ne seraient pas dans les dépôts, je te conseille de chercher avec Yaourt, en mode interractif, pour voir aussi ce qu'il y a dans AUR.
pour les options plus avancées, le man de pacman est aussi très utile.

Comment rechercher si un paquet existe ?

#3Messageil y a 10 ans

:bjr:
tu aux aussi utiliser octopi (gestionnaire de paquets avec une interface graphique) qui utilise pacman...

Comment rechercher si un paquet existe ?

#4Messageil y a 10 ans

exact, par contre, il vaut mieux utiliser la version git d'Octopi, qui supporte AUR.
le dépot git fournit son propre pkgbuild, donc on peut construire un paquet:

mkdir ~/octopi
cd ~/octopi
git clone https://github.com/aarnt/octopi.git
cd ./octopi
makepkg
sudo pacman -U <nom du paquet obtenu>

Octopi a aussi un notifieur de mise à jour, mais il faut le laisser ouvert pour que ça fonctionne (réduire la fenêtre avec l'icone du systray).

Comment rechercher si un paquet existe ?

#5Messageil y a 10 ans

Personne ne parle de yaourt ?

Comment rechercher si un paquet existe ?

#6Messageil y a 10 ans

Si Loubrix en parle dans sa première réponse.
Ensuite il donne un tuto pour installer Octopi qui apporte une interface graphique.

J'aime bien Octopi car on peut aussi faire une recherche sur la description du paquet
J'ajoute qu'il y a aussi le site web AUR : https://aur.archlinux.org/
Utile pour voir les commentaires et les dates de mise à jour.

Comment rechercher si un paquet existe ?

#7Messageil y a 10 ans

Bonjour à tous,

Et surtout merci pour toutes ces précisions.

A propos de yaourt, je suis plutôt dans la potage (humour). :gsourire:

En effet, j'ai une question qui me turlupine depuis quelques temps, et cela ne concerne pas que Manjaro mais bien toutes les distros :

Pourquoi les créateurs de ces différentes distros s'évertuent à nommer les paquets si différemment ? :saispas:

Exemple:

Sous Debian, LinuxMint ou Ubuntu, le compilateur C++s'appelle : g++,
Sous CentOS, Fedora ou Red Hat, le "même" compilateur s'appelle : gcc-c++
Sous ArchLinux, Bridge et Manjaro, le "même" compilateur s'appelle : gcc (qui inclut gcc et c++)

ou encore :

Sous Debian, LinuxMint et Ubuntu, un environnement de développement Java s'appelle : Openjdk-7-jdk
Sous CentOS, Fedora ou Red Hat, le "même" environnement s'appelle : java-1.7.0-openjdk + java-1.7.0-openjdk-devel
Sous ArchLinux, Bridge et Manjaro, le "même" environnement s'appelle : jdk7-openjdk

Est-ce qu'un jour il sera possible d'avoir les mêmes noms de paquets pour les mêmes outils sur toutes les distros ou est-ce un rêve ? :tetu!

En attendant, ça me casse bien les pieds pour mon script car je dois tout vérifier pour chaque distro. :café:

Merci encore de vos précieuses infos.

PS: Je découvre Bridge en même temps que Manjaro, mais l'accueil sur le forum de Bridge est pour le moins... austère !

Comment rechercher si un paquet existe ?

#8Messageil y a 10 ans

Fnux a écrit :Est-ce qu'un jour il sera possible d'avoir les mêmes noms de paquets pour les mêmes outils sur toutes les distros ou est-ce un rêve ? :tetu!

:bjr:

Non c'est vraiment un rêve.

Comment rechercher si un paquet existe ?

#9Messageil y a 10 ans

C'est peut-être une idée pour une futur application de migration inter-distro, nah ? :saispas:

Comment rechercher si un paquet existe ?

#10Messageil y a 10 ans

En attendant, ça me casse bien les pieds pour mon script car je dois tout vérifier pour chaque distro.

alors tu ne fais pas encore partie des vrais barbus, qui cherchent à automatiser les taches fastidieuses... :rigole:
je ne sais pas ce que tu utilises comme éditeur pour faire tes scripts, mais dans la plupart, il y a une fonction "rechercher et remplacer": tu donnes une chaine à rechercher et tu lui donnes la chaine à mettre à la place, et après c'est tout automatique....
et sinon, en ligne de commande, ça se fait avec Sed

Comment rechercher si un paquet existe ?

#11Messageil y a 10 ans

Salut Loubrix,

Loubrix a écrit :alors tu ne fais pas encore partie des vrais barbus, qui cherchent à automatiser les taches fastidieuses... :rigole:
je ne sais pas ce que tu utilises comme éditeur pour faire tes scripts, mais dans la plupart, il y a une fonction "rechercher et remplacer": tu donnes une chaine à rechercher et tu lui donnes la chaine à mettre à la place, et après c'est tout automatique....
et sinon, en ligne de commande, ça se fait avec Sed

Comme éditeur, j'utilise .......... notepad++ ! :rigole:

Mais dans mon cas, le problème n'est pas le "recherche remplace" mais d'une part de trouver les équivalents des noms des paquets que je veux installer (je sais, pacman -Ss ou aussi yaourt -Ss) et d'autre part d'ajouter tout le code nécessaire pour telle ou telle distro avec des :

NAME=$(lsb-release -sc)
if [ "$NAME" = "lucid" ]
  then
    apt-get -y install ...
elif [ "$NAME" = "Ascella" ]
  then
    pacman -Syyu --noconfirm ...
elif [ "$NAME" = "BeefyMiracle" ]
  then
    yum -y install ...

...

fi

ou des

DISTRO=$(lsb_release -si)
case '$DISTRO' in
  'ManjaroLinux')
    ... ;;
  'Red Hat')

...

    ... ;;
  *)
    ... ;;
esac

Rien que du bonheur. :fetard:

Avec des noms de paquets identiques pour un outil donné quelque soit la distro, plus de problème.

Mais dans ce cas, les éditeurs ne "vendraient" plus ni de support, ni de formation, ... d'où l'intérêt de rester bien "incompatible" les uns avec les autres. (CQFD).

J'ai déjà du mal à comprendre pourquoi les installateurs sont différents (pacman ressemble à yum qui lui ressemble à apt-get) et aussi pourquoi les formats de paquets sont eux aussi différents (deb, tar.gz, rpm) !

Alors, pour les noms de paquets uniformisés, je crois qu'on peut attendre... le temps qu'il faut pour refroidir le fût du canon (hé oui, on est le 14-7. Vive les canons :trinquer:)

En fait, il n'y a aucune véritable raison technique à cela et pour "uniformiser", il faudrait un référendum "mondial" pour sélectionner et imposer un seul installateur et un seul format de paquets.

Mais là encore, c'est un rêve. :pappy:

Bizarre que Linus Torvalds n'y ait pas pensé pour rendre Linux "universel" !

Comment rechercher si un paquet existe ?

#12Messageil y a 10 ans

Je sais pas trop, au final si tu veux quelque chose d'uniforme, n'utilise que des dérivés de la même branche.
Le fillon debian avec son apt-get se retrouve (et ses paquets) à peu près partout.

Au final je ne pense pas qu'on doive attaquer la diversité, ça fait pas de mal.
Pcman et Apt-get ont semble-t-il un écart de philosophie assez grand, tu ne trouves pas ? La rolling release est un sacré écart de conduite.

Comment rechercher si un paquet existe ?

#13Messageil y a 10 ans

Question de choix.Les bases Débian nécessitent une réinstallation lors des grandes évolutions.Les Rolings comme Manjaro ,non; il suffit mettre à jour,mais ça peut aussi être aléatoire ,bien qu' on puisse souvent corriger le tir... N'oublions pas que Manjaro est encore en phase de développement.
Quant à Aptitude ou Apt-get ,les paquets sont "généralistes" et pas toujours compatibles avec une configuration donnée ,alors que Pacman empaquète directement selon ...Du moins ,c'est ce que j'ai cru comprendre.

Comment rechercher si un paquet existe ?

#14Messageil y a 10 ans

@ Fnux: je ne sais pas exactement à quoi sert ton script, mais si la liste de paquets à gérer est longue, je te conseillerais plutôt de faire un script par distribution; en plus, utiliser des if/elif/else pour chaque particularités des distros (noms des paquets, des gestionnaires de paquets, des distros), ça va considérablement ralentir ton script (ce serait pas mieux avec un case ?)

Comment rechercher si un paquet existe ?

#15Messageil y a 10 ans

Salut vous tous,

Otyugh a écrit :Au final je ne pense pas qu'on doive attaquer la diversité, ça fait pas de mal.

C'est "malheureusement" toute cette trop grande diversité qui fait que MSFT rigole tous le jours et garde malgré des aberrations comme W8 presque le même % de pénétration sur les desktops/laptops depuis WinWin 3 !

Même Big Blue s'est cassé les dents avec OS/2 Vs. W95. Been there, done that !

Qu'il y ait des choix hyper multiples de GUI, de desktops, de browsers, et d'applications, voir à la rigueur d'installateurs, aucun gros problème.

Mais quand tu vois que ce sont les mêmes kernels, librairies et compilos partout, alors par exemple changer le nom de gcc-c++ par g++ (et lycée de Versailles), là de mon point de vue ce n'est pas très cohérent ni surtout techniquement justifié (sauf pour des boites comme Red Hat ou Canonical qui ne vivent, hors subventions dont certaines sont même discutables, qu'en vendant du service et surtout de la formation d'où leur stratégie de "non compatibilité"!).

D'où la très grande difficulté de pénétration de Linux sur les bureaux (je ne parle pas des serveurs).

Heureusement que des distros comme Manjaro ou Bridge voient le jour, car il y a encore beaucoup de travail à faire pour arriver à la simplicité de WinWin ou même d'OS/X.

PS: A mon age, on peut devenir fan de Linux comme je suis en train de le faire, mais tout en gardant un sens critique mesuré. :pappy:

Just my 2 cents.

Otyugh a écrit :Pcman et Apt-get ont semble-t-il un écart de philosophie assez grand, tu ne trouves pas ? La rolling release est un sacré écart de conduite.

C'est sur que le principe de "rolling" release introduit par ArchLinux (je crois) est très intéressant à condition que lors d'une MAJ, elle ne casse pas des compatibilités antérieures.

Malheureusement, les exemples sont nombreux (mais ce n'est pas le privilège de ce principe car aussi bien apt-get que yum peuvent poser les même problèmes).

lemust83 a écrit :Question de choix.Les bases Débian nécessitent une réinstallation lors des grandes évolutions.Les Rolings comme Manjaro ,non; il suffit mettre à jour,mais ça peut aussi être aléatoire ,bien qu' on puisse souvent corriger le tir...

Lorsque les LTS sortent dans la famille des Debian & spin off, il existe généralement une procédure de migration qui fonctionne plutôt bien (en tout cas chez Ubuntu).

lemust83 a écrit :N'oublions pas que Manjaro est encore en phase de développement.

Ce qui en fait aussi tout son charme puisque comme c'est un projet récent, il est "peut être" assez facile de faire des propositions à son équipe de développement.

lemust83 a écrit :Quant à Aptitude ou Apt-get ,les paquets sont "généralistes" et pas toujours compatibles avec une configuration donnée ,alors que Pacman empaquète directement selon ...Du moins ,c'est ce que j'ai cru comprendre.

Même réponse que ci-dessus.

Loubrix a écrit :je ne sais pas exactement à quoi sert ton script, mais si la liste de paquets à gérer est longue, je te conseillerais plutôt de faire un script par distribution

Ce n'est pas un secret. Mon script sert à installer un serveur d'applications web particulièrement intéressant que j'ai découvert il y a deux ans et qui s'appelle G-WAN et qui installe aussi tous les outils que ce serveur web peut utiliser.

Les particulartités de G-WAN par rapport à tout ce que j'ai pu utiliser jusqu'à présent (Apache2, Cherokee, Lighttpd ou Nginx) sont :

- il est GRATUIT mais pas open source. C'est donc un FREEWARE. D'où ma question à propos des ayatollats du libre dans mon post de présentation.

- sa taille (moins de 300 Kb. par rapport aux 10 à 20 MB de ses confrères). Oui vous avez bien lu 300 Kb.

- son extraordinaire vitesse et sa résistance aux montées en charge, (mon script propose aussi d'installer deux petits outils de benchmark indépendants dont weighttp de chez lighttpd et un wrapper que j'ai écrit à partir du code de ab.c produit par les développeurs de G-WAN. Les tests ainsi réalisés ne mentent pas et chacun peut ainsi comparer objectivement son serveur web de prédilection avec tous les autres y compris G-WAN sur son propre matos et en toute indépendance des sirènes des média dits "spécialisés"!).

- la panoplie de langages de programmation ou de scripting supportés. A ce jour, 15 sont disponibles :

- ANSI C
- ASM
- C++
- C# (Mono)
- Gnustep
- Go
- Java
- Javascript server side (NodeJS)
- Lua
- Objective C
- Objective C++
- Perl
- Php
- Python
- Ruby
- et Scala.

Et G-WAN decrait aussi très bientôt supporter QB64, un compilo BASIC très sympa développé par un Australien (Galleon).

Donc le but de mon développement (que je fais juste oour le fun) est justement de proposer un script interactif qui s'affranchit de la distro et même de sa version (du moins pour les principales) et qui propose d'installer ou non chacun des différents langages supportés.

Ce script fait actuellement un peu plus de 3.600 lignes (commentaires inclus et il y en a beaucoup) car j'ai poussé le vice jusqu'à le rendre automatiquement multi lingues par détection de la langue utilisée et je propose déjà l'Anglais, l'Allemand, le Français et l'Espagnol pour les 220 messages du script. L'ajout d'autres langues est aussi trivial.

Loubrix a écrit :en plus, utiliser des if/elif/else pour chaque particularités des distros (noms des paquets, des gestionnaires de paquets, des distros), ça va considérablement ralentir ton script (ce serait pas mieux avec un case ?)

J'utilise les deux (if/elif/else/fi et case/esac) en fonction de ce qui est non seulement le plus rapide mais aussi des choix que j'ai à faire qui ne se résolvent pas toujours par case/esac.

J'espère pouvoir vous proposer une version de ce script finalisé avec le support de Manjaro, mais aussi de ArchLinux et Bridge d'ici la fin de la semaine car l'ajout de pacman est trivial (une seule ligne de test dans un case/esac). Je dois juste maintenant vérifier les bons noms des paquets à installer et vérifier quelques petits tests.

Autre point : l'intérêt de G-WAN est aussi de montrer sur une même machine (exemples à l'appui), la différence de vitesse d'exécution d'un même script en C, C#, Java ou PHP. A ce titre, un petit "servlet" de calcul de remboursement d'emprunt (dont j'ai écrit la version php) est proposé parmi les 50+ exemples livrés avec G-WAN et les résultats sont... pour le moins édifiants.

A ce propos, s'il y a des volontaires pour traduire cette démo en C++, Go, Javascript (NodeJS), Lua, Objective C, Objective C++, Perl, Python, Ruby et Scala (j'ai déjà écrit la version pour QB64), ils sont plus que bienvenus. Et là, pas de triche possible pour déterminer si tel langage est plus ou moins rapide que les autres. Le moins que je puisse dire est que c'est très intéressant et qu'à l'heure du "green computing" (merci pour la planète que nous léguons à nos enfants) que ça remet certaines pendules bien à l'heure.

En tout cas, merci de vos remarques et suggestions parfaitement valides et intéressantes.

Je vous tiens informés dès que c'est prêt.

Happy 14th of July.
Répondre