Если вы используете Nagios 4.x, убедитесь, что установить LiveStatus из источников, используя опцию, чтобы сделать его совместимым с NAGIOS 4.x -> https://mathias-kettner.de/checkmk_livestatus.html Кроме того, Nagios не может создать розетку во время запуска и сбоев. Я использую точно такую же конфигурацию, и все еще блокируйте на следующем шаге: Сделать Throuk прочитать розетку. Если вы управляете этим, пожалуйста, сообщите подробности.
Чтобы сравнить файлы и выбрать один для копирования, вам нужно будет сравнить их содержимое . Это может оказаться трудным для проприетарного формата файла, такого как .doc
(в отличие от .docx
).
Вы можете сначала преобразовать файлы .doc
в текст с помощью libreoffice в автономном режиме:
libreoffice --headless --convert-to txt: text mydocument.doc
На этапе секунд можно было бы сравнить файлы, хотя я сомневаюсь, что преобразованный .doc
будет иметь точно такое же содержание, что и версия .txt
, поэтому сложно (если не невозможно) сравнить их программно.
Важным отличием будет арка:
jre/lib/i386/libawt_xawt.so
.../lib/x86_64...libXi.so.6
Что предполагает, что следует установить 32-разрядный аромат libXi.so.6
.
Необходимо исправить нужный файл.
Как вы его называете, он попытается исправить новый файл и, таким образом, правильно примет обратное исправление.
Попробуйте скопировать старую версию файла в текущий каталог, и патч будет применен.
Что касается теста -p0
: есть ли у вас разрешение на изменение/usr/bin/gradle?
У вас есть разрешение на создание файлов в/usr/bin?
Также обратите внимание, что существуют отклоняющиеся правила для исправления имени файла.
Правила, используемые gpatch
, отличаются как от исходного патча, так и от стандарта патча POSIX.
Обратите внимание, что сообщение «not a regular file» специфично для gpatch
. Перечислите файл /usr/bin/gradle
. Сообщение печатается только тогда, когда файл не является обычным файлом, поэтому что-то выглядит странно.
Таким образом, решение состоит в том, что
patch
исправляет только обычные файлы, но файл, который вы хотите исправить, является символической ссылкой.
Если у вас есть копия обычного файла (старой версии) в вашем текущем каталоге, патч будет делать то, что вы ожидаете.
BTW: обычным правилом получения имени файла для исправления является поиск кратчайшего имени, так как обычно используется правило именования:
file.orig
и
file
Если оба файла являются текстовыми, можно использовать команду diff
.
FILE_ONE=/home/file_one.txt
FILE_TWO=/home/file_two.txt
if [ -n "$(diff $FILE_ONE $FILE_TWO)" ];then
cp $FILE_ONE /new_place/
cp $FILE_TWO /new_place/
else
cp $FILE_ONE /new_place/
fi
Проверяется, возвращает ли diff
что-либо, если это так, файлы отличаются и должны быть скопированы, в противном случае он просто копирует файл один.