ইতিমধ্যে লিখিত একটি টার আর্কাইভ আপনি কীভাবে যাচাই করবেন?


15

আমি জানি যে কোনও সংরক্ষণাগার তৈরি করার সময় আপনি কী করতে পারেন - তবে আপনি কীভাবে যাচাই করবেন এবং ইতিমধ্যে তৈরি সংরক্ষণাগারটি করবেন? টিভিডুএফ বলছে এটি কোনও বৈধ টার আর্কাইভ নয়?

$ mkdir tmp
$ echo asdkfjh > tmp/a
$ echo qweroiu > tmp/b
$ ls
tmp
$ tar cvf archive.tar tmp
tmp/
tmp/a
tmp/b
$ tar tvWf archive.tar
tar: This does not look like a tar archive
tar: Skipping to next header
tar: VERIFY FAILURE: 1 invalid header detected
tar: Error exit delayed from previous errors

একই জিনিসটি ট্যার 1.15 (যা সেন্টোস 5 এ সিস্টেম ডিফল্ট) এবং 1.26 (যা gnu থেকে নতুন সংস্করণ) উভয়ের সাথে ঘটে।

উত্তর:


8

আপনি এর Wসাথে ব্যবহার করতে পারবেন না t

mkdir tmp
echo bdb > tmp/a
echo bdb > tmp/b

tar cvf archive.tar tmp
tmp/
tmp/a
tmp/b

ls -l archive.tar
-rw-r--r-- 1 tony tony 10240 Jun 23 05:57 archive.tar

tar tvf archive.tar
drwxr-sr-x tony/tony         0 2011-06-23 05:57 tmp/
-rw-r--r-- tony/tony         4 2011-06-23 05:57 tmp/a
-rw-r--r-- tony/tony         4 2011-06-23 05:57 tmp/b

tar tvWf archive.tar
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors

আমি বিশ্বাস করি tসংরক্ষণাগারটি পরীক্ষা করার জন্য একাই যথেষ্ট।


tকেবল আর্কাইভের বিষয়বস্তু তালিকাভুক্ত করে। আমি যাচাই করতে চাই যে টারে থাকা ফাইলগুলিতে অরিজিনালগুলির মতো একই বিষয়বস্তু রয়েছে (এখনও ফাইল সিস্টেমে) যা আমি ভেবেছিলাম কি করা Wউচিত (ডান?)।
সিপ্পিনোজা

1
সংরক্ষণাগারটি লেখার সময় কেবল ডাব্লু তা করে । আপনি যদি নিশ্চিত করতে চান যে সামগ্রীটি বাইট ম্যাচের জন্য বাইট হয় তবে আপনাকে এটি অন্য কোথা থেকে বের করতে হবে এবং ফাইলগুলি আলাদা / সংযুক্ত করতে হবে।
এইটবিটটনি

আমার জন্য নয় tar tvWf t.tar tar: --verify cannot be used with -t::tar (GNU tar) 1.27.1
টম হেল

14

জিএনইউর tarএকটি --compareবিকল্প রয়েছে। দেখুন ফাইল-সিস্টেমসহ তুলনা সংরক্ষাণাগার সদস্যদের বিস্তারিত জানার জন্য নথিপত্রের অধ্যায়।


5
উদাহরণস্বরূপ tar -df /path/to/archive.tar.bz2আর্কাইভের ফাইল এবং ফাইল সিস্টেমের মধ্যে পার্থক্য দেখাবে, বর্তমান কার্যকরী ডিরেক্টরিটির বিরুদ্ধে সংরক্ষণাগারে আপেক্ষিক পাথগুলি সমাধান করে।
ওয়ালফ

3

Joerg Schillings starএকটি ক্রীড়া পরিবর্তন বিকল্প, যা তাদের মূল সঙ্গে একটি টার আর্কাইভ ফাইল তুলনা করতে সক্ষম হয়। পার্থক্য হিসাবে স্বীকৃত হওয়া উচিত কি আপনি তা বলতে পারেন।

0 1 newt pts/1 ~ 17> :> tmp/testfile
0 1 newt pts/1 ~ 19> star -cz tmp > tmp.tar
0 1 newt pts/1 ~ 19> echo bla > tmp/testfile
0 1 newt pts/1 ~ 20> star -z -diff diffopts=not,times < tmp.tar
diffopts=perm,symperm,type,nlink,uid,gid,uname,gname,size,data,rdev,hardlink,symlink,sympath,sparse,dir,acl,xattr,fflags
tmp/testfile: different size,data
star: 115 blocks + 0 bytes (total of 1177600 bytes = 1150.00k).

নোট করুন যে এটি testfileবিভিন্ন আকার এবং ডেটা বলে উল্লেখ করেছে । যদি আমি বারগুলি (অ্যাক্সেসের সময় সহ!) বাদ না দিয়ে থাকি তবে এটি অ্যাক্সেসের সময়টিও জানায় এবং যাদের ফাইলগুলির সময় পরিবর্তন হয়েছিল কেবল সেগুলি দেখিয়ে সমস্ত ফাইল তালিকাভুক্ত করে list

BerliOS ধংসের পর থেকে starএ পাওয়া যাবে SourceForge । এটি অত্যন্ত পোর্টেবল, এবং বেশিরভাগ ইউনিক্সয়েড সিস্টেম এবং ইউনিক্সয়েড লুক-ইলাইকগুলিতে বেদনাবিহীনভাবে সংকলন করে।


সাম্প্রতিক উত্সগুলি schilytoolsউত্স প্যাকেজে রয়েছে।
ছদ্মবেশী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.