Задача: обновить vzctl на proxmox.
Обновление утилиты может перезаписать файлы конфигурации:
/etc/vz/vz.conf /etc/vz/dowload.conf
Стоит сделать резервную копию этих файлов или каталога /etc/vzconf.
Обновление vzctl в моём случае необходимо для получения возможности назначить лимиты на использование ресурса дисков — https://wiki.openvz.org/I/O_limits
Система, на которой производились все действия — proxmox-ve_3.4-102d4547-6. Версия vzctl до обновления — 4.0-4. Обновлял до 4.6.1 — https://wiki.openvz.org/Download/vzctl/4.6.1
Скачиваем RPMS x86_64 (AMD64, EM64T) (ссылка выше).
wget http://download.openvz.org/utils/vzctl/4.6.1/vzctl-4.6.1-1.x86_64.rpm
wget http://download.openvz.org/utils/vzctl/4.6.1/vzctl-core-4.6.1-1.x86_64.rpm
При помощи утилиты alien (предварительно установить) пакеты rpm конвертировать в deb. Пакеты deb установить:
dpkg --install *.rpm dpkg --install *core-*.rpm
Скорее всего будет предупреждение вида:
warning: vzctl-core-4.6.1-1.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID a7a1d4b6: NOKEY
Его можно пропустить. Оно лишь говорит о том, что не найдет ключ в системе, который нужен для проверки архива. На установку это не повлияло.
После этого при запуске vzctl будет сообщение о том, что одна из необходимых библиотек не найдена:
vzctl: error while loading shared libraries: libvzctl-4.6.1.so: cannot open shared object file: No such file or directory
Скачиваем пакет binaries:
wget http://download.openvz.org/utils/vzctl/4.6.1/vzctl-core-4.6.1-1.x86_64.tar.gz
Распаковываем (если распаковка вдруг зависает, то убрать черту перед xvzf):
tar -xvzf *tar.gz
В этом архиве есть необходимая библиотека. Скопировать её по аналогичному пути, как в распакованном архиве.
После выше описанных действий у меня почему-то перестала работать утилита vzdump. Решилось это так:
apt-get update apt-get upgrade
После, перезагрузка системы.
Обновление из исходных кодов у меня не получилось. Оно проходи, всё выполняется, но утилита vzctl не обновляется. Команда для конфигурации, которую я использовал:
./configure --enable-bashcomp --enable-logrotate --without-ploop
Дополнительные установки, которые потребовались для компиляции:
apt-get install pkg-config apt-get install libcgroup-dev