.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1993 Rickard E. Faith .\" and Copyright (C) 1994 Andries E. Brouwer .\" and Copyright (C) 2002, 2005 Michael Kerrisk .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" 2008-10-06, mtk: Created this as a new page by splitting .\" umount/umount2 material out of mount.2 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH UMOUNT 2 "9 червня 2020 року" Linux "Підручник програміста Linux" .SH НАЗВА umount, umount2 — демонтування файлової системи .SH "КОРОТКИЙ ОПИС" .nf \fB#include \fP .PP \fBint umount(const char *\fP\fIціль\fP\fB);\fP .PP \fBint umount2(const char *\fP\fIціль\fP\fB, int \fP\fIпрапорці\fP\fB);\fP .fi .SH ОПИС .\" Note: the kernel naming differs from the glibc naming .\" umount2 is the glibc name for what the kernel now calls umount .\" and umount is the glibc name for oldumount \fBumount\fP() і \fBumount2\fP() вилучають долучення (найвищої) файлової системи, яку змонтовано до \fIцілі\fP. .PP Для демонтування файлових систем потрібні відповідні права доступу (Linux: можливість \fBCAP_SYS_ADMIN\fP). .PP У Linux 2.1.116 додано системний виклик \fBumount2\fP(), який, подібно до \fBumount\fP(), демонтує ціль, але уможливлює додаткове керування \fIпрапорцями\fP поведінкою виконаної дії: .TP \fBMNT_FORCE\fP (починаючи з Linux 2.1.116) Наказати файловій системі припинити обробку запитів з черги до спроби демонтування. Це може дозволити завершити демонтування без очікування на зв'язок із недоступним сервером, але може спричинити втрату даних. Якщо після переривання запитів якісь процеси матимуть активні посилання на файлову систему, демонтування зазнає невдачі. З випуску Linux 4.12, у \fBMNT_FORCE\fP передбачено підтримку лише таких файлових систем: 9p (з появи Linux 2.6.16), ceph (з появи Linux 2.6.34), cifs (з появи Linux 2.6.12), fuse (з появи Linux 2.6.16), lustre (з появи Linux 3.11) та NFS (з появи Linux 2.1.116). .TP \fBMNT_DETACH\fP (починаючи з Linux 2.4.11) Виконати ліниве демонтування: зробити точку монтування недоступною для нових доступів, негайно від'єднати файлову систему та усі підлеглі монтування файлової системи одна від одної та від таблиці монтувань, а саме демонтування виконати, коли точка монтування стане незайнятою. .TP \fBMNT_EXPIRE\fP (починаючи з Linux 2.6.8) Позначити монтування як таке, строк якого вичерпано Якщо монтування перебуває у використанні, початковий виклик \fBumount2\fP() із цим прапорцем зазнає невдачі з кодом помилки \fBEAGAIN\fP, але позначить монтування як таке, строк дії якого вичерпано. Монтування лишатимуться таким, строк дії якого вичерпано, доки до нього не буде встановлено доступ з якогось процесу. Другий виклик \fBumount2\fP(), що визначає \fBMNT_EXPIRE\fP, демонтує застаріле монтування. Цей прапорець не можна вказувати у поєднанні із \fBMNT_FORCE\fP або \fBMNT_DETACH\fP. .TP \fBUMOUNT_NOFOLLOW\fP (починаючи з Linux 2.6.34) .\" Later added to 2.6.33-stable Не розіменовувати \fIціль\fP, якщо вона є символічним посиланням. Цей прапорець надає змогу уникнути проблем із захистом у програмах із set\-user\-ID\-\fIroot\fP, які надають змогу непривілейованим користувачам демонтувати файлові системи. .SH "ПОВЕРНУТЕ ЗНАЧЕННЯ" Якщо функцію буде успішно виконано, буде повернуто нуль. Якщо станеться помилка, буде повернуто \-1 і належним чином встановлено \fIerrno\fP. .SH ПОМИЛКИ Значення помилок, які вказано нижче, є результатом обчислення кодів помилок, які є незалежними від типу файлової системи. У кожного типу файлової системи можуть бути власні спеціалізовані коди помилок і власна спеціалізована поведінка. Див. початковий код ядра Linux, щоб дізнатися більше. .TP \fBEAGAIN\fP Виклик \fBumount2\fP(), що вказує \fBMNT_EXPIRE\fP, успішно позначив незайняту файлову систему як таку, строк дії якої завершено. .TP \fBEBUSY\fP \fIціль\fP не вдалося демонтувати, оскільки її було зайнято виконанням дій. .TP \fBEFAULT\fP \fIціль\fP вказує на місце поза адресним простором користувача. .TP \fBEINVAL\fP \fIціль\fP не є точкою монтування. .TP \fBEINVAL\fP \fBumount2\fP() було викликано з \fBMNT_EXPIRE\fP і або \fBMNT_DETACH\fP, або \fBMNT_FORCE\fP. .TP \fBEINVAL\fP (починаючи з Linux 2.6.34) \fBumount2\fP() було викликано із некоректним значенням прапорця у \fIпрапорцях\fP. .TP \fBENAMETOOLONG\fP Довжина шляху перевищує \fBMAXPATHLEN\fP. .TP \fBENOENT\fP Шлях є порожнім або містить компонент, якого не існує. .TP \fBENOMEM\fP Ядру не вдалося розмістити у пам'яті вільну сторінку для копіювання туди назв файлів або даних. .TP \fBEPERM\fP Команда, з якої викликано функцію, не має потрібних прав доступу. .SH ВЕРСІЇ .\" http://sourceware.org/bugzilla/show_bug.cgi?id=10092 \fBMNT_DETACH\fP і \fBMNT_EXPIRE\fP доступні у glibc, починаючи з версії 2.11. .SH ВІДПОВІДНІСТЬ Ці функції є специфічними для Linux. Ними не слід користуватися у програмах, які підлягають портуванню на інші операційні системи. .SH ПРИМІТКИ .SS "umount() і точки монтування спільного використання" Спільне монтування спричиняє переспрямування будь\-яких дій із монтуванням, зокрема дій \fBumount\fP(), до будь\-якого спільного монтування у групі вузлів та будь\-якого підлеглого монтування у цій групі вузлів. Це означає, що виконання \fBumount\fP() для будь\-якого вузла у наборі спільних монтувань спричинятиме демонтування усіх його вузлів, а також демонтування усіх його підлеглих монтувань. .PP Таке поширення дій з демонтування може бути дещо несподіваним у системах, де усі монтування є типово спільними. У таких системах рекурсивне монтування з прив'язуванням кореневого каталогу файлової системи до підкаталогу, а наступне демонтування цього підкаталогу за допомогою \fBMNT_DETACH\fP призведе до лінивого демонтування усіх монтувань у просторі назв монтування. .PP Щоб заборонити поширення \fBumount\fP() у цей спосіб, монтування можна повторно змонтувати за допомогою виклику \fBmount\fP(2) із аргументом \fIпрапорці_монтування\fP, який включатиме одразу \fBMS_REC\fP і \fBMS_PRIVATE\fP, перед викликом \fBumount\fP(). .SS "Історичні подробиці" Виклик початкової версії функції \fBumount\fP() здійснювався як \fIumount(пристрій)\fP і повертав \fBENOTBLK\fP при виклику із чимось відмінним від блокового пристрою. У Linux 0.98p4 було додано виклик \fIumount(dir)\fP для реалізації підтримки анонімних пристроїв. У Linux 2.3.99\-pre7 виклик \fIumount(пристрій)\fP було вилучено — лишився лише виклик \fIumount(катало)\fP (оскільки з того часу пристрої можна було монтувати у декілька місць, тому визначення пристрою стало недостатньо). .SH "ДИВ. ТАКОЖ" \fBmount\fP(2), \fBmount_namespaces\fP(7), \fBpath_resolution\fP(7), \fBmount\fP(8), \fBumount\fP(8) .SH ПІСЛЯМОВА Ця сторінка є частиною випуску 5.10 проєкту \fIman\-pages\fP Linux. Опис проєкту, дані щодо звітування про вади та найсвіжішу версію цієї сторінки можна знайти за адресою \%https://www.kernel.org/doc/man\-pages/. .PP .SH ПЕРЕКЛАД Український переклад цієї сторінки посібника виконано Maxim V. Dziumanenko і 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 .