Видео ролики бесплатно онлайн

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

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

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

a1fred 25.02.2009 17:14

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/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





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



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



1
# >/etc/pkgs





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



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



1
# echo mozilla-firefox >/etc/pkgs





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



1
# crontab –e





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



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



Теперь система будет обновлять список пакетов из /etc/pkgs каждый день в 0:00. Частоту обновлений лучше менять в зависимости от частоты обновления пакетов из списка. Т.е если например у вас в списке самый часто обновляемый пакет это ядро, то нет необходимости проверять обновления каждый день, просто потому что с такой частотой его не обновляют.



Тэги:
+ 0 -
Похожие Поделиться

muhas 25.02.2009 17:42 #
+ 0 -
арчеводам проще :)
pacman -Sy `cat filename` :)
a1fred 25.02.2009 17:45 #
+ 0 -
Да вот собсно: apt-get update && apt-get install `cat $filename`
Это просто готовое решение с небольшими токостиями.
l1feh4ck3r 26.02.2009 02:17 #
+ 0 -
Подобная тема уже поднималась (для бубунты), мог бы просто там в комментах отписаться. <- ИМХО
И теги для поста проставь. Хотя бы : debian, update, sh

В хорошем качестве hd видео

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


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

Online video HD

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

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

Full HD video online

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

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

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