অনুলিপি ছাড়াও / ইউএসআর / বিন / ইনস্টল কী করে?


11
  1. কি make installএকটি Makefile সময় কল অধিকাংশ সঙ্গে /usr/bin/install?

  2. /usr/bin/installস্রেফ সংকলিত ফাইলগুলি অনুলিপি করার পাশাপাশি কোন প্রয়োজনীয় কাজ করে /usr/bin/local?

  3. ম্যান পেজটি /usr/bin/installফাইলগুলি অনুলিপি করে এবং বৈশিষ্ট্যগুলি সেট করে। কি বৈশিষ্ট্য সেট করা এত গুরুত্বপূর্ণ?

  4. এটি কেবল অনুমতি মোড এবং মালিক / গোষ্ঠী সেট করে যা প্রয়োজনীয় নয়?

"বেশিরভাগ সময়েই কল / ইউএসআর / বিন / ইনস্টল কোনও মেকফাইল দিয়ে ইনস্টল করা যায়?" না, এটি যা চায় তা করে। এটি একটি লক্ষ্য লক্ষ্য। আপনার ইনস্টল সম্পর্কে কার্যকর প্রশ্ন কার্যকর? নাকি মেকিং সম্পর্কে? এটা স্পষ্ট নয়.
ফাহিম মিঠা

উভয়। @ ফাহিমমিঠা
টিম

ঠিক আছে, ভাল, 1 এবং 2 পৃথক প্রশ্ন এবং 1 টির উত্তর সম্ভবত না, তবে "বেশিরভাগ সময়" সংজ্ঞা দেয়। আমি যাই হোক না কেন 1 এর বিন্দু সম্পর্কে নিশ্চিত নই।
ফাহিম মিঠা

উত্তর:


17

install ডিরেক্টরিতে ফাইল অনুলিপি করার পাশাপাশি বেশ কয়েকটি বৈশিষ্ট্য সরবরাহ করে।

  • -sবিকল্প একটি এক্সিকিউটেবল সংরক্ষণ স্থান থেকে প্রতীক টেবিল সরিয়ে ফেলা হবে
  • -mবিকল্প অনুমতি বিট সেট করে। বিকাশকারীর ডিরেক্টরিতে বসে থাকা ফাইলগুলি তার উমাসকের সাপেক্ষে তৈরি করা হয়েছিল, যা অন্যদের সম্পাদন থেকে বিরত রাখতে পারে। install -m 755 file1 /usr/local/binপ্রত্যেকে ফাইলটি সম্পাদন করতে পারে তা নিশ্চিত করে, সম্ভবত বিকাশকারী কোনও ভাগ করা ডিরেক্টরিতে কোনও ফাইলের জন্য যা চায় তা সম্ভবত।
  • -oএবং -gঅপশন মালিক এবং গ্রুপ সেট। এর সাথে cp, গন্তব্য ফাইলটির মালিক এবং গোষ্ঠী যে কেউ দৌড়েছে তার uid এবং গ্রিডে সেট করা হবে cpএবং তার সাথে cp -p, গন্তব্য ফাইলটির মালিক এবং গোষ্ঠীটি বিল্ড ডিরেক্টরিতে থাকা ফাইলের মতো হবে, যার কোনওটিই হতে পারে না বিকাশকারী যা চান তা করুন। wallপ্রোগ্রাম দলের হওয়া প্রয়োজন tty, screenপ্রোগ্রাম গ্রুপ করা প্রয়োজন utmp, ইত্যাদি
  • এটি মেকফাইল রেসিপিটিতে যে কমান্ডগুলি লাগাতে হবে তার সংখ্যা হ্রাস করে। install -s -m 755 -o root -g bin file1 file2 lib/* $(DESTDIR)চার কমান্ড চেয়ে বেশি সংক্ষিপ্ত হয় cp, strip, chmod, এবং chown

শেষ বুলেট পয়েন্টটি সম্ভবত installকমান্ডটি আবিষ্কার করা হয়েছিল এবং কেন অনেক মেকফাইল এটি ব্যবহার করে।

Installযদিও সর্বদা ব্যবহৃত হয় না। আমি দেখেছি cp -r lib $(DESTDIR)/libযখন কপি করার জন্য পুরো গাছটি পূর্ণ ./install.shথাকে এবং যদি বিকাশকারী কোনও কাস্টম স্ক্রিপ্ট ব্যবহার করতে পছন্দ করেন। অনেকগুলি প্যাকেজ install.shএক্স এক্স 11 এর সাথে আসে যা থেকে আসে, যা একটি নির্দিষ্ট উপায়ে গন্তব্য ফাইলগুলির নাম পরিবর্তন করতে installএকটি -t(ট্রান্সফর্ম) বিকল্পকে সমর্থন করে ।


2
  1. যেহেতু একটি মেকফিলটিতে কমান্ডগুলি ব্যবহৃত হয় তা মূলত প্রকল্প বিকাশকারীদের উপর নির্ভর করে, এখানে একটি নির্দিষ্ট উত্তর দেওয়া কঠিন। সাধারণত আমি বলব যে install2 তে উল্লিখিত যে কোনও ইনস্টলেশন প্রক্রিয়াটির জন্য মেকফিলের কমান্ডটি ব্যবহার করা ভাল অনুশীলন , তবে আবার installপসিক্স হয় না তাই সর্বদা এটি ব্যবহার করা সর্বাধিক বহনযোগ্য পন্থা নাও হতে পারে

    আমি যতদূর জানি সরঞ্জামের সবচেয়ে স্বয়ংক্রিয়ভাবে মত ফাইল তৈরী উৎপন্ন ব্যবহার করা যেতে পারে automakeএবং cmakeব্যবহার করবে install

  2. সাধারণত installফাইলগুলি অনুলিপি করার জন্য এবং অনুমতিগুলি / মালিক / গোষ্ঠীগুলিকে আপনার কমান্ডের মতো একটি আদেশে সেট করার জন্য ব্যবহৃত হয়। অন্য একটি সাধারণভাবে ব্যবহৃত ফাংশন হ'ল একটি বাইনারি থেকে অপ্রয়োজনীয় চিহ্নগুলি (যেমন ডিবাগিং প্রতীকগুলি) কে এখন আর প্রয়োজন হয় না them এটিতে সেলইনাক্স প্রসঙ্গে ইনস্টল করার আগে এবং ব্যাকআপ তৈরির মতো জিনিসের জন্য কয়েকটি অতিরিক্ত বিকল্প রয়েছে যা দরকারী হতে পারে।

কোন অনুমতি চয়ন করতে হবে তা ফাইলের উপর নির্ভর করে। বেশিরভাগ ইনস্টল করা ফাইলগুলি প্রত্যেকের কাছেই পঠনযোগ্য তবে কেবল রুট দ্বারা লিখনযোগ্য (ধারণাটি হ'ল প্রোগ্রাম ফাইলগুলি এমন জায়গায় রাখা যেখানে এটি প্রত্যেকের কাছে অ্যাক্সেসযোগ্য তবে এতে টেম্পার করা যাবে না)। এটি সব কিছুর ক্ষেত্রে নয়, যদি ফাইলটিতে সংবেদনশীল ডেটা থাকে তবে এটি একটি গোষ্ঠীর অ্যাক্সেসকে সীমাবদ্ধ করা বা কেবল রুট করার পক্ষে সাধারণ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.