
Старая как мир задача - что-то где-то обновилось (напр. clamav), нужно броситься вдогонку за новой версией. Что делаем? (только pls не ищите ниже очередного гундения на тему, что круче - линух или фря - это просто записки на память) Версии систем у меня такие: FreeBSD 7.0 и CentOS 5.2.FreeBSD
- Если нет никакого еще дерева портов (это кажется не наш случай, но на всякий пожарный), то # portsnap fetch extract update;
- Если уже запускался ранее portsnap(8) (искать его следы в /var/db/portsnap - если командой portsnap не пользовались, то он будет пустой), то # portsnap fetch update;
- Если есть старое дерево портов и supfile для портов (болванку брать в /usr/share/examples/cvsup/ports-supfile), то # csup ports-supfile;
Потом:
# cd /usr/ports/dir/ourport# make deinstall reinstall cleanЕсли какие-то пакеты зависят от нашего, make reinstall не обращает на это никакого внимания, толтко сообщает о несчастных в консоль (чтобы потом не забыли похоронить трупы и эвакуировать выживших ;)
Если обновляли демона - не забыть:
# /usr/local/etc/rc.d/ourdaemon restartи смотреть в логи на результаты
CentOSИщем где-нибудь на просторах инета нужный src.rpm (допустимые платформы
rhel или
centos - желательно,
fc - фопустимо, с
mdv и
suse лучше не связываться). Для начала можно попробовать поискать на офинциальных зеркалах - напр.
тут, но там мало чего есть. Порой помогает
rpmfind или сайты приложений). Допустим, нашли:
# rpm -i myprog.src.rpm# cd /usr/src/redhat/SPECSищем specfile нашего приложения - и нещадно правим. Потом:
# rpmbuild -bb myprog.specустановочный пакадж образуется в папке
../RPMS/arch (arch может быть
noarch,
i386,
i586 и т. д.), его и ставим:
# rpm -U ../RPMS/myarch/myprog.rpmЕсли это был демон, перзапускаем:
# /etc/init.d/mydaemon restartи тоже идем читать логи ;)
Удалить srpm, если исходники уже не нужны, можно командой:
# rpmbuild --rmsource myprog.spec