Как использовать подстановочные знаки с способностями?

Я попытался отредактировать файл локали и выбрать разные языки при входе в систему.

Фильтрация для сломанных пакетов с помощью Synaptic и полное удаление 9 повреждающих пакетов для меня (libreoffice и python uno).

Но я не могу установить LibreOffice без явно развращения менеджера пакетов. Тем не менее, он устанавливает.

Я на 11.04 i386. Отказ от ответственности: во время последней части моей установки произошел сбой питания, поскольку Ubuntu загружал обновления.

20
задан 23 September 2011 в 14:46

4 ответа

http://ubuntuforums.org/showthread.php?t=228309 указывает, что это возможно с помощью таких конструкций, как ~n<package name>, и это подтверждается руководством пользователя http://algebraicthunk.net/~dburrows/projects/ aptitude / doc / en / ch02s03s02.html.

~n в ~n<package name> является шаблоном поиска для сопоставления имен пакетов. Также возможно сопоставить другие поля, чем имена пакетов, см. http://ubuntuforums.org/showthread.php?t=228309 .

Вот пример. Скажем, что вы хотите, чтобы aptitude показывал каждый пакет с «красным смещением» в его имени, тогда вы выдаете

aptitude show ~nredshift

. Его следует комбинировать с другими параметрами aptitude, такими как установка и удаление, например. для удаления всех установленных пакетов с открытым офисом в имени, которое вы выдаете

sudo aptitude -P remove ~nopenoffice

Обязательно используйте параметр -P при использовании шаблонов поиска, чтобы заставить aptitude отображать подсказку перед загрузкой, установкой или удалением пакетов ( шаблон поиска может иметь много совпадений, и вам нужно будет получить подсказку перед выполнением действия).

Одна вещь, которую я не разработал, - это то, как получить точную функциональность подстановочных знаков, например что openoffice* соответствует каждой строке many «openoffice» (~nopenoffice соответствует любой строке, содержащей «openoffice»). Возможно, возможно обходное решение, например. для поиска установленных пакетов с определенной строкой в ​​их именах, а затем подачи aptitude с их именами.

15
ответ дан 25 May 2018 в 18:41
  • 1
    -P предназначен для того, чтобы никогда не следовать символическим ссылкам, а не подсказывать – rancho 19 June 2016 в 23:27
  • 2
    Также использование ~ nredshift не будет искать красное смещение, но ~ nredshift. Кроме того, ~ n не является аргументом по умолчанию – rancho 19 June 2016 в 23:39
  • 3
    Ответ, заданный NorticUs, правдиво корректен. Правильный синтаксис здесь будет ~ n ^ redshift – rancho 19 June 2016 в 23:44

Вы просто положили его в кавычки:

sudo apt-get remove "openoffice*"

В противном случае оболочка попытается сопоставить это с файлами вашего текущего рабочего каталога.

5
ответ дан 25 May 2018 в 18:41
  • 1
    Вопрос о aptitude, а не apt-get. Это решение не работает с aptitude. – N.N. 23 September 2011 в 15:39
  • 2
    @ MichałŠrajer: в кавычках нет расширения имени пути, как одиночные, так и двойные – enzotib 23 September 2011 в 17:01
  • 3
    @enzotib: Моя ошибка. Спасибо, что указали это. Удалено комментарий. – Michał Šrajer 23 September 2011 в 19:07
  • 4
    хорошо, я не получаю ... так что можно сделать с помощью или работать таким образом ... sudo aptitude remove " openoffice * " – raulricardo21 23 September 2011 в 19:40
  • 5
    @ raulricardo21 Аналогичную вещь можно сделать с помощью aptitude, см. мой ответ . – N.N. 23 September 2011 в 20:11

Чтобы соответствовать строкам, начинающимся с имени пакета, добавьте перед ним ^. например: aptitude search ~n^openoffice

4
ответ дан 25 May 2018 в 18:41
  • 1
    Я использую только часть поиска, вы также должны указать, как получить результат поиска – rancho 19 June 2016 в 23:55

Вы просто положили его в кавычки:

sudo apt-get remove "openoffice*"

В противном случае оболочка попытается сопоставить это с файлами вашего текущего рабочего каталога.

5
ответ дан 6 August 2018 в 03:10

Другие вопросы по тегам:

Похожие вопросы: