কখন এবং কেন আমাকে অ্যাপ্লিকেশন আপডেট ব্যবহার করা উচিত?


15

সাধারণ প্রশ্ন:

কমান্ডটি কী করবে apt-get updateএবং কখন আমার সত্যই এটি ব্যবহার করা উচিত তা কিছু ব্যাখ্যা করতে পারে?


মন্তব্য

দয়া করে বিস্তারিত উত্তর দিন । ম্যান পৃষ্ঠার কেবল একটি অনুলিপি নয়, যদি না আপনার সংস্করণটি সত্যই বিশদ হয় (আমি নীচে ম্যান পৃষ্ঠা থেকে একটি সংজ্ঞা রাখি)।

apt-get update : তাদের উত্স থেকে প্যাকেজ সূচী ফাইলগুলি পুনরায় সিঙ্ক্রোনাইজ করতে ব্যবহৃত হয়। উপলভ্য প্যাকেজগুলির সূচকগুলি /etc/apt/sources.list(5 এ উল্লিখিত অবস্থান (গুলি) থেকে নেওয়া হয়। একটি আপগ্রেড বা ডিস্ট-আপগ্রেডের আগে সর্বদা একটি আপডেট করা উচিত।


উপ-প্রশ্ন:

  • প্যাকেজ সূচকটি কোথায় সংরক্ষণ করা হয়? একটি ডাটাবেসে? একটি ফাইল?
  • আমি apt-get installক্যাশে আপডেট না করে কি করলে ? রিমোট প্যাকেজটির আর অস্তিত্ব থাকবে না এবং লিংকটি ভেঙে যাওয়ার কোন সুযোগ আছে কি?
  • দেব-সংগ্রহশালা সম্পর্কে কি কিছু সম্মত রাজনীতিবিদ রয়েছে? উদাহরণস্বরূপ, কোনও সংগ্রহস্থলটিতে কেবল কোনও প্যাকেজের শেষ সংস্করণ থাকা উচিত, বা বিপরীতে এটি একটি নির্দিষ্ট বিতরণ প্রকাশের জন্য উপলব্ধ সমস্ত সংস্করণ থাকা উচিত?

প্রসঙ্গ

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

আমি আশঙ্কা করছি যে আমি যদি apt-get updateভিন্ন সময়ে কমান্ড চালু করি তবে ফলাফলটি ভিন্ন হবে এবং আমার চিত্রগুলি আলাদা হবে।


আমি মনে করি এই পোস্টটি কীভাবে একটি উচ্চ স্তরের প্রশ্ন জিজ্ঞাসা করতে পারে তার উইকি নিবন্ধ হিসাবে পরিবেশন করতে পারে। খুব দরকারী.
জেরোডফ

উত্তর:


12

apt-get update উপলব্ধ প্যাকেজগুলির তালিকা ডাউনলোড করে।

প্যাকেজগুলির তালিকা সময়ের সাথে সাথে পরিবর্তন করতে পারে। নতুন প্যাকেজ যুক্ত করা হয় এবং পুরানো প্যাকেজগুলি সরানো হয়। সুতরাং আপনার যদি সত্যিই একটি পুরানো ক্যাশে থাকে এবং আপনি apt-get installএটি করার চেষ্টা করেন তবে এটি কোনও প্যাকেজ ডাউনলোড করার চেষ্টা করতে পারে যা আর নেই।
পুরাতন প্যাকেজটি কতক্ষণ সঞ্চয়ীতে রাখা হয় তা রেপো রক্ষণাবেক্ষণকারী (আপনার বিতরণ) অবধি নির্ভর করে। যেমন, আপনি যদি ডকারের মতো এমন কিছু ব্যবহার করেন, যেখানে ক্যাশেটি খুব পুরানো হয়ে যায়, আপনার apt-get updateকোনও প্যাকেজ ইনস্টল করার আগে সর্বদা চালানো উচিত ।

প্যাকেজগুলি সরানোর এবং যুক্ত করার কারণটি বেশিরভাগ বাগ বাগ এবং সুরক্ষা আপডেট। যদিও আপনি পিপিএর মতো তৃতীয় পক্ষের রেপো ব্যবহার করছেন তবে কিছু যায়।

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

ক্যাশে ফাইলগুলি কোথায় থাকে সে সম্পর্কে আপনার প্রশ্নের উত্তর দিতে /var/lib/apt/lists,।


দুর্দান্ত উত্তর! ধন্যবাদ! আমি অনুচ্ছেদের জন্য প্রতিক্রিয়া জানাতে চাই "(...) প্রতি বার ধারকটি পুনর্নির্মাণ করবেন না This এটি নিশ্চিত করবে যে আপনি কোনও আলাদা ধারক পাবেন না যা পরীক্ষা করা হয়নি।" আমি পড়েছি যে সেরা অনুশীলন হ'ল এপ-গেট আপগ্রেড ব্যবহার না করা। এর অন্যতম কারণ হ'ল: "এটি বেমানান চিত্রও তৈরি করে কারণ আপনার অ্যাপ্লিকেশনটি কীভাবে চালানো উচিত এবং চিত্রের মধ্যে নির্ভরতার কী সংস্করণ অন্তর্ভুক্ত রয়েছে তার সত্যতার একটি উত্স আপনার কাছে নেই" " তখন কি একই সমস্যা হয় না apt-get update? এবং ডকফেরফিলের কি ছবিটির গ্যারান্টি দেওয়ার কথা নয়?
পিয়েরে-জিন

2
ধরণ. apt-get updateশুধুমাত্র নতুন ইনস্টল করা প্যাকেজগুলিকে প্রভাবিত করবে। নতুন প্যাকেজগুলির প্রয়োজন হলে বিদ্যমান প্যাকেজগুলি কেবলমাত্র আপগ্রেড করা হবে (এটি ন্যূনতম হওয়া উচিত)। সঙ্গে apt-get upgradeআপনি যদি বিদ্যমান বেশী সহ সমস্ত প্যাকেজ, আপগ্রেড, একটি অতি ভিন্ন চিত্র দেখা দেয়। আপনি যখন ডকস্পাইল থেকে প্রতিবার এটি তৈরি করেন তখন এটির পরিবর্তে অন্যরকম ফলাফল আসতে পারে, আপনি ব্যক্তিগতভাবে কোনও মাল্টি-এনভায়রনমেন্ট প্রকাশের মাধ্যমে গেলে আমি ব্যক্তিগতভাবে এটি গুরুতর সমস্যা বলে মনে করি না। আমি মনে করি এটি যদি আপনি ডকস্পাইলকে অন্য লোকের মধ্যে বিতরণ করেন এবং তাদের এটি তৈরি করতে চান তবে এটি একটি ইস্যুটির বেশি।
প্যাট্রিক

0

অ্যাপ্ট-গেট আপডেটটি কমান্ডটি করতে পারে এবং আমার সত্যিই এটি কখন ব্যবহার করা উচিত তা কিছু ব্যাখ্যা করতে পারে?

apt-get update সমস্ত উপলব্ধ প্যাকেজ এবং তাদের সঠিক সংস্করণগুলির তালিকাভুক্ত করে বিতরণের প্যাকেজ সংগ্রহস্থলগুলি থেকে আপডেট সূচকগুলি ডাউনলোড করে।

উবুন্টু এবং দেবিয়ানের মতো সাধারণ বিতরণগুলি সাধারণত তাদের প্যাকেজ প্রস্তাবগুলিতে রক্ষণশীল এবং পশ্চাদপটে সামঞ্জস্যপূর্ণ হয়, তাই সংস্করণগুলি সময়ের সাথে খুব বেশি পরিবর্তন হবে না; সুরক্ষা আপডেট বা বাগ ফিক্সের কারণে এগুলি পরিবর্তন হবে। উদাহরণস্বরূপ, মাইএসকিউএল থেকে আপগ্রেড করা যায়নি 5.7.18করতে 5.7.19কিন্তু না 6.x

প্যাকেজ সূচকটি কোথায় সংরক্ষণ করা হয়? একটি ডাটাবেসে? একটি ফাইল?

এটি সাধারণত এক বা একাধিক ফাইলে ভিতরে জমা থাকে /var/lib/apt। ডকারের প্রসঙ্গে, এই ফাইলগুলি চিত্রের অভ্যন্তরে থাকে। ডকফাইফিল তৈরি করার সময় এগুলি ফাইল সিস্টেমের নতুন স্তরগুলিতে সঞ্চিত হয় যা সদ্য নির্মিত চিত্র হিসাবে তৈরি এবং অবিচ্ছিন্ন থাকে।

ক্যাশে আপডেট না করে যদি আমি অ্যাপটি-ইনস্টল ইনস্টল করি তবে কী হবে?

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

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

রিমোট প্যাকেজটির আর অস্তিত্ব থাকবে না এবং লিংকটি ভেঙে যাওয়ার কোন সুযোগ আছে কি?

অবশ্যই, কারণ সূচীতে সঞ্চিত সংস্করণগুলি খুব সুনির্দিষ্ট 5.7.19(সরলীকরণ; সেগুলির সাথে আরও মিল রয়েছে 5.7.19-0ubuntu1)।

দেব-সংগ্রহশালা সম্পর্কে কি কিছু সম্মত রাজনীতিবিদ রয়েছে? উদাহরণস্বরূপ, কোনও সংগ্রহস্থলটিতে কেবল কোনও প্যাকেজের শেষ সংস্করণ থাকা উচিত, বা বিপরীতে এটি একটি নির্দিষ্ট বিতরণ প্রকাশের জন্য উপলব্ধ সমস্ত সংস্করণ থাকা উচিত?

পুরানো ছোটখাটো সংস্করণগুলিতে কোনও আপডেট পাওয়া গেলে তা দ্রুত মুছে ফেলা সাধারণ বিষয়; আমি ধরে নিয়েছি এটি সার্ভারে স্থান সংরক্ষণ করা কারণ বাইনারিগুলি কয়েক দশক মেগাবাইট ওজন করতে পারে, সমর্থিত সমস্ত সংস্করণ এবং আর্কিটেকচার দ্বারা গুণিত। সুতরাং এটি পিন সাধারণত অসম্ভব, বলছি, mysql-5.7.18পরবর্তী মধ্যে apt-get install; যত তাড়াতাড়ি mysql-5.7.19বিতরণে মুক্তি হয় আগের সরানো হবে।

ডকারের পক্ষে ন্যায়সঙ্গত হওয়ার জন্য, এই অ-নির্ধারণবাদটি apt-get updateএমন একটি বিষয় যা প্রতিটি বিতরণের প্যাকেজ পরিচালনার অংশ হিসাবে আনা হয়। আপনার পুনরাবৃত্তভাবে একটি ইসি 2 বা ভ্যাগ্র্যান্ট ভার্চুয়াল মেশিন তৈরির চেষ্টা করতে একই সমস্যা হবে।

কিছু সিস্টেম অ্যাডমিনিস্ট্রেটররা মূল সংগ্রহগুলি মিরর করার জন্য অ্যাপলির মতো পরিষেবাগুলি ব্যবহার করে এবং একটি নির্দিষ্ট সংস্করণ পিন করতে সক্ষম হন তবে আপডেটগুলি পরীক্ষা করার জন্য এবং আপনার যা পরিবর্তন করার জন্য আপনার কাছে প্রায়শই চালিত পৃথক প্রক্রিয়া না থাকলে আপনি সুরক্ষা আপডেটগুলি হারিয়ে না যাওয়ার ঝুঁকিটি চালান unless পিন করছে

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