hdd masolas
Zahemszky Gabor
zgabor at CoDe.hu
1997. Okt. 3., P, 14:10:11 CEST
> Hello,
> A kerdesem az, hogy mikent lehetne az egeszet egynehany cp
> parancscsal atmasolni? A /home az atmegy egy egyszeru: cp -pR parancs
> segitsegevel, es minden jog, idopont, stb megmarad. De mi van a /dev es
> /etc konyvtarakkal. Ezeket mivel lehet? Sajnos "rendes" ujratelepitesre
> nincs idom... Koszi az 5leteket, bye,
a) cd /old ; tar cf - . | ( cd /new ; tar xf - )
b) cd /old ; find . -depth -print | cpio -pumd /new
c) cd /old ; find . -depth -print | pax -rw /new
d) cd /old ; pax -rw . /new
e) dump 0f - /new | restore rf - /old
Nehany megjegyzes:
az a) variacio csak olyan Jujnikszon megy, ahol a tar ismeri a device
file-ok menthetoseget lehetove tevo ustar archivumformatumot (meg szerencse,
hogy FB-rol beszeltel, mert a GNU-tar ezt tudja)
b) c) a -depth a rendkivul fontos katalogus modositasi datumok megtartasa
miatt kell (persze ha ezt az egeszet mondjuk nem root-kent teszed, akkor
jogosultsagi problemak is follepnenek e nelkul, mondjuk egy r-x konyvtarban
;-)
b) c) a -print elhagyhato, de vannak oskovuletek, akik szeretik kiirni az
alapertelmezest
c) d) a pax manualt nezd meg, hogy kell-e valami egyeb, de ugy emlekszem ez
minden, ami kell.
e) ez persze csak akkor megy, ha a forras es a cel is teljes filesystem.
Allitolag a GNU-tar tudja kezelni a sparse-file-okat (ezek azok a lukas
file-ok, amiket peldaul adatbaziskezelok, crash-dumpok, core-k csinalnak,
azaz: open, lseek( a vilag vegere ), write, close ). Ha ilyen is van a
mentendo anyagban (ezt altalaban az fsck file size error-kent jelzi), akkor
a tuloldalon - azaz ahova visszatoltod az anyagot -, k. sok folosleges
blokkot fog a rendszer lefoglalni ezeknek a lukaknak, ilyen esetben sajnos
egyedul a dump/restore az egyetlen igazan jarhato ut.
Ja es persze hasznalhatsz mondjuk afio-t is a packagesbol, ha az neked
egyszerubb, de annak mondjuk nem tudom az opcioit.
Ennyi eleg, vagy valamit piszkosul felreertettem a kerdesedbol?
Gabor
--
#!/bin/ksh
Z='21N16I25C25E30, 40M30E33E25T15U!' ;IFS=' ABCDEFGHIJKLMNOPQRSTUVWXYZ ';set $Z;for i { [[ $i = ? ]]&&print $i&&break;[[ $i = ??? ]]&&j=$i&&i=${i%?};typeset -i40 i=8#$i;print -n ${i#???};[[ "$j" = ??? ]]&&print -n "${j#??} "&&j=;typeset +i i;};IFS=' 0123456789 ';set $Z;X=;for i { [[ $i = , ]]&&i=2;[[ $i = ?? ]]||typeset -l i;X="$X $i";typeset +l i;};print "$X"
További információk a(z) BSD levelezőlistáról