Od czasu do czasu możemy musieć instalować coś ze źródła z różnych powodów. Chociaż jest to dość standardowe, jak zainstalować oprogramowanie, biorąc pod uwagę odpowiednie zależności, nie jest dla mnie jasne, jak zarządzać taką instalacją dla przyszłej wygody.
Dokładniej:
Co możemy zrobić, aby zapewnić łatwą i czystą dezinstalację (w tym zależności, które są instalowane tuż przed i tylko dla oprogramowania instalowanego ze źródła)?
Co możemy zrobić, aby zapewnić łatwą i czystą aktualizację tego samego oprogramowania, które prawdopodobnie zostanie ponownie zainstalowane ze źródła?
Co możemy zrobić, aby zminimalizować potencjalny konflikt, jeśli istnieje pakiet domyślny (instalowany przy użyciu apt-get), a także (nowsza) wersja pakietu (instalowana ze źródła)?
apt-get src
prawdopodobnie nie może pomóc w takich przypadkach.Przede wszystkim wiele zależy od sposobu zarządzania kodami źródłowymi.
~/sources
Tworzę katalog podobny do tego i umieszczam każdy program w jego podkatalogach, podczas gdy inne utworzą nowy katalog dla każdego programu.Podobnie niektórzy jak ja, stwórz nowy podkatalog dla każdej nowej wersji i usuwaj starsze wersje tylko wtedy, gdy upewnisz się, że nie ma istotnych błędów w nowej wersji, które mogłyby zatrzymać moją pracę.
Nie ma jednego sposobu, aby to zrobić, ale niezależnie od tego, który sposób wybierzesz, wybierz sposób, który byłby dla ciebie najłatwiejszy do zarządzania .
Wyczyść odinstalowanie
Sugerowałbym stworzenie
rem_dep.sh
skryptu, który wyglądałby tak.gdzie
dep1, dep2, depn
są zależności.Czysta i łatwa aktualizacja
jeśli masz kod źródłowy ze zautomatyzowanym systemem wersjonowania jak
git
lubbazaar
czy linki są przewidywalne można utworzyć skrypt, który będzie shellRównież w innych przypadkach możesz w pewnym stopniu tworzyć takie skrypty z pracą ręczną.
Zarządzanie konfliktem
--prefix
opcji podczas instalowania oprogramowania i zależności.źródło
Kompiluj zależności:
AFAIK powinny być rejestrowane ręcznie. Możesz utworzyć plik typu README, aby zachować listę ręcznie zainstalowanych zależności.
Jeśli to oprogramowanie ma już wbudowany plik binarny w repozytoriach Ubuntu lub PPA. Śledzenie zależności podczas instalacji powinno być łatwiejsze:
Wyczyść odinstalowanie:
Zachowaj skonfigurowany i zainstalowany folder źródłowy. Lepiej, jeśli zbierzesz wszystkie źródła w określonym folderze z plikiem zainstalowanych zależności.
Czysta aktualizacja i izolacja zainstalowanych plików:
Zainstaluj je w określonych
--prefix
(najlepiej--prefix=/opt/software_name-version/
).To rozwiąże wiele problemów: współbieżne wersje z wersją z repozytorium; czyste uaktualnienie; łatwiejsze do brudnej dezinstalacji w przypadku usunięcia źródła.
Bardziej wyrafinowany lub najlepszy sposób, jako odpowiedź @muru, Zbuduj pakiet Debian (dla pakietów dostępnych w repozytoriach Ubuntu / PPA)
źródło