.\" -*- coding: UTF-8 -*- '\" t .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH BUSCTL 1 "" "systemd 255" busctl .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH НАЗВА busctl \- глибинний аналіз каналу обміну даними .SH "КОРОТКИЙ ОПИС" .HP \w'\fBbusctl\fR\ 'u \fBbusctl\fP [ПАРАМЕТРИ...] [КОМАНДА] [\fIНАЗВА\fP...] .SH ОПИС .PP \fBbusctl\fP можна скористатися для глибинного аналізу та спостереження за каналами обміну даними D\-Bus\&. .SH КОМАНДИ .PP Передбачено обробку таких команд: .PP \fBlist\fP .RS 4 Вивести усі вузли на каналі за назвами їхніх служб\&. Типово, показує унікальні та загальновідомі назви, але це можна змінити за допомогою перемикачів \fB\-\-unique\fP і \fB\-\-acquired\fP\&. Це типова дія, якщо не вказано команди\&. .sp Додано у версії 209\&. .RE .PP \fBstatus\fP [\fIСЛУЖБА\fP] .RS 4 Вивести дані щодо процесу та реєстраційні дані служби каналу (якщо таку вказано за її унікальною та загальновідомою назвою), процес (якщо такий вказано за його числовим PID) або власника каналу (якщо не вказано жодного параметра)\&. .sp Додано у версії 209\&. .RE .PP \fBmonitor\fP [\fIСЛУЖБА\fP...] .RS 4 Створити дамп обміну повідомленнями\&. Якщо вказано параметр \fIСЛУЖБА\fP, вивести повідомлення до цього вузла і від цього вузла за ідентифікацією за загальновідомою або унікальною назвою\&. Якщо параметр не вказано, вивести усі повідомлення на каналі\&. Скористайтеся Ctrl+C для переривання виведення дампу\&. .sp Додано у версії 209\&. .RE .PP \fBcapture\fP [\fIСЛУЖБА\fP...] .RS 4 Подібна до команди \fBmonitor\fP, але записує виведені дані у форматі pcapng (щоб дізнатися більше, див. \m[blue]\fBФормат файлів захоплених даних PCAP Next Generation (pcapng)\fP\m[]\&\s-2\u[1]\d\s+2)\&. Не забудьте, переспрямувати стандартне виведення до файла або каналу\&. Для аналізу та перегляду файлів\-результатів можна скористатися інструментами, подібними до \fBwireshark\fP(1)\&. .sp Додано у версії 218\&. .RE .PP \fBtree\fP [\fIСЛУЖБА\fP...] .RS 4 Показує ієрархію об'єктів однієї або декількох служб\&. Якщо вказано параметр \fIСЛУЖБА\fP, вивести ієрархію об'єктів лише для вказаних служб\&. Якщо параметр не вказано, вивести ієрархії для усіх об'єктів усіх служб на каналі, які отримали принаймні одну загальновідому назву\&. .sp Додано у версії 218\&. .RE .PP \fBintrospect\fP \fIСЛУЖБА\fP \fIОБ'ЄКТ\fP [\fIІНТЕРФЕЙС\fP] .RS 4 Вивести інтерфейси, методи, властивості та сигнали вказаного об'єкта (ідентифікується за шляхом до нього) на вказаній службі\&. Якщо передано аргумент інтерфейсу, виведення буде обмежено членами вказаного інтерфейсу\&. .sp Додано у версії 218\&. .RE .PP \fBcall\fP \fIСЛУЖБА\fP \fIОБ'ЄКТ\fP \fIІНТЕРФЕЙС\fP \fIМЕТОД\fP [\fIПІДПИСE\fP\ [\fIАРГУМЕНТ\fP...]] .RS 4 Викликати метод і вивести відповідь\&. Приймає назву служби, шлях до об'єкта, назву інтерфейсу та назву методу\&. Якщо виклику методу слід передати параметри, потрібен рядок підпису, після його слід вказати аргументи, окремо форматовані як рядки\&. Подробиці форматування наведено нижче\&. Щоб придушити виведення повернених даних, скористайтеся параметром \fB\-\-quiet\fP\&. .sp Додано у версії 218\&. .RE .PP \fBemit\fP \fIОБ'ЄКТ\fP \fIІНТЕРФЕЙС\fP \fIСИГНАЛ\fP [\fIПІДПИС\fP\ [\fIАРГУМЕНТ\fP...]] .RS 4 Видати сигнал\&. Приймає шлях до об'єкта, назву інтерфейсу і назву методу\&. Якщо виклику методу слід передати параметри, потрібен рядок підпису, після його слід вказати аргументи, окремо форматовані як рядки\&. Подробиці форматування наведено нижче\&. Щоб вказати призначення сигналу, скористайтеся параметром \fB\-\-destination=\fP\&. .sp Додано у версії 242\&. .RE .PP \fBget\-property\fP \fIСЛУЖБА\fP \fIОБ'ЄКТ\fP \fIІНТЕРФЕЙС\fP \fIВЛАСТИВІСТЬ\fP... .RS 4 Отримати поточне значення однієї або декількох властивостей об'єкта\&. Приймає назву служби, шлях до об'єкта, назву інтерфейсу та назву властивості\&. Можна вказати одразу декілька властивостей\&. У цьому випадку їхні значення буде виведено одне за одним, відокремлені символами нового рядка\&. Дані буде, типово, виведено у скороченому форматі\&. Скористайтеся параметром \fB\-\-verbose\fP, щоб зробити виведені дані докладнішими\&. .sp Додано у версії 218\&. .RE .PP \fBset\-property\fP \fIСЛУЖБА\fP \fIОБ'ЄКТ\fP \fIІНТЕРФЕЙС\fP \fIВЛАСТИВІСТЬ\fP \fIПІДПИС\fP \fIАРГУМЕНТ\fP... .RS 4 Встановити поточне значення властивості об'єкта\&. Приймає назву служби, шлях до об'єкта, назву інтерфейсу, назву властивості, підпис властивості, а далі, список параметрів, які форматовано як рядки\&. .sp Додано у версії 218\&. .RE .PP \fBhelp\fP .RS 4 Вивести довідку щодо синтаксису команд\&. .sp Додано у версії 209\&. .RE .SH ПАРАМЕТРИ .PP Передбачено обробку таких параметрів: .PP \fB\-\-address=\fP\fIАДРЕСА\fP .RS 4 Встановити з'єднання із каналом, який задано параметром \fIАДРЕСА\fP, замість використання відповідних типових значень для системного каналу або каналу користувача (див. параметри \fB\-\-system\fP і \fB\-\-user\fP)\&. .sp Додано у версії 209\&. .RE .PP \fB\-\-show\-machine\fP .RS 4 При виведенні списку вузлів вивести стовпчик, що містить назви контейнерів, до яких вони належать\&. Див. \fBsystemd\-machined.service\fP(8)\&. .sp Додано у версії 209\&. .RE .PP \fB\-\-unique\fP .RS 4 При виведенні списку вузлів, виводити лише «унікальні» назви (у формі ":\fIчисло\fP\&.\fIчисло\fP")\&. .sp Додано у версії 209\&. .RE .PP \fB\-\-acquired\fP .RS 4 Протилежність до \fB\-\-unique\fP \(em буде виведено лише «загальновідомі» назви\&. .sp Додано у версії 209\&. .RE .PP \fB\-\-activatable\fP .RS 4 При виведенні списку вузлів вивести лише вузли, які насправді ще не активовано, але які може бути запущено автоматично при запиті щодо доступу\&. .sp Додано у версії 209\&. .RE .PP \fB\-\-match=\fP\fIВІДПОВІДНИК\fP .RS 4 При виведенні обміну повідомленнями виводити лише підмножину, яка відповідає взірцю \fIВІДПОВІДНИК\fP\&. Див. \fBsd_bus_add_match\fP(3)\&. .sp Додано у версії 209\&. .RE .PP \fB\-\-size=\fP .RS 4 Якщо використано з командою \fBcapture\fP, вказує максимальний розмір повідомлення каналу для захоплення ("snaplen")\&. Типовим значенням є 4096 байтів\&. .sp Додано у версії 218\&. .RE .PP \fB\-\-list\fP .RS 4 Якщо використано з командою \fBtree\fP, виводить простий список шляхів об'єктів замість ієрархічного\&. .sp Додано у версії 218\&. .RE .PP \fB\-q\fP, \fB\-\-quiet\fP .RS 4 Якщо використано з командою \fBcall\fP, придушити показ вмісту повідомлень\-відповідей\&. Зауважте, що якщо вказано цей параметр, повідомлення про помилки все одно буде виведено, а інструмент повідомить про успіх або помилку за допомогою коду виходу з процесу\&. .sp Додано у версії 218\&. .RE .PP \fB\-\-verbose\fP .RS 4 Якщо використано з командою \fBcall\fP або \fBget\-property\fP, виводить дані у докладнішому форматі\&. .sp Додано у версії 218\&. .RE .PP \fB\-\-xml\-interface\fP .RS 4 Якщо використано з командою \fBintrospect\fP, створити дамп опису XML, який отримано від виклику D\-Bus \fBorg\&.freedesktop\&.DBus\&.Introspectable\&.Introspect\fP, замість звичайного виведення\&. .sp Додано у версії 243\&. .RE .PP \fB\-\-json=\fP\fIРЕЖИМ\fP .RS 4 Якщо використано з командою \fBcall\fP або \fBget\-property\fP, виводить дані із форматуванням JSON\&. Аргументами можуть бути такі рядки: "short" (найскороченіше виведення без додаткових пробілів та розбиття на рядки) або "pretty" (форматована версія із відступами та розбиттям на рядки)\&. Зауважте, що перетворення з упорядкованих даних D\-Bus до JSON відбувається без втрат, що означає, що дані щодо типу буде вбудовано до ієрархії об'єктів JSON\&. .sp Додано у версії 240\&. .RE .PP \fB\-j\fP .RS 4 Еквівалент \fB\-\-json=pretty\fP, якщо викликано інтерактивно з термінала\&. Якщо це не так, еквівалент \fB\-\-json=short\fP, зокрема, якщо виведення передається конвеєром якійсь іншій програмі\&. .sp Додано у версії 240\&. .RE .PP \fB\-\-expect\-reply=\fP\fIБУЛЕВЕ ЗНАЧЕННЯ\fP .RS 4 Якщо використано з командою \fBcall\fP, вказує, чи має \fBbusctl\fP очікувати на завершення виклику методу, виведення повернутих даних відповіді методу і повернення повідомлення про успіх або помилку за допомогою коду виходу процесу\&. Якщо встановлено значення "no", буде видано виклик методу, але програма не очікуватиме на відповідь, роботу інструмента буде негайно перервано, отже, відповідь не виводитиметься, а дані щодо успіху або помилки не буде повернуто за допомогою коду виходу з програми\&. Щоб просто придушити виведення вмісту повідомлення\-відповіді, скористайтеся \fB\-\-quiet\fP, яку описано вище\&. Типовим варіантом є "yes"\&. .sp Додано у версії 218\&. .RE .PP \fB\-\-auto\-start=\fP\fIБУЛЕВЕ ЗНАЧЕННЯ\fP .RS 4 Якщо використано з командою \fBcall\fP або \fBemit\fP, вказує, чи має виклик методу неявним чином активувати викликану службу, якщо її ще не запущено, але налаштовано на автоматичний запуск\&. Типовим варіантом є "yes"\&. .sp Додано у версії 218\&. .RE .PP \fB\-\-allow\-interactive\-authorization=\fP\fIБУЛЕВЕ ЗНАЧЕННЯ\fP .RS 4 Якщо використано з командою \fBcall\fP, вказує, чи можуть служби примусово вимагати інтерактивного уповноваження під час виконання дії, якщо правила захисту налаштовано належним чином\&. Типовим варіантом є "yes"\&. .sp Додано у версії 218\&. .RE .PP \fB\-\-timeout=\fP\fIСЕКУНДИ\fP .RS 4 Якщо використано з командою \fBcall\fP, визначає максимальний час очікування для доповнення виклику методу\&. Якщо не вказано одиницю часу, неявним чином буде використано секунди\&. Програма може розпізнавати звичайні інші одиниці (ms, us, s, min, h, d, w, month, y)\&. Зауважте, що цей час очікування не буде застосовано, якщо використано \fB\-\-expect\-reply=no\fP, оскільки програма у цьому випадку не очікуватиме на жодне повідомлення\-відповідь\&. Якщо не вказано або якщо встановлено значення 0, буде використано типове значення "25s"\&. .sp Додано у версії 218\&. .RE .PP \fB\-\-augment\-creds=\fP\fIБУЛЕВЕ ЗНАЧЕННЯ\fP .RS 4 Керує тим, чи слід доповнювати реєстраційні дані, про які повідомлено \fBlist\fP або \fBstatus\fP, даними з /proc/\&. Якщо увімкнено, виведені дані, можливо, будуть несумісними, оскільки дані, які прочитано з /proc/, можуть бути новішими за решту реєстраційних даних\&. Типовим значенням є "yes"\&. .sp Додано у версії 218\&. .RE .PP \fB\-\-watch\-bind=\fP\fIБУЛЕВЕ ЗНАЧЕННЯ\fP .RS 4 Керує тим, чи слід очікувати на появу вказаного сокета каналу \fBAF_UNIX\fP у файловій системі до встановлення з'єднання з ним\&. Типово, очікування вимкнено\&. Якщо увімкнено, інструмент стежитиме за файловою системою до створення сокета, а потім встановлюватиме з ним з'єднання\&. .sp Додано у версії 237\&. .RE .PP \fB\-\-destination=\fP\fIСЛУЖБА\fP .RS 4 Приймає назву служби\&. Якщо використано з командою \fBemit\fP, для вказаної служби буде видано сигнал\&. .sp Додано у версії 242\&. .RE .PP \fB\-\-user\fP .RS 4 Обмінюватися даними із засобом керування службами користувача, який викликав команду, а не з засобом керування службами системи\&. .RE .PP \fB\-\-system\fP .RS 4 Обмінюватися даними із загальносистемним засобом керування службами\&. Це неявний типовий варіант\&. .RE .PP \fB\-H\fP, \fB\-\-host=\fP .RS 4 Виконати дію віддалено\&. Вкажіть назву вузла або відокремлені символом «@» ім'я користувача і назву вузла, з якими слід встановити з'єднання\&. До назви вузла можна дописати суфікс порту, на якому очікуватиме на з'єднання ssh. Суфікс має бути відокремлено двокрапкою\&. Далі, можна вказати назву контейнера, відокремлену «/», яка вказуватиме що з'єднання слід встановити безпосередньо із вказаним контейнером на вказаному вузлі\&. Для обміну даними із екземпляром засобу керування на віддаленому комп'ютері буде використано SSH\&. Назви контейнерів можна нумерувати за допомогою \fBmachinectl \-H \fP\fIВУЗОЛ\fP\&. Адреси IPv6 слід брати у квадратні дужки\&. .RE .PP \fB\-M\fP, \fB\-\-machine=\fP .RS 4 Виконати дію у локальному контейнері\&. Вкажіть назву контейнера, з якими слід встановити з'єднання, із необов'язковим префіксом імені користувача, який слід відокремити від назви контейнера символом «@»\&. Якщо замість контейнера використати особливий рядок «\&.host», буде встановлено з'єднання із локальною системою (це корисно для встановлення з'єднання із каналом даних певного користувача: «\-\-user \-\-machine=lennart@\&.host»)\&. Якщо не буде використано синтаксичної конструкції із «@», буде встановлено з'єднання від імені користувача root\&. Якщо використано «@», ліву чи праву частину синтаксичного виразу навколо нього може бути пропущено (але не обидві частини). У цьому випадку неявно буде використано ім'я локального користувача і «\&.host», відповідно\&. .RE .PP \fB\-l\fP, \fB\-\-full\fP .RS 4 Не обривати багатокрапкою виведення команди \fBlist\fP\&. .sp Додано у версії 245\&. .RE .PP \fB\-\-no\-pager\fP .RS 4 Не передавати виведені дані до засобу поділу на сторінки\&. .RE .PP \fB\-\-no\-legend\fP .RS 4 Не виводити умовні позначення, тобто заголовки і підвали стовпчиків із підказками\&. .RE .PP \fB\-h\fP, \fB\-\-help\fP .RS 4 Вивести короткий текст довідки і завершити роботу\&. .RE .PP \fB\-\-version\fP .RS 4 Вивести короткі дані щодо версії і завершити роботу\&. .RE .SH "ФОРМАТУВАННЯ ПАРАМЕТРІВ" .PP Команди \fBcall\fP і \fBset\-property\fP приймають рядок підпису, за яким слід вказати список параметрів, форматованих як рядок (докладний опис рядків підпису D\-Bus наведено у \m[blue]\fBрозділі системи типів специфікації D\-Bus\fP\m[]\&\s-2\u[2]\d\s+2)\&. Для простих типів кожен параметр після підпису має бути простим значенням параметра, форматованого як рядок\&. Позитивні булеві значення може бути форматовано як "true", "yes", "on" або "1"; негативні булеві значення можна вказати як "false", "no", "off" або "0"\&. Для масивів за числовим аргументом для кількості записів має бути вказано записи\&. Для варіантів має бути вказано підпис даних, а потім дані\&. Для словників і структур має бути безпосередньо вказано їхній вміст\&. .PP Приклад: .sp .if n \{\ .RS 4 .\} .nf s jawoll .fi .if n \{\ .RE .\} .sp є форматуванням одного рядка "jawoll"\&. .PP .if n \{\ .RS 4 .\} .nf as 3 hello world foobar .fi .if n \{\ .RE .\} .sp є форматуванням масиву рядків із трьома записами, "hello", "world" і "foobar"\&. .PP .if n \{\ .RS 4 .\} .nf a{sv} 3 One s Eins Two u 2 Yes b true .fi .if n \{\ .RE .\} .sp є форматуванням масиву словника, який пов'язує рядки з варіантами і складається з трьох записів\&. Рядок "One" пов'язано із рядком "Eins"\&. Рядок "Two" пов'язано із 32\-бітовим цілим числом без знаку 2\&. Рядок "Yes" пов'язано із позитивним булевим значенням\&. .PP Зауважте, що команди \fBcall\fP, \fBget\-property\fP, \fBintrospect\fP також виводять дані у цьому форматі\&. Оскільки цей формат є дещо складним для розуміння, команди \fBcall\fP і \fBget\-property\fP можуть виводити докладніші багаторядкові дані, якщо передано параметр \fB\-\-verbose\fP\&. .SH ПРИКЛАДИ .PP \fBПриклад\ \&1.\ \&Записування і читання властивості\fP .PP Наведені нижче дві команди спочатку записують значення властивості, а потім читають його\&. Властивість розташовано в об'єкті "/org/freedesktop/systemd1" служби "org\&.freedesktop\&.systemd1"\&. Назвою властивості є "LogLevel" на інтерфейсі "org\&.freedesktop\&.systemd1\&.Manager"\&. Властивість містить один рядок: .sp .if n \{\ .RS 4 .\} .nf # busctl set\-property org\&.freedesktop\&.systemd1 /org/freedesktop/systemd1 org\&.freedesktop\&.systemd1\&.Manager LogLevel s debug # busctl get\-property org\&.freedesktop\&.systemd1 /org/freedesktop/systemd1 org\&.freedesktop\&.systemd1\&.Manager LogLevel s "debug" .fi .if n \{\ .RE .\} .PP \fBПриклад\ \&2.\ \&Скорочене і докладне виведення\fP .PP Наступні дві команди читають властивість, яка містить масив рядків, і спершу виводять її у скороченому форматі, а потім у докладному: .sp .if n \{\ .RS 4 .\} .nf $ busctl get\-property org\&.freedesktop\&.systemd1 /org/freedesktop/systemd1 org\&.freedesktop\&.systemd1\&.Manager Environment as 2 "LANG=en_US\&.UTF\-8" "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" $ busctl get\-property \-\-verbose org\&.freedesktop\&.systemd1 /org/freedesktop/systemd1 org\&.freedesktop\&.systemd1\&.Manager Environment ARRAY "s" { STRING "LANG=en_US\&.UTF\-8"; STRING "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"; }; .fi .if n \{\ .RE .\} .PP \fBПриклад\ \&3.\ \&Виклик методу\fP .PP Наступна команда викликає метод "StartUnit" на інтерфейсі "org\&.freedesktop\&.systemd1\&.Manager" об'єкта "/org/freedesktop/systemd1" служби "org\&.freedesktop\&.systemd1" і передає йому два рядки, "cups\&.service" і "replace"\&. Результатом виклику методу є отримання і показ одинарного параметра шляху до об'єкта: .sp .if n \{\ .RS 4 .\} .nf # busctl call org\&.freedesktop\&.systemd1 /org/freedesktop/systemd1 org\&.freedesktop\&.systemd1\&.Manager StartUnit ss "cups\&.service" "replace" o "/org/freedesktop/systemd1/job/42684" .fi .if n \{\ .RE .\} .SH "ДИВ. ТАКОЖ" .PP \fBdbus\-daemon\fP(1), \m[blue]\fBD\-Bus\fP\m[]\&\s-2\u[3]\d\s+2, \fBsd\-bus\fP(3), \fBvarlinkctl\fP(1), \fBsystemd\fP(1), \fBmachinectl\fP(1), \fBwireshark\fP(1) .SH ПРИМІТКИ .IP " 1." 4 Формат файлів захоплених даних PCAP Next Generation (pcapng) .RS 4 \%https://github.com/pcapng/pcapng/ .RE .IP " 2." 4 Глава щодо системи типів у специфікації D\-Bus .RS 4 \%https://dbus.freedesktop.org/doc/dbus\-specification.html#type\-system .RE .IP " 3." 4 D\-Bus .RS 4 \%https://www.freedesktop.org/wiki/Software/dbus .RE .PP .SH ПЕРЕКЛАД Український переклад цієї сторінки посібника виконано Yuri Chornoivan . .PP Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE . НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ. .PP Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: .MT trans-uk@lists.fedoraproject.org .ME .