По сути, я ищу Debian-эквивалент:
yum list available
чтобы показать мне, какие пакеты доступны (хотя в данный момент не установлены). Я бы предпочел что-то, что можно запустить из консоли, так как это на удаленном сервере. Благодарю.
По сути, я ищу Debian-эквивалент:
yum list available
чтобы показать мне, какие пакеты доступны (хотя в данный момент не установлены). Я бы предпочел что-то, что можно запустить из консоли, так как это на удаленном сервере. Благодарю.
apt-cache
используется для запроса кеша пакетов:
apt-cache pkgnames | sort
apt-cache search thing
apt-cache search --names-only thing
grep-dctrl
и его производные предоставляют отличный способ запроса файлов кэша apt. (Вы можете установить эти инструменты в Ubuntu с помощью sudo apt-get install dctrl-tools)
В случае доступных (но не обязательно установленных) пакетов вы можете использовать grep-available
. Например, чтобы перечислить все доступные пакеты:
grep-available -s Package .
Редактировать:
aptitude
может показать вам список неустановленных пакетов, просто запустив его.
Вы также можете получить список не установленных пакетов с aptitude
, используя:
aptitude -F "%p" search "?not(?installed)"
Обратите внимание, что с новыми многоархивными пакетами вы получите пакеты для других архитектур, перечисленных в этом результате. Например, я получаю:
aptitude -F "%p" search "?not(?installed)" | grep "^bash:"
bash:i386
У меня установлен пакет bash
, но это версия amd64, поскольку моя ОС установлена вместе с версией amd64 Ubuntu Precise. Если вы не хотите , чтобы эти пакеты для других архитектур, вы можете исключить строки , :
aptitude -F "%p" search "?not(?installed)" | grep -v ':'
Используйте apt-cache
для этой цели:
apt-cache search package
Поскольку apt-cache
использует только кеш пакетов в системе, убедитесь, что этот кеш обновлен:
apt-get update
Вы также можете использовать утилиту apt-file
если знаете имя файла, который хотите найти; это должно быть добавлено к системе как бы то ни было. Например:
apt-file search somefilename
Я склонен использовать apt-cache
одним из следующих способов:
apt-cache search package | sort | grep item
(Это показывает вам вещи, у которых есть пункт в их резюме или именах.)
apt-cache search thing | sort | less
(Это ищет вещь, а затем сортирует ее для приятного просмотра с less
.)
Моя точка зрения состоит в том, чтобы работать с командами, установленными по умолчанию, и избегать дополнительных пакетов, если нет какой-либо конкретной причины.
В моем Debian с GNU bash эти простые команды
apt list
apt list --all-versions
дает список всего (установленного и не установленного). Затем я могу ограничить результаты с помощью grep "Установлено" или grep -v "Установлено". Его также можно комбинировать с одним или несколькими именами пакетов (допускаются подстановочные знаки).
Переключатель «-all-version» обеспечивает в выходных данных отдельные строки для каждой версии пакета (стабильная, тестируемая, нестабильная, экспериментальная).
Простой "apt list" дает только одну (наивысший приоритет) версию.
Принимая ваш вопрос строго (вы хотите показать список не установленных пакетов), попробуйте использовать
(отредактировано в соответствии с комментариями ниже)
# apt-get update
# dpkg -l '*' | egrep --invert-match '^i'
Хотя я не уверен в точном синтаксисе, так как я пишу это в окне Windows и не могу проверить. Может быть, попытаться изменить то, что вы grep на