Показать статистику
0 голосов
от (950 баллов)

Дайте пожалуйста оценку чистки системы  

#!/bin/bash 

sudo apt-get update && apt-get upgrade
sudo apt-get dist-upgrade 
sudo apt autoremove 
sudo apt-get autoclean 
sudo apt-get check 
sudo do-release-upgrade  

Что можно убрать. что можно дополнить?

357 просмотров 2 ответов

2 Ответы

0 голосов
от (680 баллов)

Интересно, а зачем Вы обновляетесь до самой последней версии в рамках установленного релиза (dist-upgrade), если все равно осуществляете переход на следующую версию (do-release-upgrade)?
Я бы на вашем месте сразу выполнил:

sudo do-release-upgrade

Что касаемо самого скрипта, то у вас просто перечислены команды и отсутствует контроль ошибок, условных переходов,всего остального.  Я бы добавил, к примеру:

if [ ! -f /var/log/mylogfile.log ]; then
    sudo touch /var/log/mylogfile.log
fi
sudo apt-get update && apt-get upgrade | tee -a /var/log/mylogfile.log
0 голосов
от (4.5тыс. баллов)

Ваш скрипт выглядит хорошо для обновления и очистки системы на основе Debian или Ubuntu. Однако есть небольшие замечания и предложения по улучшению.

  1. Вы используете apt-get и apt. Рекомендуется использовать только один из них. В данном случае, лучше использовать apt, так как он предоставляет более дружественный интерфейс для пользователя.

  2. Возможно, вы захотите добавить -y после sudo apt upgrade и sudo apt dist-upgrade, чтобы автоматически подтвердить обновление. Таким образом, пользователю не придется подтверждать обновление вручную.

Вот обновленный скрипт с учетом замечаний: 

#!/bin/bash

sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove
sudo apt autoclean
sudo apt check
sudo do-release-upgrade

Обратите внимание, что команда sudo do-release-upgrade может потребовать ввода пользователя во время выполнения, так как она обновляет систему до новой версии. Это может быть не желательно в автоматическом скрипте. Если вы хотите только установить обновления без изменения версии системы, можете просто удалить эту строку из скрипта.

...