Czasami potrzebujemy zainstalowac paczke, ktora nie jest dostepna w oficjalnym repozytorium. Zalezy nam na automatycznym doinstalowaniu zaleznosci. By to osiagnac mozemy uzyc
dpkg <paczka>
apt-get -f install
lecz nie zawsze
apt bedzie w stanie napraiwc zaleznosci.
Innym wyjesciem jest jest uzycie
gdebi-core, lub jak opisane ponizej stworzenie lokalnego repozytorium pakietow.
Tworzymy katalog
/root/debs i tam przenosimy wszystkie nasze lokalne pakiety .deb
Teraz mozemy zmodyfikowac definicje w pliku kontrolnym paczek dla naszego repozytorium uzywajac pliku
override.
Plik jest w formacie:
<paczka> <priorytet> <sekcja>
gdzie <paczka> to nazwa pakietu, <priorytet> moze byc low,medium lub high(niski,sredni,wysoki), a <sekcja> to sekcja do ktorej nalezy paczka.
Nazwa tego pliku jest niewazna, gdyz podamy ja jako argument do
dpkg-scanpackages.
Jesli nie interesuje cie powyzsze to poprostu mozena podac /dev/null jako argument do
dpkg-scanpackages
Tip
dpkg-scanpackages znajduje sie w dpkg-dev
Bedac w /root
# dpkg-scanpackages debs <plik_override> | gzip > debs/Packages.gz
Powyzej <plik_override> to plik o ktorym plik kontrolny, jesli go nie trworzymy to podajemy zamiast tego /dev/null.
Polecenie stworzy Packages.gz plik ktory zawiera rozne informacje o pakietach znajdujacych sie w naszym lokalnym repozytorium potrzebnych dla apt.
Na koniec dodajemy do
/etc/apt/sources.list
deb file:/root debs/
Teraz mozemy uzywac
apt do instalowania pakietow znajdujacych sie w naszym repozytorium,a wszystkie zaleznosci beda doinstalowywane automatycznie z oficjalnych repozytoriow.
zrodlo:
http://www.debian.org/doc/manuals/apt-howto/ch-basico.en.html#s-dpkg-scanpackages