কীভাবে কার্যকরী কাজ করবে?


34

ঠিক আছে, আমি বুঝতে পারি যে আমি কীভাবে apt-get {install|upgrade|remove} mypackagesবাইনারিগুলি ইনস্টল করতে, আপগ্রেড করতে বা অপসারণ করতে পারি পাশাপাশি তাদের কনফিগারেশন ডেটা ফাইল এবং নির্ভরতা (আসলে, removeঅতিরিক্ত ফ্ল্যাগ সরবরাহ না করা হলে কেবল বাইনারিগুলি সরিয়ে ফেলবে)।

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

এটি কীভাবে কার্যকর হয় তা ছাড়াও আমার নিম্নলিখিত নির্দিষ্ট প্রশ্নগুলি রয়েছে:

  1. অ্যাপ্লিকেশন সংগ্রহস্থলের অ্যাক্সেস করা ক্লায়েন্ট কীভাবে ফাইলগুলি ট্র্যাক করে?
  2. একই অপারেটিং সিস্টেমে রিপোজিটরিটি হোস্ট করা উচিত (যেমন রেডহ্যাটে অ্যাপ্লিকেশন সংগ্রহস্থলটি হোস্ট করা যায়)?
  3. ফাইলগুলি ইনস্টল করার জন্য কীভাবে অবস্থানগুলি নির্দিষ্ট করা আছে? এটি কি .debফাইল দ্বারা নির্দিষ্ট করা আছে ?
  4. কীভাবে একটি রিমোট মেশিন সংগ্রহস্থল অ্যাক্সেস করতে পারে? এটি কি কেবল এফটিপি (গুলি) বা এইচটিপি (গুলি)?
  5. যে মেশিনটি সংগ্রহস্থলটি পরিচালনা করছে বিশেষ সফ্টওয়্যারটি (গিট রিপোজিটরির জন্য গিটল্যাবের মতো) হোস্ট করছে, বা এটি কি কেবল কিছু কাঠামোগত ফাইল সিস্টেম?

উত্তর:


47

আপনাকে https://wiki.debian.org/Package এ একবার নজর দেওয়া দরকার - সেখানকার প্যাকেজিং টিউটোরিয়াল আপনাকে আরও অনেক সহায়তা করবে, পাশাপাশি নতুন রক্ষণাবেক্ষণকারীদের গাইডের অংশগুলি।

আপনার প্রশ্ন হিসাবে, ক্রম:

  1. সংগ্রহস্থলটিতে "তালিকা" ফাইল রয়েছে। উদাহরণস্বরূপ, http://http.us.debian.org/debian/dists/stretch/main/binary-amd64/Packages.xzapt-get updateএই তালিকা ফাইলগুলি ডাউনলোড করে এবং সেগুলিতে সঞ্চয় করে /var/lib/apt/lists। তালিকা ফাইলগুলি .deb এ খুঁজে পেতে একটি গুচ্ছ মেটাডাটা এবং একটি সম্পর্কিত URL সহ সমস্ত প্যাকেজ তালিকা করে। (এগুলি হ'ল মানব-পঠনযোগ্য সরল-পাঠ্য ফাইল, যাতে আপনি কেবল এটি দেখতে পারেন)।

  2. ওএস কিছু যায় আসে না। আপনি চাইলে উইন্ডোতে এটি হোস্ট করতে পারেন। (ভাল, উইন্ডোজ পছন্দ করে না এমন ফাইলের নামগুলির সাথে আপনার সমস্যা হতে পারে)) (আরও দেখুন # 4 এবং # 5)।

  3. হ্যাঁ, এটি ডেব ফাইলের অভ্যন্তরে। একটি দেব ফাইল আসলে একটি সংরক্ষণাগার (ব্যবহার করে ar)। ভিতরে কিছু টার ফাইল রয়েছে; এর মধ্যে একটি (মূলত) এ উত্তোলিত হয়েছে /

  4. এটি কেবল এইচটিটিপি (বা এইচটিটিপিএস, বা এফটিপি, বা ... এপটি-গেইন প্রচুর প্রোটোকল সমর্থন করে)। বিশেষ কিছু না, যদিও। নোট করুন যে এখানে জিপিজি সহ স্বাক্ষরিত রিলিজ ফাইল রয়েছে, যা এমনকি ডাব্লু / ও এইচটিটিপিএসের সত্যতা গ্যারান্টি দেয়। ডেবিয়ান মিররগুলি বেশিরভাগ HTTP ব্যবহার করে না, HTTP ব্যবহার করে। (গোপনীয়তার জন্য কয়েকটি এইচটিটিপিএস সমর্থন করে)।

  5. এটি কেবল একটি কাঠামোগত ফাইল সিস্টেম।

প্যাকেজ উত্সের সাথে কীভাবে অ্যাপটি-ইন্টারেক্ট হয় তার একটি দ্রুত, উচ্চ-স্তরের ওভারভিউ:

  1. আপনার উত্স.লিস্ট ফাইলটিতে কোন উত্সগুলি দেখতে হবে তা আপনি কনফিগার করেন। এর মতো একটি লাইন বিবেচনা করুন:

    deb http://http.us.debian.org/debian/ stretch main
    

    debবলে যে এটি .deb (বাইনারি) ফাইলগুলি পাওয়ার জন্য একটি উত্স; তারপরে URL- উপসর্গ, স্যুট / রিলিজ ("প্রসারিত") এবং উপাদান ("প্রধান") রয়েছে।

  2. apt-get আর্কিটেকচারের একটি তালিকা রয়েছে, এটি ডিপিকেজি থেকে পাওয়া যায়। আসুন বলে dpkg --print-architectureহয় amd64। apt-get এখন ইউআরএল-উপসর্গ, "ডিসটস" শব্দটি, স্যুট, উপাদান এবং আর্কিটেকচারের সংমিশ্রণ করে এটি থেকে ডাউনলোড করা URL গুলি তৈরি করতে পারে। তারপরে এটি "প্যাকেজস.এক্সজেড" এর মতো কয়েকটি স্থির ফাইলের নাম ব্যবহার করে। এটি উপরের ইউআরএল দেয় (# 1 এ)। সংজ্ঞায়িত নাম / পাথ সহ আরও কয়েকটি ফাইল রয়েছে যেমন রিলিজ ফাইল http://http.us.debian.org/debian/dists/stretch/ রিলেজ এবং এর স্বাক্ষর (একই, .gpg সংযুক্ত সহ)। এগুলি হ'ল সমস্ত (সম্ভবত সংক্রামিত) প্লেইন-পাঠ্য ফাইল। রিলিজ ফাইলে প্যাকেজস.এক্সজেড-এর মতো অ্যাপ্লিকেশন-র অন্যান্য ফাইলগুলির ডাউনলোডের জন্য চেকসাম রয়েছে।

  3. প্যাকেজস.এক্সজেড ফাইলটি সেই স্যুট / কোডনাম / আর্কিটেকচারের সমস্ত প্যাকেজ তালিকাভুক্ত করে। এছাড়া দেয় পথ যেখানে যে ফাইল অবস্থিত; উদাহরণস্বরূপ pool/main/0/0ad/0ad_0.0.21-2_amd64.deb

  4. আপনি যখন কোনও প্যাকেজ ডাউনলোড করতে অ্যাপট-গেটকে জিজ্ঞাসা করেন, এটি প্যাকেজটি ডাউনলোড করতে সেই অবস্থানটি + বেস URL ব্যবহার করে, যাতে সেই প্যাকেজটি http://http.us.debian.org/debian/pool/main/0/0ad এ থাকে /0ad_0.0.21-2_amd64.deb

  5. অন্য আকর্ষণীয় ডিরেক্টরি sourceপরিবর্তে হয় binary-amd64। এটি আপনার deb-srcপ্রবেশের জন্য ব্যবহৃত হয় ; এটিতে উত্স প্যাকেজগুলি সম্পর্কে তথ্য রয়েছে (এবং অন্যথায় মোটামুটি একই রকম)।

  6. আরও কিছু জিনিস রয়েছে (এগুলি সবই optionচ্ছিক, আমি বিশ্বাস করি) যা ভাণ্ডারের অংশ হতে পারে (যেমন, HTTP- র মাধ্যমে উপলব্ধ): প্যাকেজস.এক্সজেড ফাইলের বিভিন্ন সংস্করণের মধ্যে পার্থক্য রয়েছে; প্যাকেজ বিবরণীর অনুবাদ, প্রতিটি ইনস্টলযোগ্য ফাইল এবং এটি কোন প্যাকেজের অন্তর্গত (কনটেন্টস- amd64.gz, উদাহরণস্বরূপ ব্যবহৃত, অ্যাপট-ফাইল, অ্যাপটি-গেট দ্বারা নয়) সম্পর্কিত একটি সম্পূর্ণ তালিকা ইত্যাদি etc. সম্ভবত আপনার সাথে প্রাসঙ্গিক নয়, তবে আপনি http://http.us.debian.org/debian/dists/stretch/ এর আশেপাশে ব্রাউজ করে এগুলি দেখতে পাচ্ছেন ; তাদের বেশিরভাগ হ'ল প্লেইন-টেক্সট ফাইল।

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


আমাকে এটি মারধর ;-)। unix.stackexchange.com/q/285635/86440 জিনিসগুলির অখণ্ডতার দিকটি covers েকে দেয় (পয়েন্ট 4)। আয়না পাশের এফটিপি সমর্থনটি সম্প্রতি আইআইআরসি-কে ডি-অ্যাক্টিভেট করা হয়েছিল।
স্টিফেন কিট 11'17



1
@ ব্যবহারকারী 1032531 # 2। প্যাকেজ তৈরির কাজটি সবচেয়ে ভাল করা হয় দেবিয়ানতে। তবে আপনার ওয়েব সার্ভার যে কোনও কিছু হতে পারে। (সাধারণত, আপনি আপনার বিল্ড হোস্টে প্যাকেজটি তৈরি করেন, সম্ভবত এমনকি পুরো সংগ্রহস্থল কাঠামো, তারপরে এটি ওয়েবসভারে আপলোড করুন)) # 5। সমস্ত সরঞ্জাম তালিকাগুলি, স্বাক্ষরিত রিলিজ ফাইল ইত্যাদি সহ কাঠামোগত ফাইল সিস্টেম তৈরিতে সেই সরঞ্জামগুলি আপনাকে সহায়তা করে They (এগুলি সম্ভবত ডেবিয়ানে চালানো খুব সহজ)।
ডার্বোবার্ট

2
@FaheemMitha প্যাকেজগুলি (কিছু কম্প্রেশন, আধুনিক কার্যক্ষম পছন্দ .xz) স্পষ্টভাবে, ডাউনলোড আপ বাতাস হয় /var/lib/apt/lists/। সামগ্রীগুলি অ্যাপ্ট-ফাইল এবং অটো-অ্যাপ্লিকেশন দ্বারা ডাউনলোড করা হয়।
ডারোবার্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.