IPB

Здравствуйте, гость ( Вход | Регистрация )

> Скрипт обновления ядра.
Поделиться
Koi.v2
сообщение 12.10.2015, 21:07
Сообщение #1


Мастер
******

Группа: Активный Пользователь
Сообщений: 620
Регистрация: 11.5.2015
Вставить ник
Цитата
Пользователь №: 2810
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 4


Решил сделать небольшой sh скрипт для обновления ядра, так, чтоб не мучить пользователя лишними заботами и вопросами.
Пока накалякал такое...
Код
test-archives(){
                DU=$(du -ms /var/cache/apt/archives | cut -f1)
                if (( "$DU" >= 3500 ));
                  then
                      echo "Объем archives превысил 3500 мегабайт"
                      echo "Произвожу очистку"
                      apt-get autoclean
                  else
                      echo "Очистка archives не требуется"
                fi
}  

del-kernels(){
flavour_version_release="$(uname -r | awk -F- '{print $2"-"$3"-"$1"-"$4}')"
old_kernels="$(rpm -qa | fgrep kernel-image | fgrep -v $flavour_version_release | tr '\n' ' ')"

# calculate arguments for apt
for kernel in $old_kernels
do
    apt_args_list="$apt_args_list $(rpm -q --queryformat '%{NAME}#%{EPOCH}:%{VERSION}-%{RELEASE}\n' $kernel \
        | sed -e "s,(none):,,g")"
done

# use sudo(1) if running as unprivileged user
[ "$UID" = "0" ] && SUDO= || SUDO=sudo

$SUDO apt-get remove -y $apt_args_list
}

up-kernel(){
            echo "Обновление ядра"
            update-kernel -f
            echo "Перезагрузка произойдет через 15 секунд"
            sleep 15
            reboot
}

kern-update(){
             aptKERN=$(apt-cache show kernel-headers-std-def | grep -i 'Version: ' | cut -f3 -d : | cut -f1 -d - | sed 's/[^0-9]//g' | head -1)
             kVERS=$(uname -r | cut -f1 -d - | sed 's/[^0-9]//g')
             echo "Обновление списка пакетов apt-get update"
             apt-get update
             if (( "$aptKERN" > "$kVERS" ));
               then
                   test-archives
                   echo "Удаление старого ядра"
                   del-kernels
                   echo "Обновление пакетов дистрибутива"
                   apt-get dist-upgrade -y
                   up-kernel
               else
                   echo "Обновление ядра не требуется"
                   echo "Выход из программы через 5с"
                   sleep 5  
             fi      
}
kern-update

Скрипт работает проверил, запускается через *.desktop

Код
Type=Application
Categories=System;Utility;Archiving;
Exec=/usr/bin/xdg-su -c 'xterm -e /opt/au-kernel/au-kernel.sh'
Terminal=false
Icon=/opt/au-kernel/img/img-au-kernel.png
Name=au-kernel
GenericName=update-kernel
GenericName[ru]=Обновление ядра Linux
Comment=update-kernel
Comment[ru]=Использует команду update-kernel


Сомневаюсь стоит ли его сделать для автозагрузки, чтоб если есть обновление появлялся значок в трее или это лишнее?
Можно обновлятор сделать вместо синаптика, а то он тяжеловат.

Значок соответствует процессу обновления ядра biggrin.gif


Скрип готов к тестированию, кто хочет может скачать, он упакован в архив там папка для картинок, логов , чтоб было удобно пользоваться, в архиве небольшая инструкция.
https://yadi.sk/d/zffFtRhhjjDUd

Замечания, предложения и т.д. happy.gif

Сообщение отредактировал Koi.v2 - 14.10.2015, 16:16
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
Drool
сообщение 17.10.2015, 22:43
Сообщение #2


Профессионал
*******

Группа: Пользователь
Сообщений: 1764
Регистрация: 28.7.2010
Вставить ник
Цитата
Из: Берислав, Херсонщина
Пользователь №: 1879
Страна: Украина
Город: Не указан
Пол: Муж.



Репутация: 9


А не проще ли на том же "Xdialog" сделать обертку для update-kernel?


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Сообщений в этой теме
- Koi.v2   Скрипт обновления ядра.   12.10.2015, 21:07
- - Balbes   ИМХО Как вариант, можно попробовать прикрутить это...   13.10.2015, 12:18
|- - Koi.v2   Убрал строчки sh /, они ссылались на файлы которые...   13.10.2015, 17:45
|- - Balbes   Цитата(Koi.v2 @ 13.10.2015, 17:45) Но как...   14.10.2015, 19:06
- - Koi.v2   Немного поправил, а то он путался когда было много...   14.10.2015, 15:36
- - Koi.v2   Скрип готов к тестированию, кто хочет может скачат...   14.10.2015, 16:16
- - Drool   А не проще ли на том же "Xdialog" сделат...   17.10.2015, 22:43
- - Koi.v2   Не, это скучно, я щас qt приделал, смотрю как оно....   19.10.2015, 23:50
- - Koi.v2   Появилось время наконец, доделал и дотестил. Drool...   8.11.2015, 22:19
- - kostyalamer   Уехал в нашу 7-ую 32-битную репу.   8.11.2015, 22:35
- - Koi.v2   Не потравился людям таймер перезагрузки, убрал тай...   9.11.2015, 18:51
- - kostyalamer   В 7-ой 32-битной репе   9.11.2015, 22:55
- - Balbes   А может для обновления ядра, вместо кода в самом с...   10.11.2015, 10:44
|- - Koi.v2   Цитата(Balbes @ 10.11.2015, 9:44) А может...   11.11.2015, 16:34
|- - kostyalamer   Цитата(Koi.v2 @ 11.11.2015, 16:34) kostya...   11.11.2015, 22:43
- - Koi.v2   Версия 0.5 https://yadi.sk/d/zffFtRhhjjDUd Работа...   13.11.2015, 19:19
- - Koi.v2   https://yadi.sk/d/zffFtRhhjjDUd Версия 0.6 Исправ...   16.11.2015, 20:18
- - Koi.v2   Версия 1.0 https://yadi.sk/d/zffFtRhhjjDUd Програм...   21.11.2015, 13:13


Ответить в эту темуОткрыть новую тему
( Гостей: 1 )
Пользователей: 0

 



RSS Текстовая версия Сейчас: 6.7.2025, 15:28