Количество пакетов к обновлению(консоль) [Решено]

Изображение пользователя dexif.

Вобщем как можно вывести в консоль количество пакетов которые подлежат обновлению после apt-get update ???
Облазил все поисковики... ничего похожего не нашёл... :( Да и у самого идей нет как такое осуществить :( но очень надо :(

0
balamutick - 14 Октябрь, 2009 - 21:18
Изображение пользователя balamutick.

Что-то я тоже не увидел ничего, но гляньте на всякий случай ещё разок внимательно вот это: Opennet:apt-get (8) ( Русские man: Команды системного администрирования )

0
dexif - 14 Октябрь, 2009 - 22:22
Изображение пользователя dexif.

Не нашёл я там(собственно потому тут и спросил) ничего подходящего где бы можно было например подсчитать количество строк... хотя может мой мозг просто ещё не достаточно пропатчен :)

0
dexif - 14 Октябрь, 2009 - 23:31
Изображение пользователя dexif.

Оп... походу нашёл :)
apt-get --print-uris upgrade
как бы теперь проверить тот-ли список выдаст который мне нужен... для апдейта в репах ничего нет (
P.S.: Немного не катит... походу

+1
rlepish - 15 Октябрь, 2009 - 15:40

вот здесь

на выходе получаем список пакетов для обновления в файле

0
dexif - 15 Октябрь, 2009 - 17:14
Изображение пользователя dexif.

Точно :) Совсем забыл о этой теме :)
apt-get upgrade -y --print-uris | cut -d"'" -s -f2 | wc -l
То что надо! И без sudo... :)

0
FullyVoid - 14 Октябрь, 2009 - 21:32

sudo aptitude safe-upgrade
Покажет все пакеты, которые будут обновлены

0
dexif - 14 Октябрь, 2009 - 21:52
Изображение пользователя dexif.

safe-upgrade - Выполнить безопасное обновление
Мне не нужно обновлять или получать список пакетов с запросом на обновление... кстати эта команда предложила мне удалить 22 пакета многими из которых я повседневно пользуюсь... а ещё более неприятно будет если этот запрос также отработает у меня на сервере... и решит что ему не нужен какой-нить nginx или php5 с MySQL :)
Мне необходимо чтобы запрос после выполнения выдал цифру(количество пакетов)

0
FullyVoid - 14 Октябрь, 2009 - 22:05

ну сам aptitude ничего просто так не удалит.
а после запуска команды будет предложено согласиться или нет с дальнейшим выполнением и будет выведено КОЛИЧЕСТВО обновленных, установленных, удаленных пакетов.
В Debian Ъ рекомендуют пользоваться именно aptitude.

0
dexif - 14 Октябрь, 2009 - 22:33
Изображение пользователя dexif.

Хм... я понимаю что не удалит... просто скажем так мне этот подход не очень нравится:)
Вот в синаптике есть функция "создать сценарий закачки пакетов" там генерируется (можно сказать)список для закачки... так вот синаптик это-ж надстройка над apt-ом значит в апте есть возможность получить список линков на обновляемые пакеты... (хотя может я туплю) :)

0
Fatalist - 14 Октябрь, 2009 - 23:17
Изображение пользователя Fatalist.

Эммм. Я правильно понял, что нужно то число, пакетов, которое отображается после выполнения команды
sudo aptitude update
? количество тех пакетов, что отмечены как новые?

0
dexif - 14 Октябрь, 2009 - 23:30
Изображение пользователя dexif.

Нет... число установленных в системе пакетов для которых есть более новые версии в репозиториях тоесть число пакетов для apt-get upgrade

0
Fatalist - 15 Октябрь, 2009 - 06:26
Изображение пользователя Fatalist.

$ sudo aptitude upgrade | grep "пакетов обновлено"
не подойдёт? Выводит строку сколько пакетов новых, сколько для обновления, для удаления...

+1
Жюстина - 15 Октябрь, 2009 - 15:52
Изображение пользователя Жюстина.

При беглом прочтении "man aptitude" придумалось аж 3 способа.

Первый способ (совсем не элегантный): aptitude search -F "%V %v" * | grep -v '<нет>' выводим это в переменную и делим на строчки, далее сравниваем версии в каждой строке, несовпадение - означает обновление. (правда может и означать, что пакету запретили обновляться либо пакет стоит новее чем в репозиториях)

Второй способ (тоже не элегантнее, но симпатишнее): есть такой параметр: -s, --simulate, который как бы намекает нам:

In command-line mode, print the actions that would normally be performed, but don´t actually perform them. This does not require root privileges. In the visual interface, always open the cache in read-only mode regardless of whether you are root.

Так же выводим в переменную, и находим все слова после: "...будут обновлены:" - и перед остальным, то есть получаем список пакетов для обновления,.. считаем.

Ну и просто ради шутки стоит попробовать: sudo apt-get -y -s --show-upgraded upgrade | grep -c Inst

;)

Думаю,.. РЕШЕНО

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры