Changes
Translation components API.
See the Weblate's Web API documentation for detailed description of the API.
GET /api/components/documentation/articlesrc-scripting_index/changes/?format=api&page=65
https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/changes/?format=api&page=66", "previous": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/changes/?format=api&page=64", "results": [ { "unit": "https://translate-dev.freebsd.org/api/units/1807613/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.729784Z", "action": 9, "target": "Помимо условий, соответствующих отдельным службам, существуют метаусловия и их \"заглушки\" скриптов, используемые для обеспечения выполнения определённых групп операций в заданном порядке. Они обозначаются именами в [.filename]#ВЕРХНЕМ РЕГИСТРЕ#. Их список и назначение можно найти в man:rc[8].", "id": 877034, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877034/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807614/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.749686Z", "action": 9, "target": "Имейте в виду, что указание имени службы в строке `REQUIRE:` не гарантирует, что служба действительно будет запущена к моменту старта нашего скрипта. Требуемая служба может не запуститься или быть отключена в man:rc.conf[5]. Очевидно, man:rcorder[8] не может отслеживать такие детали, и man:rc[8] тоже этого не делает. Следовательно, приложение, запускаемое нашим скриптом, должно быть способно обрабатывать ситуации, когда требуемые службы недоступны. В некоторых случаях мы можем помочь ему, как описано в crossref:rc-scripting[forcedep, ниже].", "id": 877035, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877035/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807615/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.767833Z", "action": 9, "target": "[[keywords]]\n➍ Как мы помним из текста выше, ключевые слова man:rcorder[8] могут использоваться для выбора или исключения некоторых скриптов. А именно, любой потребитель man:rcorder[8] может указать с помощью опций `-k` и `-s`, какие ключевые слова находятся в \"списке сохранения\" и \"списке пропуска\" соответственно. Из всех файлов, подлежащих сортировке по зависимостям, man:rcorder[8] выберет только те, которые имеют ключевое слово из списка сохранения (если он не пуст) и не имеют ключевого слова из списка пропуска.", "id": 877036, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877036/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807616/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.782780Z", "action": 9, "target": "В FreeBSD, man:rcorder[8] используется [.filename]#/etc/rc# и [.filename]#/etc/rc.shutdown#. Эти два скрипта определяют стандартный список ключевых слов [.filename]#rc.d# FreeBSD и их значения следующим образом:", "id": 877037, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877037/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807618/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.797181Z", "action": 9, "target": "Сервис не предназначен для окружения man:jail[8]. Процедуры автоматического запуска и остановки будут игнорировать скрипт, если он находится внутри клетки.", "id": 877038, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877038/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807620/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.811613Z", "action": 9, "target": "Служба должна запускаться вручную или не запускаться вовсе. Процедура автоматического запуска проигнорирует скрипт. В сочетании с ключевым словом [.filename]#shutdown# это может использоваться для написания скриптов, выполняющих действия только при выключении системы.", "id": 877039, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877039/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807622/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.873765Z", "action": 9, "target": "Этот ключевой параметр должен быть указан __явно__, если службу необходимо остановить перед завершением работы системы.", "id": 877040, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877040/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807623/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.895902Z", "action": 9, "target": "Когда система собирается завершить работу, выполняется [.filename]#/etc/rc.shutdown#. Предполагается, что большинству скриптов [.filename]#rc.d# в этот момент нечего делать. Поэтому [.filename]#/etc/rc.shutdown# выборочно запускает скрипты [.filename]#rc.d# с ключевым словом [.filename]#shutdown#, фактически игнорируя остальные скрипты. Для ещё более быстрого завершения работы [.filename]#/etc/rc.shutdown# передаёт команду [.filename]#faststop# запускаемым скриптам, чтобы они пропускали предварительные проверки, например, проверку pid-файла. Поскольку зависимые службы должны быть остановлены до своих зависимостей, [.filename]#/etc/rc.shutdown# запускает скрипты в обратном порядке зависимостей. \n\nЕсли вы пишете настоящий скрипт [.filename]#rc.d#, стоит подумать, актуален ли он во время завершения работы системы. Например, если ваш скрипт выполняет свою работу только в ответ на команду [.filename]#start#, то включать это ключевое слово не нужно. Однако если ваш скрипт управляет службой, вероятно, стоит остановить её до того, как система перейдёт к финальной стадии завершения работы, описанной в man:halt[8]. В частности, службу следует останавливать явно, если для её корректного завершения требуется значительное время или специальные действия. Типичный пример такой службы — система управления базами данных.", "id": 877041, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877041/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807624/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.911615Z", "action": 9, "target": "[[forcedep]]➎ Прежде всего, `force_depend` следует использовать с большой осторожностью. Обычно лучше пересмотреть иерархию конфигурационных переменных для ваших [.filename]#rc.d# скриптов, если они взаимозависимы.", "id": 877042, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877042/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807625/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.927486Z", "action": 9, "target": "Если вам всё ещё не обойтись без `force_depend`, в примере показано, как вызвать его условно. В примере наш демон `mumbled` требует, чтобы другой демон, `frotz`, был запущен заранее. Однако `frotz` также является опциональным, и man:rcorder[8] ничего не знает о таких деталях. К счастью, наш скрипт имеет доступ ко всем переменным man:rc.conf[5]. Если `frotz_enable` имеет значение true, мы надеемся на лучшее и полагаемся на [.filename]#rc.d#, что `frotz` был запущен. В противном случае мы принудительно проверяем статус `frotz`. Наконец, мы принудительно устанавливаем зависимость от `frotz`, если обнаруживаем, что он не запущен. `force_depend` выдаст предупреждение, так как его следует вызывать только в случае обнаружения неправильной конфигурации.", "id": 877043, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877043/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807626/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.965534Z", "action": 9, "target": "Придание большей гибкости скрипту rc.d", "id": 877044, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877044/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807627/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.983008Z", "action": 9, "target": "При вызове во время запуска или завершения работы скрипт [.filename]#rc.d# должен воздействовать на всю подсистему, за которую он отвечает. Например, [.filename]#/etc/rc.d/netif# должен запускать или останавливать все сетевые интерфейсы, описанные в man:rc.conf[5]. Любая из этих задач может быть однозначно указана единственным аргументом команды, таким как `start` или `stop`. Между запуском и завершением работы скрипты [.filename]#rc.d# помогают администратору управлять работающей системой, и именно тогда возникает потребность в большей гибкости и точности. Например, администратор может добавить настройки нового сетевого интерфейса в man:rc.conf[5], а затем запустить его, не затрагивая работу существующих интерфейсов. В следующий раз администратору может потребоваться остановить отдельный сетевой интерфейс. В духе командной строки, соответствующий скрипт [.filename]#rc.d# требует дополнительного аргумента — имени интерфейса.", "id": 877045, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877045/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807628/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:00.999586Z", "action": 9, "target": "К счастью, man:rc.subr[8] позволяет передавать любое количество аргументов (в пределах системных ограничений) методам скрипта. Благодаря этому изменения в самом скрипте могут быть минимальными.", "id": 877046, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877046/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807629/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.016119Z", "action": 9, "target": "Как man:rc.subr[8] может получить доступ к дополнительным аргументам командной строки. Должен ли он просто захватывать их напрямую? Ни в коем случае. Во-первых, функция man:sh[1] не имеет доступа к позиционным параметрам своего вызывающего объекта, но man:rc.subr[8] — это просто набор таких функций. Во-вторых, хороший стиль [.filename]#rc.d# предписывает, что именно главный скрипт должен решать, какие аргументы передавать его методам.", "id": 877047, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877047/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807630/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.032177Z", "action": 9, "target": "Итак, подход, принятый в man:rc.subr[8], следующий: `run_rc_command` передаёт все свои аргументы, кроме первого, в соответствующий метод в неизменном виде. Первый, опущенный аргумент — это имя самого метода: `start`, `stop` и т.д. Он будет удалён с помощью `shift` в `run_rc_command`, так что то, что было `$2` в оригинальной командной строке, будет представлено как `$1` в методе, и так далее.", "id": 877048, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877048/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807631/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.047943Z", "action": 9, "target": "Чтобы проиллюстрировать эту возможность, давайте изменим примитивный скрипт-заглушку так, чтобы его сообщения зависели от дополнительных переданных аргументов. Вот как это выглядит:", "id": 877049, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877049/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807636/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.107708Z", "action": 9, "target": "Какие основные изменения мы можем заметить в скрипте?", "id": 877050, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877050/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807637/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.124474Z", "action": 9, "target": "➊ Все аргументы, которые вы вводите после `start`, могут стать позиционными параметрами для соответствующего метода. Мы можем использовать их любым способом в соответствии с нашей задачей, навыками и предпочтениями. В текущем примере мы просто передаем все их в man:echo[1] как одну строку в следующей строке — обратите внимание на `$*` в двойных кавычках. Вот как теперь можно вызывать этот скрипт:", "id": 877051, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877051/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807640/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.140925Z", "action": 9, "target": "➋ То же самое относится к любому методу, который предоставляет наш скрипт, не только к стандартному. Мы добавили пользовательский метод с именем `kiss`, и он может использовать дополнительные аргументы не меньше, чем `start`. Например:", "id": 877052, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877052/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807643/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.157158Z", "action": 9, "target": "➌ Если мы хотим просто передать все дополнительные аргументы любому методу, мы можем просто заменить `\"$@\"` на `\"$1\"` в последней строке нашего скрипта, где мы вызываем `run_rc_command`.", "id": 877053, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877053/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807644/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.173462Z", "action": 9, "target": "Программист man:sh[1] должен понимать тонкую разницу между `$*` и `$@` как способами обозначения всех позиционных параметров. Для детального обсуждения обратитесь к хорошему руководству по написанию скриптов на man:sh[1]. _Не используйте_ эти выражения, пока полностью не поймёте их, так как их неправильное применение приведёт к созданию ненадёжных и небезопасных скриптов.", "id": 877054, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877054/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807645/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.189254Z", "action": 9, "target": "В настоящее время в `run_rc_command` может присутствовать ошибка, которая мешает ему сохранять исходные границы между аргументами. То есть аргументы с встроенными пробелами могут обрабатываться некорректно. Ошибка возникает из-за неправильного использования `$*`.", "id": 877055, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877055/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807646/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.233415Z", "action": 9, "target": "Подготовка скрипта для сервисных клеток", "id": 877056, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877056/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807647/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.249681Z", "action": 9, "target": "Скрипты, запускающие долго работающую службу, подходят для клеток служб и должны поставляться с соответствующей конфигурацией клетки службы.", "id": 877057, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877057/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807648/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.317238Z", "action": 9, "target": "Некоторые примеры скриптов, которые не подходят для запуска в сервисной клетке:", "id": 877058, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877058/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807649/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.408321Z", "action": 9, "target": "любой скрипт, который в команде start только изменяет настройки времени выполнения для программ или ядра,", "id": 877059, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877059/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807650/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.449732Z", "action": 9, "target": "или пытается что-то смонтировать,", "id": 877060, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877060/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807651/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.490790Z", "action": 9, "target": "или находит и удаляет файлы", "id": 877061, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877061/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807652/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.561528Z", "action": 9, "target": "Скрипты, не предназначенные для запуска в сервисной клетке, должны предотвращать использование внутри сервисных клеток.", "id": 877062, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877062/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807653/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.578786Z", "action": 9, "target": "Скрипт с долго работающей службой, которому необходимо выполнить одно из перечисленных выше действий перед запуском или после остановки, может быть разделён на два скрипта с зависимостями или использовать части `precommand` и `postcommand` скрипта для выполнения этого действия.", "id": 877063, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877063/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807654/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.595400Z", "action": 9, "target": "По умолчанию только части `start` и `stop` скрипта выполняются внутри клетки сервиса, остальное выполняется вне клетки. Таким образом, любые настройки, используемые в частях `start`/`stop` скрипта, не могут быть заданы, например, из `precommand`.", "id": 877064, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877064/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807655/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.611629Z", "action": 9, "target": "Чтобы сделать скрипт готовым к использованию с extref:../../books/handbook/jails/#service-jails[Сервисными Клетками], необходимо добавить всего одну строку конфигурации:", "id": 877065, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877065/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807659/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.627726Z", "action": 9, "target": "➊ Если имеет смысл, чтобы скрипт выполнялся в клетке, он должен иметь переопределяемую конфигурацию service jails. Если ему не требуется доступ к сети или любым другим ресурсам, которые ограничены в клетках, достаточно пустой конфигурации, как показано.", "id": 877066, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877066/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807660/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.644229Z", "action": 9, "target": "Строго говоря, пустая конфигурация не обязательна, но она явно указывает, что скрипт готов к работе с сервисными клетками и не требует дополнительных разрешений для клеток. Поэтому настоятельно рекомендуется добавить такую пустую конфигурацию в таком случае. Наиболее распространённая опция — \"net_basic\", которая позволяет использовать IPv4 и IPv6 адреса хоста. Все возможные опции описаны в man:rc.conf[5].", "id": 877067, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877067/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807661/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.660298Z", "action": 9, "target": "Если настройка запуска/остановки зависит от переменных из rc-фреймворка (например, заданных в man:rc.conf[5]), это должно обрабатываться с помощью ``load_rc_config`` и ``run_rc_command``, а не внутри precommand.", "id": 877068, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877068/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807662/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.676334Z", "action": 9, "target": "Если по какой-то причине скрипт не может быть запущен внутри сервисной клетки, например, потому что его невозможно запустить или нет смысла запускать его в клетке, используйте следующее:", "id": 877069, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877069/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807664/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.692517Z", "action": 9, "target": "➊ Отключение должно происходить после вызова ``load_rc_config``, иначе параметр из man:rc.conf[5] может переопределить его.", "id": 877070, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877070/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807665/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.726022Z", "action": 9, "target": "Продвинутые сценарии rc: Инстанцирование", "id": 877071, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877071/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807666/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.742613Z", "action": 9, "target": "Иногда полезно запускать несколько экземпляров службы. Обычно требуется иметь возможность независимо запускать/останавливать такие экземпляры, а также иметь отдельный файл конфигурации для каждого из них. Каждый экземпляр должен запускаться при загрузке, сохраняться после обновлений и получать преимущества от них.", "id": 877072, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877072/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807667/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.808150Z", "action": 9, "target": "Вот пример rc-скрипта, который поддерживает это:", "id": 877073, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877073/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807674/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.824981Z", "action": 9, "target": "➊ и ➋ убедитесь, что переменная name установлена в значение man:basename[1] имени скрипта. Если имя файла — [.filename]#/usr/local/etc/rc.d/dummy#, то name будет установлено в [.filename]#dummy#. Таким образом, изменение имени rc-скрипта автоматически изменит содержимое переменной name.", "id": 877074, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877074/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807675/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.841300Z", "action": 9, "target": "➌ указывает имя переменной, которая используется в [.filename]#rc.conf# для включения этой службы на основе имени файла этого скрипта. В данном примере это преобразуется в dummy_enable.", "id": 877075, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877075/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807676/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.889914Z", "action": 9, "target": "➍ убеждается, что значение по умолчанию для переменной _enable установлено в NO.", "id": 877076, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877076/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807677/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.906273Z", "action": 9, "target": "➎ Вот пример установки некоторых значений по умолчанию для переменных фреймворка, специфичных для службы, в данном случае — опций клетки службы.", "id": 877077, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877077/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807678/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.923133Z", "action": 9, "target": "➏ и ➐ устанавливают переменные, внутренние для скрипта (обратите внимание на подчёркивание в начале _dummy_user, чтобы отличать её от dummy_user, которая может быть задана в [.filename]#rc.conf#).", "id": 877078, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877078/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807679/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:01.939920Z", "action": 9, "target": "Часть в ➎ предназначена для переменных, которые не используются внутри самого скрипта, но используются в рамках rc. Все переменные, которые используются как параметры в скрипте, присваиваются общей переменной, как в ➐, чтобы упростить их использование (нет необходимости выполнять eval при каждом обращении).", "id": 877079, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877079/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807680/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:02.005573Z", "action": 9, "target": "Этот скрипт теперь будет вести себя по-другому, если скрипт запуска имеет другое имя. Это позволяет создавать символьные ссылки на него:", "id": 877080, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877080/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807682/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:02.022605Z", "action": 9, "target": "Вышеприведенное создает экземпляр службы dummy с именем dummy_foo. Он не использует файл конфигурации [.filename]#/usr/local/etc/dummy.cfg#, а файл конфигурации [.filename]#/usr/local/etc/dummy_foo.cfg# (➐), и использует PID-файл [.filename]#/var/run/dummy/dummy_foo.pid# вместо [.filename]#/var/run/dummy/dummy.pid#.", "id": 877081, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877081/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807683/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:02.039559Z", "action": 9, "target": "Услуги dummy и dummy_foo могут управляться независимо друг от друга, при этом скрипт запуска обновляется автоматически при обновлении пакета (благодаря символьной ссылке). Это не обновляет строку REQUIRE, поэтому нет простого способа зависеть от конкретного экземпляра. Чтобы зависеть от конкретного экземпляра в порядке запуска, необходимо создать копию вместо использования символьной ссылки. Это предотвращает автоматическое применение изменений в скрипте запуска при установке обновления.", "id": 877082, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877082/?format=api" }, { "unit": "https://translate-dev.freebsd.org/api/units/1807684/?format=api", "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api", "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api", "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api", "timestamp": "2025-08-07T16:44:02.064582Z", "action": 9, "target": "Дополнительная литература", "id": 877083, "action_name": "Translation uploaded", "url": "https://translate-dev.freebsd.org/api/changes/877083/?format=api" } ] }{ "count": 3424, "next": "