Strona 1 z 2

[+] dpkg i zależności lokalnie posiadanego pakietu deb

: 18 stycznia 2009, 21:56
autor: Theq
Witam.

Mam katalog, w którym jest pełno pakietów deb po zabawie z dpkg-buildpackage. Czy jest jakiś prosty sposób (poza stworzeniem własnego repozytorium) instalacji jednego pakietu + jego zależności znajdujących się w tym katalogu?

: 19 stycznia 2009, 07:14
autor: Utumno
po prostu po kolei

Kod: Zaznacz cały

 dpkg -i nazwa_pakietu
i jak ci wyrzuci, ze pakiet ten zalezy od innego, to najpierw dpkg -i ten_inny_pakiet ...

: 19 stycznia 2009, 08:13
autor: Theq
Problem jest wlasnie w tym, ze ten pakiet ma duzo zaleznosci, ktore maja swoje zalezosci, ktore maja swoje zaleznosci itd. Mnie chodzi o jakis mechanizm rozwiazania zaleznosci podobnie jak jest w aptitude, tylko ze dla debow na dysku, a nie w repozytorium.

: 19 stycznia 2009, 10:57
autor: fnmirk

Kod: Zaznacz cały

dpkg -h
apt-get -h
aptitude -h

Kod: Zaznacz cały

apt-cache -h

Kod: Zaznacz cały

apt-cache  depends nazwa_pakietu
Pakiet na dysku posiada swój pierwowzór w repozytorium.

Można też podejrzeć plik ,,INFO'' zaszyty w pakiecie deb - korzystając z mc.

: 19 stycznia 2009, 12:02
autor: pavbaranov
Theq - czy Tobie zależy na jakimś programie, który sam instalując pakiet z dysku, dociągnie zależności itp.? Jeśli tak, to powinieneś zainteresować się np. programem Gdebi. Jeśli dobrze wiem, działa w konsoli oraz - natywnie - w środowisku Gnome, jest jednak paczka gdebi-kde. Jeśli dobrze wiem, to są jeszcze inne programy realizujące ten cel. Niestety jeszcze nie odpowiem Ci na pytanie jak dobrze funkcjonuje już KPackageKit dla KDE4, ale zdaje się, że jeszcze jest w stadium rozwoju.

: 19 stycznia 2009, 12:12
autor: Theq
fnmirk pisze:

Kod: Zaznacz cały

dpkg -h
apt-get -h
aptitude -h

Kod: Zaznacz cały

apt-cache -h
To byly pierwsze miejsca gdzie szukalem, niestety nie znalazlem tego co mnie interesuje.
fnmirk pisze:

Kod: Zaznacz cały

apt-cache  depends nazwa_pakietu
Pakiet na dysku posiada swój pierwowzór w repozytorium.

Można też podejrzeć plik ,,INFO'' zaszyty w pakiecie deb - korzystając z mc.
Dowiedzieć się od czego zależy dany pakiet to nie problem. Mały przykład. Chcę zainstalować pakiet kde, no to:

Kod: Zaznacz cały

apt-cache depends kde
kde
  Wymaga: kde-core
  Wymaga: kdeaccessibility
  Wymaga: kdeaddons
  Wymaga: kdeadmin
  Wymaga: kdeartwork
  Wymaga: kdeedu
  Wymaga: kdegames
  Wymaga: kdegraphics
  Wymaga: kdemultimedia
  Wymaga: kdenetwork
  Wymaga: kdepim
  Wymaga: kdetoys
  Wymaga: kdeutils
  Wymaga: kdewebdev
  Sugeruje: <kde-i18n>
  Sugeruje: <x-window-system-core>
    xorg
i dalej:

Kod: Zaznacz cały

apt-cache depends kde-core
kde-core
  Wymaga: arts
  Wymaga: kdebase
  Wymaga: kdelibs
  Sugeruje: <kde-i18n>
itd.:

Kod: Zaznacz cały

apt-cache depends kdebase
kdebase
  Wymaga: kappfinder
  Wymaga: kate
  Wymaga: kcontrol
  Wymaga: kdebase-bin
  Wymaga: kdebase-data
  Wymaga: kdebase-kio-plugins
  Wymaga: kdepasswd
  Wymaga: kdeprint
  Wymaga: kdesktop
  Wymaga: kfind
  Wymaga: khelpcenter
  Wymaga: kicker
  Wymaga: klipper
  Wymaga: kmenuedit
  Wymaga: konqueror-nsplugins
  Wymaga: konqueror
  Wymaga: konsole
  Wymaga: kpager
  Wymaga: kpersonalizer
  Wymaga: ksmserver
  Wymaga: ksplash
  Wymaga: ksysguard
  Wymaga: ktip
  Wymaga: kwin
  Wymaga: libkonq4
 |Wymaga: hal
 |Wymaga: <kfreebsd-gnu>
  Wymaga: <hurd>
 |Wymaga: pmount
 |Wymaga: <kfreebsd-gnu>
  Wymaga: <hurd>
  Sugeruje: kdebase-doc-html
  Poleca: kdm
...

Kod: Zaznacz cały

apt-cache depends kate
kate
  Wymaga: kdelibs4c2a
  Wymaga: libc6
  Wymaga: libgcc1
  Wymaga: libqt3-mt
  Wymaga: libstdc++6
 |Sugeruje: aspell
 |Sugeruje: ispell
  Sugeruje: hspell
  Sugeruje: kate-plugins
  Sugeruje: khelpcenter
  Sugeruje: konsole
  Poleca: kregexpeditor
  Zastępuje: kdebase-doc
W tym momencie wysiadam i szukam automatycznego sposobu rozwiązania tych zależności. Szukałem trochę przez Google i chyba bez stworzenia własnego repozytorium się nie obejdzie.

[Dodano: 2009-01-19, 12:14]
pavbaranov pisze:Theq - czy Tobie zależy na jakimś programie, który sam instalując pakiet z dysku, dociągnie zależności itp.?
Chodzi mi o instalacje pakietów, które sam skompilowałem i mam je w katalogu. A jakby jeszcze dociągnął te zależności, których nie mam w katalogu, to by było w ogóle super :)

: 19 stycznia 2009, 13:47
autor: fnmirk

Kod: Zaznacz cały

apt-get install aptoncd
Stworzysz sobie płytkę z zawartością katalogu i dodasz ją do /etc/apt/sources.list.
Wykonanie tym programem własnej płytki jest banalne i chyba jest to najprostszy sposób na repozytorium lokalne.

: 19 stycznia 2009, 14:11
autor: pavbaranov
Chodzi mi o instalacje pakietów, które sam skompilowałem i mam je w katalogu. A jakby jeszcze dociągnął te zależności, których nie mam w katalogu, to by było w ogóle super :)
Pierwsze realizuje zawsze dpkg :)
Drugie - oprócz sposobu fnmirka - zobacz na: gdebi lets you install local deb packages resolving and installing its dependencies. apt does the same, but only for remote (http, ftp) located packages.
It has a graphical user interface but can be used in your terminal.
Z tego co widzę, w Debianie jest dla wszystkich gałęzi przynajmniej od Etcha.

: 19 stycznia 2009, 14:18
autor: Theq
pavbaranov pisze:Pierwsze realizuje zawsze dpkg :)
Problem w tym, ze mam duzo pakietow w tym katalogu i nie wszystkie chce zainstalowac. Tylko te, ktore wymaga jeden pakiet. Gdebi testowalem i pobiera mi on paczki z repo mimo, ze mam je w tym katalogu. Sposob przez aptoncd jest troche na okolo, ale chyba to najprostsze rozwiazanie.

: 19 stycznia 2009, 14:27
autor: Utumno
Ty chyba stary kompilujesz ostatnie KDE. Jesli tak, to bez sensu - sa repozytoria.