Контроль качества: Установка Apache OpenOffice разных версий в одну систему
Contents
Вступление
Для оказания содействия в исправлении ошибок Apache OpenOffice достаточно использовать в повседневной работе DEV-сборку и сообщать об обнаруженных ошибках.
Стабильные версии, по умолчанию, устанавливается в /opt на Linux и c:\Program Files на Windows. Например, Apache OpenOffice 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
В этой части будет показано, как установить любую версию Apache OpenOffice, распространяемую в пакетах RPM или DEB. В этом методе будет опущена процедура инсталляции. Вместо неё пакеты буду распакованы в заданный пользователем каталог.
Установка Apache OpenOffice 3.* (трёхслойный Apache OpenOffice)
Начиная с DEV300m4, в Apache OpenOffice есть три слоя (см. Three-Layer Apache OpenOffice). Это значит, что при распаковке пакетов RPM/DEB, будет создано 2 каталога:
1. opt/openoffice.org
|
(содержит нижний и средний слои: ure и basis )
| |
2. opt/openoffice.org3
|
(содержит верхний слой) |
где, возможно, понадобится заменить openoffice.org на другое имя. Например: ooo-dev.
Так как необходимо создать самодостаточную установку Apache 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/
Распаковать RPM можно за 1 или 2 шага:
# за 1 шаг ~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT> for i in ../o*.rpm; do rpm2cpio $i | cpio -id; done
# за 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
- 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 # переход в неё ~/download/ooo> cd TEMP_INST/ # распаковка содержимого скачанного файла ~/download/ooo/TEMP_INST> tar -zxvf ../OOo-Dev_DEV300m77_Linux_x86_install-deb_en-US.tar.gz
В результате во временной папке находятся распакованные файлы.
Затем следует перейти в папку DEBS с помощью команды cd
, содержащую файлы *.deb.
# создание следующей временной папки для распаковки файлов *.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/
![]() |
В зависимости от версии изменяются имена файлов и каталогов:
|
Можно распаковать все *.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.)
По умолчанию Apache OpenOffice хранит настройки отдельно для каждого пользователя в профиле
- /home/user/.openoffice.org/ (стабильные сборки и RC)
или
- /home/user/.ooo-dev/ (сборки DEV)
Это значит, что нельзя параллельно запустить две сборки, которые обе устанавливаются как ooo-dev или openoffice.org, т.к. они одновременно использовали бы один и тот же профиль и конфликтовали ли бы друг с другом.
Чтобы этого избежать, следует изменить настройки так чтобы Apache OpenOffice хранил профиль в другом месте. Например в своей корневой папке. В этом случае будет легче и удалять приложение, поскольку и Apache OpenOffice, и его профиль будут в одном каталоге.
Для этого необходимо отредактировать файл
- 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
Таким способом, папка профиля будет располагаться там же, где и сам Apache OpenOffice, и становится возможным запускать параллельно несколько разных версий.
Windows
В Windows следует выполнить "административную установку" пакета. Это функция доступна для любого пакета, использующего MSI, и, в основном, это значит - распаковка всех файлов *.cab.
Дистрибутив Apache OpenOffice для Windows представляет собой один установочный файл (смораспаковывающийся архив), содержащий в себе полный установочный набор файлов (1 файл *.exe более 100 МБ в размере, вида OOo-Dev_DEV300m77_Win_x86_install-wJRE_en-US.exe).
Для текущей задачи следует:
- запустить его на выполнение. Будет предложено выбрать каталог для распаковки дистрибутива (например: C:\temp\install) и произведена сама распаковка;
- после завершения распаковки автоматически будет запущен инсталлятор с приветствием и предложением начать установку. Необходимо щёлкнуть кнопку Cancel (Отмена).
Далее необходимо запустить консоль (Пуск → Выполнить..., введсти "cmd", нажать ↵ Enter , либо вызвать через меню Программы → Стандартные → Командная строка)
В консоли следует ввести:
...> c: c:\> cd \temp\install c:\temp\install> msiexec /a ooodev33.msi
msiexec это инструмент для исполнения файлов .msi. Переключатель /a инициирует запуск административной установки. Он запускает диалог запроса о целевой папке установки. Следует указать каталог, где будет располагался установленный Apache OpenOffice. Затем следует щёлкнуть кнопку "Install" ("Установить") и дождаться окончания установки.
![]() |
Следующая команда: msiexec /a ooodev33.msi TARGETDIR="c:\Program Files\OOoDev\m77" /qr |
Начиная с DEV300m23, необходимые файлы Microsoft Visual C++ runtime не содержатся более в установленном Apache OpenOffice, а вместо этого, устанавливаются во время обычной установки (см. this interface-announce@openoffice.org mail). Так как во время административной установки это действие не выполняется, следует самостоятельно установить Пакет Microsoft Visual C++ 2008 Redistributable (x86) (или эквивалент для другой версии компилятора).
Профиль
Как и на версиях для Linux, следует сделать так, чтобы профиль Apache OpenOffice не конфликтовал с другими версиями. Для этого необходимо отредактировать в блокноте файл
- <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.
File:Снимок-Настройки-OOoProgramDir.png
