Как я могу увеличить ограничение имени файла в Ubuntu на 143 байта для зашифрованных каталогов?

В зашифрованных каталогах Ubuntu (по крайней мере, 15.10) имеет ограничение в байтах имени файла 143 B - намного меньше, чем ограничение файловой системы ext4 в 255 B. Где установлен этот специальный предел, почему он установлен в первое место, и есть ли способ его увеличить?

13
задан 2 February 2016 в 03:51

1 ответ

, Где предел Ubuntu устанавливается,

, Это - предел файловой системы. Все "расширение" имеет 255 пределов символов. Вот список большого количества из файловые системы . ReiserFS показывает 4 032 байта (но он ограничен 255 символами из-за Linux VFS).

144 символьных предела для encypted файла являются неправильными. Это 143 ( от создателя ecryptfs утилит ). Остающиеся символы необходимы для шифрования, таким образом, Вы не можете пробежаться через него (шифрование не работает над файлами больше чем с 143 символами).

и там способ увеличить его?

Никакой

<час>

еще Некоторая информация. Они покажут файл и предел размера каталога в символах:

 getconf NAME_MAX /dev/sda
 getconf PATH_MAX /dev/sda
<час>

См. /usr/include/linux/limits.h для объявления этих 2 переменных:

#ifndef _LINUX_LIMITS_H
#define _LINUX_LIMITS_H

#define NR_OPEN         1024

#define NGROUPS_MAX    65536    /* supplemental group IDs are available */
#define ARG_MAX       131072    /* # bytes of args + environ for exec() */
#define LINK_MAX         127    /* # links a file may have */
#define MAX_CANON        255    /* size of the canonical input queue */
#define MAX_INPUT        255    /* size of the type-ahead buffer */
#define NAME_MAX         255    /* # chars in a file name */
#define PATH_MAX        4096    /* # chars in a path name including nul */
#define PIPE_BUF        4096    /* # bytes in atomic write to a pipe */
#define XATTR_NAME_MAX   255    /* # chars in an extended attribute name */
#define XATTR_SIZE_MAX 65536    /* size of an extended attribute value (64k) */
#define XATTR_LIST_MAX 65536    /* size of extended attribute namelist (64k) */

#define RTSIG_MAX     32

#endif

можно изменить это значение, но необходимо будет перекомпилировать, по крайней мере, fopen () функция, чтобы это было применимо. И не будет никакой совместимости ни с какими другими операционными системами.

, Таким образом, я изменяю свой ответ на: Да Вы можете, но не делайте :)

10
ответ дан 2 February 2016 в 13:51
  • 1
    К вашему сведению snapcraft добавляет $SNAP/bin, $SNAP/usr/bin и т.д. к ПУТИ. – Kyle 29 April 2017 в 06:26

Другие вопросы по тегам:

Похожие вопросы: