.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "guestunmount 1" .TH guestunmount 1 "2021-01-05" "libguestfs-1.44.0" "Virtualization Support" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "НАЗВА" .IX Header "НАЗВА" guestunmount — демонтування змонтованої за допомогою guestmount файлової системи .SH "КОРОТКИЙ ОПИС" .IX Header "КОРОТКИЙ ОПИС" .Vb 1 \& guestunmount точка_монтування \& \& guestunmount \-\-fd=<дескрипто_файла> точка монтування .Ve .SH "ОПИС" .IX Header "ОПИС" guestunmount — програма для автоматичного вилучення змонтованих файлових систем. \fBguestmount\fR\|(1) монтує файлові системи за допомогою libguestfs. Ця програма демонтує файлову систему, коли програма або скрипт завершує роботу з нею. .PP guestunmount є обгорткою навколо програми \s-1FUSE\s0 \fBfusermount\fR\|(1), яка має зберігатися у одному з каталогів, вказаних за допомогою поточної змінної \&\f(CW\*(C`PATH\*(C'\fR. .PP Існує два способи використання guestunmount. Якщо програму викликано так: .PP .Vb 1 \& guestunmount точка_монтування .Ve .PP вона демонтує точку монтування \f(CW\*(C`точка_монтування\*(C'\fR негайно. .PP Якщо ж програму викликано так: .PP .Vb 1 \& guestunmount \-\-fd=FD точка_монтування .Ve .PP програма чекатиме, аж доки не буде закрито дескриптор файла \f(CW\*(C`FD\*(C'\fR каналу. Цим можна скористатися для спостереження за іншим процесом і вилучення точки монтування після завершення роботи процесу, як це описано нижче. .SS "З ПРОГРАМ" .IX Subsection "З ПРОГРАМ" Ви можете просто викликати \f(CW\*(C`guestunmount точка_монтування\*(C'\fR з програми, але розумніше було б скористатися guestunmount так, щоб ця програма спостерігала за вашою програмою і вилучала точку монтування, якщо програма неочікувано завершить роботу. .PP У програмі створіть канал обробки (наприклад, за допомогою виклику \&\fBpipe\fR\|(2)). Нехай \f(CW\*(C`FD\*(C'\fR є номером дескриптора файла з боку читання у каналі (тобто \f(CW\*(C`pipefd[0]\*(C'\fR). .PP Після монтування файлової системи за допомогою \fBguestmount\fR\|(1) (до точки монтування \f(CW\*(C`точка_монтування\*(C'\fR) виконайте відгалуження (fork) і запустіть guestunmount ось так: .PP .Vb 1 \& guestunmount \-\-fd=FD точка_монтування .Ve .PP Закрийте бік читання у каналі обробки у батьківському процесі. .PP Тепер, коли з якоїсь причини буде закрито бік запису у каналі (тобто \&\f(CW\*(C`pipefd[1]\*(C'\fR), явно або у результаті завершення роботи батьківського процесу, guestunmount зауважить це і демонтує точку монтування. .PP Якщо у вашій операційній системі передбачено підтримку цього, вам слід встановити прапорець \f(CW\*(C`FD_CLOEXEC\*(C'\fR на боці запису у каналі. Таким чином ви забороните іншим дочірнім процесам успадковувати дескриптор файла і тримати його відкритим. .PP Guestunmount ніколи не перетворюється на фонову службу. .SS "ЗІ СКРИПТІВ ОБОЛОНКИ" .IX Subsection "ЗІ СКРИПТІВ ОБОЛОНКИ" Оскільки у bash не передбачено способу створення неіменованого каналу обробки, скористайтеся trap для виклику guestunmount при виході, ось так: .PP .Vb 1 \& trap "guestunmount точка_монтування" EXIT INT QUIT TERM .Ve .SH "ПАРАМЕТРИ" .IX Header "ПАРАМЕТРИ" .IP "\fB\-\-fd=FD\fR" 4 .IX Item "--fd=FD" Вкажіть дескриптор файла каналу для спостереження і відкладіть вилучення до закриття каналу. .IP "\fB\-\-help\fR" 4 .IX Item "--help" Показати короткі довідкові дані і завершити роботу. .IP "\fB\-q\fR" 4 .IX Item "-q" .PD 0 .IP "\fB\-\-quiet\fR" 4 .IX Item "--quiet" .PD Не показувати повідомлень про помилки від fusermount. Стан повернення все одно буде встановлено (див. \*(L"СТАН ВИХОДУ\*(R" нижче). .IP "\fB\-\-no\-retry\fR" 4 .IX Item "--no-retry" .PD 0 .IP "\fB\-\-retry=N\fR" 4 .IX Item "--retry=N" .PD Типово, guestunmount виконуватиме повторні спроби fusermount аж до 5 разів (тобто загалом буде виконано 6 спроб = 1 перша спроба + 5 повторних спроб). .Sp Скористайтеся параметром \fI\-\-no\-retry\fR, щоб наказати guestunmount запускати fusermount лише один раз. .Sp Скористайтеся параметром \fI\-\-retry=N\fR, щоб наказати guestunmount виконувати \&\f(CW\*(C`N\*(C'\fR повторних спроб замість 5. .Sp guestunmount збільшує час між спробами експоненційно, очікуючи 1 секунду, 2 секунди, 4 секунди тощо перед кожною повторною спробою. .IP "\fB\-V\fR" 4 .IX Item "-V" .PD 0 .IP "\fB\-\-version\fR" 4 .IX Item "--version" .PD Показати дані щодо версії програми, потім вийти .SH "ЗМІННІ СЕРЕДОВИЩА" .IX Header "ЗМІННІ СЕРЕДОВИЩА" .ie n .IP """PATH""" 4 .el .IP "\f(CWPATH\fR" 4 .IX Item "PATH" Програма \fBfusermount\fR\|(1) (є частиною комплекту \s-1FUSE\s0) має зберігатися у одному з каталогів, вказаних за допомогою поточної змінної \f(CW\*(C`PATH\*(C'\fR. .SH "СТАН ВИХОДУ" .IX Header "СТАН ВИХОДУ" Ця програма повертає значення 0 у разі успішного завершення або один із таких кодів помилок: .ie n .IP "1" 4 .el .IP "\f(CW1\fR" 4 .IX Item "1" Помилка програми, наприклад, не вдалося отримати достатній обсяг пам'яті, не вдалося запустити fusermount. Щоб дізнатися більше, ознайомтеся із виведеним повідомленням про помилку. .ie n .IP "2" 4 .el .IP "\f(CW2\fR" 4 .IX Item "2" Не вдалося демонтувати точку монтування навіть після повторних спроб. Дані щодо базової помилки fusermount буде показано у виведеному повідомленні про помилку. .ie n .IP "3" 4 .el .IP "\f(CW3\fR" 4 .IX Item "3" Точку монтування не змонтовано. .SH "ТАКОЖ ПЕРЕГЛЯНЬТЕ" .IX Header "ТАКОЖ ПЕРЕГЛЯНЬТЕ" \&\fBguestmount\fR\|(1), \fBfusermount\fR\|(1), \fBpipe\fR\|(2), \*(L"ЛОКАЛЬНЕ МОНТУВАННЯ\*(R" in \fBguestfs\fR\|(3), http://libguestfs.org/, http://fuse.sf.net/. .SH "АВТОРИ" .IX Header "АВТОРИ" Richard W.M. Jones (\f(CW\*(C`rjones at redhat dot com\*(C'\fR) .SH "АВТОРСЬКІ ПРАВА" .IX Header "АВТОРСЬКІ ПРАВА" © Red Hat Inc., 2013 .SH "LICENSE" .IX Header "LICENSE" .SH "BUGS" .IX Header "BUGS" To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools .PP To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools .PP When reporting a bug, please supply: .IP "\(bu" 4 The version of libguestfs. .IP "\(bu" 4 Where you got libguestfs (eg. which Linux distro, compiled from source, etc) .IP "\(bu" 4 Describe the bug accurately and give a way to reproduce it. .IP "\(bu" 4 Run \fBlibguestfs\-test\-tool\fR\|(1) and paste the \fBcomplete, unedited\fR output into the bug report.