LINUX.ORG.RU

Скрипт проверки обновлений для Fedora

 ,


0

1

Устав ловить батхерты от gnome-software, набыдлокодил с помощью гугла простенький скрипт проверки обновлений (после обновления через gnome-software dnf помечает обновленные пакеты как ненужные и dnf autoremove предагает удалить их, также g-s не умеет удалять ненужные зависимости, еще была неприятная ситуация, когда спустя пару дней после крит. обновления firefox ни g-s ни dnf не могли обнаружиить его - нашлось только после очистки метадаты dnf). Поставил в крон, ежедневно, по утрам. Выпилил из системы PackageKit* и gnome-software, обновлятся буду руками через терминал. Может кому еще пригодится.

Буду признателен, если кто подскажет, что можно прописать, чтоб username автоматом вытягивался (пользователь, который в тот момент сидит в гноме), да и может ошибки какие есть.

#!/bin/bash
user="user"
dbus="$(
    /usr/bin/grep -z DBUS_SESSION_BUS_ADDRESS= "/proc/$(pgrep -u "$user" gnome-session | head -n1)/environ" |
    /usr/bin/sed -e 's/DBUS_SESSION_BUS_ADDRESS=//' )"
let upd="$(/usr/bin/dnf --refresh check-update | /usr/bin/wc -l)-2"
if [ "$upd" -gt "0" ]
then
    su "$user" -c "DBUS_SESSION_BUS_ADDRESS=\"$dbus\" /usr/bin/notify-send -u critical 'Обновление системы' 'Доступно обновлений: "$upd"'"
fi
exit


Последнее исправление: Classic (всего исправлений: 1)

Ответ на: комментарий от Classic

так ребут входит, обновление и перезагрузка. проблемы были всего 2 раза, и это при том, что я на тестингах сижу.

erzentd
()
Ответ на: комментарий от i_gnatenko_brain

кстати, когда решат проблему с кешем у dnf? dnf clean all делать приходиться, иначе часть обнов не видит, а потом обновлялка гнома орёт о них.

erzentd
()
Ответ на: комментарий от i_gnatenko_brain

да я читал, что это незаконно, но хз как по-другому =)

т.е. его убрать, а потом dnf --refresh check-update?

Classic
() автор топика
Ответ на: комментарий от i_gnatenko_brain

Хм, а ведь и правда, сам не пойму. Единственное, что действительно нужно (да и нужно ли?) - чтоб фаерфокс вовремя обновлялся.

Classic
() автор топика
Ответ на: комментарий от pod

В fedora 23 метадата dnf обновляется сама, по таймеру systemd.

что меня сильно бесит, поэтому я после установки сразу делаю так


echo "metadata_timer_sync=0" >> /etc/dnf/dnf.conf
region51 ★★
()
Ответ на: комментарий от region51

если я ошибаюсь, то проясните меня, да и других

region51 ★★
()
Ответ на: комментарий от pod

в общем у меня так


[maxim@ip201-217 ~]$ systemctl status dnf-makecache
● dnf-makecache.service - dnf makecache
   Loaded: loaded (/usr/lib/systemd/system/dnf-makecache.service; static; vendor preset: disabled)
   Active: inactive (dead) since Вт 2015-11-10 19:11:15 MSK; 15min ago
  Process: 727 ExecStart=/usr/bin/dnf -v makecache timer (code=exited, status=0/SUCCESS)
 Main PID: 727 (code=exited, status=0/SUCCESS)

ноя 10 19:11:15 ip201-217.pppoe.kolatelecom.ru systemd[1]: Starting dnf makecache...
ноя 10 19:11:15 ip201-217.pppoe.kolatelecom.ru dnf[727]: cachedir: /var/cache/dnf
ноя 10 19:11:15 ip201-217.pppoe.kolatelecom.ru dnf[727]: Loaded plugins: protected_packages, config-manager, noroot, buil...nload
ноя 10 19:11:15 ip201-217.pppoe.kolatelecom.ru dnf[727]: DNF version: 1.1.3
ноя 10 19:11:15 ip201-217.pppoe.kolatelecom.ru dnf[727]: Создание кэша для всех метаданных файлов.
ноя 10 19:11:15 ip201-217.pppoe.kolatelecom.ru dnf[727]: Metadata timer caching disabled.
ноя 10 19:11:15 ip201-217.pppoe.kolatelecom.ru systemd[1]: Started dnf makecache.
Hint: Some lines were ellipsized, use -l to show in full.
[maxim@ip201-217 ~]$ systemctl status dnf-makecache.timer
● dnf-makecache.timer - dnf makecache timer
   Loaded: loaded (/usr/lib/systemd/system/dnf-makecache.timer; enabled; vendor preset: enabled)
   Active: active (waiting) since Вт 2015-11-10 11:59:55 MSK; 7h ago

region51 ★★
()
Ответ на: комментарий от region51

Хотя да, наверное надо и dnf-makecache.timer выключить для полной картины.

region51 ★★
()
Последнее исправление: region51 (всего исправлений: 1)
Ответ на: комментарий от region51

Интересная ситуация получается. Если я правильно понял из документации, metadata_timer_sync по-умолчанию 3 часа, то есть если metadata обновлена менее 3-х часов назад, dnf тут же выйдет. То есть, systemd unit запускается раз в час, и 2 раза из 3-х ничего не делает. Довольно странная опция. (на федоре недавно)

pod ★★
()
Ответ на: комментарий от pod

Да вообще все это странно, лично мне вообще не надо, чтобы что-то там включалось и проверяло без моего ведома, поэтому я все эти приблуды нахрен выключил.

region51 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.