অ্যাড-গেট ইনস্টল হুডের নীচে কী করে?


60

কী apt-get install ...কমান্ড কি?

আমি যখন apt-get install ...কমান্ডটি প্রবেশ করি , স্ক্রিনে কিছু পাঠ্য উপস্থিত রয়েছে তবে এতে আমার পক্ষে পর্যাপ্ত তথ্য নেই। আমি জানতে চাই যে কোনও ফাইল তৈরি / সম্পাদিত, কোনও পরিষেবা শুরু হয়েছে এবং অন্যান্য ক্রিয়াকলাপগুলি ...

রান করার .shসময় কোন ফাইল এক্সিকিউট হয় apt-get install ...? যদি তা হয় তবে আমি কীভাবে সেই shফাইলটির সামগ্রী দেখতে পারি ?

এই প্রশ্নের কারণটি হল আমি সম্প্রতি দিয়ে টমক্যাট 7 ইনস্টল করার চেষ্টা করেছি apt-get install tomcat7। আমি ইনস্টল না হওয়া অবধি সবকিছুই ঠিকঠাক কাজ করে tomcat7-admin(ম্যানেজার ওয়েব অ্যাপ্লিকেশন), সার্ভারটি কোনও অনুরোধের প্রতিক্রিয়াহীন হয়ে ওঠে। আমি এটি বহুবার চেষ্টা করেছি এবং এটি সর্বদা ঘটে।


আরও দেখুন: Askubuntu.com
প্রশ্নগুলি

এছাড়াও পরিদর্শন askubuntu.com/questions/481241/...
পান্ড্য

পরিদর্শন wiki.debian.org/Apt আরও বিস্তারিত জানার জন্য
পান্ড্য

2
14.04 থেকে, apt-getপ্রতিস্থাপন করা হচ্ছে apt। প্রতিস্থাপন এখনও সম্পূর্ণ হয়নি, কিন্তু এটা কাজ করে install, upgradeএবং dist-upgradeঅন্যদের মধ্যে।
ধানের ল্যান্ডাউ

@ প্যাডিলানডাউ এটি প্রতিস্থাপনের উপযুক্ত বা অতিরিক্ত / মোড়কের উপযোগিতা?
মুড়ু

উত্তর:


49

বেশিরভাগ ক্ষেত্রে, apt-getনিম্নলিখিত জিনিসগুলি করে:

  • নির্ভরতা পরীক্ষা করে (এবং সেগুলি ইনস্টল করতে বলে),
  • প্যাকেজটি ডাউনলোড করে, এটি যাচাই করে এবং তারপরে dpkgএটি ইনস্টল করতে বলে ।

dpkg ইচ্ছাশক্তি:

আপনি সম্ভবত রক্ষণাবেক্ষণকারী স্ক্রিপ্টগুলিতে আগ্রহী হতে পারেন যা সাধারণত অবস্থিত /var/lib/dpkg/info/<package-name>.{pre,post}{rm,inst}। এগুলি সাধারণত শেল স্ক্রিপ্ট হয় তবে এর কোনও কঠোর নিয়ম নেই। উদাহরণ স্বরূপ:

$ ls /var/lib/dpkg/info/xml-core.{pre,post}{rm,inst}
/var/lib/dpkg/info/xml-core.postinst
/var/lib/dpkg/info/xml-core.postrm
/var/lib/dpkg/info/xml-core.preinst
/var/lib/dpkg/info/xml-core.prerm

30

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

দীর্ঘ্য:

preliminaries:

ম্যানপেজ থেকে :

ইনস্টলেশনের জন্য নির্দিষ্ট প্যাকেজগুলির দ্বারা প্রয়োজনীয় সমস্ত প্যাকেজগুলি পুনরুদ্ধার এবং ইনস্টল করা হবে।

এই প্যাকেজগুলি নেটওয়ার্কের একটি সংগ্রহস্থলে সংরক্ষণ করা হয়। সুতরাং, apt-getপ্রয়োজনীয় সমস্তগুলি অস্থায়ী ডিরেক্টরিতে ( /var/cache/apt/archives/) এ ডাউনলোড করুন। এগুলি একটি ওয়েব- বা একটি এফটিপি-সার্ভার থেকে ডাউনলোড করা হবে। তারা তথাকথিত নির্দিষ্ট করা হয় sources.list; সংগ্রহস্থলের একটি তালিকা। এরপরে তারা প্রক্রিয়াগতভাবে একে একে ইনস্টল হয়ে যায়।

প্রথমটি হ'ল, এর আর কোনও নির্ভরতা নেই; সুতরাং তাদের জন্য অন্য কোনও প্যাকেজ ইনস্টল করতে হবে না। এর মাধ্যমে, অন্যান্য প্যাকেজগুলির (যার আগে নির্ভরতা ছিল) এখন আর কোনও নির্ভরতা নেই। নির্দিষ্ট প্যাকেজগুলি ইনস্টল না হওয়া পর্যন্ত সিস্টেম সেই প্রক্রিয়াটি বার বার চালিয়ে যায়।

প্রতিটি প্যাকেজ একটি ইনস্টলেশন প্রক্রিয়া হয়।

প্যাকেজ ইনস্টলেশন:

ডেবিয়ান-ভিত্তিক লিনাক্স বিতরণগুলিতে, উবুন্টু হিসাবে, এই প্যাকেজগুলি নির্দিষ্ট মানযুক্ত ফর্ম্যাটে থাকে: ডাব - দেবিয়ান বাইনারি প্যাকেজ ফর্ম্যাট

এই জাতীয় প্যাকেজটিতে সিস্টেমে ইনস্টল করা ফাইল রয়েছে। এছাড়াও এগুলিতে একটি নিয়ন্ত্রণ ফাইল থাকে । এই ফাইলটিতে এমন স্ক্রিপ্ট রয়েছে যা প্যাকেজিং সিস্টেমটি একটি নির্দিষ্ট পরিস্থিতিতে কার্যকর করা উচিত; তথাকথিত রক্ষণাবেক্ষণকারী স্ক্রিপ্টগুলি । এই লিপিগুলি এতে বিভক্ত:

  • preinst: সিস্টেমের ফাইলহায়ার্কিতে ফাইলগুলি ইনস্টল করার আগে
  • postinst: ইনস্টলেশন পরে
  • prerm: আনইনস্টল করার আগে
  • postrm: আনইনস্টল করার পরে

একটি আকর্ষণীয় ছবি রয়েছে, একটি নতুন প্যাকেজ ইনস্টল করার পদ্ধতিটি দেখায়:

স্থাপন

আরও নিয়ন্ত্রণ-ফাইল রয়েছে, সর্বাধিক গুরুত্বপূর্ণ নিম্নরূপ:

  • control: প্যাকেজ শনাক্ত করতে নির্ভরতাগুলির একটি তালিকা এবং অন্যান্য দরকারী তথ্য
  • conffiles: কনফিগার ফাইলের একটি তালিকা (সাধারণত যারা থাকে /etc)
  • debian-binary: ডেবি-প্যাকেজ সংস্করণ রয়েছে, বর্তমানে 2.0
  • md5sums: যাচাইকরণের জন্য প্যাকেজে প্রতিটি ফাইলের এমডি 5sums এর একটি তালিকা
  • templates: ইনস্টলেশন চলাকালীন ত্রুটি বর্ণনা এবং সংলাপযুক্ত একটি ফাইল

11

হুডের নীচে থাকা স্টাফগুলির জন্য আপনাকে এপি উত্সটি গ্রহণ করতে হবে। আপনার সোর্স সংগ্রহস্থলগুলি সক্ষম থাকলে মোটামুটি সহজ:

apt-get source apt

apt-getকমান্ড নিজেই বসবাস cmdline/apt-get.cc। এটি পড়ার জন্য একটি ব্যথা কিন্তু বেশিরভাগ apt-getক্রিয়াগুলি সেখানে বেশ বিস্তৃতভাবে বানান elled ইনস্টলেশন যাইহোক, একটি DoInstallফাংশন মাধ্যমে ম্যাপ করা হয় যা বাস করে apt-private/private-install.{cc,h}

আপনাকে মনে রাখতে হবে যে অ্যাপট-গেট মুদ্রার একদিকে কেবল।
dpkgপ্রকৃত ইনস্টলেশন পরিচালনা করছে কিন্তু সরাসরি DoInstallসম্পর্কে জানে না dpkgapt-getআসলে আশ্চর্যজনকভাবে প্যাকেজ-ম্যানেজার অগ্নিস্টিক। সমস্ত কার্যকারিতা বিমূর্ত হয়apt-pkg/package-manager.cc

আমি কেবল সংক্ষিপ্তভাবে দেখছি কিন্তু সেখানেও আমি দেখতে পাচ্ছি না এটি আসলে dpkgসিস্টেমে কোথায় সংযুক্ত থাকে । এর মধ্যে কিছুগুলি অটোকনফিগার হয়েছে বলে মনে হচ্ছে apt-pkg/aptconfiguration.ccতবে এটি একটি গভীর কূপ। আপনি এটি উদ্ঘাটন কয়েক দিন ব্যয় করতে পারে।

উত্স ডকুমেন্টেশন যদিও ভাল। আপনি প্রতিটি ফাইলের মধ্যে যাওয়ার চেয়ে খারাপ কাজ করতে পারেন এবং আসলে কী ঘটছে তা কাজে লাগানোর জন্য শিরোনামটি পড়তে পারেন।


6

এখানে কিছু চমত্কার উত্তর রয়েছে যা এই সংক্ষিপ্তটির চেয়ে উত্তম, তবে প্যাকেজ ব্যবস্থাপকের মাধ্যমে করা পরিবর্তনগুলি সম্পর্কে আরও ভাল বোঝার জন্য আপনি যা বিবেচনা করতে পারেন তা হ'ল ডকার । আপনি ব্যবহার করে একটি পাত্রে পরিবর্তনগুলি পৃথক করতে পারেন docker diff <container>এবং এটি আপনাকে সমস্ত পরিবর্তন দেখাবে। এটি apt-get installসিস্টেমে কী করে তা দেখতে হুডের নীচে এক নজরে দেখার জন্য এটি বিশেষভাবে কার্যকর । একটি দ্রুত অনুসন্ধান আপনাকে এটি বাস্তবায়নে সহায়তা করার জন্য বিভিন্ন সংস্থান দেবে।


1
আপনার বক্তব্য দেওয়ার জন্য আপনাকে ধন্যবাদ। ডকার পাত্রে, আমি ফায়ারফক্স ইনস্টল করেছি এবং অন্য একটি টার্মিনাল ট্যাবে আমি ধারকটির ডিফটি নিবিড়ভাবে পর্যবেক্ষণ করেছি এবং পাত্রে সমস্ত ফাইল কী পরিবর্তন হচ্ছে তা শিখেছি। এটি আমাকে আরও স্পষ্টভাবে বুঝতে সাহায্য করেছে।
abhy
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.