নির্দিষ্ট এআরএম আর্কিটেকচার স্ট্রিং নির্ধারণের জন্য সহজ কমান্ড লাইন পদ্ধতি?


24

আমি একটি স্ক্রিপ্ট লেখার চেষ্টা করছি যা মেশিনের আর্কিটেকচারের ভিত্তিতে ক্রিয়া নির্ধারণ করবে। আমি ইতিমধ্যে ব্যবহার uname -mকিন্তু আমি সেখানে কত এআরএম আর্কিটেকচারের জানি না, স্থাপত্য লাইন জড়ো করা, কিংবা আমি জানি এক কিনা না armhf, armelঅথবা arm64

এই স্ক্রিপ্টটির জন্য যেহেতু স্ক্রিপ্টের অংশগুলি চালিত হতে পারে বা না তা নির্ধারণ করার জন্য এটি প্রয়োজনীয়, তাই আমি আর্কিটেকচারটি কিনা তা নির্ধারণ করার জন্য একটি সহজ উপায় সন্ধান করার চেষ্টা করছি armhf, armelবা arm64। কোন এক-লাইনের বা সহজ কমান্ড যে আউটপুট হয় ব্যবহার করা যেতে পারে armhf, armelঅথবা arm64?

স্ক্রিপ্টটি বিশেষত দেবিয়ান এবং উবুন্টু সিস্টেমের জন্য রচিত এবং আমি এই বিষয়টি মাথায় রেখে ট্যাগ করছি (আপনি যদি সেসব ডিস্ট্রোজে না থাকেন তবে এটি স্বয়ংক্রিয়ভাবে প্রস্থান করে, তবে এটি যদি আরও বিস্তৃতভাবে প্রয়োগ করা যেতে পারে তবে কমান্ড (গুলি) বিদ্যমান


সম্পাদনা: সম্প্রতি শিখেছি যে আর্মেল মারা গেছে এবং আর্ম 64 সফ্টওয়্যার নির্মাতারা (পিপিএ বা ভার্চুয়াল ভিত্তিক) সবচেয়ে স্থিতিশীল নয়। সুতরাং আমার কাছে একটি ওয়াইল্ডকার্ড অনুসন্ধান রয়েছে এবং arm*এটি আর্মশ্ফটি ধরে নিচ্ছে, তবে এটি এখনও উবুন্টু / ডেবিয়ান কমান্ড বা কার্নেল কল বা কিছু হোক না কেন - তিনটির মধ্যে একটির জন্য একটি লাইনার খুঁজে বের করা দরকার।


case $(arch) in ; armf)... ;; armel)... ;; arm64)... ;; *) exit ;; esacতুমি কি এরকম কিছু করছ?
কস্টাস 21

@Costas হ্যাঁ, যে কার্যকরভাবে আমি কি পর আছি, কিন্তু পেয়ে খিলান চতুর অংশ। যেহেতু সমাধানগুলি বিতরণ এবং ওএস-মডেল সুনির্দিষ্ট হতে পারে, তাই ডেবিয়ান এবং উবুন্টু একই রকম এবং এটি আমার লক্ষ্য, সুতরাং সমাধানগুলি যা খিলানটি বের করে এবং তারপরে ব্যবহারযোগ্য হবে দুর্দান্ত। (এই একটি বিশুদ্ধ-প্রোগ্রামিং প্রশ্ন পারেন, আমি শুধু কমান্ড প্রয়োজন নির্দিষ্ট খিলান দখল করতে নয় - আমি ইতিমধ্যে আছে i386, i686এবং x86_64এর উপর ভিত্তি করে মামলা uname -m, কিন্তু জন্য কিছুই arm??... বা অন্তত, কিছুই যে শনাক্ত armhf, armelঅথবা arm64) ।
থমাস ওয়ার্ড

আপনি কি বোঝাতে চেয়েছেন?
কস্টাস

1
@ কাস্টাস অন এআরএম সেটআপগুলিতে, uname -mনির্দিষ্ট বাহু বোর্ডটি ছুঁড়ে দেয় - armv7lউদাহরণস্বরূপ। এটা তোলে স্পষ্টভাবে বলতে কিনা এটা armel, armhfঅথবা arm64- যা আমি যা দরকার তা হল $(arch)আগাছা করার আউট বেমানান ওএস আর্কিটেকচারের হিসেবে শেষ করতে।
টমাস ওয়ার্ড

আপনি যদি / proc/config.gz থাকে তবে পার্সিং করা ভাল।
umeboshi

উত্তর:


39
dpkg --print-architecture

এটি চালিত মেশিনের প্রাথমিক আর্কিটেকচারটি আউটপুট দেবে। এটি armhf32-বিট এআরএম ডেবিয়ান বা উবুন্টু (বা একটি ডেরাইভেটিভ) arm64চলমান মেশিনে 64৪-বিট এআরএম চালিত মেশিনে থাকবে।

নোট করুন যে চলমান আর্কিটেকচারটি হার্ডওয়্যার আর্কিটেকচার বা এমনকি কার্নেল আর্কিটেকচারের চেয়ে আলাদা হতে পারে। i386Bian৪-বিট ইন্টেল বা এএমডি সিপিইউতে ডেবিয়ান চালানো সম্ভব এবং আমি বিশ্বাস করি যে armhf64৪-বিট এআরএম সিপিইউতে চালানো সম্ভব । এমনকি কার্নেলে বেশিরভাগ i386বাইনারি (তাই প্রাথমিক আর্কিটেকচারটি হ'ল i386) পাওয়া amd64সম্ভব ...


ঠিক আছে তবে এটি স্ক্রিপ্টের প্যাকেজগুলির জন্য প্রয়োজনীয় আর্কিটেকচার নির্ধারণ করবে। আমি আজ এটি পরীক্ষা করব, ধন্যবাদ।
থমাস ওয়ার্ড

1
অ্যান্ড্রয়েড ডিভাইসে, কোনও dpkg কমান্ড নেই। অ্যান্ড্রয়েড ডিভাইসের আর্কিটেকচার সনাক্ত করতে আমার কী করা উচিত?
ডাঃ জ্যাকি

@ মিঃ হাইড এই প্রশ্নটি বিশেষত ডেবিয়ান এবং উবুন্টুকে লক্ষ্য করে; আমি আপনাকে পরামর্শ দিচ্ছি আপনি একটি নতুন প্রশ্ন জিজ্ঞাসা যদি আপনি Android এর জন্য উত্তর চাই, নয়তো এখানে বা android.stackexchange.com
স্টিফেন কিট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.