Je sais que c'est un peu tard, mais ce message est actuellement l'un des meilleurs résultats de recherche liés à la recherche d'alternatives dans Debian.
Le problème avec l'utilisation update-alternatives
ici est qu'il ne vous montrera que les options installées pour autant que je sache (sa page de manuel est assez clairsemée).
Pour répondre à la question posée dans le titre, c'est-à-dire trouver tous les packages disponibles qui offrent une alternative (installée ou non), vous pouvez utiliser:
aptitude search '?provides(pattern)'
qui peut également être abrégé en:
aptitude search '~Ppattern'
où se pattern
trouve tout ou partie de l'alternative que vous recherchez. Dans le cas particulier de vi
, cela ne fonctionne pas vraiment. Si vous inspectez les packages nvi
et vim
avec aptitude show
ou apt-cache show
, vous verrez que ni l'un ni l'autre ne répertorie "vi" dans sa section "Fournit:". En fait, la description de nvi manque complètement cette section.
Cependant, cela fonctionne assez bien pour d'autres alternatives, telles que editor
:
$ aptitude search '~Peditor'
p deutex - composition tool for doom-style WAD files
p edbrowse - /bin/ed-alike webbrowser written in C
p emacs24 - GNU Emacs editor (with GTK+ GUI support)
p emacs24-lucid - GNU Emacs editor (with Lucid GUI support)
p emacs24-nox - GNU Emacs editor (without GUI support)
p fte-console - Text editor for programmers - console edi
p fte-terminal - Text editor for programmers - version for
p fte-xwindow - Text editor for programmers - X Window Sy
p jed - editor for programmers (textmode version)
p jove - Jonathan's Own Version of Emacs - a compa
p jupp - user friendly full screen text editor
p le - Text editor with block and binary operati
p ledit - line editor for interactive programs
p levee - very small vi clone
p mg - microscopic GNU Emacs-style editor
p nano - small, friendly text editor inspired by P
p nano-tiny - small, friendly text editor inspired by P
p ne - easy-to-use and powerful text editor
p pluma - official text editor of the MATE desktop
p rlfe - Front-end using readline to "cook" input
p rlwrap - readline feature command line wrapper
p scite - Lightweight GTK-based Programming Editor
p vigor - nvi with the evil paperclip
p vile - VI Like Emacs - vi work-alike
p vim - Vi IMproved - enhanced vi editor
p vim-athena - Vi IMproved - enhanced vi editor - with A
p vim-gnome - Vi IMproved - enhanced vi editor - with G
i vim-gtk - Vi IMproved - enhanced vi editor - with G
p vim-nox - Vi IMproved - enhanced vi editor - with s
i vim-tiny - Vi IMproved - enhanced vi editor - compac
p xjed - editor for programmers (x11 version)
p xul-ext-password-editor - edit password manager entries in Mozilla
p xvile - VI Like Emacs - vi work-alike (X11)
Même si ce n'est pas parfait, aptitude
possède des capacités de recherche incroyablement flexibles qui vous permettront souvent de contourner le problème des packages qui ne répertorient pas correctement les alternatives qu'ils fournissent - par exemple, en utilisant "~seditors ~dvi\s"
comme modèle de recherche, tous les packages de la section «éditeurs» description contient la chaîne "vi".
Une autre option consiste à utiliser le site Web des paquets de Debian , où des paquets similaires sont répertoriés dans la section à droite.
aps ~Peditor
? Siaps
est destiné à être un raccourci pour l'aptitude, très bien, mais s'il vous plaît ne l'utilisez pas dans une réponse, cela ne fera que confondre tout le monde. De plus, si vous pensez qu'il manque des offres, vous pouvez déposer un rapport de bogue sur le ou les packages correspondants.aps
doit représenteraptitude search
. Mais vous devez l'utiliser explicitement. Cependant, je ne pense pas que ce soit une réponse viable, peu importe - peut-être que cela fonctionnera avec un certain raffinement.aptitude search -Pvi
donne une charge de choses non pertinentes. Je suppose qu'il recherche la description complète du paquet.aptitude search ~P
(notez le tilde) recherche uniquement dansProvides
, maisvi
correspond à d'autresProvides
entrées; vous devez spécifier une correspondance exacte avecaptitude search '~P^vi$'
. Cet exemple met en évidence une limitation fondamentale de cette approche: bien qu'il existe unevi
alternative, il n'y a pasvi
de package virtuel ...Cela dépend. Il existe des alternatives, comme x-www-browser, n'utilisez pas de package et sont ajoutées via des scripts de maintenance aux alternatives de mise à jour:
Il y en a d'autres qui utilisent un seul métapaquet pour installer n'importe quelle version du même binaire (les packages Java / OpenJRE viennent également à l'esprit
init
). D'autres utilisent un package virtuel, en remplissant les "Provides" (cela vient normalement avec une mise à jour de la base de données DPKG alternative) auquel cas, n'importe lequel de ces packages devrait fournir le même binaire.Alors, comment trouver tous les packages qui fournissent un fichier spécifique? J'utiliserais le Provides si vous connaissez un paquet qui le fait, et
apt-file search file
pour tout le reste.la source
editor
.Les paquets virtuels et le système alternatif Debian (qui est l'endroit où les binaires entrent en jeu) sont liés mais pas identiques. Pour les packages virtuels, vous pouvez utiliser
apt-cache
pour trouver quels packages (réels) le «fournissent»:Pour les gestionnaires d'affichage, le package virtuel est
x-display-manager
:Le système alternatif est géré par des appels à
update-alternatives
des scripts de maintenance, comme le montre la réponse de Braiam, et le reste du système d'emballage n'en est absolument pas conscient. LeProvides
domaine est également plus général que les alternatives, puisqu'un package peut en fournir un autre en termes de services ou de bibliothèques proposés, et pas seulement via des binaires.Sans les responsables de package ajoutant des informations sur les alternatives au
Provides
champ (et créant des packages virtuels pour tous les points de terminaison des alternatives - commevi
) et sans inspecter les packages eux-mêmes, il n'y a actuellement aucun moyen général de savoir quel package pourrait fournir une alternative.la source
Strictement lié à la question, pour trouver vi alternative:
Production:
Ou:
Production:
la source
Dans Ubuntu , le paquet
command-not-found
contient une base de données contenant également de nombreuses alternatives. Après l'installation, il peut être interrogé avec/usr/lib/command-not-found --no-failure-msg --ignore-installed mail
(pour lister les alternatives pourmail
).Attention, lorsque vous ne voulez pas les suggestions automatiques sur les commandes manquantes dans bash, écrivez
unset -f command_not_found_handle
dans votre ~ / .bashrc ou supprimez la définition globalement dans/etc/bash.bashrc
. (Faites de même pour zsh.)Dans Debian , cet outil utilise uniquement apt-file pour créer la base de données, donc aucune alternative n'est connue (non testée). Là, il dit la même chose que
apt-file search ...
.Source Ubuntu: https://launchpad.net/command-not-found
la source
/usr/lib/command-not-found /usr/bin/mail
ressemble à une sorte de recette, mais je ne comprends pas ce qu'elle est censée faire. Une explication serait utile./usr/bin/
de la commande car cela ne fonctionne pas.# /usr/lib/command-not-found mail Command 'mail' is available in '/usr/bin/mail' mail: command not found
.mail
est déjà installé. Cette vérification peut être ignorée avec l'option--ignore-installed
. Mais aussi après cela, vous n'obtiendrez pas plus d'informations (dans debian) que deapt-file search mail
.