Portál AbcLinuxu, 14. května 2025 00:04

Dotaz: Závislosti - ne další balíky ale další soubory.

14.11.2009 07:43 Jaroslav Kopal
Závislosti - ne další balíky ale další soubory.
Přečteno: 337×
Odpovědět | Admin
Dá se nějakoým nástrojem, nebo příkazem Ubuntu zjistit jaké další soubory vyžaduje balík pro jehož instalaci jsem se rozhodl? To že se dozvím že jeho provozování vyžaduje ještě tenhle balík a tenhle, je sice hezké, ale každý balík může obsahovat zase další balík a další atd. Dejme tomu že bych chtěl hrát na závislé soubory, nikoliv na závislé balíky. Já chci znát dopředu faktický stav, závislé balíky jsou celkem nicneříkající a mohou mi být celkem ukradené. Je to možné? Děkuju za odpověď.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.11.2009 08:56 l4m4
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Příklad: hlavičkové soubory v gtksourceview-devel obsahují #include gtk/gtk.h, který vloží všechny veřejné hlavičkové soubory v Gtk+, hlavičkové soubory v gtk zase #include glib.h vkládájící veřejné hlavičkové soubory glib, a takhle to může pokračovat. Takže aby ti k něčemu bylo gtksourceview-devel, musíš mít kompletní sadu hlavičkových souborů gtk+. To ale vůbec není přesně daná množina souborů, protože ta kompletní sada se verzi od verze mění (přesněji tedy zvětšuje). A takto lze pokračovat, ten řetěz může být pěkně dlouhý.

Jak v této situaci definuješ závislosti na souborech?
14.11.2009 09:17 Jaroslav Kopal
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
No nevím, ale jedno je na Linuxu celkem dost nechutné. Příklad: Počet závislých balků: Jé mámo to je príma to má jenom dvě závislosti! Nojo, ale ty dvě závislosti mají celkem 16 podzávislostí, celkem to všechno čítá 34 souborů. A teď si je sháněj! Balíčky by měly být závislé už jenom na souborech a ne na dalších balíčcích. A když uvidím dalších potřebných 34 souborů tak o ten "zajímavý" balík nejspíš ztratím zájem. Kdo tohle vymyslel ???

Proč to řeším? Ten kdo zatím nemá, nebo neustále nebude mít přístup na internet je to docela neskousnutelný problém. Myslím jím vyhledávání všech komponent - de facto souborů potřebných pro provozování svého vysněného "balíčku" - programu.
vencour avatar 14.11.2009 09:26 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.

Ono tohle řešit jde předpokládám ... co "aptitude install -s <jmeno_baliku>"? Konkrétní příklad:

$ aptitude install -s nmap
Čtu seznamy balíků... Hotovo
Vytvářím strom závislostí       
Čtu stavové informace... Hotovo
Čtu rozšířené stavové informace       
Inicializuji stavy balíků... Hotovo
Následující NOVÉ balíky budou instalovány:
  nmap 
0 balíků aktualizováno, 1 nově instalováno, 0 k odstranění a 213 neaktualizováno.
Potřebuji stáhnout 1187kB archivů. Po rozbalení bude použito 4502kB.
Teoreticky by stáhl/nainstaloval/odstranil balíky.

$ aptitude install -s wdm
Čtu seznamy balíků... Hotovo
Vytvářím strom závislostí       
Čtu stavové informace... Hotovo
Čtu rozšířené stavové informace       
Inicializuji stavy balíků... Hotovo
Následující NOVÉ balíky budou instalovány:
  libwraster3{a} wdm xutils{a} xutils-dev{a} 
0 balíků aktualizováno, 4 nově instalováno, 0 k odstranění a 213 neaktualizováno.
Potřebuji stáhnout 846kB archivů. Po rozbalení bude použito 3330kB.
Chcete pokračovat? [Y/n/?] y
Teoreticky by stáhl/nainstaloval/odstranil balíky.
A u "aptitude install -s koffice" je too dost delší výpis, včetně
...
Instalovat následující balíky:
koffice-doc-html [1:1.6.3-7ubuntu6 (jaunty)]
zenity [2.26.0-0ubuntu2 (jaunty)]

Ponechat následující závislosti nevyřešené:
amarok-common doporučuje amarok (>= 2:2.0.2mysql5.1.30-0ubuntu3)
apport-qt doporučuje update-notifier-kde
gtk2-engines-qtcurve doporučuje kde-style-qtcurve
kdebase-runtime-data-common doporučuje khelpcenter4
ktorrent-data doporučuje ktorrent (>= 3.2.1+dfsg.1-0ubuntu3)
network-manager doporučuje network-manager-gnome | plasma-widget-network-manager
kaffeine doporučuje kdebase-runtime
kaffeine doporučuje install-package
kdenlive-data doporučuje kdenlive
mythtv-database doporučuje update-notifier | update-notifier-kde | adept-notifier
Skóre je 4816

Přijmout toto řešení? [Y/n/q/?]

Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
14.11.2009 09:32 Jaroslav Kopal
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
vencour Děkuju za odpověď.
14.11.2009 09:41 Jaroslav Kopal
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
Ono to taky hodně závisí na tom, co už mám nainstalované na počítači. Chápu. Může mi někdo poradit nějaký balík s často vyžadovanými základními knihovnami? Nebo to se nedá říci co jsou často vyžadované knihovny - soubory? To záleží na tom, kdo co na počítači dělá a jaké soubory používá?
vencour avatar 14.11.2009 09:59 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.

Máš moc času? Virtualizuj a tam si hraj, instaluj a zkoušej. Nebo aspoň měj nějakej stroj, na kterym můžeš experimentovat, co neni jako pracovní a hlavní.

Navíc: v synapticu, v gui, lze kliknout na "stav", vybrat "nainstalováno" a na konkrétním balíku se podívat, na čem závisí - pravé tlačítko, vlastnosti, tam jsou závislosti i nainstalované soubory.

V blogu bys pravděpodobně měl i víc příspěvků a komentářů na své otázky - a lépe bys pak daný text našel, než tady v poradně.

Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
14.11.2009 12:55 Jaroslav Kopal
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
Synaptic? No nevím buď ho neumím používat a nebo.. Dospěl jsem k názoru že kdo není přes Ubuntu připojený na internet právě Synaptic mu moc užitku asi nenadělá. Už jenom to, že vůbec není nakloněn instalacím z nějaké adresářové cesty, například když jsou instalační balíky uloženy v nějakých adreásřích kdesi na disku. A o tom času: Každý ho má tolik, kolik si ho na to, či ono udělá.Je to jen otázka priorit.
14.11.2009 18:43 Jaroslav Kopal
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
Někdo mi poradil: Zadat Synapticu adresář, kde jsou balíky, nejde, ale neni problem dát baliky tam, odkud je bere Synaptic: /var/cache/apt/archives/ Já jsem se o to pokoušel ale nedovolilo mi to něco tam zkopírovat. Proč? Přístupová práva?
Jendа avatar 14.11.2009 15:26 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
Už jsem vám psal, že když v Synapticu označíte změny, můžete si nechat vygenerovat skript, který spustíte na počítači s připojením k Internetu a on vám všechno potřebné stáhne.
14.11.2009 18:07 Jaroslav Kopal
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
To je asi jako když kominík radí někomu že má strčit štětku do komína a už je to hotový. Musíte to popsat trochu šířeji.
14.11.2009 18:10 Jaroslav Kopal
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
A taky nemám přístup na jiný Linuxový počítač připojený k internetu.
14.11.2009 18:33 Jaroslav Kopal
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
A ten počítač připojený k internetu musí mít Linux nebo ne ?
Jendа avatar 14.11.2009 18:53 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
Ten skript požaduje wget, ale pokud ho nemáte, můžete ty soubory, které jsou v něm, potahat ručně. Ten vygenerovaný skript vypadá takto:
#!/bin/sh
wget -c http://security.debian.org/pool/updates/main/l/linux-2.6/linux-image-2.6.26-2-686_2.6.26-19lenny2_i386.deb
wget -c http://security.debian.org/pool/updates/main/c/cups/libcups2_1.3.8-1+lenny7_i386.deb
wget -c http://security.debian.org/pool/updates/main/c/cups/libcupsimage2_1.3.8-1+lenny7_i386.deb
wget -c http://security.debian.org/pool/updates/main/c/cups/cups-common_1.3.8-1+lenny7_all.deb
wget -c http://security.debian.org/pool/updates/main/c/cups/cups_1.3.8-1+lenny7_i386.deb
wget -c http://security.debian.org/pool/updates/main/c/cups/cups-bsd_1.3.8-1+lenny7_i386.deb
wget -c http://security.debian.org/pool/updates/main/c/cups/cups-client_1.3.8-1+lenny7_i386.deb
wget -c http://security.debian.org/pool/updates/main/k/kdelibs/kdelibs-data_3.5.10.dfsg.1-0lenny3_all.deb
wget -c http://security.debian.org/pool/updates/main/k/kdelibs/kdelibs4c2a_3.5.10.dfsg.1-0lenny3_i386.deb
wget -c http://security.debian.org/pool/updates/main/k/kdelibs/kdelibs_3.5.10.dfsg.1-0lenny3_all.deb
wget -c http://security.debian.org/pool/updates/main/n/nspr/libnspr4-0d_4.7.1-5_i386.deb
wget -c http://security.debian.org/pool/updates/main/p/pidgin/pidgin-data_2.4.3-4lenny5_all.deb
wget -c http://security.debian.org/pool/updates/main/p/pidgin/libpurple0_2.4.3-4lenny5_i386.deb
wget -c http://security.debian.org/pool/updates/main/p/pidgin/libpurple-bin_2.4.3-4lenny5_all.deb
wget -c http://security.debian.org/pool/updates/main/l/linux-2.6/linux-headers-2.6.26-2-686_2.6.26-19lenny2_i386.deb
wget -c http://security.debian.org/pool/updates/main/l/linux-2.6/linux-headers-2.6.26-2-common_2.6.26-19lenny2_i386.deb
wget -c http://security.debian.org/pool/updates/main/l/linux-2.6/linux-libc-dev_2.6.26-19lenny2_i386.deb
wget -c http://security.debian.org/pool/updates/main/l/linux-2.6/linux-source-2.6.26_2.6.26-19lenny2_all.deb
wget -c http://security.debian.org/pool/updates/main/p/pidgin/pidgin_2.4.3-4lenny5_i386.deb
Buď ho spustíte (což na Windows by šlo jen kdybyste si nainstaloval bash a wget), nebo ty balíky potaháte ručně a uložíte do nějakého adresáře. Potom v Synapticu dáte Výběr → Přidat stažené balíky.
14.11.2009 19:47 l4m4
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
Kdo tohle vymyslel?

Vymyslela to spousta lidí už dávno a používá se to proto, že to funguje a je to maximálně pohodlné.

Počítače jsou

(a) alespoň občas připojeny k internetu

(b) s pevnou funkcí a pevnou množinou software a pokud možno se v nich nikdo nehrabe

(c) instalovány z instalačního média (dnes asi DVD), které lze posléze použít pro instalaci i dalších věcí

Možnosti lze kombinovat, ale vysvětli mi, kdy nenastává žádná.

Navzdory tomu má většina distribucí má do menší či větší míry fungující nástroj vygeneruj-seznam-url-potřebných-pro-instalaci balíčku (Fedora např yumdownloader --cache --urls --resolve, i když občas se mi to snaží tahat věci z 'netu, nestudoval jsem proč, jsem on-line).
14.11.2009 16:13 OndraP
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Osobně to řeším přes ldd /cesta/program a potřebné knihovny si stáhnu sólo nikoli v balíku a přímo je nakopíruji do /usr/lib.

Jendа avatar 14.11.2009 16:16 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
Taky řešení. I když aktualizovat takový systém musí být utrpení. Odkud je stahujete? Nebo to kompilujete?
14.11.2009 18:14 OndraP
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
Zas takové utrpení to není, jelikož aktualizace neprovádím každý týden, spíš tak jednou za uherský rok, neb se držím hesla: "Nešťourat se v tom, co funguje bez závad". Na druhou stranu řešit závislosti u balíků také není žádný med. Používám ořezaný Slackware, potřebné aplikace buď stáhnu hotové (přednost dávám staticky linkovaným, dynamické bez knihoven doplním potřebnými knihovnami, jak jsem napsal) nebo komplet kompiluji i s knihovnami ze zdrojáků.

Jendа avatar 14.11.2009 18:57 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
aktualizace neprovádím každý týden, spíš tak jednou za uherský rok
IP adresa toho stroje? ;-)
15.11.2009 20:20 OndraP
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
> IP adresa toho stroje?

Pokud Vám to pomůže - 192.168.0.99

14.11.2009 18:35 Jaroslav Kopal
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
Co je to ldd ?
14.11.2009 18:36 Jaroslav Kopal
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
LSD to bych věděl.
Jendа avatar 14.11.2009 18:56 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
ldd(1) - print shared library dependencies
(nápověda k příkazu - man příkaz)
vencour avatar 14.11.2009 19:04 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.

Pokud jste na linuxovém stroji, man ldd by mohlo napovědět.

Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
14.11.2009 20:57 Jaroslav Kopal
Rozbalit Rozbalit vše Re: Závislosti - ne další balíky ale další soubory.
Ale stačilo pouze říci že vám prostě chutná.. Ne napsat že je to příkaz. Má ho i Ubuntu? Přesto děkuji.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.