উত্তর:
remove
এর নাম অনুসারে প্যাকেজ আনইনস্টল করে।autoremove
আর প্রয়োজন নেই এমন সমস্ত স্বয়ংক্রিয়ভাবে ইনস্টল হওয়া প্যাকেজ আনইনস্টল করে। এর পরে প্যাকেজের নাম তালিকাভুক্ত করা ভুল autoremove
; এগুলি উপেক্ষা করা হবে (এবং সমস্ত যোগ্য প্যাকেজ সরিয়ে দেওয়া হবে), যা সম্ভবত আপনি চান তা নয়।--purge
প্যাকেজগুলির সাথে সম্পর্কিত সিস্টেমভিত্তিক কনফিগারেশন ফাইলগুলিও অপসারণের কারণ ঘটায়। এটি অবশ্যই একটি কমান্ডের সাথে থাকতে পারে, যেমন remove
বা autoremove
। --purge
পতাকা কমান্ড কর্ম পরিবর্তন; এটি নিজস্বভাবে কাজ করে না।purge
এর অর্থ একই জিনিস --purge remove
(যা একইরকম remove --purge
)। purge
দু'বার বলা ভুল ; দ্বিতীয়টি purge
প্যাকেজের নাম হিসাবে ব্যাখ্যা করা হবে purge
, যা সম্ভবত আপনি চান তা নয়।এই আদেশগুলি কী করে এবং সেগুলি কীভাবে আলাদা তা বোঝার জন্য এটি দুটি ধারণা বুঝতে সহায়তা করে (এবং সম্ভবত এটি অপরিহার্যও):
একটি ইনস্টল করা প্যাকেজটি ম্যানুয়ালি বা স্বয়ংক্রিয়ভাবে ইনস্টল করা হয়।
আপনি যখন ইনস্টলেশনের জন্য কোনও প্যাকেজ নির্দিষ্ট করেন এবং এটি ইনস্টল করা হয়, এটি ম্যানুয়ালি ইনস্টল করা হয়।
তবে অন্যান্য প্যাকেজগুলি ইনস্টল করা যেতে পারে। বেশিরভাগ প্যাকেজের নির্ভরতা থাকে - অন্যান্য প্যাকেজগুলি ইনস্টল করা আবশ্যক, সেই প্যাকেজগুলি ইচ্ছাকৃতভাবে কাজ করার জন্য। আপনি যখন কোনও প্যাকেজ ইনস্টল করেন, এর পূর্বে ইনস্টল করা প্যাকেজগুলি ব্যতীত এর নির্ভরতা (যেমন, অন্যান্য প্যাকেজগুলির উপর নির্ভর করে) ইনস্টল করা হয়।
যখন কোনও প্যাকেজ ইনস্টল করার জন্য আপনাকে নির্দিষ্ট করা হয় না, তবে পরিবর্তে আপনি যে প্যাকেজটি ইনস্টল করার জন্য নির্দিষ্ট করেছেন তা নির্ভরতা হিসাবে ইনস্টল করা হয়, এটি স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যায়।
দয়া করে মনে রাখবেন যে আপনার যখন দুটি প্যাকেজ ইনস্টল করা আছে এবং সেগুলির একটি অন্যটির নির্ভরতা, তার মানে এই নয় যে নির্ভরতা স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যায়। এটাও সম্ভব যে নির্ভরতা ম্যানুয়ালি ইনস্টল করা হয়েছিল (যেমন, আপনি দ্বারা নির্দিষ্ট করা, উদাহরণস্বরূপ, প্যাকেজের উপর নির্ভর করে বা একই সময়ে ইনস্টল করা হয়েছে)।
অবশেষে:
apt-mark
কমান্ড সহ) হিসাবে চিহ্নিত করতে পারেন , কীভাবে বা কোন পরিস্থিতিতে তারা প্রকৃতপক্ষে ইনস্টল করা হয়েছিল তা নির্বিশেষে।সাধারণত, প্রতিটি স্বয়ংক্রিয়ভাবে ইনস্টল হওয়া প্যাকেজের জন্য আপনার কমপক্ষে একটি ম্যানুয়ালি ইনস্টল করা প্যাকেজ থাকবে যা এর উপর নির্ভর করে (এবং যার ফলে এটি স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে গেছে)। তবে, আপনি যদি স্বয়ংক্রিয়ভাবে ইনস্টল হওয়া প্যাকেজের উপর নির্ভর করে ম্যানুয়ালি ইনস্টল করা সমস্ত প্যাকেজগুলি সরিয়ে ফেলেন তবে স্বয়ংক্রিয়ভাবে ইনস্টল হওয়া প্যাকেজটি আর প্রয়োজন হবে না, তবে এখনও ইনস্টল করা হবে।
apt-get autoremove
স্বয়ংক্রিয়ভাবে ইনস্টল হওয়া প্যাকেজগুলি সরিয়ে দেয় যার উপর নির্ভর করে আর কোনও ম্যানুয়ালি ইনস্টল করা প্যাকেজ নেই।
একটি প্যাকেজ এমন ফাইল সরবরাহ করে যা এই সিস্টেমে সেই প্যাকেজের যে সংস্করণটি ইনস্টল করা হয় সেখানে প্রতি একই থাকে remain এই জাতীয় ফাইলগুলি ইনস্টলড প্রোগ্রামগুলির জন্য এক্সিকিউটেবল, সংস্থানসমূহ, ডকুমেন্টেশন এবং অন্যান্য "সম্পদ" সরবরাহ করে। আমরা সাধারণত এই "ফাইলগুলি" বলেছি যা একটি প্যাকেজ সরবরাহ করে।
তবে একটি প্যাকেজ অন্যান্য ফাইলও সরবরাহ করে, যা (সম্ভবত) পরিবর্তিত হওয়ার উদ্দেশ্যে are এগুলিকে বৈশ্বিক (বা সিস্টেমওয়াইড) কনফিগারেশন ফাইল বলা হয়। এগুলি প্রায়শই /etc
ডিরেক্টরিতে ইনস্টল করা থাকে এবং ইনস্টলড প্রোগ্রামগুলির আচরণ পরিবর্তন করতে এগুলি স্বয়ংক্রিয়ভাবে এবং ম্যানুয়ালি পরিবর্তিত হতে পারে। উদাহরণস্বরূপ, sudo
একটি কনফিগারেশন ফাইল রয়েছে /etc/sudoers
এবং আরও কনফিগারেশন ফাইলের জন্য একটি ডিরেক্টরি রয়েছে /etc/sudoers.d
। এই ফাইলটি এবং সেই ডিরেক্টরিতে যুক্ত হওয়া যে কোনও ফাইল, sudo
কীভাবে কোন উপায়ে ব্যবহারের অনুমতিপ্রাপ্ত তা নির্দিষ্ট করে।
সাধারণত এটি কাঙ্ক্ষিত যে কোনও প্যাকেজ আনইনস্টল করা এবং তারপরে আবার ইনস্টল করা এর আচরণের পদ্ধতিটি পরিবর্তন করা উচিত নয় (যদি না এর প্যাকেজ ফাইলগুলি দুর্নীতিগ্রস্থ না হয় এবং এজন্য আপনি অবশ্যই এটি পুনরায় ইনস্টল করেন)। সুতরাং, সাধারণত যখন কোনও প্যাকেজ আনইনস্টল করা হয়, তখন এর প্যাকেজ ফাইলগুলি মুছে ফেলা হয় তবে এর সিস্টেমওয়াইড কনফিগারেশন ফাইলগুলি অদৃশ্য করে রাখা হয়।
আপনি যখন কোনও প্যাকেজ আনইনস্টল করেন তবে এটি নির্দিষ্ট না করে যে এর সিস্টেমওয়াইড কনফিগারেশন ফাইলগুলিও মুছে ফেলা উচিত, তাকে প্যাকেজটি "অপসারণ" বলা হয়।
আপনি যখন প্যাকেজটি আনইনস্টল করেন তখন আপনি যদি কোনও প্যাকেজের সিস্টেমওয়াইড কনফিগারেশন ফাইলগুলি মুছতে চান তবে তাকে প্যাকেজটিকে "পিউরিজিং" বলা হয়।
apt-get remove
একটি প্যাকেজ অপসারণ করা হবে; এটি হ'ল এটি প্যাকেজটি আনইনস্টল করবে তবে এর সিস্টেমওয়াইড কনফিগারেশন ফাইলগুলি ছেড়ে যাবে।
apt-get purge
একটি প্যাকেজ শুদ্ধ করা হবে; এটি হ'ল এটি প্যাকেজটি আনইনস্টল করবে এবং এর সিস্টেমওয়াইড কনফিগারেশন ফাইলগুলি মুছে ফেলার বিষয়টি নিশ্চিত করবে।
প্যাকেজগুলি মুছে ফেলার আরেকটি উপায় হ'ল --purge
পতাকা ব্যবহার করা । বলুন না যে apt-get
কি করতে হবে তা; পরিবর্তে এটি কী পদগুলিতে (বা "আদেশগুলি") remove
করতে চায় তা পরিবর্তিত করে । --purge
জাতীয় পতাকার কোনো প্যাকেজ uninstallations প্যাকেজ (গুলি) আনইনস্টল হচ্ছে Systemwide কনফিগারেশন ফাইল মুছে ফেলার দ্বারা অনুষঙ্গী করা কারণ। অন্য কথায়, --purge
পতাকা অপসারণগুলি পুরোধিতে পরিণত করে।
--purge
আমাদের purge
কমান্ড থাকলে পতাকাটি কেন ? সর্বোপরি, এর sudo apt-get --purge remove packagename
সমতুল্য নয় sudo apt-get purge packagename
। তারা সমতুল্য। কোথায় --purge
সুবিধাজনক আসে যখন আপনি কমান্ড আচরণ পরিবর্তন করতে চান অন্যান্য তুলনায় remove
।
উদাহরণস্বরূপ, ধরুন আপনি আর প্রয়োজন নেই এমন স্বয়ংক্রিয়ভাবে ইনস্টল করা প্যাকেজগুলি আনইনস্টল করতে চান (কারণ তাদের উপর নির্ভর করে কোনও ম্যানুয়ালি ইনস্টল করা প্যাকেজ নেই) তবে আপনি কেবল স্বয়ংক্রিয়ভাবে ইনস্টল হওয়া প্যাকেজগুলি সরাতে চান না, আপনি মুছে ফেলতেও চান তাদের সিস্টেমভিত্তিক কনফিগারেশন ফাইল। তাহলে আপনি চালাতে পারেন:
sudo apt-get --purge autoremove
এর আরও একটি ব্যবহার বিবেচনা করা যাক --purge
। নামক একটি পতাকা রয়েছে --reinstall
, যা ইনস্টলেশনগুলি পুনরায় প্রতিষ্ঠানে পরিণত করে। এর অর্থ এটি হ'ল, সাধারণত, আপনি ইতিমধ্যে ইনস্টল থাকা প্যাকেজটি ইনস্টল করার চেষ্টা করার পরে, কিছুই হবে না, বা (যদি প্যাকেজটি স্বয়ংক্রিয়ভাবে ইনস্টল করা চিহ্নিত করা হয়) প্যাকেজটি ম্যানুয়ালি ইনস্টল করা হবে। তবে --reinstall
পতাকাটির মাধ্যমে, ইতিমধ্যে ইনস্টল থাকা একটি প্যাকেজ ইনস্টল করার কারণে এটি সরিয়ে ফেলা হবে এবং তারপরে ফিরে ইনস্টল করা হবে :
sudo apt-get --reinstall install packagename
তবে ধরুন আপনি যে প্যাকেজটি পুনরায় ইনস্টল করছেন তার সিস্টেমওয়াইড কনফিগারেশন ফাইলগুলি মুছতে চান। এটি কিছুটা সাধারণ; যখন কোনও প্যাকেজ কাজ করছে না এবং আপনি জানেন না কেন, আপনি এটি পুনরায় ইনস্টল করার চেষ্টা করতে পারেন এবং এর কনফিগারেশন ফাইলগুলি মুছতে যাতে এর কনফিগারেশনটি ডিফল্টে পুনরায় সেট করা যায়। এটি অর্জন করতে, আপনি চালাতে পারেন:
sudo apt-get --purge --reinstall install packagename
--reinstall
পুনরায় ইনস্টলেশন মধ্যে সক্রিয় ইনস্টলেশন (অর্থাত, অপসারণ ইনস্টলেশন দ্বারা অনুসরণ), এবং --purge
শুদ্ধিকরণ মধ্যে পুনরায় ইনস্টলেশন অপসারণের অংশ সক্রিয়।
আপনার প্রতিটি উদাহরণের apt-get
আদেশ কমান্ডটি ঠিক কী করবে তা এখন পরিষ্কার হওয়া উচিত :
sudo apt-get autoremove --purge packagenames
এটি পূর্বে স্বয়ংক্রিয়ভাবে ইনস্টল হওয়া প্যাকেজগুলি মুছে দেয় যা তাদের উপর নির্ভর করে কোনও ম্যানুয়ালি ইনস্টল করা প্যাকেজ নেই। এটি হ'ল এটি সেই প্যাকেজগুলি আনইনস্টল করে (যার ফলে তাদের প্যাকেজ ফাইলগুলি মুছে ফেলা হয়), এবং এটি তাদের সিস্টেমডওয়াইড কনফিগারেশন ফাইলগুলিও মুছে দেয়।
এখানে, packagenames
কিছুই না। বিশেষত, আপনি যদি কেবল প্যাকেজগুলি মুছে ফেলতে চেয়েছিলেন যাদের নাম সেখানে তালিকাবদ্ধ রয়েছে, তবে এটি আপনার ইচ্ছার সাথে আচরণ করবে না।
sudo apt-get remove --purge packagenames
এই purges packagenames
; ধরে packagenames
নেওয়া প্যাকেজ নামের একটি সাদা স্থান-বিচ্ছিন্ন তালিকা, এটি তাদের সমস্তকে শুদ্ধ করবে। এটি হ'ল এটি তাদের আনইনস্টল করবে (যার ফলে তাদের প্যাকেজ ফাইলগুলি মুছতে পারে), এবং তাদের সিস্টেমডওয়াইড কনফিগারেশন ফাইলগুলি মুছবে।
তালিকাভুক্ত প্যাকেজগুলির মধ্যে packagenames
যদি কোনও ইনস্টল না করা থাকে তবে তালিকার উপস্থিতিতে কোনও প্রভাব পড়বে না (বাদে আপনাকে জানানো হবে এটি ইনস্টল করা হয়নি)। আপনি যদি প্যাকেজের নাম তালিকাভুক্ত করেন যা কোনও প্রকৃত প্যাকেজের নাম নয় তবে কমান্ডটি ত্রুটিযুক্ত হয়ে ব্যর্থ হবে ।unable to locate packagename
sudo apt-get purge purge packagenmaes
আপনি যদি purge
সেই আদেশের যে কোনও একটি উপস্থিতি সরিয়ে ফেলেন , এটি পূর্বেরটির সমতুল্য হবে। এটি যেমন দাঁড়িয়ে আছে, এটি নামের একটি প্যাকেজ শুদ্ধ করার চেষ্টা করে purge
এবং তালিকাভুক্ত প্যাকেজগুলিও মুছে ফেলার চেষ্টা করে packagenames
। যেহেতু purge
কোনও প্যাকেজের নাম নয়, এটি একটি ত্রুটি বার্তা সহ ব্যর্থ হবে।
sudo apt-get remove packagenames
এটি তালিকাভুক্ত প্যাকেজগুলি সরিয়ে দেয় packagenames
, যা তাদের প্যাকেজ ফাইলগুলি মুছতে বাধ্য করে। এটি তাদের সিস্টেমব্যাপী কনফিগারেশন ফাইলগুলি মুছবে না (কারণ এটি নিছক অপসারণ, খাঁটি নয়)।
sudo apt-get autoremove
এটি স্বয়ংক্রিয়ভাবে ইনস্টল হওয়া প্যাকেজগুলি আনইনস্টল করে যাগুলির উপর নির্ভর করে কোনও ম্যানুয়ালি ইনস্টল করা প্যাকেজ নেই। এটি তাদের প্যাকেজ ফাইল মুছে ফেলার entails কিন্তু না তাদের Systemwide কনফিগারেশন ফাইল (যে, এটি একটি অপসারণ কিন্তু একটি রেচক পদার্থ যায়)।
কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও তথ্যের জন্য apt-get
, আমি এর ম্যানুয়াল পৃষ্ঠাটি সুপারিশ করছি । আরও সাধারণ তথ্যের জন্য এই গাইডটি দেখুন ।