По сути, я ищу Debian-эквивалент:
yum list available
чтобы показать мне, какие пакеты доступны (хотя в данный момент не установлены). Я бы предпочел что-то, что можно запустить из консоли, так как это на удаленном сервере. Благодарю.
По сути, я ищу Debian-эквивалент:
yum list available
чтобы показать мне, какие пакеты доступны (хотя в данный момент не установлены). Я бы предпочел что-то, что можно запустить из консоли, так как это на удаленном сервере. Благодарю.
Ответы:
grep-dctrl
и его производные предоставляют отличный способ запрашивать файлы apt-кэша. (Вы можете установить эти инструменты в Ubuntu с помощью sudo apt-get install dctrl-tools)
В случае доступных (но не обязательно установленных) пакетов вы можете использовать grep-available
. Например, чтобы перечислить все доступные пакеты:
grep-available -s Package .
Редактировать:
aptitude
может показать вам список неустановленных пакетов, просто запустив его.
Вы также можете получить список не установленных пакетов с aptitude
помощью:
aptitude -F "%p" search "?not(?installed)"
Обратите внимание, что с новыми пакетами multi-arch вы получите пакеты для других архитектур, перечисленных в этом результате. Например, я получаю:
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 pkgnames | Сортировать
APT-кэша поиска вещь
APT-кэша поиска --names только вещь
code
"dpkg --get-selections | grep '[[: space:]] install $' | awk '{print $ 1}' > instal.txt "и найдены дубликаты. Две другие команд , предоставленные вами не будут работать , потому что я не ищу конкретный пакет , а скорее какой - либо пакет , который в настоящее время не установлен.
Используйте 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 на
'^ii'
а не '[ii]'
), вы пропускаете пакеты, которые установлены, но не настроены, например (например, iF
или, iH
например).