আমি একাধিক ব্যবহারকারীর সাথে লিনাক্স সার্ভারে এডিবি চালানোর চেষ্টা করছি যেখানে আমি মূল নই (আমার অ্যান্ড্রয়েড এমুলেটর দিয়ে খেলতে)। অ্যাডবি ডিমন ফাইলগুলিতে তার লগগুলি লিখেছে /tmp/adb.logযা দুর্ভাগ্যবশত এডিবিতে কঠোর কোডড হয়েছে বলে মনে হচ্ছে এবং এই পরিস্থিতি কোনও পরিবর্তন হতে পারে না ।
সুতরাং, এডিবি রান করতে ব্যর্থ হচ্ছে সুস্পষ্ট ত্রুটি দান: cannot open '/tmp/adb.log': Permission denied। এই ফাইলটি অন্য একজন ব্যবহারকারী দ্বারা তৈরি এবং /tmpএতে স্টিকি বিট রয়েছে। যদি আমি adb nodaemon serverএটিকে স্টডআউটে লেখার চেষ্টা করে শুরু করি , তবে কোনও ত্রুটি ঘটবে না (বিবাদগুলি এড়ানোর জন্য আমি এর বন্দরটি একটি অনন্য মানতেও সেট আপ করেছি)।
আমার প্রশ্ন: এডিবি এর চেয়ে অন্য কোনও ফাইলে লেখার উপায় আছে /tmp/adb.logকি? আরও সাধারণভাবে, কোনও প্রক্রিয়া-নির্দিষ্ট সিমিলিংক তৈরি করার কোনও উপায় আছে কি? আমি সমস্ত ফাইল অ্যাক্সেসগুলিতে /tmp/adb.logএকটি ফাইলকে পুনর্নির্দেশ করতে চাই ~/tmp/adb.log।
আবার, আমি সার্ভারে রুট নই, সুতরাং chroot, mount -o rbindএবং chmodবৈধ বিকল্প নয়। যদি সম্ভব হয় তবে আমি এডিবি উত্সগুলি সংশোধন না করতে চাই তবে অবশ্যই যদি অন্য কোনও সমাধান না হয় তবে আমি তা করব।
দ্রষ্টব্য নির্দিষ্ট এডিবি ক্ষেত্রে আমি চলমান অবলম্বন করতে adb nodaemon serverসঙ্গে nohupএবং আউটপুট ফেরৎ কিন্তু সাধারণ প্রশ্ন এখনো প্রাসঙ্গিক।
LD_PRELOADকৌশল আছে, যদিও এটি আরও জটিল হবে।
/home/$USER/tmp/adb.logএবং
/tmp/adb.log, বা এমনকি নিজস্ব ব্যক্তিগতটিকে/tmpপুরোপুরি মাউন্ট করতে পারেন । কিman unshareএবংman namespacesএবংman nsenter।