O que o sinal de intercalação (^) significa no apt-get?

33

Estou vendo várias instruções que solicitam a instalação de algo como:

apt-get install lamp-server^

Com o sinal estranho no comando. Não parece ser mencionado no apt-getmanual. Qual é o problema?

mlissner
fonte
Relacionados: askubuntu.com/questions/252056/...
Xtreme motociclista Reintegrar Monica

Respostas:

21

O ^personagem não é um erro de digitação. Se você removê-lo, apt-getirá reclamar que o pacote não foi encontrado.

Este artigo e seus comentários descrevem o que o cursor faz:

Bem, a resposta é que o símbolo de sinal de intercalação é uma forma abreviada de executar uma tarefa que, de outra forma, o programa "tasksel" teria feito com o nome do pacote fornecido. tasksel é um programa para facilitar a instalação de itens comumente usados ​​que se combinam para um uso específico.

Lekensteyn
fonte
1
Aprenda algo novo todos os dias.
coteyr
2
Esse detalhe que falta na página de manual por três anos é uma coisa terrível.
Jay _silly_evarlast_ Wren
Não instalei o taskel no meu sistema, ainda está funcionando.
Hardik Gajjar
@HardikGajjar O motivo é que este taskselé apenas um comando muito útil para trabalhar com "tarefas". Você pode instalar tarefas sem tasksel. Mas ( como explicado aqui ) é melhor usar do taskselque com o apt / caret. Também parece apt-cacheque não fornece uma maneira de listar tarefas como tasksel --list-task.
Pablo A
11

O símbolo ^ permite instalar "Tarefas", um conjunto de pacotes. Isso pode substituir taskseluma ferramenta dedicada para trabalhar com tarefas.

Fazendo

apt-get install lamp-server^

Na verdade, você está executando a instalação de um conjunto de pacotes que seriam instalados via comando (mesmo que não seja exatamente o mesmo ):

tasksel lamp-server

Em outras palavras : as tarefas são muito semelhantes aos meta-pacotes e vivem independentemente de tasksel. Você pode instalar tarefas sem instalar o taskselpacote.

coteyr
fonte
Isso não está correto. O apt-getcomando teria erro em nomes não reconhecidos.
Lekensteyn
Estou corrigido, parece que ele foi usado no apt-get para substituir o tasksel como você mencionou. Vou atualizar minha resposta.
Coteyr
1
Sim, mas isso funciona mesmo sem a instalação do taskselcomando. E eu não tenho o /usr/share/tasksel/diretório, então não consigo ver quais outras "tarefas" legais estão disponíveis. É só em lamp-server^todo lugar. Então, onde é queapt-get tira isso?
Tomasz Gandor 01/10