По суті, я шукаю еквівалент Debian:
yum list available
показати мені, які пакунки доступні (хоча зараз не встановлені). Я вважаю за краще щось, що можна запустити з консолі, оскільки це на віддаленому сервері. Спасибі.
По суті, я шукаю еквівалент Debian:
yum list available
показати мені, які пакунки доступні (хоча зараз не встановлені). Я вважаю за краще щось, що можна запустити з консолі, оскільки це на віддаленому сервері. Спасибі.
Відповіді:
grep-dctrlі його похідні забезпечують чудовий спосіб запиту файлів підходящого кешу. (Ви можете встановити ці інструменти на 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 Precision. Якщо ви не хочете бачити ці пакети для інших архітектур, ви можете виключити рядки, що містять ::
aptitude -F "%p" search "?not(?installed)" | grep -v ':'
apt-cache використовується для запиту кеш пакетів:
apt-cache pkgnames | сортувати
APT-кеша пошуку річ
APT-кеша пошуку --names тільки річ
code"dpkg --get-select | grep '[[: space:]] install $' | awk '{print $ 1}' > встановлено.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 розбийте ці прості команди
apt list
apt list --all-versions
дає список будь-якого (встановленого та не встановленого). Тоді я можу обмежити результати grep "встановлено" або grep -v "встановлено". Він також може поєднуватися з одним або декількома назвами пакунків (приймаються дикі знаки).
Перемикач "-всі-версії" забезпечує виведення окремих рядків для кожної версії пакета (стабільний, тестуючий, нестабільний, експериментальний).
Простий "підходящий список" дає лише одну (найвищий пріоритет) версію.
Суворо поставивши запитання (ви хочете показати список не встановлених пакетів), спробуйте використовувати
(відредаговано відповідно до коментарів нижче)
# apt-get update
# dpkg -l '*' | egrep --invert-match '^i'
Хоча не впевнений у точному синтаксисі, оскільки я це пишу на вікні вікна і не можу перевірити. Можливо, спробуйте змінити те, на що ви жартуєте
'^ii'замість '[ii]'), вам не вистачає на пакети, які встановлені , але не сконфігуровані, наприклад , (наприклад , iFчи iH, наприклад).