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
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

, 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

, 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

, 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?

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

, ma da miei benchmark

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

, 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?

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
e quindi...?
Re: Differenze tra CP e CAT nell'installazione del kernel
Inviato: dom 17 feb 2008, 15:46
da Toni
bo

Re: Differenze tra CP e CAT nell'installazione del kernel
Inviato: dom 17 feb 2008, 15:49
da conraid
il_notturnista ha scritto:bo

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à
