У меня есть учетная запись хостинга linux с Godaddy (Centos 5.5), и я разрабатываю приложение для обработки документов пользователей MS Office.

Я нашел такие решения, как antiword, unoconv, catdoc, Apach POI/tika, которые могут читать офисные документы из командной строки.

Проблема в том, что у меня нет root-прав для установки любого из этих пакетов, а для POI/tike требуется установить Java, чего также не происходит в данном случае. Я не могу использовать yum или apt-get или даже RPM или make. Я могу использовать python easy_install, хотя.

Итак, мой вопрос:

  • Вам известна какая-либо библиотека Python или Perl, которая может читать документы MS Office без необходимости устанавливать что-либо еще?

  • Вам известны какие-либо пакеты linux, которые можно использовать для обработки документов MS Office без установки?

  • Есть ли способ вручную установить пакет локально без yum, apt-get, RPM или make?

  • Можно ли установить yum или apt-get локально в папку, для которой у меня есть разрешения на использование?

2 ответа2

1

Существуют модули Perl, которые могут читать файлы Excel. Посмотрите на это:

Я не знаю ни одного модуля, который может создавать файлы .doc в Linux. Однако вы можете создавать документы Open/Libre Office с помощью OpenOffice::OOBuilder. Текущие MS Office будут читать их, но они не совпадают.

Чтобы узнать, как установить модули Perl без рута, посмотрите эти вопросы:

0

Вы не можете устанавливать пакеты (apt, yum и т.д. Являются менеджерами пакетов), потому что у вас нет root. Однако вы можете скомпилировать и собрать свои собственные двоичные файлы, которые могут находиться в вашей учетной записи пользователя (возможно, в ~/bin).

Точные детали будут варьироваться в зависимости от пакета, но в основном вы захотите:

  • Скачать исходник
  • распаковать источник
  • настроить пакет (обычно «./configure» в дереве исходников пакета)
  • собрать пакет (обычно 'make')
  • установить (обычно 'make install')

В зависимости от пакета вы можете указать места установки во время настройки или, возможно, в качестве переменной в командной строке «make install». В качестве примера я взял архив с исходным кодом Linux Antiword с http://www.winfield.demon.nl/#Programmer и посмотрел.

Кажется, что у него нет шага настройки, но у него есть две разные цели установки, и «make install» выполнит «локальную» установку (то есть только для пользователя, который выполняет установку). Это не потребует root-доступа.

Это может быть чем-то вроде боли в шее из-за различий в том, как это делается для разных проектов, но в итоге у вас будет все, что вам нужно, без рута.

РЕДАКТИРОВАТЬ ДОБАВИТЬ: Если у вас нет основных инструментов сборки в системе (make, gcc и т.д.), То это будет серьезной проблемой для выполнения. В этот момент ваш единственный способ сделать это самостоятельно - попытаться извлечь двоичные файлы из другой системы, которую вы контролируете, но это может быть очень сложно.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .