pesquisando com YUM
Geralmente, você não usa expressões regulares (globs) ao pesquisar, yum searchpois o comando searchjá está procurando sub-strings nos nomes dos pacotes e seus resumos. Como eu sei disso? Há uma mensagem que informa isso quando você usa yum search.
Apenas o nome e o resumo correspondem, use "pesquisar tudo" para tudo.
NOTA: A string [cl-*]é tecnicamente uma esfera no shell Bash.
Então você geralmente procura por fragmentos de strings que deseja search. As expressões regulares entram em jogo quando você procura pacotes específicos. Estes são os comandos do YUM como liste install.
Por exemplo:
$ yum list cl-* | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Loading mirror speeds from cached hostfile
* fedora: mirror.dmacc.net
* rpmfusion-free: mirror.nexcess.net
* rpmfusion-free-updates: mirror.nexcess.net
* rpmfusion-nonfree: mirror.nexcess.net
* rpmfusion-nonfree-updates: mirror.nexcess.net
* updates: mirror.dmacc.net
Available Packages
cl-asdf.noarch 20101028-5.fc19 fedora
cl-clx.noarch 0.7.4-4.3 home_zhonghuaren
cl-ppcre.noarch 2.0.3-3.3 home_zhonghuaren
A única ressalva que você deve ter cuidado com as expressões regulares / globs é se existem arquivos no seu shell que são nomeados de modo que eles também correspondam cl-*. Nesses casos, seu shell expandirá o regex / glob antes de ser apresentado ao YUM.
Então, em vez de executar, yum list cl-*você estará executando o comando yum list cl-file, se houver um arquivo correspondente ao regex / glob cl-*.
Por exemplo:
$ ls cl-file
cl-file
$ yum list cl-*
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Loading mirror speeds from cached hostfile
* fedora: mirror.steadfast.net
* rpmfusion-free: mirror.nexcess.net
* rpmfusion-free-updates: mirror.nexcess.net
* rpmfusion-nonfree: mirror.nexcess.net
* rpmfusion-nonfree-updates: mirror.nexcess.net
* updates: mirror.steadfast.net
Error: No matching Packages to list
Você pode se proteger contra isso, escapando do curinga da seguinte maneira:
$ yum list cl-\* | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Loading mirror speeds from cached hostfile
* fedora: mirror.dmacc.net
* rpmfusion-free: mirror.nexcess.net
* rpmfusion-free-updates: mirror.nexcess.net
* rpmfusion-nonfree: mirror.nexcess.net
* rpmfusion-nonfree-updates: mirror.nexcess.net
* updates: mirror.dmacc.net
Available Packages
cl-asdf.noarch 20101028-5.fc19 fedora
cl-clx.noarch 0.7.4-4.3 home_zhonghuaren
cl-ppcre.noarch 2.0.3-3.3 home_zhonghuaren
Então, e os suportes
Eu suspeito que você tenha arquivos em seu diretório local que estão sendo correspondidos quando você usou [cl-*]como argumento yum search. Esses arquivos após serem correspondidos pelo shell, foram passados para o yum searchcomando onde as correspondências foram encontradas.
Por exemplo:
$ ls cl-file
cl-file
$ yum search cl-*
Loaded plugins: fastestmirror, langpacks, refresh-packagekit, tsflags
Loading mirror speeds from cached hostfile
* fedora: mirror.dmacc.net
* rpmfusion-free: mirror.nexcess.net
* rpmfusion-free-updates: mirror.nexcess.net
* rpmfusion-nonfree: mirror.nexcess.net
* rpmfusion-nonfree-updates: mirror.nexcess.net
* updates: mirror.dmacc.net
======================================================================= N/S matched: cl-file =======================================================================
opencl-filesystem.noarch : OpenCL filesystem layout
Name and summary matches only, use "search all" for everything.
NOTA: A correspondência acima foi comparada com o nome do meu arquivo cl-file, e não cl-*como eu pretendia.
cl-*não seja uma expressão regular, é umglobou como é chamada. É uma linguagem regular (em termos chomskianos), mas geralmente dizemos que algo é uma expressão regular se define uma gramática para a linguagem regular (usando pelo menos três operações básicas: concatenação, alteração e estrela de Kleene).