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 /
সময় নির্দিষ্ট করুন ।
উত্তর:
এই বৈশিষ্ট্যটি অক্ষম করতে বিকল্প --absolute-names
বা -P
বিকল্পটি ব্যবহার করুন ।
tar fczP bkup.tar.gz /home/foo/
tar fcz bkup.tar.gz --absolute-names /home/foo
-C /
@ মার্কাসের উত্তরে বর্ণিত বিকল্পটি ব্যবহার করা এসটিডিইআরআর বার্তাটি যদি আপনার প্রাথমিক লক্ষ্য হয় তবে তা ছাড়িয়ে দেবে।
এটি আসলে একটি বৈশিষ্ট্য, কোনও সমস্যা নয়। নিরঙ্কুশ অবস্থানের সংরক্ষণাগারগুলি সুরক্ষা ঝুঁকি। আক্রমণকারীরা সমালোচনা সিস্টেমের অবস্থানগুলিতে ব্যবহারকারীদের ফাইল ইনস্টল করতে প্রতারিত করতে এই জাতীয় সংরক্ষণাগারগুলি ব্যবহার করতে পারে।
হ্যাঁ, আপনি ব্যবহার করতে পারেন -P
। তবে কীভাবে টারকে ফরোয়ার্ড স্ল্যাশ সরিয়ে দেওয়ার অনুমতি দেওয়া হয়েছে এবং আর্কাইভের ব্যবহারকারীর দ্বারা রুট ডিরেক্টরিতে স্পষ্টভাবে নিষ্কাশন করা প্রয়োজন? তারপরে তারা সচেতনভাবে জটিল সিস্টেমের অবস্থানগুলিকে প্রভাবিত করছে এবং দুর্ঘটনাক্রমে এটি করতে পারে না।
tar
। এই নির্দিষ্ট বার্তাটি tar
একটি স্থিতি সহ প্রস্থান 1
করছিল, যা আমাকে সফল ব্যাকআপগুলিতে মিথ্যা ইমেল সতর্কতাগুলি গ্রহণ করার কারণ tar
হয়েছিল , কেবল এই কারণেই এসটিডিআরআরে এই বার্তাটি লিখছিল। আমি @ মারকাসের সমাধানটির নিজের 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
ব্যবহারকারীর দৃষ্টিকোণ থেকে সুনির্দিষ্ট ডিরেক্টরিতে স্ন্যাপশটটি সন্ধান করতে পারেন ।
আপনি যদি এসটিডিআরআরে মুদ্রিত "সদস্যের নাম থেকে নেতৃস্থানীয় /` / 'মুছে ফেলা "থেকে মুক্তি পেতে চান তবে তবুও সেই নেতৃস্থানীয় স্ল্যাশগুলি বুদ্ধিমানের সাথে ডিফল্ট অনুসারে ছেড়ে দিতে চান, আমি এখানে একটি চমত্কার সমাধান কমেন্টার টাইমসফ্ট দ্বারা দেখেছি।
সমাধানটিতে ডিরেক্টরিটি রুট (/) এ পরিবর্তনের জন্য -C বিকল্প ব্যবহার করা হয়, তারপরে ফাইল ট্রিটিকে একটি শীর্ষস্থানীয় স্ল্যাশ ছাড়াই সংরক্ষণাগারভুক্ত করে নির্দিষ্ট করা উচিত কারণ এখন আপনার কেবল একটি আপেক্ষিক পথ প্রয়োজন। এটি একটি সাধারণ টার কমান্ড কমান্ডের মতো একই কাজ করে তবে কোনও স্ট্রিপিংয়ের প্রয়োজন নেই:
tar fcz bkup.tar.gz -C / home/foo/
tar c -C / home/foo/*
) দ্বারা চিহ্নিত ফাইলগুলি টার করতে চাইলে এটিও কাজ করে না , কারণ শেলটি পরিবর্তিত মূল সম্পর্কে জানতে পারে না। তবে এখনও অন্যান্য ক্ষেত্রে একটি ভাল উত্তর।
-C /
আমার জন্য কাজ করে না, পিরিয়ড। এটি আমার জন্য স্টাডারকে প্রতিরোধ করে না।
এক মাস দেরি হয়ে গেছে, তবে আমি আমার মামলার সর্বাধিক উপযুক্ত সমাধান খুঁজে পেয়েছি (শেল স্ক্রিপ্টে) প্যারেন্ট ডিরেক্টরিতে গিয়ে সেখানে কমান্ড চালানো।
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
মারাত্মক ত্রুটিতে ফিরে আসতে পারে ।