Поскольку Вы нашли, pkg_add
не может обновить порты корректно. portupgrade
пакет делает это вполне приятно однако и является методом, который я использую и рекомендую (существуют другие, доступные, если Вам не нравится этот метод).
После того как порт установлен, можно просто работать portupgrade -aPP
и это обновит все порты, установленные в системе с помощью пакетов. Если Вы не хотите обновлять когда-нибудь порт, можно работать portupgrade -RPP [category/port]
для обновления конкретного порта и портов, это зависит от. Запущение программы без аргументов обновит порт, принадлежащий текущему каталогу (т.е. cd /usr/ports/security/openssl ; portupgrade
обновит openssl
, без -PP
опция это создаст порт из источника); и если Вы не будете в каталоге порта, то он отобразит справку (то же как -h
опция).
Править:
По умолчанию portupgrade установит пакеты, если они будут существовать в каталоге, определенном PKG_PATH
переменная окружения (значения по умолчанию к $PACKAGES/All
, $PACKAGES
значения по умолчанию к $PORTSDIR/packages
; таким образом, путь по умолчанию /usr/ports/packages/All
).
Если они не будут существовать там, то это загрузит пакеты (предпочтением) от $PKG_SITES
(берет URI с подпапками Latest
и All
; никакое значение по умолчанию), или $PACKAGEROOT
(берет URI с нормальным зеркальным путем под ним; значение по умолчанию "ftp://ftp.freebsd.org"
).
Один простой способ сделать это, используйте одну машину для создавания/кэширования пакетов, которые будут установлены на другой машине.
make package
в каталоге порта (который также установит порт).portupgrade
чтобы обновить одну машину и кэшировать файлы пакета для использования на других машинах, вышеупомянутые команды будут кэшировать файлы пакета в каталоге по умолчанию (см. выше).portupgrade -aPPF
или portupgrade -RPPF [category/port]
.После того как у Вас есть кэшируемые файлы пакета, можно совместно использовать каталог через NFS, FTP, HTTP, и т.д.; пока файлы доступны от других машин. Установите PACKAGES
или PKG_SITE
с соответствующими значениями для указания на кэширующийся сервер. Выполните типичное portupgrade
команда, это должно вытянуть пакеты с кэширующегося сервера и установить их.
Примечание: Дерево порта должно быть актуальным на всех серверах для portupgrade
работать правильно (это попытается обновить к любой версии, находится в локальном дереве портов). Если Вы собираетесь установить те же порты/пакеты на всех компьютерах, могло бы быть самым легким совместно использовать серверы /usr/ports
каталог (говорят по NFS) и монтирует его на всех других серверах.
Агент нужен только для «внутренних» проверок, таких как дисковое пространство, загрузка и т. Д. Он не нужен для ping, http и других сетевых служб.
Возможно, что он использует check_by_ssh или что он неправильно сконфигурирован и на самом деле просто проверяет дисковое пространство в самом nagios box.
Посмотрите на определение рассматриваемой службы и найдите команду проверки. Если он включает "check_by_ssh", вот и ваш ответ. Если нет, найдите определение команды, которое соответствует имени этой команды, чтобы увидеть, что на самом деле происходит.