Автор: kostya@kostya-manjaro, 2 лет назад, написана на языке Plain Text.
Встраивание на сайт
  1. #!/bin/bash
  2. # Этот скрипт проверяет наличие обновлений, обновляет и перезапускает сервисы при необходимости
  3. echo -e "\n"; read -n 1 -p "Проверить обновления? [Y/n]: " cupdate;
  4. if [[ "$cupdate" = "" || "$cupdate" = [yYlLдД] ]]; then echo -e "\n"; pamac checkupdates -a; fi
  5. #---------------------------------------------------------------------------------------------
  6. echo -e "\n"; read -n 1 -p "Обновить? [Y/n]: " update;
  7. if [[ "$update" = "" || "$update" = [yYlLдД] ]]; then echo -e "\n";
  8.   sudo sed -i 's/skipAutosnap=false/skipAutosnap=true/g' /etc/timeshift-autosnap.conf; echo -e "\n";
  9.   pamac upgrade --force-refresh | tee $HOME/upgrade.pamac;
  10. #---------------------------------------------------------------------------------------------
  11.   echo -e "\n"; read -n 1 -p "Обновить через yay? [y/N]: " yayupd;
  12.   if [[ "$yayupd" = [yYlLдД] ]]; then echo -e "\n"; yay | tee $HOME/upgrade.yay; echo -e "\n"; fi
  13.   sudo sed -i 's/skipAutosnap=true/skipAutosnap=false/g' /etc/timeshift-autosnap.conf; echo -e "\n";
  14. #---------------------------------------------------------------------------------------------
  15. #    echo -e "\n"; read -n 1 -p "Обновить flatpak?  [y/N]: " flat;
  16. #    if [[ "$flat" = [yY] ]]; then echo -e "\n"; flatpak update; echo -e "\n"; fi
  17. # Проверка необходимости постдействий после обновлений ---------------------------------------
  18.   if [[ -f $HOME/upgrade.pamac ]]; then
  19.     if cat $HOME/upgrade.pamac | grep 'Нет заданий.'; then rm $HOME/upgrade.pamac; fi
  20.   fi
  21.   if [[ -f $HOME/upgrade.yay ]]; then
  22.     if cat $HOME/upgrade.yay | grep 'делать нечего'; then rm $HOME/upgrade.yay; fi
  23.   fi
  24.   if compgen -G "$HOME/upgrade.*" > /dev/null; then echo -e "\n";
  25. # --------------------------------------------------------------------------------------------
  26.     read -n 1 -p "Сравнить конфиги pacnew? [Y/n]: " diff;
  27.     if [[ "$diff" = "" || "$diff" = [yYlLдД] ]]; then echo -e "\n";
  28.       read -n 1 -p "Сравнить в meld(графика)? [Y/n]: " difft;
  29.       if [[ "$difft" = "" || "$difft" = [yYlLдД] ]]; then sudo DIFFPROG=meld pacdiff;
  30.         else sudo DIFFPROG=vimdiff pacdiff; fi
  31. #     Конец условия Сравнить конфиги pacnew?
  32.       fi
  33.       echo -e "\n"; read -n 1 -p "Проверить сервисы для перезапуска? [Y/n]: " restart;
  34.       if [[ "$restart" = "" || "$restart" = [yYlLдД] ]]; then echo -e "\n"; sudo systemctl daemon-reload; sudo needrestart -u NeedRestart::UI::stdio -r i; echo -e "\n"; fi
  35. # Конец условия Необходимости постобработки -------------------------------------------------
  36.   fi
  37. #Конец условия Обновить?
  38. fi
  39. echo -e "\n";
  40. # Удаление логов ------------------------------------------------------------------------------
  41. if [[ -f $HOME/upgrade.yay ]]; then rm $HOME/upgrade.yay; fi
  42. if [[ -f $HOME/upgrade.pamac ]]; then rm $HOME/upgrade.pamac; fi