Что за каретка (^) означает в apt-get?

33

Я вижу различные инструкции, которые требуют, чтобы вы установили что-то вроде:

apt-get install lamp-server^

Со странной кареткой в ​​команде. Кажется, это не упоминается в apt-getруководстве. В чем дело ?

mlissner
источник
Связано: askubuntu.com/questions/252056/…
Xtreme Biker восстановит Монику

Ответы:

21

^Символ не опечатка. Если вы удалите его, apt-getбудет жаловаться, что пакет не может быть найден.

Эта статья и ее комментарии описывают, что делает каретка:

Ответ таков: символ каретки - это короткая форма для выполнения задачи, которую в противном случае программа «tasksel» сделала бы с заданным именем пакета. tasksel - это программа, облегчающая установку часто используемых вещей, которые идут вместе для определенного использования.

Lekensteyn
источник
1
Узнавайте что-то новое каждый день.
Coteyr
2
Эта деталь, отсутствующая на странице руководства в течение 3 лет, ужасна.
Джей _silly_evarlast_ Рен
Я не установил tasksel в своей системе, но он работает.
Хардик Гаджар
@HardikGajjar Причина в том, что taskselэто просто очень полезная команда для работы с «задачами». Вы можете установить задачи без tasksel. Но ( как объяснено здесь ) лучше использовать, taskselчем с помощью метода apt / caret. Также, кажется apt-cache, не предоставляет способ перечислить задачи как tasksel --list-task.
Пабло А
11

Символ ^ позволяет вам установить «Задачи», набор пакетов. Это может заменить taskselспециализированный инструмент для работы с задачами.

При выполнении

apt-get install lamp-server^

Вы фактически запускаете установку набора пакетов, которые были бы установлены с помощью команды (даже не совсем то же самое ):

tasksel lamp-server

Другими словами : задачи очень похожи на метапакеты и живут независимо от tasksel. Вы можете установить задачи без установки taskselпакета.

coteyr
источник
Это не правильно. Команда apt-getвыдаст ошибку для нераспознанных имен.
Лекенштейн
Я исправлен, похоже, что он использовался в apt-get для замены tasksel, как вы упомянули. Я обновлю свой ответ.
Котейр
1
Да, но это работает даже без установки taskselкоманды. И у меня нет /usr/share/tasksel/каталога, поэтому я не могу видеть, какие другие интересные "задачи" доступны. Это только lamp-server^везде. Так откуда это apt-getвзять?
Томаш Гандор