আমি কেন ওএস এক্স-এ আমার টার্বলটিতে ._foo এর মতো ফাইল পাব?


70

আমি যখন ওএস এক্স-তে নির্দিষ্ট ফাইলগুলি টার্গেট করি:

tar cvf foo.tar foo

এটি টারবলে একটি অতিরিক্ত ফাইল তৈরি করে ._foo:

./._foo
foo

যা কেবলমাত্র যদি আমি এটি ম্যাক-নন অপারেটিং সিস্টেমে নিষ্কাশন করি তা প্রদর্শিত হবে। কিন্তু ._fooআমার ফাইল সিস্টেমে বিদ্যমান নেই! কি হচ্ছে? আমি কীভাবে এ থেকে মুক্তি পাব?


ঘৃণা করি। আমি 7-জিপ সহ সংরক্ষণাগারগুলির ভিতরে ব্রাউজ করছি তখন কুরুচিপূর্ণ দেখাচ্ছে।
নাথানিয়েল

উত্তর:


79

ওএস এক্স-এর ট্যার প্রসারিত বৈশিষ্ট্য এবং এসিএল সঞ্চয় করতে অ্যাপলডুবল ফর্ম্যাট ব্যবহার করে।

$ touch file1 file2 file3
$ xattr -w key value file1
$ chmod +a 'admin allow delete' file2
$ ls -le@ *
-rw-r--r--@ 1 lauri  staff  0 May 25 07:09 file1
    key 5
-rw-r--r--+ 1 lauri  staff  0 May 25 07:09 file2
 0: group:admin allow delete
-rw-r--r--  1 lauri  staff  0 May 25 07:09 file3
$ tar -cf 1.tar *
$ tar -tf 1.tar
./._file1
file1
./._file2
file2
file3

ওএস এক্স-এর ট্যার এছাড়াও কীভাবে ._ সদস্যদের দেশীয় ফর্ম্যাটে রূপান্তর করতে পারে তা জানে, তবে অন্যান্য প্ল্যাটফর্মগুলিতে সংরক্ষণাগারগুলি যখন আর্কাইভগুলি নেওয়া হয় তখন ._ ফাইলগুলি সাধারণত রাখা হয়। আপনি কিছু মূল্য COPYFILE_DISABLE সেট করে মেটাডেটা অন্তর্ভুক্ত না করার জন্য টারকে বলতে পারেন:

$ COPYFILE_DISABLE=1 tar -cf 2.tar file*    
$ tar -tf 2.tar
file1
file2
file3
  • অনুলিপি ফাংশন বর্ণিত হয় man copyfile
  • ls -l@বর্ধিত বৈশিষ্ট্যের কী এবং মাপ দেখায়, ls -leএসিএল প্রিন্ট করে
  • xattr -l বর্ধিত বৈশিষ্ট্যের কী এবং মানগুলি তালিকাভুক্ত করে
  • xattr -c সমস্ত বর্ধিত বৈশিষ্ট্য সাফ করে (-ডি একা ব্যবহার করা যাবে না)
  • chmod -N ACL গুলি মুছে দেয়
  • ওএস এক্স-এ তৈরি জিপ ফাইলগুলি অনুরূপ মেটাডেটা সঞ্চয় করতে একটি __MACOSX ফোল্ডার ব্যবহার করে

বর্ধিত বৈশিষ্ট্য হিসাবে তথ্য সংরক্ষণ করা হয়:

  • রিসোর্স কাঁটাচামচ (রিসোর্স কাঁটাচামচ 10.4 সাল থেকে বাড়ানো বৈশিষ্ট্য)
    • কাস্টম আইকনগুলি ফাইন্ডারে সেট হয়েছে এবং আইকন। R ফাইলগুলির চিত্র
    • পিএসডি ফাইলগুলিতে মেটাডেটা
    • স্ক্রিপ্ট ফাইলগুলিতে সংরক্ষিত অবজেক্টস, অ্যাপলস্ক্রিপ্ট সম্পাদক উইন্ডো স্থিতি, স্ক্রিপ্টগুলির বিবরণ
  • এলিয়াস সম্পর্কিত তথ্য (প্রসারিত বৈশিষ্ট্য অপসারণ করা হলে এলিয়াস কাজ করা বন্ধ করে দেয়)
  • ইন্টারনেট থেকে ডাউনলোড করা পৃথক অবস্থার স্থিতি বা ফাইলগুলির উত্স URL গুলি
  • স্পটলাইট মন্তব্য
  • টেক্সটএডিট দিয়ে ফাইলগুলির এনকোডিং সংরক্ষণ করা হয়েছে
  • টেক্সটমেট দিয়ে ফাইলগুলির ক্যারেটের অবস্থান খোলা
  • স্কিম নোট

আমার MacOS X 10.5.8 (চিতাবাঘ) এ ডিফল্টরূপে GNU টার 1.15.1 রয়েছে। জিএনইউর সর্বশেষ সংস্করণটি 1.22 (মার্চ 2009)। ডাউনলোড এবং বিল্ট: এটি ম্যাকস এক্স-এ নির্মিত যখন '--no-xattrs' রয়েছে বলে মনে হয় না
জোনাথন লেফলার ২

1
পুরো সিস্টেমটিতে এই পরিবর্তনকটি রফতানির পরিবর্তে আপনিও ব্যবহার করতে পারেন env COPYFILE_DISABLE tar -cf archive.tar my_folder/
জর্জি স্কলি

1
@ কাওস, সমস্যাটি ছিল তারা টারবলে প্রদর্শিত হয়েছিল, যা আমি তখন ক্রস-প্ল্যাটফর্ম বিতরণ করছিলাম এবং অ্যাপল নন অপারেটিং সিস্টেমে তাদের কোনও অর্থ নেই।
জেসি বেডার 21

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

1
এফওয়াইআই, চিতাবাঘের রফতানি লাইন সিংহের পক্ষেও কাজ করে।
jjeaton

12

হিসাবে bsdtar 3.0.3 - libarchive 3.0.3(এবং সম্ভবত পূর্বে) bsdtarকমান্ড একটি নতুন বিকল্প ফাইল --disable-copyfileতৈরি দমন করতে ডেকে আনা আছে ._

# on Mac OS X
# /usr/bin/tar -> bsdtar
ls -l /usr/bin/tar    

# from man bsdtar
--disable-copyfile
        Mac OS X specific.  Disable the use of copyfile(3).

3
সঙ্গে bsdtar 2.8.3 - libarchive 2.8.3এর নথিভুক্ত করা হয় না কিন্তু পাওয়া সত্ত্বেও। 10.7.5--disable-copyfile
স্টেফান শ্মিড্ট

github.com/libarchive/libarchive/commit/… এবং forums.macrumors.com/showthread.php?p=20684196#post20684196 অ্যাপল থেকে পুরানো ডকুমেন্টেশনের দিকে দৃষ্টি আকর্ষণ করে।
গ্রাহাম পেরিন

1

._ফাইল রিসোর্স কাটাচামচ হিসাবে অন্যান্য উত্তর উল্লেখ করা হয়। যাইহোক, ব্যবহার করার সময় এগুলি থেকে মুক্তি পাওয়ার আরও ভাল উপায় রয়েছে tar:

export COPYFILE_DISABLE=true
tar cvf foo.tar foo

dot_cleanএই ফাইলগুলি পরিষ্কার করার জন্যও একটি ইউটিলিটি রয়েছে (আমি মনে করি এটি সাধারণত বাহ্যিক স্টোরেজের জন্য ব্যবহৃত হয়)।


ধন্যবাদ! সেই সমাধানের জন্য আমার উপরের উত্তরের শেষটি দেখুন।
জেসি বেডার

ডট_ক্ল্যান এই জন্য কাজ করে না যেহেতু টর ফাইল তৈরি করে
জোদেভন

0

এই ফাইলগুলি অপসারণের জন্য এখানে অজগর স্ক্রিপ্ট রয়েছে। যে কোনও জনপ্রিয় ওএসে কাজ করা উচিত।

না পুঙ্খানুপুঙ্খভাবে পরীক্ষা আপনার নিজের ঝুঁকিতে ব্যবহার করি!

import os
import os.path

def dot_clean(folder):
    files = os.listdir(folder)
    for file in files:
        full_name = folder + "/" + file
        if os.path.isdir(full_name):
            dot_clean(full_name)
        elif file.startswith("._"):
            os.remove(full_name)

dot_clean('.')            

1
ওয়েল, HFS সঙ্গে OS X এর জন্য ব্যতীত ...
ড্যানিয়েল অঙ্গুলিনির্দেশ

কেন না? আপনি কীভাবে ঠিক করবেন?
আইভর

1
এই ফাইলগুলি আসলে এইচএফএস + এ বিদ্যমান নেই কারণ ফাইল সিস্টেমটি মেটাডেটা অভ্যন্তরীণভাবে সঞ্চয় করতে পারে। এই ফাইলগুলি এমন ফাইল সিস্টেমগুলির পক্ষে কাজ করে যা এটি সমর্থন করে না, উদাহরণস্বরূপ আপনি যখন এইচএফএস + থেকে একটি ফ্যাট ইউএসবি থাম্ব ড্রাইভে ফাইল স্থানান্তর করেন, সেগুলি অস্তিত্বের মধ্যে চলে যায় এবং আপনি যখন সেগুলি আবার স্থানান্তর করেন, তখন তা অদৃশ্য হয়ে যায়।
ড্যানিয়েল বেক

-3

পিরিয়ড অক্ষর, "।", ম্যাক প্ল্যাটফর্মে একটি লুকানো ফাইল সূচক হিসাবে ব্যবহৃত হয়। উইন্ডোজে এটি "$" অক্ষর। যাইহোক, ._foo ফাইলটি সম্ভবত কিছু ওএস এক্স নির্দিষ্ট তথ্য ধারণ করে এবং আমি এটি মুছে ফেলার বিরুদ্ধে সুপারিশ করব। অন্যান্য সিস্টেমে আপনাকে এড়িয়ে চলতে হবে, বা এখানকার কেউ আপনাকে একটি স্ক্রিপ্ট সরবরাহ করতে সক্ষম হতে পারে যা "এবং" এর সাথে শুরু হওয়া ফাইল এবং ফোল্ডারগুলিকে লুকিয়ে রাখবে।


এটি সমস্ত মেটাডেটা, বেশিরভাগ জিনিস যেমন কাস্টম আইকন, অ্যাপ্লিকেশন যা ফাইল তৈরি করেছে ইত্যাদি মুছে ফেলা নিরাপদ।
ড্রিমলাক্স

তবুও, আপনি যদি প্রাথমিকভাবে ম্যাক ব্যবহার করেন তবে আমি এটি রাখার পরামর্শ দেব। আপনি যদি ওএস এক্স এর চেয়ে বেশি উইন্ডোজ ব্যবহার করেন তবে এগিয়ে যান এবং এটি মেরুন।
dbmikus

(@ ড্রিমলাক্স) এটি সত্য যে বর্ধিত বৈশিষ্ট্যগুলিতে সঞ্চিত অনেকগুলি ডেটা মেটাডেটা এটি মুছে ফেলা নিরাপদ হতে পারে তবে এটি সর্বদা হয় না। বিশেষত, যখন "রিসোর্স ফর্কস" যুক্ত ফাইলগুলি এইচএফএস থেকে প্রাপ্ত কোনও জিনিস (এফএটি, ইউএফএস, টার ইত্যাদি) সংরক্ষণ করা হয় তখন এই '._ *' ফাইলগুলি (অন্যান্য বর্ধিত বৈশিষ্ট্যের মধ্যে) থেকে ডেটা ধরে রাখতে ব্যবহৃত হয় সম্পদ কাঁটাচামচ যদিও অনেকগুলি ফাইল ফর্ম্যাট রিসোর্স ফর্কগুলি (বান্ডিলগুলির দিকে) ব্যবহার করা থেকে দূরে চলেছে, এমন কিছু ফাইল রয়েছে যেখানে সংস্থানীয় ফর্কটিতে সমালোচনামূলক ডেটা সংরক্ষণ করা হয় (কখনও কখনও সংস্থান তথ্য কেবলমাত্র ডেটা হয়)।
ক্রিস জনসেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.