Pekne, ale kdo ma Debiana, tak tohle vsechno zna a vetsinu, ktera ho nema, to nejspis moc zajimat nebude, protoze od sve oblibene distrubuce tezko odejde jen kvuli balickovacimu systemu.
Co by ctenare asi mohlo zajimat vic je vyroba debianich balicku - vetsina lidi co znam to neumi. Pritom je to vyborna vec, pac kdyz si neco sami kompilujou tak se to frka do /usr/local a pak je v tom docela gulas. Neni nad to, mit i vlastni programy prehledne odstranitelny/zobrazeny pod dselectem nebo pres dpkg.
Názory k článku
Balíčkovací systém distribuce Debian GNU/Linux, část druhá
vytvareni .deb
celé vláknoRe: vytvareni .deb
celé vláknoNaopak, já používám Debiana, a tento článek mě dal ucelený pohled nad .deb a objasnil mi spoustu nových věcí. Myslím si, že tento článek je napsaný vynikajícím způsobem.
Re: vytvareni .deb
celé vláknoNejjednodussi vyroba balicku je stejne u Slacka:-)
Re: vytvareni .deb
celé vláknoPomalu prechazim z RedHatu na Debiana. Proto si take rad prectu neco uceleneho, protoze porad cist ruzne manualy a how-to me nebavi.
Re: vytvareni .deb
celé vláknoNemas pravdu. Ja jsem od RH odesel prave kvuli spatne sprave rmp. Debian me nadchl svym "apt-get". Jiny duvod jsem nemel. Debian ma sice jinou adresarovou strukturu, ale nepripada mi ani lepsi ani horsi nez u RH.
Kdo ma Debiana, tak vyrobu baliku zna. Marcel v diskuzi k minulemu clanku od debianich baliccich prislibil, ze se navod na vyrobu baliku objevi.
Re: vytvareni .deb
celé vláknoTak k tomuhle se připojuju. Balíčkovací systém byl jedním z hlavních důvodů, proč jsem utekl od RH. Časem se k tomu přidaly i problémy s licencí (co poslední dobou RH dělá je minimálně hodně podivné) a štvaly mě i překombinované skripty, ale balíčky byli problém číslo jedna.
Dneska mám Debžu a jsem spokojený na 100%.
Díky za seriálek. Peter
Re: vytvareni .deb
celé vláknoJeště mám dotaz: Jak můžu jednoduše vypsat informace a názvy souborů i s cestou v balíčku, který si určím a který NENÍ nainstalovaný? Chci si udělat do jednoho souboru seznam všech souborů v distribuci, abych, když mi při překladu něco zařve: "Chybí libněco.so", mohl grepem ten soubor lokalizovat.
Díky za radu. Peter
Re: vytvareni .deb
celé vláknoZjisteni prislusnosti souboru k balicku (instalovanemu)
dpkg -S /usr/lib/libcurses.so
Zjisteni souboru v nenainstalovanem balicku:
dpkg --contents tcl8.3_8.3.2-8_i386.deb
dpkg --get-selections : vypise stav baliku v systemu, pomoci:
dpkg --set-selections
Re: vytvareni .deb
celé vláknoPerfektní, díky, ten web pochopitelně znám, potřeboval jsem to na lokále a ta manová stránka je místy ... no ... divoká. Ještě jednou díky.
Peter
Re: vytvareni .deb
celé vláknoTaky existuje neco jako "apt-file" - mel by ten soubor najit sam a nainstalit spravnej balik :-)
Re: vytvareni .deb
celé vlákno"Kdo ma Debiana, tak vyrobu baliku zna." - hahaha :)
Re: vytvareni .deb
celé vláknojo presne ... hehe :-) ... ocenil bych taky clanek o tvorbe deb balicku, z howto sem to moc nepochopil (problem byl pro mne odstranit z balicku zavislost na jinem balicku ...)
ps> a preci jen chybi jako deb cesky firebird, ceska mozilla, cesky aspell, cesky OO ... etc :)
Re: vytvareni .deb
celé vlákno"Distribuce" - to je de-facto souhrn balicku a velmi maly objem startup a konfiguracnich scriptu. Jadro mame vsichni ze stejneho zdroje (ikdyz nekdo opatchovane z distribuce - viz remote vulnerability v RH), a software v tech baliccich je take ze stejneho zdroje (vyjma patchu).
Co dela distribuci distribuci, je tedy PRAVE zmineny balickovaci system + instalacni|konfiguracni|spousteci scripty.
Ulohou balickovaciho systemu je, aby system zustaval konzistentni, musi resit problemy v zavislostech sw, zarucit spravnost obsahu etc.
A tady Debian (jeho balickovaci system) nabizi spoustu unikatnich vlastnosti, ktere jine distribuce nemaji, nebo je nyni teprve pracne a obcas trochu neumele napodobuji.
Re: vytvareni .deb
celé vláknoNeni to spis lidmi, kteri balicky pro distribuci pripravuji? Rekl bych, ze balickovaci system sam o sobe neni zas takova vec, aby se kvuli ni muselo tolik krepcit kolem ohne.
Re: vytvareni .deb
celé vláknoIMHO distribuci tvoří hodně věcí. Nejen balíčkovací systém, ale i lidé, kteří balíčky připravují, jak píšete. Dále je to release management, bezpečnostní politika, QA, a vůbec celková filozofie distribuce. Někomu se líbí, když je něco v distribuci tak, jiný zase oceňuje, když je to jinak. Distribuce je prakticky věc, která vám z jádra, GNU a nepřehledného množství SW, který najdete různě po Internetu, vytvoří operační systém, který lze používat, ale také vám poskytne zázemí k jeho provozu. Když se na to podívám z tohoto pohledu, tak je mi v podstatě jedno, jaké jádro v operačním systému mám (třeba Linux či *BSD), ale potřebuji pracovat s distribucí, která mi vyhovuje.
--mk
Re: vytvareni .deb
celé vláknojak se vytvari balicky by bylo fajn vedet, chystam se prejit z rh na debiana a toto by to mohlo dost urychlit :-) -j.
Re: vytvareni .deb
celé vláknoTaky se primlouvam za clanek jak vytvaret .deb.
Touzim si udelat svuj qmail.deb, abych to furt nemusel instalovat ze zdroju. Kdyz svuj qmail.deb nebudu sirit, tak tim snad neporusim licenci qmailu.
ntw
Re: vytvareni .deb
celé vláknoapt-get install qmail-src
vybali qmail, opatchuje aby pasoval do Debiana, prelozi, vytvori qmail.deb a pripadne i nainstaluje. Takto vytvoreny qmail.deb by mel jit pouzit i na jine masine.
Re: vytvareni .deb
celé vláknoOK a co kdyz chci zasahnout do zdrojaku qmailu, treba aplikovat smtp-auth, pop-before-smtp patche atd.
ntw
Re: vytvareni .deb
celé vláknoNesouhlasim s tim, ze to moc lidi zajimat nebude, ale za navod na tvorbu .deb balicku se primlouvam
Re: vytvareni .deb
celé vláknoMyslim, ze se hluboce mylite...
Podle mne malokoho zajima jak si delat vlastni balicky.
Pouzivam MDK, a velice posilhavam po Debianu.
Co je pro mne dulezite, je propracovanost, hodne vlastnich udelatek a snadnost obsluhy ... a samozrejme tuhost distra.
balickovaci/istalacni system, povazuji za jednu z peti veci, ktere zozlisuji jako dulezite.
POZN: jen tak dal autore, sleduji Vas.
PJ
Re: vytvareni .deb
celé vláknohmm....
nema, to nejspis moc zajimat nebude, protoze od sve oblibene distrubuce tezko odejde jen kvuli balickovacimu systemu.
...
tak tomuhle si troufam oponovat, protoze prave balickovaci system debianu JE TEN HLAVNI DUVOD proc na nej prejit. jinak je to linux jako linux..
Re: vytvareni .deb
celé vláknoJa som odisiel od Mandrake k Debianu prave koli balickovaciemu systemu.
Strom zavislosti
celé vláknoNevi nekdo jak v Debianu vygenerovat strom zavislosti balicku celeho systemu (se skupinou balicku v koreni) nebo jen podstrom zavislosti se zadanym balickem v koreni?
diky
Re: Strom zavislosti
celé vláknoto nevim, ale v Debianu je program/script, kterej dokaze vygenerovat hezke stranky v html o nainstalovanych balicich. Z jeho zdrojaku jiste zjistite, co potrebujete. Zapomnel uz jsem bohuzel, jak se jmenuje. Zkuste hledat na http://www.debian.org/distrib/packages
Re: Strom zavislosti
celé vláknoZkuste se podívat na apt-cache --recurse depends <balicek> nebo apt-cache dotty a výstup předhodit graphviz. Nevím, jak je to použitelné, nezkoušel jsem to. Ještě by něco takového možná mohl umět aptitude. Víc už mě nenapadá. :-)
--mk
Re: Strom zavislosti
celé vláknoDrobnej problem je v tom, ze balicek muze zaviset na necem jako mail-transport-agent. Takovy balicek primo neexistuje ale poskytuji ho vsechny mailservery. Jak toto chcete zobrazit?
Jinak v praxi obvykle staci apt-get -s install balicek a hned vidite, co se bude doinstalovavat.
Asi hlopej dotaz
celé vláknoJak je to s dselect a dpkg ? Dselect je nadstavba nad dpkg ?
Re: Asi hlopej dotaz
celé vláknodselect je nastavba nad apt-get a dpkg, apt-get je nastavba nad dpkg, takze nejak takhle
dselect
| |
v -----
apt-get |
| |
v v
dpkg
Re: Asi hlopej dotaz
celé vláknoTohle neni pravda:
dpkg balik obsahuje i dselect.
dselect je nadstavba nad dpkg.
A apt-get je nadstavba nad dpkg.
A i nad dselect - proste podporuje dselect vybrane balicky apod.
dpkg vs. rpm
celé vláknok debianu jsem se dostal nedavno, driv rh. prvni dojmy z dpkg: rpm rulez. napr:
-- "dpkg -i --no-act balik" nevypise problemy zavislosti a bez "--no-act" i presto, ze problemy vypise, nakopiruje obsah baliku do systemu (fakt kvalitni)
-- chybi mi obdoba "rpm -qa". "dpkg -l" vypisuje zbytecnosti (hlavne ta hlavicka, da se to zakazat?).
v posledni dobe jsem nemel dost casu zkoumat vsechny vychytavky dpkg, nechci ho tedy zbytecne hanet, rpm mi vsak prijde pouzitelnejsi (mozna jsem si na nej moc zvykl).
Re: dpkg vs. rpm
celé vláknorpm -qa, kde uz jsem to jen videl? Pomohlo by neco jako toto?
dpkg -l | tr -s " " | cut -d " " -f 2,3
ntw
Re: dpkg vs. rpm
celé vláknosice hezke ... ale co vidim zase pro zmenu jako problem ja, ze dpkg -l nazev balicku urizne, i verzi jestlize je moc dlouha ...
Re: dpkg vs. rpm
celé vláknoUříznutí verze snadno zabráníte nastavením proměnné COLUMNS na hodnotu třeba 120. Hlavně pokud to běží v x-termu nebývá takový problém s šířkou "obrazovky".
Re: dpkg vs. rpm
celé vláknodpkg nic neurizne pokud to presmerujete do roury.
Re: dpkg vs. rpm
celé vláknoNa isntalaci je fakt lepsi dselect, ten ty zavislosti samosebou kontroluje. dpkg je hold jeste porad moc low-level.
Re: dpkg vs. rpm
celé vláknoMate pravdu s tim --no-act.
Je to chyba a je reportovana, zatim ji nikdo neopravil.
To ze se to nakopiruje do systemu je chtene.
Kdyz chci instalovat balik, tak uz ho mam v systemu, akorat je tam flag, ze neni koreknte doinstalovan, kvuli zavislostem. Takze doinstaluju programy, na kterych zavisi a ten puvodni balik se automaticky dokonfiguruje. Kdyz teda zadam neco jako dpkg --configure --pending.
Re: dpkg vs. rpm
celé vláknoJestli si dobre pamatuji, rpm -qa vypise informace o vsech nainstalovanych baliccich. Misto rpm -qal je mozne pouzit pouzit
dpkg --get-selections a misto rpm -qai je mozne pouzit neco jako
dpkg --get-selections |sed 's/ *install//'|xargs dpkg -L
Pro ziskavani informaci o vsech DOSTUPNYCH baliccich slouzi krome dpkg jeste napr. apt-cache, dlocate, grep-avalaible a dalsi.
Re: dpkg vs. rpm
celé vláknodpkg --get-selections nevypise cisla verzi, jen nazvy.
ntw
Vypsani chybejicich souboru z ninst.baliku
celé vláknoMam mensi problem - na jednom serveru nam odechazel divne / disk, podle vseho mel nejak mel spatne FS zaznamy, po zformatovani na xfs se tvari v pohode. Poroblem je, ze se z neho obcas ztacely soubory, a to i z takovych adresaru, jako je /usr/lib. Potreboval bych prikaz, ktery by prosel vsechny nainstalovane baliky, zjistil, jestli jsou vsechny jejich soubory fyzicky na disku (pokud by zkontroloval i delku, nezlobil bych se), a pripadne chybejici dotahl z netu/CDcka. Neco jako dpkg --check-all-files --install-missing-one:). Existuje neco takoveho?
Deb samosebou ve srovnani s rpm, ktere jsem pouzival pred tim, rulez. A tenhle clanek je dobry minimalne v tom, ze me rekl, ze deb baliky jsou vlastne ar.
Re: Vypsani chybejicich souboru z ninst.baliku
celé vláknozkusil bych debsums zkontrolovat ty balicky a pak treba pres apt-get install pakaz --reinstall to zpravit, ale mozna to jde jeste jednodusej...rtfm:-)
Re: Vypsani chybejicich souboru z ninst.baliku
celé vláknoUrčitě bych zkusil debsums. Problémem ale je, že ne všechny balíčky mají kontrolní součty. Takže pak bych zkusil ještě něco jako:
for I in $(dpkg -L `COLUMNS=240 dpkg -l | grep '^.i' | cut -d " " -f 3` | grep '^/' | sort -u); do ls -d "$I" > /dev/null; done
A balíčky s chybějícími soubory pak přeinstalovat pomocí apt-get --reinstall install.
--mk
ako vytvorit .deb tromi prikazmi
celé vláknona vytvaranie deb balikov pouzivam sice nedokonaly ale uzitocny checkinstall. vie vytvarat aj .rpm a .tgz
a to takto:
./configure
make
make checkinstall
z programu vytvori balik, nainstaluje ho a vyprdne aj .deb balik.
Re: ako vytvorit .deb tromi prikazmi
celé vláknoChtelo by to asi na ten cil checkinstall dodat Makefile..takhle to mozna funguje u nekterych baliku, asi s pouzitim AM, ale nemusi to fungovat vzdy.
Re: ako vytvorit .deb tromi prikazmi
celé vláknoPomoci debianich utilit to je na dva prikazy a pridani popisku baliku do template. Pokud je soft pres autoconf, tak to vazne zvladne i decko. Neni to uplne nejcistsi, ale facha to.
Re: ako vytvorit .deb tromi prikazmi
celé vláknoTen treti prikaz nie je % make checkinstall, ale % checkinstall - program, ktory pretazi dynamicke kniznice, zavola make install a zistuje, ze ktore subory sa snazi make install kopirovat do systemu. Potom sa este interaktivne popyta na popisky rpm/deb balicka a nakoniec ho vyrobi a zapise do rpm/deb databazy informacie o tom, ze bol nainstalovany.
Mozno som sa v nejakom detaile zmylil, ale v principe to asi tak funguje.
./configure
make
checkinstall
Re: ako vytvorit .deb tromi prikazmi
celé vláknoAno, tak to je. Doporucuju jeste male vylepseni: vyuzit parametr "--prefix" skriptu "configure" pro specifikaci instalacniho adresare. Jinak se totiz instaluje do adresare /usr/local, coz muze byt nekdy i nevhodne, napriklad kdyz mate sdilene adresare pro KDE v adresari /usr, a ne v /usr/local.
./configure --prefix=/usr
make
checkinstall
význam statusu u dpkg -l
celé vláknokde najdu význam jednotlivých zkratek u dpkg -l?
(rc, iU, ii, ...) Hledal jsem v man, ale marně.
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
Je to tak, ze první písmeno je status; 2. chyba?
Děkuju za odpověď.
Pev

