තාර: සාමාජික නාම වලින් ප්‍රමුඛ `/ 'ඉවත් කිරීම


152
root@server # tar fcz bkup.tar.gz /home/foo/
tar: Removing leading `/' from member names

මෙම ගැටළුව විසඳා /ලිපිගොනු නාම තබා ගන්නේ කෙසේද?


2
අපේක්ෂා කළ පරිදි ක්‍රියා නොකරන්නේ කුමක්ද?

37
එය ගැටලුවක් නොවේ. තාර ලේඛනාගාරයක ප්‍රමුඛ කප්පාදුව ඔබට අවශ්‍ය නැත . බරපතල ලෙස. ඔබේ පද්ධතියේ මූලයට සංරක්ෂිතයක් උකහා ගැනීමට ඔබට අවශ්‍ය නම්, එය උපුටා ගැනීමේදී සඳහන් කරන්න -C /.
හොරා මාස්ටර්

Answers:


83

මෙම අංගය අක්‍රිය කිරීමට --absolute-namesහෝ -Pවිකල්පය භාවිතා කරන්න .

tar fczP bkup.tar.gz /home/foo/

tar fcz bkup.tar.gz --absolute-names /home/foo

58
මෙය නිවැරදි පිළිතුරයි, නමුත් දැනුවත්ව සිටින්න, බොහෝ අවස්ථාවන්හීදී මෙය ඔබට අවශ්‍ය නොවන බව , එහි ප්‍රති results ලය වනුයේ ලේඛනාගාරයක් සම්පූර්ණ මාර්ග වලින් උපුටා ගන්නා බවයි!
rubo77

8
-C /Ar මාකස්ගේ පිළිතුරෙහි විස්තර කර ඇති පරිදි විකල්පය භාවිතා කිරීම ඔබේ මූලික ඉලක්කය නම් STDERR පණිවිඩය ඉවත් කරනු ඇත.
මැට් සැන්ඩර්ස්

1
@ Rubo77 අදහස් දැක්වූ පරිදි, සාමාන්‍යයෙන් මෙය විධානයේ අපේක්ෂිත ප්‍රති result ලය නොවේ.
ඇල්ෆ්‍රෙඩොකාම්බෙරා

3
බොහෝ විට මෙය පරිශීලකයාට අවශ්‍ය දේ නොවේ, මන්ද ඔවුන්ගෙන් බොහෝ දෙනෙක් ඔවුන්ට අවශ්‍ය වන තෙක් අත්පොත කියවන්නේ නැති නිසා (ඒ සඳහා කිසිවෙකුට කාලය නොලැබේ). එමනිසා, අවම වශයෙන් ඔබේ පිළිතුර පුළුල් කිරීම නුවණට හුරුය, එහි බලපෑම කුමක්දැයි ඔවුන්ට වැටහෙනු ඇතැයි විශ්වාස නැතිනම් මෙය නොකරන්නැයි ජනතාවට අනතුරු අඟවයි. විශේෂයෙන් පිළිතුරක් ලෙස පිළිගැනීම.
මැලේඩන් බී.

1
නියමයි, ඇයි උදාහරණයක් දෙන්න නැත්තේ? මෙම විධානයන් යන්නේ කොතැනටද? අවසානයේදී? ආරම්භය? මැද?
ටොස්කන්

92

එය ඇත්ත වශයෙන්ම අංගයක් මිස ගැටලුවක් නොවේ. නිරපේක්ෂ ස්ථාන සහිත ලේඛනාගාරය ආරක්ෂක අවදානමකි. තීරණාත්මක පද්ධති ස්ථානවල ලිපිගොනු ස්ථාපනය කිරීමට පරිශීලකයින් රැවටීමට ප්‍රහාරකයන්ට එවැනි ලේඛනාගාර භාවිතා කළ හැකිය.

ඔව්, ඔබට භාවිතා කළ හැකිය -P. නමුත් ඉදිරි කප්පාදුව ඉවත් කිරීමට තාරයට ඉඩ දීමෙන් සහ ලේඛනාගාරයේ නිස්සාරණය පැහැදිලිව කිරීමට ලේඛනාගාරයේ පරිශීලකයාට අවශ්‍ය වීමෙන් ඇති වරද කුමක්ද? එවිට ඔවුන් දැනුවත්ව විවේචනාත්මක පද්ධති ස්ථාන වලට බලපෑම් කරන අතර අහම්බෙන් එය කළ නොහැක.


6
සමහර විට ලක්ෂණ ගැටළු වේ. ශුන්‍ය නොවන පිටවීමේ තත්වයට ඊමේල් කරන උපස්ථ ස්ක්‍රිප්ට් එකක් සැකසීමෙන් පසුව මට මෙම නූල හමු විය 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]
මගේම අතුගා දැමූ

1
භාවිතා කිරීම සඳහා යම් යම් භාවිත අවස්ථා ඇති බව මම සිතමි -P- නිදසුනක් ලෙස, ඔබ FUSE හි යම් ආකාරයක ගොනු පද්ධති ස්නැප්ෂොටින් අංගයක් සපයන්නේ නම්. සමහර cwdවිට පරිශීලකයාගේ දෘෂ්ටිකෝණයට වඩා නිශ්චිත නාමාවලියක සැණින් ඡායාරූපයක් ඉවත් කිරීමට ඔබට අවශ්‍ය විය හැකිය .
DIMMSum

90

STDERR වෙත මුද්‍රණය කර ඇති "සාමාජික නාම වලින් ප්‍රමුඛ" ඉවත් කිරීම "ඉවත් කිරීමට ඔබට අවශ්‍ය නම්, නමුත් තාර පෙරනිමියෙන් මෙන් wis ානවන්තව එම ප්‍රමුඛ කප්පාදුවලින් ඉවත් වීමට අවශ්‍ය නම්, විවරණකරු ටයිම්සොෆ්ට් විසින් මෙහි විශිෂ්ට විසඳුමක් දුටුවෙමි.

විසඳුමට ඇතුළත් වන්නේ -C විකල්පය භාවිතා කරමින් ඩිරෙක්ටරිය root (/) වෙත වෙනස් කිරීම, ඉන්පසු ප්‍රමුඛ කප්පාදුවකින් තොරව සංරක්‍ෂණය කිරීම සඳහා ගොනු ගස නියම කිරීමයි , මන්ද දැන් ඔබට අවශ්‍ය වන්නේ සාපේක්ෂ මාර්ගයක් පමණි. මෙය සාමාන්‍ය තාර සාදන විධානයකට සමාන දෙයක් කරයි, නමුත් ඉවත් කිරීම අවශ්‍ය නොවේ:

tar fcz bkup.tar.gz -C / home/foo/

වර්ධක උපස්ථ සමඟ එය ක්‍රියා නොකරනු ඇත. නමුත් හොඳ පිළිතුරක්.
gajdipajti

ෂෙල්-ප්‍රසාරණය (උදා tar c -C / home/foo/*) මගින් දැක්වෙන ලිපිගොනු තාර කිරීමට ඔබට අවශ්‍ය නම් එය ක්‍රියා නොකරයි , මන්ද වෙනස් වූ මූල ගැන කවචය නොදන්නා බැවිනි. නමුත් තවමත් වෙනත් අවස්ථාවන්ට හොඳ පිළිතුරක්.
බොරිස්

1
-C /මට වැඩ කරන්නේ නැහැ, කාල සීමාව. එය මට stderr වළක්වන්නේ නැත.
Acumenus

3
-ABB -C / අනුගමනය කරන මාර්ගය සාපේක්ෂ බව තහවුරු කරගන්න.
zurfyx

පරිශීලකයාට මූල නාමාවලියෙහි අවසර නොමැති නම් මෙම ප්‍රවේශය ක්‍රියාත්මක වේද?
මැලේඩන් බී.

36

මාසයක් ප්‍රමාද වූ නමුත් මගේ නඩුව සඳහා වඩාත් සුදුසු විසඳුම (ෂෙල් පිටපතකින්) මාපිය නාමාවලිය වෙත ගොස් එහි විධානය ක්‍රියාත්මක කිරීමයි.

cd /var/www/
tar -czf mysite.gz mysite

වෙනුවට:

tar -czf /var/www/mysite.gz /var/www/mysite

10
ඇත්ත වශයෙන්ම ඔබට මෙය භාවිතා කළ හැකිව තිබුනි: tar -zcvf mysite.gz -C / var / www / mysite / මෙහි ඇති වාසිය නම් ඔබට ඕනෑම නාමාවලියකින් එය ක්‍රියාත්මක කළ හැකිය
ඇල්ෆ්‍රෙඩොකැම්බෙරා

ඔයාගේ සහායට ස්තූතියි. මට අවශ්‍ය වූයේ මෙයයි. ගමනාන්ත ෆෝල්ඩරය පමණක් වන මගේ ටාර්බෝල්හි සම්පූර්ණ මාවත මට අවශ්‍ය නොවීය.
ක්‍රිස්ටියා

මෙය නිවැරදි පිළිතුරක් ලෙස පිළිගත යුතුව තිබුණි, මම සිතමි.
මැලේඩන් බී.

මෙය කිසිසේත්ම ප්‍රශ්නයට පිළිතුරු දෙන්නේ කෙසේදැයි මම නොදනිමි. එය වෙනස් දෙයක් කළ හැකිය. ……… වැනි: Q: මම ලොස් ඇන්ජලීස් සිට නිව්යෝර්ක් වෙත යන්නේ කෙසේද? පිළිතුර: ඒ වෙනුවට සැන් ෆ්‍රැන්සිස්කෝ වෙත යන්න.
ජී-මෑන් පවසන්නේ 'මොනිකා නැවත

මම @ ජී-මෑන් සමඟ එකඟ වෙමි. මෙහි ප්‍රති result ලය වනුයේ සම්පූර්ණයෙන්ම වෙනස් නාමාවලි ව්‍යුහයක් සහිත තාර ගොනුවකි. සමහර අවස්ථාවලදී, එම නාමාවලි ව්‍යුහය ඇත්ත වශයෙන්ම වඩා සුදුසු ය, නමුත් එය ප්‍රශ්නයට පිළිතුරු සපයන්නේ නැත.
කෙවින් කීන්

7

තිරිසන් බල ක්‍රමය භාවිතා කරමින් මම එය කළේ මෙයයි : 2>&1 | grep -v "Removing leading".

උදාහරණයක් වශයෙන්:

tar -cf "$BKUPDIR/${BKUPFILE}.tar" --overwrite --exclude '.*' --one-file-system "$SRCDIR" 2>&1 | grep -v  "Removing leading"

4
මෙහි ඇති ගැටළුව එය දෝෂ කේතය සඟවයි. එබැවින් ඔබට තාර කේතයෙන් බාෂ් ස්ක්‍රිප්ට් එකක දෝෂ කේතය පරීක්ෂා කිරීමට අවශ්‍ය නම්, එය සාර්ථක වූ විට 0 ලබා නොදේ.
බ්‍රයන්

aticstaticx, දෝෂ කේතය නොසලකා 0 වේ.
Acumenus

1
BABB මගේ tarවිධානය 2මාරාන්තික දෝෂයක් මත නැවත පැමිණිය හැකිය .
ජයිට්

1
Rian බ්‍රයන් ඔබට පිටවීමේ කේතය ලබා ගැනීමට $ PIPESTATUS භාවිතා කළ හැකිය. Unix.stackexchange.com/questions/14270/…
simpleuser

3

-Cසම්පූර්ණ මාර්ග සමඟ සම්පීඩනය වීම වළක්වන මාර්ග සඳහා පමණක් භාවිතා කිරීමට උත්සාහ කරන්න :

root@server # tar fcz bkup.tar.gz -C /home/ foo/

2

මම මෙම ගැටළුව විසඳුවේ:

cd /home/foo && tar czf ~/backup.tar.gz .

ඒ ආකාරයෙන් ඔබ තාර ලේඛනාගාරයට නිරපේක්ෂ මාර්ග තැබීමට උත්සාහ නොකරයි. ගොනු පද්ධතියේ මුලදී එය ඉවත් කිරීමට ඔබට අවශ්‍ය නම්

cd / && tar xzf backupt.tar.gz එය මාරු කිරීමෙන් පසුව.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.