Як я можу отримати список із пакунками, вибраними apt-get autoremove?


13

Чи є якась команда, яка друкує лише ім'я вибраних пакетів apt-get autoremove? Я створюю сценарій, який оновлює ядро, видаляє старе ядро ​​та непотрібні пакети ( apt-get autoremove), але я хочу надрукувати на екрані список пакетів, які буде видалено apt-get autoremove, як це зробити?


Ви повинні просто мати можливість запустити sudo apt-get autoremove -yйого, і він повинен автоматично перемогти все, що потрібно видалити ...

Спробуйте прочитати тут, [Це може бути корисним
Дуг

Щоб отримати список пакетів, не видаляючи їх, ви можете зробитиsudo apt-get --dry-run autoremove
heemayl

Я просто хочу отримати назву пакетів, а не весь вихід команди ....
Afonso Sousa

Відповіді:


13

Оскільки за вашим коментарем ви хочете перерахувати лише ті пакунки, які буде видалено:

apt-get --dry-run autoremove | grep -Po '^Remv \K[^ ]+'

grep розбивка команди:

  • -P: Інтерпретує даний шаблон як шаблон PCRE (Perl Compatible Regular Expression)
  • -o: Друкує лише відповідний рядок замість цілого рядка

Розбивка Regex:

  • ^: відповідає початку рядка
  • Remv: відповідає Remvрядку
  • \K: виключає попередньо узгоджену підрядку з відповідного рядка
  • [^ ]+: відповідає одному або більше символів не
$ apt-get --dry-run autoremove | grep -Po 'Remv \K[^ ]+'
libapache2-mod-php5
php5-readline
php5-cli
libonig2
libqdbm14
php5-json
php5-common 

1
@GeekLynxAfonso, вам не потрібно використовувати sudoз --dry-runопцією.
jarno

@jarno Має сенс, той факт, що він, ймовірно, не потрібен, мені не траплявся. Спасибі
kos

2

Насправді вам потрібно лише відфільтрувати вихід

sudo apt-get autoremove --dry-run 

командування.

Наприклад, ви можете це зробити з

sudo apt-get autoremove --dry-run  | head -n 5 | tail -n 1

Ваша команда теж працює !! Але я віддаю перевагу команді коса ... Але дякую ж !! :)
Afonso Sousa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.