root@server # tar fcz bkup.tar.gz /home/foo/
tar: Removing leading `/' from member names
මෙම ගැටළුව විසඳා /
ලිපිගොනු නාම තබා ගන්නේ කෙසේද?
-C /
.
root@server # tar fcz bkup.tar.gz /home/foo/
tar: Removing leading `/' from member names
මෙම ගැටළුව විසඳා /
ලිපිගොනු නාම තබා ගන්නේ කෙසේද?
-C /
.
Answers:
මෙම අංගය අක්රිය කිරීමට --absolute-names
හෝ -P
විකල්පය භාවිතා කරන්න .
tar fczP bkup.tar.gz /home/foo/
tar fcz bkup.tar.gz --absolute-names /home/foo
-C /
Ar මාකස්ගේ පිළිතුරෙහි විස්තර කර ඇති පරිදි විකල්පය භාවිතා කිරීම ඔබේ මූලික ඉලක්කය නම් STDERR පණිවිඩය ඉවත් කරනු ඇත.
එය ඇත්ත වශයෙන්ම අංගයක් මිස ගැටලුවක් නොවේ. නිරපේක්ෂ ස්ථාන සහිත ලේඛනාගාරය ආරක්ෂක අවදානමකි. තීරණාත්මක පද්ධති ස්ථානවල ලිපිගොනු ස්ථාපනය කිරීමට පරිශීලකයින් රැවටීමට ප්රහාරකයන්ට එවැනි ලේඛනාගාර භාවිතා කළ හැකිය.
ඔව්, ඔබට භාවිතා කළ හැකිය -P
. නමුත් ඉදිරි කප්පාදුව ඉවත් කිරීමට තාරයට ඉඩ දීමෙන් සහ ලේඛනාගාරයේ නිස්සාරණය පැහැදිලිව කිරීමට ලේඛනාගාරයේ පරිශීලකයාට අවශ්ය වීමෙන් ඇති වරද කුමක්ද? එවිට ඔවුන් දැනුවත්ව විවේචනාත්මක පද්ධති ස්ථාන වලට බලපෑම් කරන අතර අහම්බෙන් එය කළ නොහැක.
tar
. මෙම විශේෂිත පණිවිඩය tar
තත්වයක් සමඟ පිටවීමට හේතු වූ අතර 1
, එය සාර්ථක උපස්ථ පිළිබඳ ව්යාජ විද්යුත් තැපැල් ඇඟවීම් ලැබීමට හේතු tar
විය, මෙම පණිවිඩය STDERR වෙත ලිවීම නිසා ය. @ මාකස්ගේ විසඳුමේ cd /path/to/network/share && tar -cJf scripts.backup.tar.xz -C / home/user/scripts 2>/dev/null || [send an email alert]
-P
- නිදසුනක් ලෙස, ඔබ FUSE හි යම් ආකාරයක ගොනු පද්ධති ස්නැප්ෂොටින් අංගයක් සපයන්නේ නම්. සමහර cwd
විට පරිශීලකයාගේ දෘෂ්ටිකෝණයට වඩා නිශ්චිත නාමාවලියක සැණින් ඡායාරූපයක් ඉවත් කිරීමට ඔබට අවශ්ය විය හැකිය .
STDERR වෙත මුද්රණය කර ඇති "සාමාජික නාම වලින් ප්රමුඛ" ඉවත් කිරීම "ඉවත් කිරීමට ඔබට අවශ්ය නම්, නමුත් තාර පෙරනිමියෙන් මෙන් wis ානවන්තව එම ප්රමුඛ කප්පාදුවලින් ඉවත් වීමට අවශ්ය නම්, විවරණකරු ටයිම්සොෆ්ට් විසින් මෙහි විශිෂ්ට විසඳුමක් දුටුවෙමි.
විසඳුමට ඇතුළත් වන්නේ -C විකල්පය භාවිතා කරමින් ඩිරෙක්ටරිය root (/) වෙත වෙනස් කිරීම, ඉන්පසු ප්රමුඛ කප්පාදුවකින් තොරව සංරක්ෂණය කිරීම සඳහා ගොනු ගස නියම කිරීමයි , මන්ද දැන් ඔබට අවශ්ය වන්නේ සාපේක්ෂ මාර්ගයක් පමණි. මෙය සාමාන්ය තාර සාදන විධානයකට සමාන දෙයක් කරයි, නමුත් ඉවත් කිරීම අවශ්ය නොවේ:
tar fcz bkup.tar.gz -C / home/foo/
tar c -C / home/foo/*
) මගින් දැක්වෙන ලිපිගොනු තාර කිරීමට ඔබට අවශ්ය නම් එය ක්රියා නොකරයි , මන්ද වෙනස් වූ මූල ගැන කවචය නොදන්නා බැවිනි. නමුත් තවමත් වෙනත් අවස්ථාවන්ට හොඳ පිළිතුරක්.
-C /
මට වැඩ කරන්නේ නැහැ, කාල සීමාව. එය මට stderr වළක්වන්නේ නැත.
මාසයක් ප්රමාද වූ නමුත් මගේ නඩුව සඳහා වඩාත් සුදුසු විසඳුම (ෂෙල් පිටපතකින්) මාපිය නාමාවලිය වෙත ගොස් එහි විධානය ක්රියාත්මක කිරීමයි.
cd /var/www/
tar -czf mysite.gz mysite
වෙනුවට:
tar -czf /var/www/mysite.gz /var/www/mysite
තිරිසන් බල ක්රමය භාවිතා කරමින් මම එය කළේ මෙයයි : 2>&1 | grep -v "Removing leading"
.
උදාහරණයක් වශයෙන්:
tar -cf "$BKUPDIR/${BKUPFILE}.tar" --overwrite --exclude '.*' --one-file-system "$SRCDIR" 2>&1 | grep -v "Removing leading"
tar
විධානය 2
මාරාන්තික දෝෂයක් මත නැවත පැමිණිය හැකිය .
-C
සම්පූර්ණ මාර්ග සමඟ සම්පීඩනය වීම වළක්වන මාර්ග සඳහා පමණක් භාවිතා කිරීමට උත්සාහ කරන්න :
root@server # tar fcz bkup.tar.gz -C /home/ foo/