আমি মাউন্ট করা এবং ভাগ করা ভলিউমগুলির একটি জটিল অনুক্রমের মধ্যে একটি অনুমতি সমস্যা ডিবাগ করার চেষ্টা করছি। ব্যর্থ যে অপারেশন নিম্নলিখিত স্ট্রাস আউটপুট মধ্যে ধরা হয়:
open("/git/project.git/objects/12/tmp_obj_FNNWoD", O_RDWR|O_CREAT|O_EXCL, 0444) = 5
write(5, "x\1%\3121\16\3020\f@QfK\276\203\325=\250]\30\262q\222(\5\27,\245\216U\233\242"..., 109) = 109
close(5) = -1 EPERM (Operation not permitted)
লক্ষ্য করুন যে একটি নতুন ফাইল পঠন-লেখার জন্য তৈরি করা হয়েছে তবে অনুমতিগুলির সাথে 0444 যা কেবল এটি পড়তে পারে। কিছু ফাইল একটি ফাইল এবং ফাইল বন্ধ করা হয়। এই হল কিভাবে জিট অস্থায়ী ফাইল তৈরি করে । এটা সাধারণত কাজ করে। কিন্তু আমি মাউন্ট করা ভলিউম এক নির্ভরযোগ্যভাবে ব্যর্থ হয়।
আমি ভাগ করে নেওয়ার ফোল্ডারে কোন লেয়ারটি সমস্যা সৃষ্টি করে তা খুঁজে বের করতে হবে তাই আমি অনুক্রমের বিভিন্ন স্তরে এটি চেষ্টা করতে চাই। সমস্যা এই ত্রুটি অনুকরণ করা কঠিন। এটি গিট ইনস্টল করা প্রয়োজন, আমাকে নতুন গিট রিপোজিটরি শুরু করতে হবে এবং এতে ফাইল যোগ করতে হবে।
কিছু সাধারণ লিনাক্স সরঞ্জামগুলির সাথে সিস্টেম কলগুলির এই ক্রমটি করার উপায় আছে কি? স্ট্যান্ডার্ড প্রোগ্রাম দ্বারা আমি কিছু ভালো মানে sed
, vim
, cat
, echo
, awk
... হয়তো একটি পাইথন স্ক্রিপ্টও করবে।
আমি চেষ্টা প্রতিটি কমান্ড মাত্র 0644 অনুমতি সঙ্গে একটি নতুন ফাইল তৈরি করে।
install
এবং git কমান্ড ব্যর্থ হলে এটি ভাঙা ভলিউমের উপর কাজ করে।