Bezkolizyjna instalacja nowej wersji OOo obok starej - Linux

Dokumentacja tworzona przez użytkowników dla użytkowników
mg2
Posty: 170
Rejestracja: czw sty 28, 2010 9:20 pm

Bezkolizyjna instalacja nowej wersji OOo obok starej - Linux

Post autor: mg2 »

* Instalacja nie wymaga uprawnień użytkownika "root" i sprowadza się do ręcznego rozpakowania (w katalogu domowym) paczek DEB lub RPM przy użyciu poleceń wydawanych w oknie konsoli.

* Tego typu "instalacja" umożliwia bezkonfliktowe używanie różnych wersji pakietu pod kątem nowości jak i języka.

* Piszę to dla wersji OpenOffice3.2rc5 (dla innych wersji zmienią się nazwy katalogów i niektórych plików).

1) tworzymy nowy katalog roboczy (np. w naszym katalogu domowym lub innym do którego mamy prawo dostępu)

Kod: Zaznacz cały

mkdir ooo320rc5
cd ooo320rc5
2) do katalogu pobieramy plik OOo w postaci pakietów DEB lub RPM spakowanych w archiwum tar.gz (np. wersja Linux 32-bit)
OOo_3.2.0rc5_20100203_LinuxIntel_install_pl.tar.gz

3) rozpakowujemy pobrane archiwum tar.gz

Kod: Zaznacz cały

tar xvzf OOo_3.2.0rc5_20100203_LinuxIntel_install_pl.tar.gz
powstał katalog "OOO320_m12_native_packed-1_pl.9483"

4) rozpakowujemy otrzymane pakiety DEB/RPM

a) w przypadku RPM idziemy do podkatalogu "RPMS" i wydajemy polecenie

Kod: Zaznacz cały

rpm2cpio ./pakiet.rpm | cpio -idv
aby nie rozpakowywać każdego pakietu osobno posługujemy się bardzo prostym skryptem napisanym w ulubiony edytorze txt:

Kod: Zaznacz cały

#!/bin/bash
for paczka in ./*.rpm
 do
  rpm2cpio ${paczka} | cpio -idv
 done
exit
skrypt musi być umieszczony w katalogu z paczkami RPM
aby uruchomić skrypt trzeba nadać plikowi atrybut uruchamialności

Kod: Zaznacz cały

chmod +x ./skrypt_rozpakowanie_rpm
powstał katalog "opt"

b) w przypadku DEB jest podobnie
rozpakowanie pojedynczej paczki

Kod: Zaznacz cały

dpkg -x ./pakiet.deb ./
skrypt rozpakowujący wszystkie paczki w katalogu:

Kod: Zaznacz cały

#!/bin/bash
for paczka in ./*.deb
 do
  dpkg -x ${paczka} ./
 done
exit
skrypt musi być umieszczony w katalogu z paczkami DEB
aby uruchomić skrypt trzeba nadać plikowi atrybut uruchamialności

Kod: Zaznacz cały

chmod +x ./skrypt_rozpakowanie_deb
powstał katalog "opt"

5) jeżeli instalujemy kolejną wersję poboczną (np. 3.2 obok istniejącej 3.1) to programy będą się "gryzły" ponieważ mają wspólny katalog z ustawieniami o nazwie "3", należy więc to zmienić (pliki konfiguracyjne są w katalogu ".openoffice.org" w katalogu domowym)

Idziemy do katalogu z plikami głównymi OOo (w przypadku DEB)
~/ooo320rc5/deb/OOO320_m12_native_packed-1_pl.9483/DEBS/opt/openoffice.org3/program

ustawiamy plik bootstraprc jako "do zapisu" (jest tylko do odczytu)

Kod: Zaznacz cały

chmod +w bootstraprc
otwieramy plik ulubionym edytorem txt i idziemy do linijki

Kod: Zaznacz cały

UserInstallation=$SYSUSERCONFIG/.openoffice.org/3
na końcu zmieniamy "3" na np. "320rc5"

Kod: Zaznacz cały

UserInstallation=$SYSUSERCONFIG/.openoffice.org/320rc5
zapisujemy plik i zamykamy edytor

wyłączamy zapis pliku

Kod: Zaznacz cały

chmod -w bootstraprc
w tym samym katalogu jest plik "soffice" uruchamiający program główny (możemy na pulpicie zrobić do niego skrót)

6) Pozostało zainstalować słownik polski

Uruchamiamy pakiet wspomnianym plikiem "soffice" i klikamy:
"Narzędzia" -> "Menedżer rozszerzeń ..." -> "Dodaj"

idziemy w okienku do katalogu (w przypadku DEB)
~/ooo320rc5/deb/OOO320_m12_native_packed-1_pl.9483/DEBS/opt/openoffice.org3/share/extension/install

wybieramy
dict-pl.oxt

i klikamy "Otwórz" ... "Tylko dla mnie" ... "Zamknij"

Gotowe :)

PS
Jak wspomniałem na początku można w ten sposób korzystać z kilku wersji np. 3.0_PL, 3.0_EN, 3.2rc5_PL
OOo3.1.1 na Ubuntu 9.04
Awatar użytkownika
quest-88
Posty: 1105
Rejestracja: ndz maja 24, 2009 8:12 pm
Lokalizacja: Zabrze
Kontakt:

Re: Bezkolizyjna instalacja nowej wersji OOo obok starej - Linux

Post autor: quest-88 »

Fajne HOWTO! Przenoszę je do odpowiedniejszego działu. :)
Standardowa diagnostyka rozwiązuje 90% problemów typu "wcześniej działało, ale już nie działa".
Przepis na LibreOffice
Uzyskałeś pomoc? Poinformuj innych o sprawdzonym rozwiązaniu i podziękuj. Dodaj [SOLVED] w tytule.
ODPOWIEDZ