Iedereen wil terug naar de natuur, maar niemand wil lopend...
[deze advertentieruimte is te koop]
edit: Hmm, bij nader inzien is dat misschien niet helemaal wat je wilt, maar op deze manier kan je wel je probleem oplossen volgens mij.
[ Voor 26% gewijzigd door ajvdvegt op 07-08-2003 10:23 ]
I don't kill flies, but I like to mess with their minds. I hold them above globes. They freak out and yell "Whooa, I'm *way* too high." -- Bruce Baum
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| kahlan:/var/cache/apt/archives# dpkg --info pstoedit_3.33-9_i386.deb
new debian package, version 2.0.
size 131226 bytes: control archive= 1230 bytes.
594 bytes, 13 lines control
860 bytes, 13 lines md5sums
212 bytes, 7 lines * postinst #!/bin/sh
160 bytes, 13 lines * preinst #!/bin/sh
216 bytes, 8 lines * prerm #!/bin/sh
Package: pstoedit
Version: 3.33-9
Section: graphics
Priority: optional
Architecture: i386
Depends: libc6 (>= 2.3.1-1), libgcc1 (>= 1:3.3-1), libpstoedit0 (>= 3.33), libstdc++5 (>= 1:3.3-1), gs
Suggests: xfig|ivtools-bin|tgif|transfig
Installed-Size: 610
Maintainer: J.H.M. Dassen (Ray) <jdassen@debian.org>
Description: PostScript and PDF files to editable vector graphics converter
pstoedit converts Postscript and PDF files to various editable
vector graphic formats including tgif, xfig, PDF graphics, gnuplot format,
idraw, MetaPost, GNU Metafile, PIC, Kontour and flattened PostScript. |
En nee, pstoedit is op dit moment niet geinstalleerd bij mij
God, root, what is difference? | Talga Vassternich | IBM zuigt
Ik kan inderdaad met dpkg -I (=--info) wel bekijken wat de dependencies zijn en dan zelf controleren of ik die heb of niet, maar dat is dus niet mijn bedoeling... (ik schrijf een scriptje)
Als beste voorbeeld kan ik denk ik synaptic nemen.
In dit programma klik je op een pakket in een lijst en heb je onderaan het beeldscherm in een tab de dependencies staan. Blijkbaar kan synaptic ook ergens nagaan of ik die heb geinstalleerd (kijken via dpkg -l |less ?!) en geeft niet geinstalleerde in het rood aan...
Zoiets als dit wil ik dus op kleinere schaal doen met mijn scriptje..
Hopelijk ben ik duidelijk genoeg geweest met dit voorbeeld.
In ieder geval bedankt voor de reacties en ik hoop dat er nog meer komen
Iedereen wil terug naar de natuur, maar niemand wil lopend...
Dus je wel dat zelf uit kunnen zoeken ?MichielioZ schreef op 07 augustus 2003 @ 14:15:
Sorry mensen... blijkbaar ben ik niet duidelijk geweest (terwijl ik dat toch echt dacht van wel)
Ik kan inderdaad met dpkg -I (=--info) wel bekijken wat de dependencies zijn en dan zelf controleren of ik die heb of niet, maar dat is dus niet mijn bedoeling... (ik schrijf een scriptje)
OK, dan moet je dus in /var/lib/dpkg/status door worstelen. In /var/lib/dpkg/available staan trouwens alle packages opgenoemd, ook degenen die niet zijn geinstalleerd.
God, root, what is difference? | Talga Vassternich | IBM zuigt
Ik heb al gezocht in /var/lib/dpkg/available...
Ik kan dus inderdaad handmatig bekijken wat de dependencies zijn van een pakket.
Mijn probleem is dus vooral : het script moet deze checken t.o.v. de geinstalleerde pakketten... (moet te doen zijn in bash, toch ?)
Misschien moet ik met "grep" werken, maar dan zou ik niet weten hoe ik de dependencies "los" van elkaar krijg.
En dan nog zou ik die weer moeten vergelijken met een file waarin alle geinstalleerde pakketten staan...
Phoeh, het klinkt moeilijker dan het waarschijnlijk hoeft te zijn...
(misschien is er zelfs al ergens een scriptje te vinden die dit doet ? Ik ga zoeken
Hopelijk vind ik (dankzij jullie, posters) een oplossing voor dit...
Iedereen wil terug naar de natuur, maar niemand wil lopend...
Mag ik trouwens vragen waarom je dit scriptje wilt hebben?
Uit volle borst op weg naar nergens / Zonder reden zonder doel
Met m'n zeden en m'n zonden / En mijn angstig voorgevoel
Laat mij mijn kont tegen de krib / Laat mij dit goddeloze lied
Hef jij je handen maar ten hemel / Maar red mij niet
Ik schrijf hiervoor een script-gebaseerde manier om makkelijk de cd naar je hand te zetten.
(zie ook http://www.geocities.com/michielioz/ voor de 1ste versie)
Met morphix kan je van een programma een "module" maken, die je op de CD zet, waardoor die geladen wordt tijdens de CD-boot (het is een livecd-distro)..
Nou wil ik dus een scriptje maken, dat controleert of een .deb-file geen conflicten heeft, zodat de file uitgepakt kan worden en er zo'n "module" van gemaakt kan worden.
Ik ben er net achtergekomen dat #apt-cache depends <packagename> een output geeft van de dependencies. (zelfde als de 'dpkg-deb -f' als hierboven geopperd ?)
Op zich heb ik een beetje moeite (ben niet bepaald een debian/linux-guru) om de rest van Johannes z'n post te volgen...
Ik snap de opzet, maar zou niet weten met welke commando's ik moet beginnen in het script.
In ieder geval erg bedankt Johannes, want als ik het goed heb, heb je een oplossing gevonden ?!
Ik zal m'n best doen om het te leren begrijpen ...
[ Voor 5% gewijzigd door MichielioZ op 07-08-2003 18:20 ]
Iedereen wil terug naar de natuur, maar niemand wil lopend...
Maar verder begrijp ik toch nog niet helemaal wat je precies wil. Paar vraagjes:
'Remastering' is een eigen customized ISO maken met Morphix als basis?
Je wil dus checken of binnen de tree die een ISO zal worden (MD in Trom toch?) het installeren van een package geen conflicten of onvervulde dependencies zal opleveren?
Uit volle borst op weg naar nergens / Zonder reden zonder doel
Met m'n zeden en m'n zonden / En mijn angstig voorgevoel
Laat mij mijn kont tegen de krib / Laat mij dit goddeloze lied
Hef jij je handen maar ten hemel / Maar red mij niet
Aha, en ik maar denken dat apt-cache die dependencies juist uit de .deb-file haalde...
Om op je 2 vragen terug te komen : Ja ... en Ja...
Als ik je vragen bekijk, begrijp je juist precies wat ik wil
Er is ook nog een apt-cache commando met "unmet", maar aangezien apt-cache volgens jou niet gaat werken, zal ik kijken of zoiets er ook is voor dpkg-deb.
Ik was namelijk van plan (nog geen idee hoe precies) om #apt-cache unmet | ??? : dus met een pipe voor 1 file te laten zoeken (ipv het hele systeem).
Mocht je (=Johannes), of iemand anders natuurlijk, hier iets op weten met dpkg-deb, dan houd ik me warm aanbevolen ...
Iedereen wil terug naar de natuur, maar niemand wil lopend...
Ik wilde het even zeker weten, voor ik verder ging.MichielioZ schreef op 07 augustus 2003 @ 19:09:
Om op je 2 vragen terug te komen : Ja ... en Ja...
Als ik je vragen bekijk, begrijp je juist precies wat ik wil
Als je alleen met .deb-files gaat werken, dan heb je aan apt helemaal niets. dpkg handelt de .debs af, APT is een laag daarbovenop die je o.a. packages automatisch laat upgraden. Daarom kan APT ook samenwerken met RPM, dan handelt RPM ipv dpkg de low-level bestanden af. Mag ik je aanraden om iig de introductie van de APT-HOWTO te lezen?Er is ook nog een apt-cache commando met "unmet", maar aangezien apt-cache volgens jou niet gaat werken, zal ik kijken of zoiets er ook is voor dpkg-deb.
Ik was namelijk van plan (nog geen idee hoe precies) om #apt-cache unmet | ??? : dus met een pipe voor 1 file te laten zoeken (ipv het hele systeem).
Mocht je (=Johannes), of iemand anders natuurlijk, hier iets op weten met dpkg-deb, dan houd ik me warm aanbevolen ...
Verder zie ik dat je chroot al gebruikt in je programma om aptitude/dselect op te starten. Waarom gebruik je chroot dan niet ook om met apt-get packages hierin te installeren? Want als je zelf dependencies gaat checken van een .deb dan ben je eigenlijk apt's werk aan het overnemen.
Uit volle borst op weg naar nergens / Zonder reden zonder doel
Met m'n zeden en m'n zonden / En mijn angstig voorgevoel
Laat mij mijn kont tegen de krib / Laat mij dit goddeloze lied
Hef jij je handen maar ten hemel / Maar red mij niet
Je hebt helemaal gelijk !!
Ik kom er net ook zelf achter dat ik het een beetje "te" uitgebreidt heb willen aanpakken...;)
Ik kan namelijk gewoon in de chroot #apt-get install -b <packagename> doen en dan download ie gelijk alle dependencies (als het goed is wel
Enige probleempje wat overblijft is, om bijvoorbeeld 3 .deb-files uit te pakken naar 1 directory... dit gaat natuurlijk wel, maar dan moet ik alle pakketten los selecteren... '*.deb' werkt namelijk niet voor 'dpkg -x' ... enig idee ?
(Ik weet straks natuurlijk niet welke .deb files een gebruiker heeft gedownload... vandaar)
Erg bedankt voor de hulp... ik ben weer een heel stuk verder in de richting !
[ Voor 4% gewijzigd door MichielioZ op 07-08-2003 22:29 ]
Iedereen wil terug naar de natuur, maar niemand wil lopend...
Waarom -b? Dat is alleen nodig om source packages te builden na downloaden, niet als je binary packages downt (zoals je met apt-get install doet).MichielioZ schreef op 07 August 2003 @ 22:24:
Ik kan namelijk gewoon in de chroot #apt-get install -b <packagename> doen en dan download ie gelijk alle dependencies (als het goed is wel).
Enige probleempje wat overblijft is, om bijvoorbeeld 3 .deb-files uit te pakken naar 1 directory... dit gaat natuurlijk wel, maar dan moet ik alle pakketten los selecteren... '*.deb' werkt namelijk niet voor 'dpkg -x' ... enig idee ?
(Ik weet straks natuurlijk niet welke .deb files een gebruiker heeft gedownload... vandaar)
1
| for DEB in ls *.deb; do dpkg -x $DEB; done |
Maar hoezo wil je dan nu nog steeds .deb-files gebruiken? Als je chrooted apt-get install laat draaien dan komen toch alle files op de goede plaats terecht, dan heb je toch geen dpkg -x meer nodig?
Uit volle borst op weg naar nergens / Zonder reden zonder doel
Met m'n zeden en m'n zonden / En mijn angstig voorgevoel
Laat mij mijn kont tegen de krib / Laat mij dit goddeloze lied
Hef jij je handen maar ten hemel / Maar red mij niet
Ik weet dat met apt-get install in chroot de pakketten worden geinstalleerd, maar dat wil ik dus juist niet...
De pakketten moeten worden uitgepakt naar een directory, waarna er een "module" van gemaakt wordt, zodat je uiteindelijk een module hebt die je wel/niet aan je CD kan toevoegen als je wel/niet dat programma nodig hebt...
(modulaire opbouw van morphix is hiervoor juist gemaakt..)
Hardstikke bedankt iig voor je code... ik heb zelf nog nooit met 'for' gewerkt (meestal gewoon met 'while' en/of 'if' kunnen ondervangen), maar dit is een mooi stukje om te gebruiken... zit toch geen copyright op he ?
Iedereen wil terug naar de natuur, maar niemand wil lopend...