Простенький скрипт последовательно выполняющий следующие операции:
1) чистка портов,
2) обновление дерева портов,
3) обновление INDEX.db,
4) обновление базы данных пакетов,
5) поиск пакетов требующих обновления,
6) само обновление с помощью утилиты portupgrade (нужно установить, если её нет в системе).
#!/bin/sh
#########################################
# Created: Ohalnikov Oleg #
# Date: 2010-06-03 #
#########################################
portsclean -CDD;
csup -g -L 2 /etc/ports-supfile;
portsdb -Uu;
pkgdb -F;
pkg_version -v |grep "need";
echo ""
echo "Обновить -> (y/n)"
read a
if [ $a = "y" ] || [ $a = "Y" ]; then
echo "Обновляемся..."
portupgrade -arR
else if [ $a = "n" ] || [ $a = "N" ]; then
echo "Выход..."
exit
fi
fi
Скрипт на Perl.
Создаем файл ports.pl, делаем его исполняемым.
#!/usr/bin/perl
#----------------------------------------
# Created: Ohalnikov Oleg
# Date: 2010-11-25
# Support: http://unixa.ru
#----------------------------------------
system "(portsclean -CDD; csup -g -L 2 /usr/local/etc/ports-supfile; pkgdb -F; pkg_version -v |grep \"need\")";
print "Обновляемся?\n";
print "Да > \"y\", Нет > \"anykey\"\n";
$x=<STDIN>;
chomp ($x);
if ($x eq "y") {
system "(portupgrade -arR)";
} else {
print "Выход...\n";
}
Выполняем
# ./ports.pl
(с)h ttp://unixa.ru/bsd/skript-obnovleniya-freebsd.html
Коментувати