Provided by: manpages-uk_4.15.0-9_all bug

НАЗВА

       hardlink — пов'язування посиланнями декількох копій файла

КОРОТКИЙ ОПИС

       hardlink [параметри] [каталог|файл]...

ОПИС

       hardlink — інструмент, який заміняє копії файла їхніми жорсткими посиланнями або клонами
       копіювання-при-записі, які надають змогу заощадити місце на диску.

       Спочатку, hardlink створює бінарне дерево розмірів файлів, а потім порівнює вміст файлів,
       які мають однаковий розмір. Передбачено два базових методів порівняння вмісту. При
       використанні методу memcmp програма безпосередньо читає блоки даних з файлів і порівнює
       її. Інший метод засновано на контрольних сумах (подібних до SHA256); у цьому випадку для
       кожного з блоків даних буде обчислено контрольну суму за допомогою програмного інтерфейсу
       шифрування ядра Linux, і цю контрольну суму буде збережено у просторі користувача і
       використано для порівняння.

       Для кожного файла також буде кешовано «вступний» буфер (32 байти). Цей буфер буде
       використано незалежно від методу порівняння і запитаного розміру кешу та розміру
       введення-виведення. «Вступний» буфер значно зменшує потребу у діях із даними, оскільки
       файли дуже часто відрізняються уже початковим вмістом.

ПАРАМЕТРИ

       -h, --help
           Вивести текст довідки і завершити роботу.

       -V, --version
           Вивести дані щодо версії і завершити роботу.

       -v, --verbose
           Вивести докладніші повідомлення із поясненням користувачеві того, які дії виконуються.
           Якщо вказано один раз, буде показано кожен файл із жорсткими посиланнями; якщо вказано
           двічі, також показує усі порівняння.

       -q, --quiet
           Режим без повідомлень — нічого не виводити.

       -n, --dry-run
           Не виконувати дій, лише вивести дані щодо того, що буде зроблено.

       -y, --method назва
           Встановити метод порівняння файлів. Серед методів, підтримку яких передбачено у
           програмі, sha256, sha1, crc32c і memcmp. Типовим є sha256 або memcmp, якщо програмний
           інтерфейс Linux є недоступним. Методи, засновані на контрольних сумах, реалізовано у
           спосіб нуль-копіювання. У цьому випадку вміст файла не буде скопійовано до простору
           користувача, а усі обчислення буде виконано в ядрі.

       --reflink[=умова]
           Створити клони з копіюванням-при-запису, а не жорсткі посилання. Спільними для
           файлів-клонів є лише дані на диску, а режим доступу до файлів та власник можуть бути
           різними. Рекомендуємо використовувати його з параметрами --ignore-owner і
           --ignore-mode. Цей параметр неявним чином встановлює --skip-reflinks для ігнорування
           вже клонованих файлів.

           Значенням необов'язкового аргументу умова може бути never, always або auto. Якщо
           аргумент умова пропущено, типовим значенням є auto. У цьому випадку hardlink перевіряє
           тип файлової системи і використовує клони лише у BTRFS і XFS, а резервне повернення до
           жорстких посилань, якщо створення клону є неможливим. Значення аргументу always
           призводить до вимикання виявлення типу файлової системи і повернення до жорстких
           посилань; у цьому випадку дозволеними будуть лише клони.

       --skip-reflinks
           Ігнорувати вже клоновані файли. Цим параметром можна скористатися без --reflink при
           створенні класичних жорстких посилань.

       -f, --respect-name
           Намагатися створити посилання лише для файлів з однаковою (основною) назвою.
           Наполегливо рекомендуємо використовувати довгі версії запису параметрів, а не -f, який
           може бути оброблено у різний спосіб іншими реалізаціями hardlink.

       -p, --ignore-mode
           Створити посилання і порівняти файли, навіть якщо режим доступу до файлів є різним.
           Результати можуть бути дещо непередбачуваними.

       -o, --ignore-owner
           Створити посилання і порівняти файли, навіть якщо дані щодо власника (користувача і
           групи) є різними. Результати можуть бути непередбачуваними.

       -t, --ignore-time
           Створити посилання і порівняти файли, навіть якщо час внесення змін до файлів є
           різним. Зазвичай, варто цим скористатися.

       -c --content
           Брати до уваги лише вміст файлів, а не атрибути, при визначенні того, чи є файли
           однаковими. Те саме, що -pot.

       -X, --respect-xattrs
           Намагатися пов'язати посиланням файли, лише якщо у них однакові розширені атрибути.

       -m, --maximize
           Серед однакових файлів зберігати файл із найвищою кількістю посилань.

       -M, --minimize
           Серед однакових файлів зберігати файл із найнижчою кількістю посилань.

       -O, --keep-oldest
           Серед однакових файлів зберегти найдавніший файл (файл із найдавнішим часом внесення
           змін). Типово, буде збережено найновіший файл. Якщо вказано --maximize або --minimize,
           кількість посилань матиме вищий пріоритет за час внесення змін.

       -x, --exclude формальний_вираз
           Формальний вираз, який виключає файли із порівняння і створення посилань.

       -i, --include формальний_вираз
           Формальний вираз для включення файлів. Якщо було вказано параметр --exclude, цей
           параметр повторно включає файли, які інакше було б виключено. Якщо параметр
           використано без --exclude, буде включено лише файли, які відповідають взірцю.

       -s, --minimum-size розмір
           Мінімальний розмір, який слід розглядати. Типовим є 1, посилання на порожні файли не
           створюватимуться. За аргументом розмір можна вказати одиницю виміру: KiB (=124), MiB
           (=1024*1024) тощо для GiB, TiB, PiB, EiB, ZiB та YiB (частина «iB» є необов'язковою,
           наприклад «K» є тим самим, що і «KiB»)

       -S, --maximum-size розмір
           Максимальний розмір, який слід розглядати. Типовим є 0, тобто «без обмежень». За
           аргументом розмір можна вказати одиницю виміру: KiB (=1024), MiB (=1024*1024) тощо для
           GiB, TiB, PiB, EiB, ZiB та YiB (частина «iB» є необов'язковою, наприклад «K» є тим
           самим, що і «KiB»).

       -b, --io-size розмір
           Розмір буфера read(2) або sendfile(2), який буде використано для порівняння вмісту
           файлів. Після аргументу розмір може бути вказано суфікси розмірностей — KiB, MiB тощо.
           Частина рядка «iB» є необов'язковою, наприклад, «K» є тим самим, що і «KiB». Типовим є
           розмір 8 КіБ для методу memcmp і 1 МіБ для інших методів. Пам'ять процесів для буфера
           використовує лише метод memcmp, інші методи використовують нуль-копіювання, а дію з
           введення-виведення виконує ядро. Розмір може бути змінено на льоту так, щоб він
           відповідав кількості контрольних сум кешованих даних.

       -r, --cache-size розмір
           Розмір кешу для контрольних сум даних. Для усіх методи, окрім memcmp, контрольну суму
           буде обчислено для кожного блоку даних файла (див. --io-size), ці контрольні суми буде
           кешовано для наступного порівняння. Розмір є важливим для великих файлів або великих
           наборів файлів однакового розміру. Типовим є розмір у 10 МіБ.

АРГУМЕНТИ

       hardlink приймає один або декілька записів каталогів, у яких відбуватиметься пошук файлів
       для створення посилань.

ВАДИ

       У початковій реалізації hardlink використано параметр -f для примусового створення
       жорстких посилань між файловими системами. Підтримки цієї рідкісної у використанні
       можливості у поточній версії hardlink не передбачено.

       При створенні hardlink було зроблено припущення, що ієрархії файлової системи, з якими
       працює програма, не змінюються під час її роботи. Якщо в ієрархії відбуваються зміни,
       результат роботи може бути невизначеним або потенційно небезпечним для даних. Наприклад,
       якщо звичайний файл буде замінено файлом пристрою, hardlink може розпочати читання з
       пристрою. Якщо компонент шляху буде замінено символічним посиланням або змінено права
       доступу до файла, може постраждати захист системи. Не запускайте hardlink для ієрархії
       файлів, у якій відбуваються зміни, або ієрархії файлів, яку контролює інший користувач.

АВТОР

       Існує декілька реалізацій hardlink. Найпершу було створено Jakub Jelinek для дистрибутиву
       Fedora. Цю реалізацію було використано в util-linux між версіями 2.34 і 2.36. Поточну
       реалізацію засновано на версії для Debian, автором якої є Julian Andres Klode.

ЗВІТИ ПРО ВАДИ

       Для звітування про вади використовуйте систему стеження помилками на
       https://github.com/util-linux/util-linux/issues.

ДОСТУПНІСТЬ

       hardlink є частиною пакунка util-linux, який можна отримати з Linux Kernel Archive
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

ПЕРЕКЛАД

       Український переклад цієї сторінки посібника виконано Yuri Chornoivan <yurchor@ukr.net>

       Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General
       Public License Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩. НЕ НАДАЄТЬСЯ ЖОДНИХ
       ГАРАНТІЙ.

       Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть
       електронний лист до списку листування перекладачів: ⟨trans-uk@lists.fedoraproject.org⟩.