Ubuntu - instalacja Lazarus offline

0

Posiadam wirtualną maszynę z zainstalowanym Ubuntu w wersji 10.10.

Obraz maszyny mam zarchiwizowany, że w racie czego mogę przywrócić stan po instalacji.

Chciałem zrobić pakiet Lazarus 0.9.28.2 do instalacji offline.

W poniższym tekście, mianem "odświeżenia systemu" będę nazywać usunięcie obrazu dysku i wyciągnięcie z archiwum obrazu zawierającego stan przed instalacją.

Jestem w stanie po instalacji systemu. Stwierdzając, że Ubuntu to tak naprawdę Debian, ściągnąłem te pliki:

http://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20i386%20DEB/Lazarus%200.9.28.2/

Pliki *.tar rozpakowałem archiwizerem zainstalowanym "fabrycznie" w Ubuntu.

Wszystki pakiety wrzuciłem do jednego folderu, wykonałem w nim polecenie:

sudo dpkg -i *.deb

Okazało się, że są następujące zależności:
fp-units-gtk2 - wymaga libgtk2.0-dev
fp-units-multimedia - wymaga, libogg-dev, libvorbis-dev, a52dec-dev, libdts-dev, libmad0-dev, libmodplug-dev

Pakiety, których wymaga, nie istnieją, więc stwierdziłem, że autorzy projektu nie udostępniają WSZYSTKICH wymaganych pakietów. Być może oryginalny Debian zawiera wszystkie, o czym nie wiem?

Poszedłem inną ścieżką:

http://wiki.lazarus.freepascal.org/Lazarus_release_version_for_Ubuntu

Wyczytałem gdzieś, że jak się wykonuje:

sudo apt-get install jakisprogram

to wszystkie pobrane pakiety są wprowadzane do folderu "/var/cache/apt/archives/", i tak rzeczywiście jest, o czym przekonałem się instalując Wine i Monodevelop.

Postąpiłem troszeczkę inaczej niż jest w tym tekście:

Uruchomiłem połączenie z siecią, a następnie konsolę i w niej wykonałem następujące połączenia:

gpg --keyserver hkp://pgp.mit.edu:11371 --recv-keys 6A11800F
gpg --export 6A11800F | sudo apt-key add -

Potem wszedłem do menedżera Synaptic, w konfiguracji, gdzie sa repozytoria, dopisałem repozytorium:

"deb http://www.hu.freepascal.org/lazarus/ lazarus-stable universe"

Wróciłem do konsoli i wykonałem:

sudo apt-get update
sudo apt-get install lazarus

Bezpośrednio po zakończeniu instalacji zamknąłem konsolę i wyłączyłem połączenie z siecią.

W rzeczywistości, w maszynie wirtualnej mam drugi dysk, który służy do tymczasowego przechowywania plików, do których muszę mieć dostępo po odświeżeniu systemu.

Na tym drugim dysku założyłem nowy katalog i do niego wrzuciłem zawartość "/var/cache/apt/archives/" pakując do *.zip oprócz folderu "partial" i pliku "lock", były tam wszystkie pobrane pakiety.

Otworzyłem program lazarus, zrobiłem w nim aplikację okienkową tyou "hello world", aplikacja bez porblemu skompilowała się i uruchomiła.

Odświeżyłem system.

Rozpakowałem na pulpit katalog plik zip z drugiego dysku, żeby mieć "luzem" to, co ściągnął "apt-get".

Wszedłem do konsoli, ustawiłem powyższy katalog, wykonałem polecenie:

sudo dpkg -i *.deb

Po standardowych napisach pojawił się taki tekst:

Wystąpiły błędy podczas przetwarzania:
build-essential
fp-units-multimedia
libcairo2-dev
libfreetype6-dev
libgdk-pixbuf2.0-dev
libglib2.0-dev
libgtk2.0-dev
libpango1.0-dev
libpng12-dev
libxcb1-dev
libxcb-render0-dev
libxcb-shm0-dev
libxft-dev
x11proto-xext-dev
fpc
fp-units-gtk
libatk1.0-dev
libfontconfig1-dev
fp-units-gnome1

Lazaru uruchamia się, ale nie kompiluje, czemu trudno się diwić w takiej sytuacji.

Próbowałem zainstalować tylko bould-essential*.deb (w miejscu gwiazdki jest numer wersji, dpkg odszuka pakiet, którego nazwa zaczyna się od słów umieszczonych przed gwiazdką).

Pojawił się komunikat, że powyższy pakiet wymaga pakietu g++.

Pakiet g++ zainstalował się.

W konsoli mam taki tekst:

xxx@xxx-virtual-machine:/Pulpit/zxc$ sudo dpkg -i g++*.deb
(Odczytywanie bazy danych ... 155520 plików i katalogów obecnie zainstalowanych.)
Przygotowanie do zastąpienia g++-4.4 4.4.4-14ubuntu5 (wykorzystując g++-4.4_4.4.4-14ubuntu5_i386.deb) ...
Rozpakowanie pakietu zastępującego g++-4.4 ...
Konfigurowanie g++-4.4 (4.4.4-14ubuntu5) ...
Przetwarzanie wyzwalaczy dla man-db...
xxx@xxx-virtual-machine:
/Pulpit/zxc$ sudo dpkg -i build-essent*.deb
(Odczytywanie bazy danych ... 155520 plików i katalogów obecnie zainstalowanych.)
Przygotowanie do zastąpienia build-essential 11.5 (wykorzystując build-essential_11.5_i386.deb) ...
Rozpakowanie pakietu zastępującego build-essential ...
dpkg: problemy z zależnościami uniemożliwiają skonfigurowanie build-essential:
build-essential zależy od g++ (>= 4:4.4.3); jednakże:
Pakiet g++ nie jest zainstalowany.
dpkg: błąd przetwarzania build-essential (--install):
problemy z zależnościami - pozostawiony nieskonfigurowany
Wystąpiły błędy podczas przetwarzania:
build-essential
xxx@xxx-virtual-machine:~/Pulpit/zxc$

Najśmieszniejsze jest to, że prozy próbie instalacji dpkg nie widzi pakietu g++ mimo, że był chwilę wcześniej zainstalowany.

Potem znowu odświeżyłem system i powtórzyłem całą procedurę. Za drugim razem tak samo. Czyli Lazarus zainstalowany online działał, a próba instalacji offline po odświeżeniu systemu nie powiodła się.

Gdzie jest przyczyna tych problemów? Przy instalacji Wine i MonoDevelop postępowałem w taki sam sposób i działało bez problemów.

0

Po wykonaniu komendy jako root dpkg -i *.deb wyświetli że brakuje pakiety, wtedy wydajesz polecenie apt-get -f install :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1