"./configure" ফাইল চালানোর জন্য adb "অনুমতি অস্বীকার"


9

configureআমার অ্যান্ড্রয়েড ফোনে আমার একটি ফাইল চালানো দরকার যাতে আমি মনে করি এটি করার সর্বোত্তম উপায় হ'ল adb shellআদেশটি ব্যবহার করা ।

আমি একটি উইন্ডোজ -7 প্ল্যাটফর্মে একটি অ্যান্ড্রয়েড এমুলেটর চালাচ্ছি এবং সেখানে আমি adb shellডস উইন্ডোতে কমান্ডটি চালাচ্ছি । ব্যবহার cdকমান্ড আমি ডিরেক্টরি যেখানে আমার পরিবর্তন করছি configureফাইল, এবং তারপর আমি নিম্নলিখিত কমান্ড নির্বাহ করছি: ./configure। আমি নিম্নলিখিত ত্রুটি পাচ্ছি:

./configure: permission denied

সুতরাং আমি এটির সাথে রুট মোডে অ্যাডাবিকে চালানোর চেষ্টা করি adb root- তবে দৃশ্যত আমার এডবিটি ইতিমধ্যে রুট মোডে রয়েছে (তাছাড়া আমার অ্যাডবি শেলের প্রতিটি লাইনের আগে আমার "#" অক্ষর রয়েছে)।

আমি এটি ব্যবহার করার চেষ্টাও করেছি chmodতবে এই কমান্ডটি কার্যকর করার আগে এবং পরে আমি কোনও পার্থক্য দেখতে পাচ্ছি না ls -la), সুতরাং সমস্যাটি এখানে রয়েছে (আমি কীভাবে chmodকমান্ডটি চালাতে পারি ?)।

হয়তো এখানে কেউ আমার সমস্যাটি সম্পর্কে আমাকে সহায়তা করতে পারে এবং আমার configureফাইল চালানোর অনুমতি কেন আমার কাছে নেই সে সম্পর্কে আপনার যদি ব্যাখ্যাও থাকে তবে তা দুর্দান্ত হবে।

ধন্যবাদ।

পিএস: আমার লক্ষ্য এখানে এই প্রকল্পের উত্সগুলি সরাসরি প্ল্যাটফর্মে সংকলন করে একটি অ্যান্ড্রয়েড প্ল্যাটফর্মে নেট-স্যাম্প প্যাকেজটি ব্যবহার করা।


3
এটাই সম্ভবত সমস্যা। /sdcardসাধারণত noexecঅ্যান্ড্রয়েডে পতাকা সহ মাউন্ট করা হয় , সুতরাং আপনি এটি থেকে বাইনারিগুলি কার্যকর করতে পারবেন না। আমি এটিকে অন্য কোথাও নিয়ে যাওয়ার চেষ্টা করার পরামর্শ দেব (প্রায়শই /data/localএরকম জিনিসের জন্য ব্যবহৃত হয়)। এটি সমস্যার সমাধান করে কিনা দেখুন।
বয়স্করাটি

3
এছাড়াও, এটি /usr/local/tmpডিরেক্টরিতে অনুলিপি করুন (সম্পূর্ণ net-snmp-5.7.2ডিরেক্টরিটি ইন /sdcard
লিয়াম ডব্লিউ

1
@ t0mm13b সম্পূর্ণরূপে নিশ্চিত না এই হল বিষয় বন্ধ, যেমন মানুষ কাজে লাগান তাদের ডিভাইস, একটি ফাইল চালানো প্রয়োজন যে এই ধরনের একটি রুট হিসাবে জন্য দরকারী হতে পারে।
লিয়াম ডব্লিউ

1
ঠিক আছে ধন্যবাদ. এখানে আমার প্রশ্নটি কীভাবে আমি একটি উন্নয়নের প্রশ্নের চেয়ে অ্যাডবি শেল দিয়ে স্ক্রিপ্ট এস চালাতে পারি সে সম্পর্কে আরও ছিল। তবে এখন আমার সমাধান রয়েছে: "/ এসডিকার্ডটি নোেক্সেক পতাকা সহ মাউন্ট করা আছে", সুতরাং যদি ওনাররেথিস বা লিয়াম ডব্লু তাদের উত্তরটিকে সত্যিকারের উত্তরে রাখতে চায় তবে আমি এটিকে বৈধতা দেব। অথবা আপনি আমাকে ব্যাখ্যা করতে পারেন আমি কীভাবে আমার প্রশ্নটি বন্ধ করতে পারি?
grattmandu03

1
@ grattmandu03 আমার ইতিমধ্যে আছে;)
লিয়াম ডব্লিউ

উত্তর:


10

এটি 2 টি জিনিসের কারণে:

  1. ফাইলটির কার্যকর করার অনুমতি নেই [And]
  2. ফাইলটি এসডি কার্ডের মতো কার্যকর করার অনুমতি পেতে পারে না gain এসডি কার্ডের ফাইল সিস্টেম ফাইলের অনুমতি গ্রহণ করতে পারে, তবে এটি noexecপতাকা সহ মাউন্ট করা হয়েছে, যেমনটি একটি মন্তব্যে বলা হয়েছে। এটি ফাইলগুলি কার্যকর করা বন্ধ করে দেয়।

সমাধান:

  1. net-snmp-5.7.2ডিরেক্টরিটিকে /data/local/tmpডিরেক্টরি হিসাবে অনুলিপি করুন ।
  2. রুট হিসাবে configureচালিয়ে ফাইলটি এক্সিকিউটেবল হতে সেট করুন chmod 0777 /data/local/tmp/net-snmp-5.7.2/configure
  3. আপনার এখন টাইপ করে /data/local/tmp/net-snmp-5.7.2/configureএবং এন্টার টিপে কনফিগার স্ক্রিপ্টটি কার্যকর করতে সক্ষম হওয়া উচিত ।

বিঃদ্রঃ

এটি সমস্ত রুট ব্যবহারকারী হিসাবে করা উচিত :)


8

মতামত এবং লিয়ামের উত্তর দ্বারা ব্যাখ্যা হিসাবে , noexecএটি এসডকার্ড মাউন্ট করার সময় সিস্টেম দ্বারা ব্যবহৃত পতাকাটির কারণে এটি। যদি আপনার configureফাইলটি শেল স্ক্রিপ্ট হয় (সাধারণত এটি হয়) তবে আপনি এটি কার্যকর করার জন্য চালাকি করতে পারেন:

cdআপনি উপরে বর্ণিত ডিরেক্টরিটিতে এবং তারপরে কার্যকর করুন sh configure

shশেল ব্যাখ্যাকারী, এবং যে বাইনারি মধ্যে স্থাপন করা উচিত /system/bin, যেখানে ফাইল হয় এক্সিকিউটেবল। আপনার স্ক্রিপ্টটিকে প্রথম যুক্তি হিসাবে পাস করা, এটি একটি নতুন শেল প্রক্রিয়া খুলবে যা আপনার configureস্ক্রিপ্টটি কার্যকর করে।


আপনার উত্তরের জন্য ধন্যবাদ. sh configureকৌতুক আছে।
grattmandu03

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