table of contents
guestunmount(1) | Virtualization Support | guestunmount(1) |
НАЗВА¶
guestunmount — демонтування змонтованої за допомогою guestmount файлової системи
КОРОТКИЙ ОПИС¶
guestunmount точка_монтування guestunmount --fd=<дескрипто_файла> точка монтування
ОПИС¶
guestunmount — програма для автоматичного вилучення змонтованих файлових систем. guestmount(1) монтує файлові системи за допомогою libguestfs. Ця програма демонтує файлову систему, коли програма або скрипт завершує роботу з нею.
guestunmount є обгорткою навколо програми FUSE fusermount(1), яка має зберігатися у одному з каталогів, вказаних за допомогою поточної змінної "PATH".
Існує два способи використання guestunmount. Якщо програму викликано так:
guestunmount точка_монтування
вона демонтує точку монтування "точка_монтування" негайно.
Якщо ж програму викликано так:
guestunmount --fd=FD точка_монтування
програма чекатиме, аж доки не буде закрито дескриптор файла "FD" каналу. Цим можна скористатися для спостереження за іншим процесом і вилучення точки монтування після завершення роботи процесу, як це описано нижче.
З ПРОГРАМ¶
Ви можете просто викликати "guestunmount точка_монтування" з програми, але розумніше було б скористатися guestunmount так, щоб ця програма спостерігала за вашою програмою і вилучала точку монтування, якщо програма неочікувано завершить роботу.
У програмі створіть канал обробки (наприклад, за допомогою виклику pipe(2)). Нехай "FD" є номером дескриптора файла з боку читання у каналі (тобто "pipefd[0]").
Після монтування файлової системи за допомогою guestmount(1) (до точки монтування "точка_монтування") виконайте відгалуження (fork) і запустіть guestunmount ось так:
guestunmount --fd=FD точка_монтування
Закрийте бік читання у каналі обробки у батьківському процесі.
Тепер, коли з якоїсь причини буде закрито бік запису у каналі (тобто "pipefd[1]"), явно або у результаті завершення роботи батьківського процесу, guestunmount зауважить це і демонтує точку монтування.
Якщо у вашій операційній системі передбачено підтримку цього, вам слід встановити прапорець "FD_CLOEXEC" на боці запису у каналі. Таким чином ви забороните іншим дочірнім процесам успадковувати дескриптор файла і тримати його відкритим.
Guestunmount ніколи не перетворюється на фонову службу.
ЗІ СКРИПТІВ ОБОЛОНКИ¶
Оскільки у bash не передбачено способу створення неіменованого каналу обробки, скористайтеся trap для виклику guestunmount при виході, ось так:
trap "guestunmount точка_монтування" EXIT INT QUIT TERM
ПАРАМЕТРИ¶
- --fd=FD
- Вкажіть дескриптор файла каналу для спостереження і відкладіть вилучення до закриття каналу.
- --help
- Показати короткі довідкові дані і завершити роботу.
- -q
- --quiet
- Не показувати повідомлень про помилки від fusermount. Стан повернення все одно буде встановлено (див. "СТАН ВИХОДУ" нижче).
- --no-retry
- --retry=N
- Типово, guestunmount
виконуватиме
повторні
спроби fusermount
аж до
5 разів
(тобто
загалом
буде
виконано
6 спроб =
1 перша спроба
+
5 повторних спроб).
Скористайтеся параметром --no-retry, щоб наказати guestunmount запускати fusermount лише один раз.
Скористайтеся параметром --retry=N, щоб наказати guestunmount виконувати "N" повторних спроб замість 5.
guestunmount збільшує час між спробами експоненційно, очікуючи 1 секунду, 2 секунди, 4 секунди тощо перед кожною повторною спробою.
- -V
- --version
- Показати дані щодо версії програми, потім вийти
ЗМІННІ СЕРЕДОВИЩА¶
- "PATH"
- Програма fusermount(1) (є частиною комплекту FUSE) має зберігатися у одному з каталогів, вказаних за допомогою поточної змінної "PATH".
СТАН ВИХОДУ¶
Ця програма повертає значення 0 у разі успішного завершення або один із таких кодів помилок:
- 1
- Помилка програми, наприклад, не вдалося отримати достатній обсяг пам'яті, не вдалося запустити fusermount. Щоб дізнатися більше, ознайомтеся із виведеним повідомленням про помилку.
- 2
- Не вдалося демонтувати точку монтування навіть після повторних спроб. Дані щодо базової помилки fusermount буде показано у виведеному повідомленні про помилку.
- 3
- Точку монтування не змонтовано.
ТАКОЖ ПЕРЕГЛЯНЬТЕ¶
guestmount(1), fusermount(1), pipe(2), "ЛОКАЛЬНЕ МОНТУВАННЯ" in guestfs(3), http://libguestfs.org/, http://fuse.sf.net/.
АВТОРИ¶
Richard W.M. Jones ("rjones at redhat dot com")
АВТОРСЬКІ ПРАВА¶
© Red Hat Inc., 2013
LICENSE¶
BUGS¶
To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
When reporting a bug, please supply:
- The version of libguestfs.
- Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
- Describe the bug accurately and give a way to reproduce it.
- Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.
2019-02-07 | libguestfs-1.40.2 |