Jag fick ett tips om
star tidigare idag. Det har funnits sedan 1982, så det är inte direkt något nytt och otestat program. Det verkar vara väldigt kompetent och kan både kopiera direkt och skapa arkiv som man kan flytta och packa upp någon annan stans eller bara vid en annan tidpunkt. Jag har gjort samma grundliga test som för
cp och
rsync; och resultatet ser mycket lovande ut:
star -copy -d -S -copylinks -o -no-p -m
protected files sudo sudo sudo sudo sudo sudo
dense files ok ok ok ok ok ok
sparse files - - - - - -
directories - ok ok ok ok ok
block devices sudo - sudo sudo sudo sudo
character devices sudo - sudo sudo sudo sudo
named pipes ok - ok ok ok ok
sockets ok - ok ok ok ok
symbolic links ok ok - ok ok ok
hard links ok ok - ok ok ok
file owner sudo sudo sudo - sudo sudo
member group sudo sudo sudo - sudo sudo
other group sudo sudo sudo - sudo sudo
permission bits sudo sudo sudo sudo - sudo
access timestamp ok ok ok ok ok -
modify timestamp ok ok ok ok ok -
change timestamp - - - - - -
security context - - - - - -
trusted attributes - - - - - -
user attributes - - - - - -
access control lists - - - - - -
star -copy -force-hole -sparse -p -ctime -xattr -acl
protected files sudo sudo sudo sudo sudo sudo
dense files - ok ok ok ok ok
sparse files ok ok - - - -
directories ok ok ok ok ok ok
block devices sudo sudo sudo sudo sudo sudo
character devices sudo sudo sudo sudo sudo sudo
named pipes ok ok ok ok ok ok
sockets ok ok ok ok ok ok
symbolic links ok ok ok ok ok ok
hard links ok ok ok ok ok ok
file owner sudo sudo sudo sudo sudo sudo
member group sudo sudo sudo sudo sudo sudo
other group sudo sudo sudo sudo sudo sudo
permission bits sudo sudo ok sudo sudo ok
access timestamp ok ok ok ok ok ok
modify timestamp ok ok ok ok ok ok
change timestamp - - - sudo - -
security context - - - - sudo -
trusted attributes - - - - sudo -
user attributes - - - - ok -
access control lists - - - - - ok
För att bevara så mycket som möjligt blir kommandot:
Kod: Markera allt
cd /old/home/.
sudo star -copy -sparse -acl -xattr -ctime . /new/.
Helt i nivå med
cp och
rsync, om inte ännu bättre:
cp -a rsync -aSHAX star -sparse -ctime -xattr -acl
protected files sudo sudo sudo
dense files ok - ok
sparse files ok ok ok
directories ok ok ok
block devices sudo sudo sudo
character devices sudo sudo sudo
named pipes ok ok ok
sockets ok ok ok
symbolic links ok ok ok
hard links ok ok ok
file owner sudo sudo sudo
member group ok ok sudo
other group sudo sudo sudo
permission bits ok ok ok
access timestamp ok - ok
modify timestamp ok ok ok
change timestamp - - sudo
security context sudo sudo sudo
trusted attributes sudo sudo sudo
user attributes ok ok ok
access control lists ok ok ok
Vi ser att
star kräver
sudo för att bevara
member group, vilket rent bevarandemässigt egentligen är det enda som är sämre. Det går att tvinga
dense files till
sparse med
-force-hole precis som
--spase=always gör för
cp. Att
star kan bevara
change timestamp är riktigt imponerande. Jag kan inte minnas att jag sett något annat program som klarar av den biten.
Nackdelen med
star är, förutom att att syntaxen är betydligt svårare att komma ihåg än
cp -a, att programmen inte finns installerat från början. Det är iofs inte svårare att komma runt än ett enkelt
sudo apt-get install star, så det gör kanske inte så mycket.
Fördelen är å andra sidan, förutom att
star bevarar mest av det jag testat hittills, att man kan spara undan
star-arkiv för uppackning vid ett senare tillfälle. Syntaxen blir lite annorlunda än när man bara kopierar...
Skapa ett
star-arkiv:
Kod: Markera allt
cd /old/home/.
sudo star -c -dump -sparse -acl -xattr . | xz >/tmp/arkiv.star.xz
Packa upp ett
star-arkiv:
Kod: Markera allt
cd /new/.
xzcat /tmp/arkiv.star.xz | sudo star -x -acl -xattr -ctime
Det går faktiskt att packa upp
star-arkiven med vanliga
tar också, men då bevaras bara sådant som
tar klarar av, dvs inte
sockets eller de utökade attributen.