On Thu, 27 Aug 2020 10:27:11 +0300 Anton Farygin wrote: [...] > Т.е. - для экономии места старые пакеты хардлинкаются в новое место и в > него уже добавляются изменения из сборочного задания. Очень простая и > очень надёжная схема, при которой риск потери данных минимален и всегда > можно взять консистентное состояние репозитория за любой момент времени. > > Живёт это всё сейчас, вроде как, на ext4 (я могу ошибаться). > Максимальное количество inodes у ext4 2^32 - 4,294,967,295 > > Каждый новый таск в репозиторий приводит к тому, что на файловой системе > появляется около 160 тысяч (а может быть и больше, я давно не смотрел > цифры) новых записей. > > Т.е. - условно мы можем записать около 26 тысяч сборочных заданий в > архив, а после этого из него придётся удалять что-то старое для того, > что бы записать что-то новое. Это полная чушь, поскольку все жесткие ссылки на файл используют один и тот же inode: https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Directory_Entries In an ext4 filesystem, a directory is more or less a flat file that maps an arbitrary byte string (usually ASCII) to an inode number on the filesystem. There can be many directory entries across the filesystem that reference the same inode number--these are known as hard links, and that is why hard links cannot reference files on other filesystems. As such, directory entries are found by reading the data block(s) associated with a directory file for the particular directory entry that is desired. Best regards, Andrew Savchenko