Виртуальная файловая система только для записи для того, чтобы хранить файлы в архиве

  1. Попытайтесь работать exo-preferred-applications от терминала (Ctrl+Alt+t). Необходимо видеть опцию изменить файловый менеджер на 2-й вкладке под названием "Утилиты".

    Измените опцию File Manager на "Наутилус".

  2. Используя xdg-mime, Вы могли также выполнить следующую команду для определения текущего файлового менеджера по умолчанию:

    • xdg-mime query default inode/directory

    • В Вашем случае это должно возвратиться thunar.desktop в результате.

    • Для изменения этого работайте:

    • xdg-mime default nautilus.desktop inode/directory application

  3. Можно отредактировать файл ~/.local/share/applications/mimeapps.list
    • ищите строку, содержащую inode/directory=thunar.desktop;
    • измените его для чтения inode/directory=nautilus.desktop;
8
13.09.2017, 02:54
4 ответа
[115206] Кажется, [115604]tar[115605] хочет знать все имена файлов заранее. Так что это меньше "на лету" и больше "после лета". Похоже, что [115606]cpio[115607] не имеет такой проблемы:
1
27.01.2020, 20:12
[113473] Классический случай [113776] RTFM (все!) [113777]. Опция [113778]-T[113779] в GNU [113780]tar[113781] будет считывать файлы для архивирования из другого файла (в моем случае [113782]/dev/stdin[113783], можно также использовать [113784]-[113785]), а есть даже опция [113786]--remove-files[113787]:

(используя параллельную версию [113788]xz[113789] для сжатия, но Вы можете использовать вместо нее предпочтительный компрессор). Для использования в качестве:

EDIT[113791]: Как указывает Оле, [113792]tar[113793] почему-то читает весь список файлов с опцией [113794]-T[113795]. Следующий тест подтверждает это: В моей системе существует задержка в одну секунду, прежде чем все файлы будут распечатаны одновременно; напротив, если команда [113796]tar[113797] будет заменена на [113798]cat[113799], то все файлы будут распечатаны по мере их создания. Я подал запрос на поддержку [113800]tar[113801], давайте посмотрим.

du -ax | xdu -n

EDIT^2[113803]: Последний [113804]tar[113805] из источника исправляет это. Его еще нет в Ubuntu 13.10, но он может быть включен в 14.04.[113482].

7
27.01.2020, 20:12
[115368] Это может показаться не очевидным, но я уверен, что [115732]squashfs[115733] подойдет для этого - и это даже реализовано в ядре. Начиная с версии 4.1 [115734]squashfs[115735] могут обрабатывать

псевдофайлы

, как указано в командной строке [115738]mksquash[115739] или через shell-скрипт и [115740]mksquashfs[115741] будет генерировать файлы по мере создания архива.

Он может обрабатывать

труб

- например, вы можете перехватить stdout [115744] другого процесса [115745] в монтируемый архив сквоша - даже

fifos

- это довольно круто. В вашем случае, если бы вы могли проработать логистику скрипта, пропустив через него вывод вашего процесса, вы могли бы

обернуть ваш процесс полностью

в [115750]mksquashfs[115751] и закончить его с одним архивом. Вот немного из [115752]readme[115753] о том, как он работает и еще [115754]здесь[115755]:

Mksquashfs 4.1 добавляет поддержку "динамических псевдо-файлов" и операцию модификации. Динамические псевдо-файлы позволяют динамически создавать файлы, когда Mksquashfs выполняется, их содержимое является результатом выполнения команды или куска скрипт оболочки. Операция modifiy позволяет использовать режим/продвижение/гид для существующего файл в исходной файловой системе для изменения.

Создание динамических файловых примеров

Создание файла "dmesg", содержащего выходные данные из dmesg.

Создайте файл RELEASE, содержащий имя релиза, дату, хост сборки, и инкрементирующий номер версии. Инкрементирующая версия является побочным эффектом. выполнения скрипта оболочки, и гарантирует, что каждый раз, когда Mksquashfs запускает Используется номер новой версии, не требуя никакого другого скрипта оболочки.

Скопируйте 10K из устройства /dev/sda1 в входной файл. Обычно . Mksquashfs, получив устройство, fifo, или именной сокет, разместит этот специальный файл. в рамках файловой системы Squashfs, это позволяет вводить данные из этих специальных файлы, которые будут захвачены и помещены в файловую систему Squashfs.

0
27.01.2020, 20:12
[115260]Каким-то образом это не кажется хорошей работой для массивного компрессора (ленточные архиваторы + сжатие). Вставка файлов друг за другом выглядит как работа для [115646]zip[115647] или какого-то другого формата, позволяющего произвольный доступ к файлам внутри архива и инкрементальную вставку.

Тот факт, что файлы похожи, в любом случае не сильно поможет. В [115648]zip[115649] файлы сжимаются отдельно, а в твердых компрессорах обычно имеется окно, внутри которого происходит сжатие.

Если файлы текстовые, то можно хранить различия по сравнению с одним опорным файлом. Для бинарных файлов это немного сложнее, но это можно сделать.Существует также формальный способ (не только для записи, но и для правильных файловых систем). Например, файловые системы ZFS и BTRFS предлагают прозрачное сжатие. Вы также можете использовать этот [115650]http://developer.berlios.de/projects/fusecompress

tar --create --gzip --file out.tar.gz in in2 in3
# same thing
tar -czf out.tar.gz in in2 in3

tar --extract --file in.tar
tar -xf in.tar

1
27.01.2020, 20:12

Теги

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