Home › Fora › Forum wsparcia › Oprogramowanie › [SOLVED] Conky monitor aktualizacji?
- This topic has 12 odpowiedzi, 5 uczestników, and was last updated 7 years, 7 months temu by LinGruby.
- AutorPosty
- 17 lutego 2017 o 16:48 #2944LinGrubyForumowicz
#!/bin/bash logfile="/var/log/upgrades.log" lista() { pacman -Syyu | grep 'Inst' } pacman -Syyu 2>&1 >/dev/null if [ -z "$(lista)" ]; then echo "Brak Pakietów" > $logfile else echo "$(lista | sed '/^Inst/!d;{s/Inst\ //;s/\ .*//}')" > $logfile fi
Mam taki sobie skrypt i on w cronie sprawdza co 10 min czy są jakieś pakiety do aktualizacji.
Ale o ile wykonuje swoje zadanie to w conky nic się nie pokazuje tylko „Brak Pakietów” a zobaczyłem to dopiero dziś że nie robi listy pakietów.
Wpis w conky wygląda tak
${execi 20 cat /var/log/upgrades.log}
Wiem że jest taki
${execpi 10800 checkupdates | wc -l}
ale on pokazuje tylko ilość pakietów, ale nie o to mi chodzi.
Może ktoś ma lub może przerobić ten mój skrypt bo mnie się koncepcje wyczerpały
( ͡° ͜ʖ ͡°) Linux User #592024
System: Host: arch-bspwm Kernel: 4.19.5.ll6-1-lingruby-git+ x86_64 (64 bit gcc: 8.2.1)
Desktop: mwm info: polybar wm: bspwm 0.9.5 dm: lightdm Distro: Arch Linux
Machine: Device: laptop System: Acer product: Aspire E5-57118 lutego 2017 o 18:15 #2951napcokAdministratorcheckupdates jeśli nie przekierujesz jego wyjścia do wc -l pokaże ci listę dostępnych aktualizacji, a nie zliczy ich ilość. Kombinowałbym więc z checkupdates.
Mam spore wątpliwości co do użycia przez ciebie pacman -Syyu w tym skrypcie :P
Co on ma w ogóle robić? Instalować automatycznie aktualizacje czy pokazywać listę dostępnych aktualizacji?
Użycie komendy pacman -Syyu sugeruje, że ma instalować (opcja -u)
Choć użycie jej w skrypcie wydaje się też bez sensu, ponieważ tak komenda wymaga interakcji ze strony użytkownika.Appki pod konsolę | czasem piszę tutaj | Pomóż sobie i innym - mądrze zadawaj pytania
19 lutego 2017 o 20:25 #2956jackForumowiczKiedyś używałem tego na Debianie sid i działało, oczywiście trzeba zmienić polecenia:
link19 lutego 2017 o 21:15 #2957napcokAdministratorKiedyś używałem tego na Debianie sid i działało, oczywiście trzeba zmienić polecenia:
linkWydaje mi się, że skrypt jest właśnie stamtąd wzięty, ale np. polecenie sed zupełnie niezmienione, więc to nie może działać.
Appki pod konsolę | czasem piszę tutaj | Pomóż sobie i innym - mądrze zadawaj pytania
21 lutego 2017 o 11:31 #2959napcokAdministratorWklejam przykładowe wyjście z polecenia checkupdates
[napcok@manjaro ~]$ checkupdates manjaro-icons 20161222-1 -> 20170220-1 manjaro-iso-profiles-community 17.0rc1-1 -> 17.0rc1-2
Jak widać sed-a można sobie zupełnie darować, ewentualnie jeśli potrzebne same nazwy paczek można wyciąć za pomocą cut
Coś jak:
echo "manjaro-icons 20161222-1 -> 20170220-1" |cut -d" " -f1
Appki pod konsolę | czasem piszę tutaj | Pomóż sobie i innym - mądrze zadawaj pytania
25 lutego 2017 o 13:22 #2971LinGrubyForumowiczWpis w conky teraz wygląda tak
${execi 20 checkupdates | wc -l}
ale skrypt tak
#!/bin/bash pacman -Sc --noconfirm && pacman-mirrors -g -m rank && pacman -Syyu
wpis w crontab nadal wygląda jak wyglądał
10,20,30,40,50,59 * * * * root /usr/local/bin/upgrade
i wszystko działa
( ͡° ͜ʖ ͡°) Linux User #592024
System: Host: arch-bspwm Kernel: 4.19.5.ll6-1-lingruby-git+ x86_64 (64 bit gcc: 8.2.1)
Desktop: mwm info: polybar wm: bspwm 0.9.5 dm: lightdm Distro: Arch Linux
Machine: Device: laptop System: Acer product: Aspire E5-57125 lutego 2017 o 14:12 #2972napcokAdministratorSorry, ale wykonywanie sprawdzania ilości dostępnych aktualizacji checkupdates | wc -l co 20 sekund brzmi jak jakiś żart.
Podobnie jak wykonywanie co 10 minut(?) z crona serii poleceń:
1. pacman -Sc –no-confirm – czyli usuwanie odinstalowanych pakietów z cache
2. pacman-mirrors -g -m rank – tworzenie rankingu mirrorów
3. pacman -Syyu – aktualizacja systemu (która i tak nie ma możliwości być wykonana w tej postaci ze skryptu – jeśli już naprawdę chciałbyś to robić to potrzebne też –no-confirm)Choć w sumie jak masz roota to kto ci zabroni.
Co do Conky to taki wpis nie pokazuje z pewnością nazw paczek (tak jak pierwotnie chciałeś), a tylko ich ilość.
Polecenie w cronie nie ma żadnego wpływu na to co wyświetlane jest w Conky.Appki pod konsolę | czasem piszę tutaj | Pomóż sobie i innym - mądrze zadawaj pytania
26 lutego 2017 o 09:56 #2973pavbaranovForumowiczSię tak wtącę (jak zwykle zresztą). Automatyzacja tego typu działań nie ma sensu z wyjątkiem ewentualnego sprawdzania czy nie pojawiły się jakieś paczki do aktualizacji. Dlaczego?
1. pacman -Sc – fakt, usunie z cache wersje pakietów, które nie są już dostępne w repozytorium. Ale… Jest to sensowne wyłącznie wówczas, jeśli stwierdzimy, że zaktualizowana wersja paczki nie powoduje jakichś kłopotów i nie musimy przywrócić starej paczki. Jest to tym bardziej istotne w Manjaro, które nie ma ABS. Fakt, potrzeba taka zachodzi sporadycznie, niemniej jednak lepiej na zimne dmuchać.
2. Używanie -no-confirm (chyba winno być –noconfirm) generalnie nie jest nigdy dobrym pomysłem. Przez przypadek można wylać dziecko z kąpielą.
3. Aktualizację systemu najlepiej jest przeprowadzać tak, by była widoczna dla użytkownika, albowiem podczas niej dostajemy użyteczne informacje, które niekiedy wymagają dodatkowych działań użytkownika (np. paczki optdepends).26 lutego 2017 o 11:57 #2974DeletedMemberpavbaranov, nic dodać, nic ująć! Parę dni temu osmo „zgubił” zakładkę Kontakty po aktualizacji. Na szczęście miałem starszą wersję i sobie przywróciłem. Gdybym wyczyścił repozytorium, to bym…
Dziwne mają ludzie pomysły. Oj, dziwne! A później czyta się na forach żale, że system nie wstaje wcale.26 lutego 2017 o 12:13 #2975pavbaranovForumowicz@diatryba: Tego typu rzeczy są oczywiście do obejścia. Można zbudować pakiet lokalnie z PKGBUILDu, odpowiednio go dostosowując (no, ale budowa takieg FF czy LO trwa długawo delikatnie mówiąc). W przypadku paczek, które są bezpośrednio przeniesione z Archa można też stosować ALA z seblu.net. Szkoda jedynie, że Manjaro dość mocno kryje się z tym, co przenosi bezpośrednio, a w czym macza palce ;)
26 lutego 2017 o 12:46 #2976DeletedMemberpavbaranov, odkąd używam Manjaro, czytam uważnie Twoje rady, porady i przestrogi. Uważam, że warto z nich korzystać, bo uczą przezorności i samodzielności w unikaniu i rozwiązywaniu ewentualnych kłopotów z systemem. Wielu, szczególnie „majsterkowiczów” bez doświadczenia, robi systemowi „kuku” poprzez wymyślne dziwaczenia, nie myśląc o konsekwencjach.
Ale mają prawo, hehe! Ich system.
Instalacja i aktualizacja w konsoli powinna być podstawą dla zwłaszcza początkujących użytkowników! Trzeba widzieć (uważnie czytać!) i rozumnie reagować na wyświetlane komunikaty! To zapewnia jakiś margines bezpieczeństwa.
A, co do „obejścia”, to prawie wszystko da się „obejść”. Pozostaje pytanie, czy te „polne ścieżki” nie doprowadzą do bagien?26 lutego 2017 o 14:27 #2977pavbaranovForumowiczA, co do „obejścia”, to prawie wszystko da się „obejść”. Pozostaje pytanie, czy te „polne ścieżki” nie doprowadzą do bagien?
Te, które proponowałem wyżej, nie są jakimiś „obejściami” w Archu. Obejściem jest w Manjaro ze względu na brak ABS/ALU.
Repozytorium ALU (seblu) są to systematycznie robione zrzuty z oficjalnego repozytorium Archa – tu nie ma żadnych obejść, ot, archiwum.
A budowa z PKGBUILD – to zawsze po prostu budowa.
Jednak jak piszesz – warto się najpierw zastanowić nad konsekwencjami tego, co się robi, a dopiero potem – jeśli było się roztropnym i dalej są problemy – szukać rozwiązań.17 kwietnia 2017 o 18:40 #3583LinGrubyForumowiczostatecznie wygląda to tak i dział i robi swoją robotę
skrypt odpalany co 10 min#!/bin/sh pacman -Sc --noconfirm && pacman -Syu && pacman -Qu | wc -l
a w conky wygląda tak
${color}Dostępne aktualizacje: ${color1}${execi 20 pacman -Qu | wc -l} ${color}Zainstalowane pakiety: ${color1}${execi 20 pacman -Q | wc -l} ${color}Ostatnia aktualizacja: ${color1}${execi 20 grep "starting full system upgrade" /var/log/pacman.log | tail -n1| cut --bytes=2-17}
z czego ostatnia linia pokazuje czy skrypt wykonał swoje zadanie
ot wszystko działa i tak ma być
( ͡° ͜ʖ ͡°) Linux User #592024
System: Host: arch-bspwm Kernel: 4.19.5.ll6-1-lingruby-git+ x86_64 (64 bit gcc: 8.2.1)
Desktop: mwm info: polybar wm: bspwm 0.9.5 dm: lightdm Distro: Arch Linux
Machine: Device: laptop System: Acer product: Aspire E5-571 - AutorPosty
- Musisz być zalogowany aby odpowiedzieć w tym wątku.