Установка LibreOffice/OpenOffice разных версий в одну систему

Материал из Forumooo wiki

Перейти к: навигация, поиск


(основано на статье Run_OOo_versions_parallel)

Содержание

Вступление

Для улучшения LibreOffice/OpenOffice не обязательно быть программистом, вы можете помогать исправлять ошибки просто установив DEV сборку и используя её как вы обычно это делаете, и докладывать об обнаруженных ошибках.

Обычно, каждая версия устанавливается в свою папку (к примеру, /opt на Linux, Program Files на Windows), например, стабильная сборка OpenOffice.org 3.2.1/Go-OO 3.2.1 ставится в папку /opt/openoffice.org3 на *nix системах, и C:\Program Files\OpenOffice.org 3\ на Windows, А DEV сборка установится в /opt/ooo-dev3/ (*nix) и C:\Program Files\OOo-dev 3\ (Windows). LibreOffice устанавливается в папку /opt/libreoffice3 (*nix) и C:\Program Files\LibreOffice 3\ (Windows).

Note.pngНа Windows x86-64 папка Program Files (x86)

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

Тут мы объясним, каким способом можно установить параллельно несколько разных сборок.

Linux

В этой части мы покажем, как "установить" любую версию LibreOffice/OpenOffice, распространяемую в пакетах RPM или DEB. На самом деле, мы не будем ничего устанавливать, а просто распакуем пакеты.

Note.pngЗаметьте, что с этим методом не имеет значения, распаковывали вы RPM или DEB, и не имеет значения, какой формат пакетов использует ваш дистрибутив Linux (т.е., вы можете распаковать RPM пакеты на Debian, или DEB пакеты на Gentoo).

Установка LibreOffice/OpenOffice 3.* (трёхслойный LibreOffice/OpenOffice)

Начиная с DEV300m4, в LibreOffice/OpenOffice есть три слоя (см. Three-Layer OOo). Это значит, что если мы распакуем пакеты RPM/DEB, у нас будет 2 директории:

  1. opt/openoffice.org (содержит нижний и средний слои: ure and basis)
  2. opt/openoffice.org3 (содержит верхний слой)

где возможно вам нужно заменить openoffice.org на другое имя продукта типа ooo-dev, libreoffice3.

Т.к. мы хотим установить LibreOffice/OpenOffice в самодостаточную папку (без интеграции с системой, со своим профилем, который не будет пересекаться с профилями других версий), то нам нужно всего лишь распаковать пакеты и переименовать эту директорию opt так чтобы три слоя по прежнему были вместе.

RPM пакеты

В следующем примере мы "установим"

OOo-Dev_DEV300m77_Linux_x86_install-rpm_en-US.tar.gz

который был закачан в папку

/home/user/download/ooo/

# cd в папку, куда вы скачали файл *.tar.gz
# в этом примере мы скачали 
# файл OOo-Dev_DEV300m77_Linux_x86_install-rpm_en-US.tar.gz
# в папку /home/user/download/ooo/
 
~> cd download/ooo/
 
# создаём временную папку
# в этом примеру назовём её TEMP_INST
 
~/download/ooo> mkdir TEMP_INST 
 
# cd в папку
 
~/download/ooo> cd TEMP_INST/ 
 
# распакуем скачанный файл
~/download/ooo/TEMP_INST> tar -zxvf ../OOo-Dev_DEV300m77_Linux_x86_install-rpm_en-US.tar.gz

Этими командами мы распаковали содержимое пакетов во временную папку.

Теперь нам нужно перейти в папку RPMS.

# теперь нам надо создать ещё одну временную папку для распаковки файлов
# содержащихся в папке RPMS
 
~/download/ooo/TEMP_INST> cd DEV300_m77_native_packed-2_en-US.9496/RPMS/ 
 
# в этом примере мы укоротим имя папки: 
# вместо ~/download/ooo/TEMP_INST/DEV300_m77_native_packed-2_en-US.9496/RPMS>
# напишем: ~/download/ooo/TEMP_INST/ DEV300_m77.../RPMS>
 
# создадим временную папку, которая и станет окончательной папкой установки OpenOffice.org
 
~/download/ooo/TEMP_INST/DEV300_m77.../RPMS> mkdir TEMP_ROOT 
~/download/ooo/TEMP_INST/DEV300_m77.../RPMS> cd TEMP_ROOT/
Note.pngЗаметьте, что в зависимости от версии могут быть разные схемы именований файлов.

Распаковать RPM можно за 1 или 2 шага:

# за 1 шаг
 
~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT> for i in ../o*.rpm; do rpm2cpio $i | cpio -id; done
Note.pngЗаметьте, мы использовали звёздочку так for i in ../o*.rpm, т.к. среди пакетов может находится пакет с Java Runtime Environment (в данном примере, пакет с JRE называется jre-6u19-linux-i586.rpm), поэтому ../o*.rpm говорит, что нужно распаковывать пакеты с "o" вначале имени файла.
# за 2 шага
# нижний и средний слои
 
~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT> for i in ../openoffice.org*.rpm; do rpm2cpio $i | cpio -id; done 
 
# распакуйте верхний слой
 
~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT> for i in ../ooo-dev*.rpm; do rpm2cpio $i | cpio -id; done

Теперь мы можем обнаружить в папке

/home/user/download/ooo/TEMP_INST/DEV300_m77_native_packed-2_en-US.9496/RPMS/TEMP_ROOT

папку opt, в которой есть 2 папки:

  1. /TEMP_ROOT/opt/ooo-dev3
  2. /TEMP_ROOT/opt/ooo-dev

последняя содержит ещё 2 папки: basis3.3 and ure.

Теперь можно скопировать или переместить эту папку opt куда угодно.

# в этом примере мы "установим" новую версию в /home/user/OOo_DEV300_m77
 
~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT> mv opt ~/OOo_DEV300_m77

И наконец, удалим все временные файлы:

~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT> cd ~/download/ooo/
~download/ooo> rm -rf TEMP_INST/

DEB пакеты

В следующем примере мы "установим" сборку

OOo-Dev_DEV300m77_Linux_x86_install-deb_en-US.tar.gz

закачанную в папку

/home/user/download/ooo/

# cd в папку, куда вы скачали файл *.tar.gz
# в этом примере мы скачали
# файл OOo-Dev_DEV300m77_Linux_x86_install-deb_en-US.tar.gz
# в папку /home/user/download/ooo/
 
~> cd download/ooo/
 
# создайте временную папку, куда будет распаковано содержимое скачанного файла
# в этом примере мы называем эту папку TEMP_INST
 
~/download/ooo> mkdir TEMP_INST 
 
# cd в эту папку
 
~/download/ooo> cd TEMP_INST/ 
 
# распакуйте содержимое скачанного файла
 
~/download/ooo/TEMP_INST> tar -zxvf ../OOo-Dev_DEV300m77_Linux_x86_install-deb_en-US.tar.gz

Теперь у нас во временной папке находятся распакованные файлы.

Теперь нам нужно попасть в папку DEBS с помощью команды cd, там содержатся файлы *.debs.

# теперь нам нужно создать другую временную папку, куда будут распакованы файлы *.deb.
 
~/download/ooo/TEMP_INST> cd DEV300_m77_native_packed-2_en-US.9496/DEBS/ 
 
# мы сократим имя папки:
# вместо ~/download/ooo/TEMP_INST/DEV300_m77_native_packed-2_en-US.9496/DEBS>
# напишем ~/download/ooo/TEMP_INST/DEV300_m77.../DEBS>
 
# создадим временную папку, в которой будет располагаться установленный OpenOffice.org
 
~/download/ooo/TEMP_INST/DEV300_m77.../DEBS> mkdir TEMP_ROOT 
~/download/ooo/TEMP_INST/DEV300_m77 .../DEBS> cd TEMP_ROOT/
Note.pngЗаметьте, что в зависимости от версии OOo, у нас могут быть разные схемы именования файлов:
  1. ooobasis-dev3.3-*.deb - нижний и средний слои
  2. ooo-dev3-*.deb - верхний слой

Можно распаковать все *.deb за 1 или 2 шага:

# за 1 шаг
 
~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT> for i in ../*.deb; do dpkg-deb -x $i . ; done
# за 2 шага
# средний и нижний слои
 
~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT> for i in ../openoffice.org*.deb; do dpkg-deb -x $i . ; done 
 
# верхний слой
~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT> for i in ../ooo-dev*.deb; do dpkg-deb -x $i . ; done

Мы обнаружим после этих команд, что в папке

/home/user/download/ooo/TEMP_INST/DEV300_m77_native_packed-2_en-US.9496/DEBS/TEMP_ROOT

есть папка opt, в которой есть 2 папки:

  1. /TEMP_ROOT/opt/ooo-dev3
  2. /TEMP_ROOT/opt/ooo-dev

последняя содержит ещё 2 папки: basis3.3 и ure.

Теперь нужно всего лишь скопировать или переместить эту папку opt куда угодно.

# в этом примере мы "установим" новую версию в /home/user/OOo_DEV300_m77
 
~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT> mv opt ~/OOo_DEV300_m77

И наконец, удалим все временные файлы.

~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT> cd ~/download/ooo/
~download/ooo> rm -rf TEMP_INST/

Настройки профиля для версий 3.*

Tip.pngПодробнее смотрите также тут: Профиль.

Перед тем как запустить программу, нам нужно сделать кое-какие изменения в настройках. (Инструкции одинаковы для RPM и DEB.)

По умолчанию OpenOffice.org хранит настройки отдельно для каждого пользователя в профиле /home/user/.openoffice.org/ (стабильные сборки и RC) или /home/user/.ooo-dev/ (сборки DEV). Это значит, что нельзя параллельно запустить две сборки, которые обе устанавливаются как ooo-dev или openoffice.org, т.к. они одновременно использовали бы один и тот же профиль и мешали бы друг другу.

Чтобы этого избежать мы должны изменить настройки так чтобы OpenOffice.org хранил профиль где-нибудь в другом месте, например в том же самом месте, где находится корневая папка OpenOffice.org, так нам будет легче и удалять потом всё сразу: и OpenOffice.org, и его профиль будут в одной папке.

Для этого нам нужно отредактировать файл bootstraprc, находящийся в папке program верхнего слоя (т.е. ooo-dev3), в данном примере:

/home/user/OOo_DEV300_m77/ooo-dev3/program

Т.к. этот файл не имеет прав на запись, нам нужно сперва это исправить:

> cd ~/OOo_DEV300_m77/ooo-dev3/program
~/OOo_DEV300_m77/ooo-dev3/program> chmod +w bootstraprc

Теперь мы можем открыть это файл в текстовом редакторе и изменить ту строчку, которая начинается с UserInstallation=:

UserInstallation=$ORIGIN/..

Файл целиком может выглядеть теперь так:

[Bootstrap]
BaseInstallation=${OOO_BASE_DIR}
InstallMode=<installmode>
ProductKey=OOo-dev 3.0
UserInstallation=$ORIGIN/..
[ErrorReport]
ErrorReportPort=80
ErrorReportServer=report.services.openoffice.org

Таким способом, папка профиля будет располагаться там же, где и сам OpenOffice.org, и вы сможете запускать одновременно несколько разных версий параллельно.

Windows

На Windows вы должны сделать так называемую административную установку пакета. Эта функция доступна для любого пакета, использующего MSI, и в основном это значит - распаковка всех файлов *.cab.

Если у вас есть установочный файл, содержащий в себе полный установочный набор файлов (1 файл *.exe более 100 МБ в размере, вида OOo-Dev_DEV300m77_Win_x86_install-wJRE_en-US.exe ), то вначале дадим ему распаковаться. Для этого просто запустите его, а когда он запустит установщик, нажмите на кнопку Cancel (Отмена).

Предположим, вы распаковали файл в C:\temp\install

Теперь же, откройте консоль (<Windows_Key>/Выполнить..., введите "cmd", нажмите Enter , либо: Программы/Стандартные/Командная строка), и там введите:

 ...> c:
 c:\> cd \temp\install
 c:\temp\install> msiexec /a ooodev33.msi

(предполагается, что файл ooodev33.msi существует в папке c:\temp\install . Его имя может меняться в зависимости от версии, к примеру, для OOO320m17 имя файла openofficeorg32.msi, но это должен быть всегда один единственный файл. Используйте его имя.)

msiexec это инструмент для исполнения файлов .msi. Переключатель /a говорит, что установка - административная. Он запускает диалог, который спросит о целевой папке установки - выберите папку, где вы хотите чтобы окончательно располагался установленный LibreOffice/OpenOffice. Потом кликните кнопку "Install" ("Установить"), подождите несколько минут, и готово.

Note.pngЗаметка для продвинутых пользователей:
msiexec /a ooodev33.msi TARGETDIR="c:\Program Files\OOoDev\m77" /qr

установит LibreOffice/OpenOffice в папку C:\Program Files\OOoDev\m77, без диалога и вопросов.

Начиная с DEV300m23, необходимые файлы Microsoft Visual C++ runtime не содержатся более в установленном LibreOffice/OpenOffice, а вместо этого, устанавливаются во время обычной установки (см. this interface-announce@openoffice.org mail). Т.к. во время административной установки это действие не выполняется, вы должны сами установить Пакет Microsoft Visual C++ 2008 Redistributable (x86) (или эквивалент для другой версии компилятора).

Профиль

Tip.pngПодробнее смотрите также Профиль

Как и на версиях для Linux, вам нужно сделать так, чтобы профиль не конфликтовал с другими версиями. Для этого откройте файл <OOo_installation>\program\bootstrap.ini в текстовом редакторе и найдите строчку

 UserInstallation=$SYSUSERCONFIG/OOo-dev
Note.png(Опять же, последняя часть "OOo-dev" зависит от версии, но строчка, которая начинается с UserInstallation - всего одна)

Поменяйте её на:

 UserInstallation=$ORIGIN/..

Файл целиком выглядел бы так:

[Bootstrap]
BaseInstallation=${OOO_BASE_DIR}
InstallMode=<installmode>
ProductKey=OpenOffice.org 3.2
UserInstallation=$ORIGIN/..
[ErrorReport]
ErrorReportPort=80
ErrorReportServer=report.services.openoffice.org

Теперь настройки пользователя будут храниться в папке user рядом с папкой program. Это имеет 2 преимущества: профили не пересекаются, и чтобы удалить программу вместе с настройками пользователя нужно удалить всего одну папку.

Note.pngУчтите, однако, что теперь разные люди, которые работают на одной машине, будут использовать одни и те же настройки.

Настройки для автоматического тестирования

Если вы планируете проводить автоматические тесты с помощью TestTool, то проверьте настройки.

Чтобы VCLTestTool нашёл папку установки, нужно настроить параметр 'OOoProgramDir' в диалоге настроек VCLTesttool.

Снимок-Настройки-OOoProgramDir.png

Личные инструменты
Пространства имён
Варианты
Действия
Компоненты
Общие вопросы
Совместимость
Навигация
Инструменты