У меня есть встроенная система Linux, которая хранит данные в очень большом файле, добавляя новые данные в конец. Поскольку размер файла растет около заполнения доступного пространства для хранения, мне нужно удалить старые данные.
Проблема в том, что я не могу согласиться с тем сбоем, который потребовался бы, чтобы переместить массивный объем данных "вверх" в файл, например, нормальный - заблокировать файл в течение длительного периода времени, чтобы переписать его (плюс это вспышка, это приведет к ненужному износу вспышки).
Вероятно, самым простым способом было бы разделить файл на несколько меньших, но это имеет несколько недостатков, связанных с обработкой и обработкой данных - все программное обеспечение "клиентского конца" ожидает один файл. OTOH может обрабатывать "коррупцию", когда первая запись разрезается пополам, поэтому файл не нужно обрезать при смещениях записи, просто "где-то там", например. первые несколько iNodes освобождены. Старые данные в любом случае устарели, поэтому даже более серьезная коррупция в начале файла является полностью приемлемой, если "хвост" остается чистым, и могут быть приняты вольности, насколько точно удалены - "примерно несколько первых мегабайт" в порядке, нет необходимости в точности "первой точности 4096 КБ".
Есть ли какой-нибудь метод, API, трюк, взломать, чтобы обрезать начало такого файла?