/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Fra make install til package manager
Fra : Kent Friis


Dato : 21-03-10 19:20

Jeg kører et "DIY-Linux" system, installeret fra source. Nu kunne jeg
så godt tænke mig at få lidt mere styr over hvilke filer der hører
til hvilket program. Jeg har længe spekuleret på hvordan dem der
bygger fx deb eller rpm pakker gør, når de har source'n, og skal
lave en pakke. Hvordan ved de hvilke filer der skal ligge hvor?

Laver de manuelt en liste, eller er der en eller anden smart måde
kan kan se hvilke filer der vil blive eller er blevet lagt hvorhen
når man kører "make install"? Altså ud at checke hvilke filer der
har ændret sig.

Det drejer sig for størstedelens vedkommende om standard "./configure &&
make && make install".

Mvh
Kent
--
"The Brothers are History"

 
 
Jens Henrik Leonhard~ (21-03-2010)
Kommentar
Fra : Jens Henrik Leonhard~


Dato : 21-03-10 19:38

Kent Friis wrote:
> Jeg kører et "DIY-Linux" system, installeret fra source. Nu kunne jeg
> så godt tænke mig at få lidt mere styr over hvilke filer der hører
> til hvilket program. Jeg har længe spekuleret på hvordan dem der
> bygger fx deb eller rpm pakker gør, når de har source'n, og skal
> lave en pakke. Hvordan ved de hvilke filer der skal ligge hvor?
>
> Laver de manuelt en liste, eller er der en eller anden smart måde
> kan kan se hvilke filer der vil blive eller er blevet lagt hvorhen
> når man kører "make install"? Altså ud at checke hvilke filer der
> har ændret sig.
>
> Det drejer sig for størstedelens vedkommende om standard "./configure &&
> make && make install".
Hej Kent.

Du kan fx bruge http://www.asic-linux.com.mx/~izto/checkinstall/.
Det du får ud af det er en minimal pakke du kan (af)installere.

Der er andre mulighedder som er mere rettet mod en bestemt distribution.

/Jens Henrik


>
> Mvh
> Kent

Kent Friis (21-03-2010)
Kommentar
Fra : Kent Friis


Dato : 21-03-10 20:17

Den Sun, 21 Mar 2010 19:37:42 +0100 skrev Jens Henrik Leonhard Jensen:
> Kent Friis wrote:
>> Jeg kører et "DIY-Linux" system, installeret fra source. Nu kunne jeg
>> så godt tænke mig at få lidt mere styr over hvilke filer der hører
>> til hvilket program. Jeg har længe spekuleret på hvordan dem der
>> bygger fx deb eller rpm pakker gør, når de har source'n, og skal
>> lave en pakke. Hvordan ved de hvilke filer der skal ligge hvor?
>>
>> Laver de manuelt en liste, eller er der en eller anden smart måde
>> kan kan se hvilke filer der vil blive eller er blevet lagt hvorhen
>> når man kører "make install"? Altså ud at checke hvilke filer der
>> har ændret sig.
>>
>> Det drejer sig for størstedelens vedkommende om standard "./configure &&
>> make && make install".
> Hej Kent.
>
> Du kan fx bruge http://www.asic-linux.com.mx/~izto/checkinstall/.
> Det du får ud af det er en minimal pakke du kan (af)installere.

Det lyder som noget af det rigtige. Interessant måde at gøre det på,
men også skrøbelig (nye systemkald genkendes ikke).

Mvh
Kent
--
"The Brothers are History"

Michael Rasmussen (21-03-2010)
Kommentar
Fra : Michael Rasmussen


Dato : 21-03-10 21:01

On 21 Mar 2010 18:19:38 GMT
Kent Friis <nospam@nospam.invalid> wrote:

>
> Laver de manuelt en liste, eller er der en eller anden smart måde
> kan kan se hvilke filer der vil blive eller er blevet lagt hvorhen
> når man kører "make install"? Altså ud at checke hvilke filer der
> har ændret sig.
>
For Debians vedkommende foregår det på denne måde - meget firkantet:
1) Kør make med prefix sat til en temporær folder
2) cd til denne temporære folder
3) lav et komplet arkiv af folderens indhold uden præfix
4) ved installering udpakkes til /
5) i /var/lib/dpkg/ gemmes scripts, der indeholder information om,
hvordan en pakke slettes fra systemet igen - blandt andet en kopi af
det installerede filtræ (f.eks skabt med tar -t)
6) ved afinstallering fjernes pakkens filer i henhold til 5.

--
Hilsen/Regards
Michael Rasmussen
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.


Kent Friis (21-03-2010)
Kommentar
Fra : Kent Friis


Dato : 21-03-10 21:42

Den Sun, 21 Mar 2010 21:00:37 +0100 skrev Michael Rasmussen:
> On 21 Mar 2010 18:19:38 GMT
> Kent Friis <nospam@nospam.invalid> wrote:
>
>>
>> Laver de manuelt en liste, eller er der en eller anden smart måde
>> kan kan se hvilke filer der vil blive eller er blevet lagt hvorhen
>> når man kører "make install"? Altså ud at checke hvilke filer der
>> har ændret sig.
>>
> For Debians vedkommende foregår det på denne måde - meget firkantet:
> 1) Kør make med prefix sat til en temporær folder
> 2) cd til denne temporære folder
> 3) lav et komplet arkiv af folderens indhold uden præfix
> 4) ved installering udpakkes til /

Man må forvente at ved nogle programmer compiles prefix med - fx ved
prefix /usr/local, kigger de efter config-filer i /usr/local/etc. Så
hvis prefix sættes til /tmp/build, vil programmerne kigge efter
config-filer i /tmp/build/etc, og ikke i /etc.

Mvh
Kent
--
"The Brothers are History"

Michael Rasmussen (21-03-2010)
Kommentar
Fra : Michael Rasmussen


Dato : 21-03-10 22:33

On 21 Mar 2010 20:42:21 GMT
Kent Friis <nospam@nospam.invalid> wrote:

>
> Man må forvente at ved nogle programmer compiles prefix med - fx ved
> prefix /usr/local, kigger de efter config-filer i /usr/local/etc. Så
> hvis prefix sættes til /tmp/build, vil programmerne kigge efter
> config-filer i /tmp/build/etc, og ikke i /etc.
>
Glemte en væsentlig detalje. Der laves chroot til den temporære folder.

--
Hilsen/Regards
Michael Rasmussen
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.


Kent Friis (22-03-2010)
Kommentar
Fra : Kent Friis


Dato : 22-03-10 21:26

Den Sun, 21 Mar 2010 22:32:31 +0100 skrev Michael Rasmussen:
> On 21 Mar 2010 20:42:21 GMT
> Kent Friis <nospam@nospam.invalid> wrote:
>
>>
>> Man må forvente at ved nogle programmer compiles prefix med - fx ved
>> prefix /usr/local, kigger de efter config-filer i /usr/local/etc. Så
>> hvis prefix sættes til /tmp/build, vil programmerne kigge efter
>> config-filer i /tmp/build/etc, og ikke i /etc.
>>
> Glemte en væsentlig detalje. Der laves chroot til den temporære folder.

Det vil kræve at source dir'en, make, install, mv, ln, cp osv også
findes i den temporære folder - og så er vi stort set ligevidt, hvis
det fx er make man er ved at installere.

Mvh
Kent
--
"The Brothers are History"

Peter Makholm (22-03-2010)
Kommentar
Fra : Peter Makholm


Dato : 22-03-10 08:53

Kent Friis <nospam@nospam.invalid> writes:

> Det drejer sig for størstedelens vedkommende om standard "./configure &&
> make && make install".

De fleste ting der bruger autotools understøtter en DESTDIR variabel
til make install. Så kan man installere til et midlertidigt sted uden
at det på anden måde indvirker buildprocessen.

Jeg har aldrig brugt chroot til at bygge debian-pakker.

//Makholm

Søg
Reklame
Statistik
Spørgsmål : 177549
Tips : 31968
Nyheder : 719565
Indlæg : 6408820
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste