Установка OpenOffice.org разных версий в одну систему
Template:RU/documentation/beingedited ja:JA/QA/Run_OOo_versions_parallel sl:SL/Run_OOo_versions_parallel de:DE/Run_OOo_versions_parallel
Contents
Вступление
Для оказания содействия в исправлении ошибок OpenOffice.org достаточно использовать в повседневной работе DEV-сборку и сообщать об обнаруженных ошибках.
Стабильные версии, по умолчанию, устанавливается в /opt на Linux и Program Files на Windows. Например, OpenOffice.org 3.2 ставится в папку /opt/openoffice.org3 на *nix системах, и C:\Program Files\OpenOffice.org 3\ на Windows.
DEV-сборка установится в /opt/ooo-dev3/ (*nix) и C:\Program Files\OOo-dev 3\ (Windows).
В связи с этим, при необходимости сохранить в системе старые стабильные сборки или установить несколько DEV-сборок, обычный способ установки не позволит этого, так как одна версия перезапишет другую.
Изложенные ниже способы дают возможность установки и использования параллельно в одной системе нескольких разных сборок.
Linux
В этой части будет показано, как установить любую версию OpenOffice.org, распространяемую в пакетах RPM или DEB. В этом методе будет опущена процедура инсталляции. Вместо неё пакеты буду распакованы в заданный пользователем каталог.
Установка OpenOffice.org 3.* (трёхслойный OpenOffice.org)
Начиная с DEV300m4, в OpenOffice.org есть три слоя (см. Three-Layer OpenOffice.org). Это значит, что при распаковке пакетов RPM/DEB, будет создано 2 каталога:
1. opt/openoffice.org
|
(содержит нижний и средний слои: ure и basis )
| |
2. opt/openoffice.org3
|
(содержит верхний слой) |
где, возможно, понадобится заменить openoffice.org
на другое имя. Например: ooo-dev
.
Т.к. мы хотим установить OpenOffice.org в самодостаточную папку (без интеграции с системой, со своим профилем, который не будет пересекаться с профилями других версий), то нам нужно всего лишь распаковать пакеты и переименовать эту директорию 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/
Заметьте, что в зависимости от версии могут быть разные схемы именований файлов.
Распаковать RPM можно за 1 или 2 шага:
# за 1 шаг
~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT> for i in ../o*.rpm; do rpm2cpio $i | cpio -id; done
Заметьте, мы использовали звёздочку так 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 папки:
/TEMP_ROOT/opt/ooo-dev3
/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/
Заметьте, что в зависимости от версии OOo, у нас могут быть разные схемы именования файлов:
ooobasis-dev3.3-*.deb
- нижний и средний слои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 папки:
/TEMP_ROOT/opt/ooo-dev3
/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.*
Перед тем как запустить программу, нам нужно сделать кое-какие изменения в настройках. (Инструкции одинаковы для 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-SDK_DEV300m77_Win_x86_install_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 говорит, что установка - административная. Он запускает диалог, который спросит о целевой папке установки - выберите папку, где вы хотите чтобы окончательно располагался установленный OpenOffice.org. Потом кликните кнопку "Install" ("Установить"), подождите несколько минут, и готово.
Заметка для продвинутых пользователей:
msiexec /a ooodev33.msi TARGETDIR="c:\Program Files\OOoDev\m77" /qr
установит OpenOffice.org в папку "C:\Program Files\OOoDev\m77", без диалога и вопросов.
Начиная с DEV300m23
, необходимые файлы Microsoft Visual C++ runtime не содержатся более в установленном OpenOffice.org, а вместо этого, устанавливаются во время обычной установки (см. this interface-announce@openoffice.org mail). Т.к. во время административной установки это действие не выполняется, вы должны сами установить Пакет Microsoft Visual C++ 2008 Redistributable (x86) (или эквивалент для другой версии компилятора).
Профиль
Как и на версиях для Linux, вам нужно сделать так, чтобы профиль не конфликтовал с другими версиями. Для этого откройте файл <OOo_installation>\program\bootstrap.ini
в текстовом редакторе и найдите строчку
UserInstallation=$SYSUSERCONFIG/OOo-dev
(Опять же, последняя часть "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 преимущества: профили не пересекаются, и чтобы удалить программу вместе с настройками пользователя нужно удалить всего одну папку.
Учтите, однако, что теперь разные люди, которые работают на одной машине, будут использовать одни и те же настройки.
Настройки для автоматического тестирования
Если вы планируете проводить автоматические тесты с помощью VCL TestTool, то проверьте настройки.
Чтобы VCLTestTool нашёл папку установки, нужно настроить параметр 'OOoProgramDir' в диалоге настроек VCLTesttool.