Niektóre sytuacje wymagają ręcznego zainstalowania pakietu lokalnego przy użyciu dpkg -i <packagename>
. Czasami przydatne może być wykorzystanie funkcjonalności apt
tego pakietu, więc pytanie brzmi:
Jak szybko utworzyć lokalne repozytorium losowych pakietów przy użyciu dystrybucji Linuksa opartej na Debianie - takiej jak Xubuntu 13.04 / Ubuntu?
dpkg -i <packagename>
zapt-get -f install
celu załadowania wymaganych pakietów. Ponadto, zwykłą rzeczą do stworzenia apt repos dla Debiana jest reprezentpro.apt
z--fix-broken
byłyby wymagane po zainstalowaniu pakietu z lokalnymdpkg -i
? Czy dpkg nie zająłby się tym? I czytać może być wymagane po raz pierwszy apt jest prowadzony? @ FM & Gilles: O reprezentpro . Wydaje się użyteczne, gdybym mógł uruchomić go (nie jestem pewien co do struktury katalogu, zawartości 3 plików lub parametrów w czasie wykonywania). Spróbuję ponownie i zaktualizuje lub opublikuje pełne pytanie.dpkg
nie rozwiązuje zależności, aleapt
rozwiązuje.dpkg
będzie ostrzegał o zepsutych zależnościach, ale ma niski poziom, więc nie będzie próbował ich naprawić.dpkg -i *.deb
Następnieapt-get -f install
jest standardową procedurą. Istnieje błąd na liście życzeń, któryapt
sam sobie radzi w przypadku instalacji pakietu lokalnego, i jest nawet łatka, jak sądzę, ale nie została jeszcze zaimplementowana. Zobacz, jak apt-get install może również instalować lokalne pliki pakietów , pierwotnie złożone w 1999 roku.Odpowiedzi:
Należy to odróżnić od sytuacji, w której próbujesz replikować pełne drzewo pakietów z oficjalnego repozytorium i priorytetu źródeł dostrajających . Paczki losowe oznaczają paczki wirtualne, paczki kompilowane lokalnie lub fragmentarycznie kopiowane w celach testowych. Oto prosta konfiguracja oparta na już nieaktualnej dokumentacji .
Najpierw utwórz katalog do hostowania pakietów:
Następnie przenieś tam swoje pliki pakietu .deb. Wykonaj to polecenie z katalogu powyżej właśnie utworzonego (upewnij się, że uprawnienia na to pozwalają!):
Teraz należy utworzyć plik z rozszerzeniem
.list
w/etc/apt/sources.list.d/
z treścią:i zaktualizuj bazę danych apt:
W tym momencie pakiety w naszym lokalnym repozytorium mogą być instalowane jak każdy inny pakiet
apt-get install <packagename>
. Kiedy nowe pakiety są dodawane do lokalnego repozytorium, wymaganedpkg-scanpackages
polecenie musi zostać ponownie wydane, aby zaktualizować plik Packages.gz iapt
musi zostać zaktualizowane przed udostępnieniem nowych pakietów. Mam nadzieję, że może to być przydatne do celów testowych .źródło
[trusted=yes]
pomiędzydeb
ifile:///
URI (patrzsources.list(5)
strona podręcznika ), w przeciwnym razieapt-get update
zawodzi z powodu braku podpisu.Jeśli chcesz utworzyć repozytorium z pełną strukturą, której potrzebujesz do narzędzi takich jak debootstrap, najprostszym sposobem, jaki znalazłem, jest:
Utwórz katalog repozytorium.
Utwórz podkatalog conf.
Utwórz plik / opt / debian / conf / distribution z zawartością taką jak ta (dostosuj odpowiednio do używanej dystrybucji):
Zaimportuj paczkę za pomocą przedstawiciepro.
Zaimportuj kilka pakietów za pomocą powłoki for-loop, np. Wszystko z pamięci podręcznej APT:
Spowoduje to utworzenie niepodpisanego archiwum. Może być używany z debootstrap z opcją --no-check-gpg.
źródło