Thursday, August 16, 2007

Обновление пакетов Linux на примере обновления open-ssh до 4.6p1 на CentOS 4.4

1) Обновление из RPM-исходника (пример с zlib)
# wget ftp://chuck.ucs.indiana.edu/pub/array2/linux/fedora/linux/core/5/source/SRPMS/zlib-1.2.3-1.2.1.src.rpm
# rpmbuild --rebuild zlib-1.2.3-1.2.1.src.rpm
# rpm -Uhv /usr/src/redhat/RPMS/i386/zlib-*1.2.3-1.2.1.i386.rpm

2) Обновление из тарбола (на примере openssh)
# cd /usr/src/redhat/SOURCES
# wget ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-4.6p1.tar.gz
# tar zxvf openssh-4.6p1.tar.gz
Ищем файлик типа spec
# find . -type f -name *.spec
# cd openssh-4.6p1/contrib/redhat/
# vi openssh.spec
%define no_x11_askpass 1
%define no_gnome_askpass 1
# rpmbuild -bb --clean --target i586 openssh.spec
# cd /usr/src/redhat/RPMS/i586
# rpm -Uvh openssh-*4.6p1-1.i586.rpm
Во время установки ругнулось на зависимости старых пакетов
error: Failed dependencies:
openssh = 3.9p1-8.RHEL4.9 is needed by (installed) openssh-askpass-3.9p1-8.RHEL4.9.i386
openssh = 3.9p1-8.RHEL4.9 is needed by (installed) openssh-askpass-gnome-3.9p1-8.RHEL4.9.i386
- удалил их через
# rpm -e <пакеты, на которые ругалось>

После удаления повторил установку и перегрузил процесс sshd через
kill -1

3) Установка или обновление при помощи yum
#yum install XFree86-devel
#yum install gtk2-devel
#yum update openssl

No comments: