Видео смотреть бесплатно

Смотреть гиг видео

Официальный сайт teledu 24/7/365

Смотреть видео бесплатно

WeLinux.ru

25.02.09 17:14a1fred

0byteАвтообновление пакетов по списку в debian подобных системах.

Начитавшись постов о том как автоматически обновлять все пакеты в ubuntu, у меня таки возникло желание написать по своему правильный способ обновления пакетов.

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

Кратко опишем задачу.
Сама программа будет скриптом, который запускается планировщиком с какой то частотой. Скрипт будет обновлять список пакетов. Затем читать из файла список пакетов которые требуется держать в актуальном состоянии. Ну и затем обновлять программы из этого списка.

Иии…. Вот оно!
Сам скрипт, берет в качестве аргумента путь к списку программ. Листинг apldater.sh:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
#!/bin/bash
 
if [ ! -f "$1" ]; then
    echo "Usage: `basename $0` pkg_list"
    exit 0
fi
 
update_repo="apt-get update"
update_pkg="apt-get -y install"
 
# Сначала обновим листинги пакетов.
$update_repo 2>&1 >/dev/null
 
if [ "$?" == "0" ]; then # Если листинги обновились
 
    pkgs=$(cat $1)
    for pkg in $pkgs; do # Распарсим список пакетов по одному
        $update_pkg $pkg 2>&1 >/dev/null
        if [ "$?" != "0" ]; then  # Пакет не обновился.
            echo "Cant update $pkg.;("
        fi
    done
fi


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

Далее мы записываем в файл список пакетов, чтобы они обновлялись автоматически.

# >/etc/pkgs


(кто не в курсе эта строка создает файл /etc/pkgs)

И запишем mozilla-firefox в этот файл. Будучи счастливым пользователем ff, я сделал это в первую очередь. :)

# echo mozilla-firefox >/etc/pkgs


Готово. Теперь запишем выполнение нашего скрипта в cron.

# crontab –e


У меня скрипт лежит в /root/bin/apldater.sh, поэтому добавляем строку:

0 0 * * * /root/bin/apldater.sh /etc/pkgs


Теперь система будет обновлять список пакетов из /etc/pkgs каждый день в 0:00. Частоту обновлений лучше менять в зависимости от частоты обновления пакетов из списка. Т.е если например у вас в списке самый часто обновляемый пакет это ядро, то нет необходимости проверять обновления каждый день, просто потому что с такой частотой его не обновляют.
+0
muhas25.02.09 17:42# +0
арчеводам проще :)
pacman -Sy `cat filename` :)
a1fred25.02.09 17:45# +0
Да вот собсно: apt-get update && apt-get install `cat $filename`
Это просто готовое решение с небольшими токостиями.
l1feh4ck3r26.02.09 02:17# +0
Подобная тема уже поднималась (для бубунты), мог бы просто там в комментах отписаться. <- ИМХО
И теги для поста проставь. Хотя бы : debian, update, sh

Top блогов (все)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Top пользователей (все)
Топ пользователей Топ блогов
В сети: Astramak, Roland, nvbn

Новенькие: sevka, Avrroot, Psy_Nejumi303, cooler, devpalm
welinux.ru
Идея сайта exelens; Движок 0byte, разработчик nvbn; Дизайн - Astramak

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн