Pagina 1 di 2

Differenze tra CP e CAT nell'installazione del kernel

Inviato: sab 16 feb 2008, 18:37
da conraid
E' da tempo che avevo rimosso dalla mente un dubbio, ma vedendo tutti i messaggi che parlano di come installare un kernel mi è tornato in mente.

Io dopo aver configurato e compilato il kernel, copio i file bzImage, System.map e .config nella directory /boot

cioè, tralasciando i numeri di versione, faccio

Codice: Seleziona tutto

cp arch/x86/boot/bzImage /boot/vmlinuz
cp System.map /boot/System.map
cp .config /boot/config

Invece nel makefile (per make install) viene richiamato install.sh che fa questo

Codice: Seleziona tutto

cat $2 > $4/vmlinuz
cp $3 $4/System.map
in pratica

Codice: Seleziona tutto

cat arch/x86/boot/bzImage > /boot/vmlinuz
cp System.map /boot/System.map
Anche qui, tralasciando il discorso del config e del numero versione (install.sh rinoma il vecchio) come mai viene usato "cat >" invece di "cp"?

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: sab 16 feb 2008, 21:54
da Toni
perchè in genere vmlinuz è un collegamento simbolico in questo modo con cat non modifica il vmlinuz collegamento simbolico ma quello a cui punta , cp non ha lo stesso effetto

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: sab 16 feb 2008, 22:01
da conraid
il_notturnista ha scritto:perchè in genere vmlinuz è un collegamento simbolico in questo modo con cat non modifica il vmlinuz collegamento simbolico ma quello a cui punta , cp non ha lo stesso effetto
Non mi torna, visto che prima di fare cat fa questo

Codice: Seleziona tutto

if [ -f $4/vmlinuz ]; then
        mv $4/vmlinuz $4/vmlinuz.old
fi
In pratica salva vmlinuz come vmlinuz.old e dopo fa cat.

E poi lo stesso discorso varrebbe per System.map

Incuriosito ho fatto una prova

Codice: Seleziona tutto

$ touch test2
$ ln -s test2 test
$ touch pippo
$ echo "pippo" > pippo
$ cat test 
$ cat test2 
$ cat pippo
pippo
$ cat pippo > test
$ cat test 
pippo
$ echo "" > test
$ cat test

$ cp pippo test
$ cat test
pippo
In teoria il risultato è lo stesso

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: sab 16 feb 2008, 22:13
da Toni
onestamente ho fatto un paio di prove simile alle tue anche con pippo :D , comunque mi hai messo in testa un bel dubbio , comunque adesso esco e domani se ne parla , mi raccomando non scerverllarti troppo

EDIT

aspetta , ma se tu dai cat file > linksimbolico , ti va a modificare il file linkato

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: sab 16 feb 2008, 22:16
da conraid
il_notturnista ha scritto:onestamente ho fatto un paio di prove simile alle tue anche con pippo :D , comunque mi hai messo in testa un bel dubbio , comunque adesso esco e domani se ne parla , mi raccomando non scerverllarti troppo
no no, non preoccuparti :-)
Come ti ho detto l'avevo notato senza farci caso, oggi mi è tornato in mente ed ho postato.
Solo una curiosità

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: sab 16 feb 2008, 22:22
da conraid
il_notturnista ha scritto:onestamente ho fatto un paio di prove simile alle tue anche con pippo :D , comunque mi hai messo in testa un bel dubbio , comunque adesso esco e domani se ne parla , mi raccomando non scerverllarti troppo

EDIT

aspetta , ma se tu dai cat file > linksimbolico , ti va a modificare il file linkato
Che scemo... nella fretta me ne sono scordato. Ora correggo. Comunque il discorso non cambia
Il risultato è lo stesso, perché allora fare cat su bzImage e cp in tutti gli altri? :-k

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: sab 16 feb 2008, 22:42
da Toni
non so quanto possa influire ed inoltre non so quanto siano attendibili i miei risultati :D , ma da miei benchmark :lol: :lol: risulta che cat è piu veloce nel copiare i file di cp . attendo tuoi riscontri nel frattempo buona serata

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: dom 17 feb 2008, 13:59
da absinthe
conraid ha scritto:
il_notturnista ha scritto:onestamente ho fatto un paio di prove simile alle tue anche con pippo :D , comunque mi hai messo in testa un bel dubbio , comunque adesso esco e domani se ne parla , mi raccomando non scerverllarti troppo

EDIT

aspetta , ma se tu dai cat file > linksimbolico , ti va a modificare il file linkato
Che scemo... nella fretta me ne sono scordato. Ora correggo. Comunque il discorso non cambia
Il risultato è lo stesso, perché allora fare cat su bzImage e cp in tutti gli altri? :-k
cosa succede se il file di partenza e destinazione hanno permessi/owner/gruppi diversi??? ora non ho tempo di provare ma porbabilmente cp e cat regiscono in maniera diversa...

M

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: dom 17 feb 2008, 14:17
da conraid
absinthe ha scritto: cosa succede se il file di partenza e destinazione hanno permessi/owner/gruppi diversi??? ora non ho tempo di provare ma porbabilmente cp e cat regiscono in maniera diversa...
Sono sempre di root i file in questo caso

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: dom 17 feb 2008, 14:32
da Toni
sullo slackbook dice che cat utilizza lo standard input output , quindi le funzioni definite in stdio.h

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: dom 17 feb 2008, 14:39
da conraid
il_notturnista ha scritto:sullo slackbook dice che cat utilizza lo standard input output , quindi le funzioni definite in stdio.h
:oops:
e quindi...?

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: dom 17 feb 2008, 15:46
da Toni
bo :lol:

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: dom 17 feb 2008, 15:49
da conraid
il_notturnista ha scritto:bo :lol:
ah... :-)

non riesco a trovare niente nemmeno in rete o nella documentazione, magari poi linux stesso lo spiega nella documentazione del kernel, ma dove?

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: dom 17 feb 2008, 20:55
da Toni
comunque sia a te risulta che sia piu veloce nel copiare file di grosse dimensione? magari sarà un abitudine di chi mette mano al makefile

Re: Differenze tra CP e CAT nell'installazione del kernel

Inviato: dom 17 feb 2008, 21:06
da conraid
il_notturnista ha scritto:comunque sia a te risulta che sia piu veloce nel copiare file di grosse dimensione? magari sarà un abitudine di chi mette mano al makefile
Non ho provato, ma bzImage non è di grosse dimensioni dai. Ed anche l'abitudine va a donne allegre quando vedi che altri file sono copiati come cp negli stessi makefile del kernel :-(
Che poi non è nemmeno nel makefile ma in un install.sh chiamato dal makefile
/usr/src/linux/arch/x86/boot/install.sh

Sarebbe da mandare una mail a Linus o cercare in qualche vecchio archivio della mailing list del kernel... ma poi alla fine è solo una curiosità :-)