আপডেট এবং আপগ্রেডের পৃথকীকরণ কেন বিদ্যমান?


12

আমি বুঝতে পারি যে aptকমান্ডটি updateউপলব্ধ প্যাকেজগুলির তালিকাকে আপডেট করে তবে এটি এই প্যাকেজগুলি থেকে ইতিমধ্যে ইনস্টল করা সফ্টওয়্যার আপগ্রেড করে না।

আমি আরও বুঝতে পেরেছি যে উপরে বর্ণিত হিসাবে upgradeপ্যাকেজটি আপডেট করেছি যা আমি ইতিমধ্যে ইনস্টল করেছি এমন কোনও সফ্টওয়্যার আপগ্রেড করে update

উবুন্টু / ডেবিয়ান বিকাশকারীদের এই বিভাজনটি করতে updateএবং upgradeপরিবর্তে উভয় কাজ করার জন্য একটি আদেশের সাথে কাজ করার কারণ কী ছিল ?

এটি উবুন্টু বিকাশকারীদের আর্কিটেকচারাল দর্শনে আরও প্রশ্ন।


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

একইভাবে, যদি আমি গিয়ে apt dist-upgradeবাতিল করতে "এন" টিপুন, তবে আমার মন পরিবর্তন করুন আমি ব্যান্ডউইথকে সংরক্ষণ করব কারণ আমার apt dist-upgradeআদেশটি পুনরায় করার জন্য এটি 'আপডেট' করবে না ... এমনকি যদি 'ডিস্ট-আপগ্রেড' আপডেটটি করে থাকে স্বয়ংক্রিয়ভাবে, 'আপডেট' করার কারণ রয়েছে যা 'ইনস্টল', 'আপগ্রেড' বা 'ডিস-আপগ্রেড' অন্তর্ভুক্ত করে না তাই 'আপডেট' কমান্ড যেভাবেই থাকত ..
guiverc

আমি যুক্তি দিয়েছি যে ব্যবহারকারীর দৃষ্টিকোণ থেকে বিচ্ছেদটি থাকা উচিত নয় এবং apt updateপ্রয়োজনের সময় অ্যাকশনটি স্বয়ংক্রিয়ভাবে চালানো উচিত।
রবি বাসাক

উত্তর:


7

আপগ্রেড করা কেবলমাত্র আপনার প্রয়োজন হতে পারে apt-get updateনা এবং প্রতিবার আমি কেবল প্যাকেজ তালিকাগুলি আপডেট করতে চাইলে আপগ্রেড করতে চাই না।

একটি apt-get upgradeভাল কাজ খুব apt-get updateবেশি আগে চালানো উপর নির্ভর করে , কিন্তু তারপরে এটি সত্য apt-get removeএবং apt-get installপাশাপাশি! এই সব কি বোঝানো উচিত apt-get update? অবশ্যই না! রিসোর্স দক্ষতা এবং নকশা পরিষ্কারের একটি সাধারণ বিষয় হিসাবে, যদি কোনও অপারেশন অন্য একাধিক ক্রিয়াকলাপের মধ্যে সাধারণ হয়, তবে এটি ফ্যাক্টর করা উচিত।

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


6

আপনি যখনই সফ্টওয়্যার উত্স পরিবর্তন করেন sudo apt update, উপলভ্য সফ্টওয়্যারটির তালিকাটি রিফ্রেশ করার জন্য আপনাকে অবশ্যই কমান্ডটি চালাতে হবে । তারপরে আপনি নতুন সফ্টওয়্যার উত্সে সন্ধানের জন্য উপলব্ধ প্যাকেজগুলির সন্ধান করতে পারেন যা আপনি স্রেফ যুক্ত করেছেন এবং / অথবা ইনস্টল করেছেন।

কমান্ডটি sudo apt upgradeসফ্টওয়্যার আপডেটার অ্যাপ্লিকেশন ব্যবহার করে ইনস্টল করা প্যাকেজগুলির তালিকা আপগ্রেড করার টার্মিনাল সমতুল্য। এটি একটি নতুন সফ্টওয়্যার উত্স যুক্ত করার সাধারণ কার্যপ্রবাহের থেকে পৃথক, নতুন সফ্টওয়্যার উত্স থেকে প্যাকেজগুলি অন্তর্ভুক্ত করার জন্য উপলভ্য সফ্টওয়্যারটির তালিকা আপডেট করা এবং আপনি যে নতুন সফ্টওয়্যার উত্সটি যুক্ত করেছেন সেগুলি থেকে নতুন প্যাকেজ (গুলি) ইনস্টল করার ফলে এটি আরও সুবিধাজনক convenient এবং এটি কম বিভ্রান্ত sudo apt updateএবং sudo apt upgradeপৃথক কমান্ড।

এটি আলাদা করতেও কম বিভ্রান্তিকর sudo apt updateএবং sudo apt upgradeকারণ আপনি যখন sudo apt updateসাফল্যের সাথে চালাবেন আপনি নিশ্চিত করেছেন যে আপনার ইন্টারনেট সংযোগ রয়েছে have sudo apt upgradeপরে চালানোর সময় যদি কোনও সমস্যা হয়, ইন্টারনেট সংযোগের সাথে সমস্যাটির চেয়ে সমস্যাটি প্যাকেজ পরিচালনার সমস্যা হওয়ার সম্ভাবনা বেশি থাকে এবং এর ফলাফলগুলি sudo apt upgradeসমস্যার নির্ণয় ও সমাধানের জন্য ক্লু সরবরাহ করবে।


5

মধ্যে পার্থক্য ইতিহাস updateএবং upgradeআসলে বেশ শান্ত।

দীর্ঘ, বহু আগে - উবুন্টুর অস্তিত্বের বহু বছর আগে - 2000 সালের মধ্যে, ব্যান্ডউইথ এবং ডিস্কের স্থান অনেক বেশি সীমিত ছিল ... যদিও 1990 এর দশকের মাঝামাঝি তুলনায় বিস্তৃত ছিল। ব্রডব্যান্ড সবে শুরু হয়েছিল, এবং ডায়ালআপ এখনও অনলাইনে আসার এক গুরুত্বপূর্ণ উপায় ছিল। বড় ডিস্কগুলি এখনও কয়েক শ এমবি ছিল। অ্যাপটি চকচকে এবং নতুন, র‌্যাডিক্যাল এবং বিপ্লবী, ডিপি কেজির শীর্ষে নির্মিত।

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

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

পরবর্তী 15-বা-তাই বছরগুলিতে, সরঞ্জামগুলিতে খুব বেশি পরিবর্তন হয়নি, এজন্য আমাদের এখনও পৃথক updateএবং upgradeক্রিয়া রয়েছে। ব্যবহারকারী কর্মপ্রবাহ যেমন ডিস্ট্রো নির্ভরযোগ্যতা উন্নতি হয়েছে বিকশিত করেনি, এবং আরো অনেক উৎস / আপডেট / আপগ্রেড ব্যবস্থাপনা যে ম্যানুয়াল ধীরে ধীরে অটোমেশন স্তর পিছনে লুকানো হয়েছে ব্যবহার করা হয় ( software-updater, unattended-upgrades)।

সফটওয়্যার প্যাকেজ সরঞ্জামগুলির আধুনিকীকরণ হ'ল স্ন্যাপস এবং অ্যাপ্লিকেশন এবং ফ্ল্যাটপ্যাক সম্প্রতি উপস্থিত হওয়ার একটি কারণ, তবে এটি পরবর্তী অধ্যায় chapter


2

তারা বিভিন্ন কারণে পৃথক কাজ করে।

একটি উদাহরণ আমি পোস্ট করা একটি প্রশ্ন এবং স্ব-জবাব: জিপিআই ব্যবহার করে পিপিএগুলি কীভাবে সরানো যেতে পারে? । এই স্ক্রিনে আমরা পিপিএগুলি সরাতে চাই সফটওয়্যার আপগ্রেড না:

PPA.png সরান

পিপিএ অপসারণের পরে জিইউআই সফ্টওয়্যারটি স্বয়ংক্রিয়ভাবে চলে sudo apt update। আপনি যদি কমান্ড লাইন থেকে পিপিএ সরিয়ে ফেলেন তবে আপনাকে উত্স তালিকা থেকে পিপিএ অপসারণের sudo apt update পরে চালানো দরকার ।

আলাদা apt updateফাংশন ছাড়া পিপিএ সরানোর কোনও উপায় নেই!


আরেকটি উদাহরণ হ'ল sudo apt updateউত্সগুলি রিফ্রেশ করার জন্য আপনাকে কমান্ড লাইন থেকে চালানো উচিত । তারপর আপনি খুঁজে বের করতে পারেন কি পারে আপগ্রেড করা ছাড়া আসলে আপগ্রেড:

$ apt list --upgradable
Listing... Done
conky-std/xenial 1.10.1-3 amd64 [upgradable from: 1.9.0-4]
google-chrome-stable/stable 65.0.3325.181-1 amd64 [upgradable from: 63.0.3239.132-1]
libxnvctrl0/xenial 390.48-0ubuntu0~gpu16.04.1 amd64 [upgradable from: 387.22-0ubuntu0~gpu16.04.1]
nvidia-settings/xenial 390.48-0ubuntu0~gpu16.04.1 amd64 [upgradable from: 387.22-0ubuntu0~gpu16.04.1]
peek/xenial 1.3.1-0~ppa23~ubuntu16.04.1 amd64 [upgradable from: 1.2.1-0~ppa20~ubuntu16.04.1]

আউটপুটটি দেখে আপনি কোনও প্রদত্ত প্যাকেজ "পিনড" বা "পিছনে রাখা" এবং পরের বার আপগ্রেড না করার সিদ্ধান্ত নিতে পারেন `সুডো অ্যাপটি আপগ্রেড" চালানো হবে a যদি কোনও একক "আপডেট / আপগ্রেড" প্রক্রিয়া থাকত তবে আপনি এই ক্ষমতাটি হারাবেন ।

আলাদা apt updateনা করে আপনি দেখতে পারবেন না কী আপগ্রেড হবে!


দ্বিতীয় প্যারা মিথ্যা। yumএবং dnfপ্রাসঙ্গিক ক্রিয়াকলাপগুলি করার সময় স্বয়ংক্রিয়ভাবে আপডেটের সমতুল্য রান করুন। উদাহরণস্বরূপ, সমতুল্য apt list --upgradableহয় yum check-update, যা প্যাকেজ তালিকা আপডেট যদি এটা সম্প্রতি আপডেট করা হয় নি। অন্যান্য প্যাকেজ পরিচালকদের মধ্যে যেমন দেখা যায় এটি কাজ করা অবশ্যই সম্ভব।
মুড়ু

@ মুরু এটি 238 আপ-ভোটের উত্তরের উপর ভিত্তি করে তৈরি করেছে যা বলে যে sudo apt updateকোনও সংগ্রহশালা সরানোর পরে আপনাকে দৌড়াতে হবে ।
WinEunuuchs2 ইউনিক্স

দ্বিতীয় --- পৃথক বিভাগ, তারপর।
মুড়ু

এখন আপনি এটি উল্লেখ করেছেন যে, এটিও মিথ্যা। yum/ dnfপুনরায় উদাহরণ থেকে দেখা যায় , আপডেট অপারেশন স্বয়ংক্রিয় হয়, সুতরাং একটি অক্ষম উত্স স্বয়ংক্রিয়ভাবে পরবর্তী ক্রিয়াকলাপ থেকে সরানো হবে। আবার এমন কিছু যা সম্পূর্ণ সম্ভব।
মুড়ু

@muru এছাড়াও, আমার সিস্টেমে অন্তত, তন্ন তন্ন yumনা dnfইনস্টল করা নেই। এগুলির একটি প্রতিস্থাপনের জন্য ইনস্টল করা apt updateসিস্টেমের ওভারহেড এবং শেখার সময়কে বাড়িয়ে তুলবে।
WinEunuuchs2 ইউনিক্স

0

কেউ জিজ্ঞাসা করতে পারেন কেন আনুষ্ঠানিক উবুন্টু সংগ্রহস্থল থেকে প্রোগ্রামটি aptইনস্টল করে কেন? আপনি যদি প্রথমে এটি ডাউনলোড করেন এবং তারপরে একটি অপারেশনে ডাউনলোড ও ইনস্টল না করে ইনস্টল করেন তবে তাতে কী পার্থক্য হবে?

ভাল মন্তব্যগুলি পড়ার পরে এবং এটি সম্পর্কে আরও চিন্তা করার পরে আমি বুঝতে পারি যে এটি ইউনিক্স দর্শনের কারণে , একটি মডুলার দর্শন যা মূলত "প্রতিটি প্রোগ্রাম একটি কাজ করে" বলে বলেছে: প্রথম ডাউনলোড করুন, তারপরে ইনস্টল করুন --- প্রতিটি ক্রিয়া নিজস্ব উত্সর্গীকৃত প্রোগ্রাম সহ ।


0

কোনও বিতরণে, একটি কমান্ড আপডেট-আপগ্রেড জিনিস নেই, যদি এটি সেখানে থাকে তবে এটি আমার পূর্বনির্ধারিত এলিয়াস ছাড়া কিছুই নয়। সেই উপন্যাসগুলি উবুন্টুতেও খুব সহজেই ~ / .bashrc সম্পাদনা করে সেট করা যেতে পারে।

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

আশা করি এটা সাহায্য করবে. ফোনে লেখা হিসাবে কাঁচা টেক্সট ক্ষমা করুন।


2
yumএবং ক্যাশেড ডেটা যথেষ্ট পুরানো হলে dnfস্বয়ংক্রিয়ভাবে updateবেশিরভাগ ক্রিয়াকলাপের সমপরিমাণটি করুন। : Dnf যে আচরণ পরিবর্তন উদাহরণস্বরূপ দেখুন,, আলোচনা lwn.net/Articles/750334
muru
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.