Ubuntu также включает несколько утилит, которые могут помочь в поддержании установок пакета и обновлений для офлайновых машин. Взгляд https://help.ubuntu.com/community/AptGet/Offline для начальной точки. Несколько ресурсов доступны и для командной строки и для утилит GUI.
Копирование файлов как факт? Почему Вы хотели бы сделать это? Вы можете просто иметь Exec
кому: scp
или ftp
файл в другом месте.
Если необходимо проверить содержание файла для факта, возьмите это в качестве примера:
# etcgroup.rb
Facter.add("etcgroup") do
setcode do
File.read('/etc/group')
end
end
Можно затем использовать функции regex для извлечения информации из него. Обратите внимание, что это отправляется как часть URL ПОЛУЧИТЬ запроса, который обычно ограничивается в количестве символов. Я имею LimitRequestLine 30000
в моем apache2.conf
по просто такой причине.
Если Вы действительно, действительно должен скопировать файл, можно сделать что-то вроде этого:
# etcgroup.rb
Facter.add("etcgroup") do
setcode do
%{ scp -i /path/to/identity /etc/group user@puppet:/path && echo ok || echo not ok}.chomp
end
end
Это отправит файл scp
, использование идентификационных данных, чтобы избежать передающих паролей и затем возвратиться также ok
или not ok
как факт.
Я думаю, что лучший путь состоял бы в том, чтобы использовать аудит с удаленным filebucket (я полагаю, что Вам нужно 2.6.5 + для этого).
Что-то как:
filebucket { "server":
server => "your.puppet.server";
}
file { "/etc/group":
audit => content;
backup => server;
}
Это заставляет/etc/group быть загруженным на сервер, когда (a) это изменяется или (b) это не было замечено прежде. Затем на сервере можно использовать 'марионеточный filebucket' утилита для проверки данных отправленные клиенты. Это - путь лучше, чем помещение его в факте.