unoconv не работает в python

Поскольку ни одна файловая система не является лучшей во всех ситуациях, определить, какая файловая система лучше всего подходит для вашего приложения, не всегда легко. Однако, как вы сами убедитесь, выбор правильной файловой системы может обеспечить прирост производительности более 95%.

Файловые системы Linux. Почему так много?

Существует три основные причины, по которым в Linux так много файловых систем:

* It's open source: effectively everyone owns it.
* File Systems competing for better performance and or scalability.
* File Systems allowing for compatibility/portability of existing data (migrations from other systems). 

Linux File Systems. Почему так много?

Следующий список описывает характеристики файловой системы Linux и указывает, когда лучше всего использовать эту файловую систему. Этот список не является исчерпывающим для всех файловых систем, доступных в мире, но фокусируется на тех, у кого есть заметная доля рынка или внимание на рынке сегодня. Подробное сравнение возможностей файловой системы можно найти по адресу: http://en.wikipedia.org/wiki/Comparison_of_file_systems

EXT2

* Recommended to move to EXT3
* Not Journaled
* POSIX access control 

Файловая система EXT2 является предшественником файловой системы EXT3. EXT2 не регистрируется и, следовательно, больше не рекомендуется (клиенты должны перейти на EXT3).

Рекомендуемое использование: USB / твердотельные диски или любая причина, при которой вам требуется высокая стабильность при минимальных чтениях / записи.

EXT3

* Most popular Linux file system, limited scalability in size and number of files
* Journaled
* POSIX extended access control 

Файловая система EXT3 - это журналированная файловая система, которая сегодня наиболее широко используется в Linux. Это файловая система «Linux». Он довольно прочный и быстрый, хотя он не масштабируется хорошо для больших объемов и большого количества файлов. Недавно была добавлена ​​функция масштабирования, называемая htrees, что значительно улучшило масштабируемость EXT3. Однако он по-прежнему не столь масштабируемо, как некоторые другие файловые системы, перечисленные даже с htrees. Он похож на NTFS с htrees. Без htrees EXT3 не обрабатывает более 5000 файлов в каталоге.

Рекомендуемое использование: Если у вас нет конкретной причины для другой файловой системы, ext3 является отличным значением по умолчанию.

Ext4

Самый последний в ext файловой системе ext4 включает в себя множество серьезных улучшений по сравнению с ext3, таких как поддержка больших файлов, более быстрая проверка, наносекундные временные метки и верификация журнала с помощью контрольных сумм. Он работает в обратном и обратном режимах с версиями 2 и 3, поэтому вы можете монтировать файловую систему ext2 или ext3 как ext4, а наоборот. Тем не менее, вы можете потерять некоторые преимущества новых версий при установке как старше. Многие из современных дистрибутивов Linux теперь предлагают ext4 во время установки, а некоторые используют его по умолчанию.

Рекомендуемое использование: Ext4 должен быть достаточно стабильным для настольных и серверных нужд.

FAT32

* Most limited file system, but most ubiquitous
* Not Journaled
* No access controls 

FAT32 является самой грубой из перечисленных файловых систем. Это популярность благодаря широкому использованию и популярности в настольном мире Windows и тому, что она превратилась в файловую систему в устройствах с флэш-памятью (цифровые камеры, USB-накопители и т. Д.). Он не имеет встроенного контроля доступа к безопасности, поэтому он мал и хорошо работает в этих портативных и встроенных приложениях. Он масштабирует наименьшую из перечисленных файловых систем. Большинство систем поддерживают совместимость FAT32 из-за его повсеместности.

NTFS

* The Windows file system, best for workgroup shared LAN file serving
* Journaled
* Windows access controls (richer than POSIX) 

Файловая система Microsoft Windows для ядра Windows NT (Windows NT, Windows 2000, Windows XP и Windows 2003). Версия Linux OpenSource этой файловой системы доступна только для чтения существующих данных NTFS. Это позволяет перейти с Windows и получить доступ к дискам Windows. NTFS включает в себя модель ACL, которая не является POSIX. Модель ACL для NTFS уникальна для Microsoft, но является производной от модели ACL Novell NetWare 2.x. NTFS является стандартным (и практически единственным вариантом) на серверах Windows. Он включает в себя богатые метаданные и атрибутивные функции. NTFS также поддерживает множественные потоки данных и наследование прав ACL с момента его внедрения в Windows 2000. В Windows 2003 R2 Microsoft включила функцию «Перечисление на основе доступа». Это похоже на видимость в NSS и NWFS, но не реализовано на уровне файловой системы, а скорее как функция механизма протокола CIFS в Windows 2003 R2, поэтому эта функция доступна только при доступе к Windows 2003 через протокол CIFS.

ReiserFS

* Best performance and scalability when number of files is great and/or files are small
* Journaled
* POSIX extended access controls 

Файловая система Reiser является файловой системой по умолчанию в дистрибутивах SUSE Linux. Reiser FS был разработан для устранения ограничений масштабируемости и производительности, существующих в файловых системах EXT2 и EXT3. Он масштабируется и отлично работает в Linux, превосходя EXT3 с помощью htrees. Кроме того, Reiser был разработан для очень эффективного использования дискового пространства. В результате, это лучшая файловая система в Linux, где в файловой системе имеется большое количество небольших файлов. Поскольку сотрудничество (электронная почта) и множество приложений для веб-приложений имеют множество небольших файлов, Reiser лучше всего подходит для этих типов рабочих нагрузок.

Рекомендуемое использование: взаимодействие с небольшими файлами в одноядерной системе.

1
задан 4 September 2013 в 14:34

1 ответ

Если вы звоните из Python, это более простое решение:

import os
import subprocess

# Copy the environment, and add home to the enviornment
env = os.environ.copy()
env['HOME'] = '/tmp'

p = subprocess.Popen(["unoconv","-f", "html", "-o", "output.html", 
   "input1.doc"], env = env)
out, err = p.communicate()

Проблема в том, что для запуска прослушивателя Unoconv требуется записываемый каталог HOME. Когда вы звоните из django, этот каталог HOME не установлен. Установка этого параметра вручную /tmp решает эту проблему.

0
ответ дан 24 May 2018 в 18:21

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

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