Налаштування архіваторів для використання з інструментом підписування/шифрування файлів

Kleopatra надає змогу адміністраторам (і досвідченим користувачам) налаштовувати список архіваторів, які буде показано у діалоговому вікні підписування/шифрування файлів.

Кожен з архіваторів визначається у файлі libkleopatrarc окремою групою Archive Definition #n з такими обов’язковими ключами:

extensions

Відокремлений комами список суфіксів назв файлів, який зазвичай відповідає форматів, з якими працює архіватор.

id

Унікальний ідентифікатор, який програма використовуватиме для розпізнавання архіваторів. Якщо не знаєте, який ідентифікатор використати, вкажіть команду архівування.

Name (з можливістю перекладу)

Видима користувачеві назва архіватора, яку буде показано у спадному меню діалогового вікна підписування/шифрування файлів.

pack-command

Команда, яку буде використано для архівування файлів. Ви можете використовувати будь-яку команду, для виконання якої не потрібна зовнішня оболонка. Файл програми система шукатиме у каталогах, описаних у змінній середовища PATH, якщо ви не вкажете абсолютний шлях до файла. Можна використовувати лапки, подібно до того, як лапки використовуються у командній оболонці:

pack-command="/opt/ZIP v2.32/bin/zip" -r -

Примітка

Оскільки у файлах налаштування KDE зворотна похила риска (\) є керівним символом, вам слід подвоювати такі риски у адресах файлів:

pack-command=C:\\Programs\\GNU\\tar\\gtar.exe ...

У самій команді (на відміну від її параметрів) ви можете використовувати прямі похилі риски (/) у адресах всіх платформ:

pack-command=C:/Programs/GNU/tar/gtar.exe ...

Використовувати прямі риски у параметрах не можна, оскільки у більшості програм Windows® прямі риски використовуються для визначення параметрів. Наприклад, наведена нижче команда не працюватиме, оскільки C:/myarchivescript.bat є параметром програми cmd.exe, а / не буде перетворено на \ у параметрах, таке перетворення можливе лише у командах:

pack-command=cmd.exe C:/myarchivescript.bat

Цей ключ слід записати так:

pack-command=cmd.exe C:\\myarchivescript.bat

Як передати назву файла pack-command

Існує три способи передавання назв файлів команді пакування. Для кожного з цих способів у ключі pack-command передбачено окремий синтаксис:

  1. Як параметр командного рядка.

    Приклад (tar):

    pack-command=tar cf -

    Приклад (zip):

    pack-command=zip -r - %f

    У цьому випадку назви файлів передаються у командному рядку, подібно до того, як вони передаються у звичайному командному рядку. Kleopatra не використовуватиме для виконання команд командну оболонку. Тому цей спосіб передавання назв файлів є безпечним, хоча на деяких програмних платформах ви можете перевищити обмеження на довжину команди. Замінник %f, якщо такий вказано, позначає назви файлів, які буде додано до архіву. Якщо такий замінник не буде вказано, назви файлів буде просто додано до рядка команди. Таким чином, приклад з zip, наведений вище, можна також записати як:

    pack-command=zip -r -

  2. За допомогою стандартного джерела даних з розділенням записів окремих файлів символами розриву рядка: достатньо вказати перед командою |.

    Приклад (GNU-tar):

    pack-command=|gtar cf - -T-

    Приклад (ZIP):

    pack-command=|zip -@ -

    У цьому випадку назви файлів буде передано архіватору через stdin, по одному на рядок. Таким чином, буде усунуто проблеми з накладанням деякими програмними платформами жорстких обмежень на кількість параметрів рядка команди. Цей спосіб є непридатним, якщо у назвах файлів містяться символи розриву рядків.

    Примітка

    У поточній версії Kleopatra передбачено підтримку лише символу розриву рядка LF, підтримки CRLF ще не передбачено. Цю підтримку може бути додано на прохання користувачів у наступних версіях програми.

  3. За допомогою стандартного джерела даних з розділенням записів окремих файлів NUL-байтами: достатньо вказати перед командою |.

    Приклад (GNU-tar):

    pack-command=0|gtar cf - -T- --null

    Спосіб подібний до наведеного раніше, але для відокремлення назв файлів використовуються NUL-байти. Оскільки використання NUL-байтів у назвах файлів є неможливим, цей спосіб є найнадійнішим з огляду на передавання назв файлі, але його підтримку передбачено не у всіх архіваторах.