কোনও অ্যাপ্লিকেশন পুরোপুরি অপসারণ করার সঠিক উপায় কী?


545

আমি এই জাতীয় তথ্যের জন্য নেট অনুসন্ধান করেছি এবং এইগুলির মতো বিভিন্ন কমান্ড লাইন পেয়েছি:

sudo apt-get remove application
sudo apt-get remove application*

sudo apt-get remove --purge application
sudo apt-get remove --purge application*

sudo apt-get purge application
sudo apt-get purge application*

সুতরাং, সঠিক উপায় কি? এটি "*" ব্যবহার করা দরকার?

এর পরে, আমি এই আদেশগুলিও পেয়েছি:

sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)

1
আপনার কিছু প্রশ্নের উত্তর এই পোস্টে দেওয়া যেতে পারে: Askubuntu.com/questions/1143/how-can-i-uninstall-software
গ্লুটানিমেট

8
application*উপলক্ষ্যে অপ্রত্যাশিত ফলাফল দিতে পারে - উদাহরণস্বরূপ, আপনার বর্তমান নামের ডিরেক্টরিতে কোনও ফাইল থাকলে application_informationশেলটি এটিপ-গেটে পাস হওয়ার আগে এটি প্রসারিত করবে। যদি এটি হয়ে থাকে এবং আপনি আক্ষরিক application\*'application*'
নক্ষত্রটি

6
application*আরও বেশি বিপজ্জনক যেখানে বর্তমান ডিরেক্টরিতে কোনও ফাইল নেই: apt-getনিয়মিত প্রকাশ, কোনও গ্লোব নিদর্শন ব্যবহার করে না। লোকেরা মুছে ফেলার চেষ্টা করে পুরো সিস্টেমটি প্রায় মুছে ফেলেছে wine*
আন্দ্রে কার্বেলিনী

3
আপনি একটি উত্তর গ্রহণ করতে পারেন? যারা আপনাকে উত্তর দিয়েছে তাদের কাছে কৃতজ্ঞতা জানাতে।
এম-রিচ

আমরাও application*না application\*নিরাপদ! বরাত দিয়ে *সঙ্গে \বা ' 'শুধুমাত্র বৃদ্ধি ঝুঁকি নিশ্চিত *পাস করা হয়েছে হিসেবে হল apt-get(যদিও এটি সাধারণত আসলে!), কারণ apt-getএকটি Regex যেমন যুক্তি ব্যাখ্যা করতে। একটি রেজেক্সের *অর্থ "পূর্ববর্তী চরিত্রের শূন্য বা তার বেশি" " ভুলটির একটি সাধারণ ফর্ম হ'ল আনইনস্টল করা wine*, তাদের নামের যে কোনও জায়গায়win (না wine, win) সমস্ত প্যাকেজ মুছে ফেলা এবং সেগুলির উপর নির্ভর করে সমস্ত প্যাকেজ। দেখুন এই ব্যাখ্যা এবং সম্ভাব্য সংশোধন করা হয়েছে । @ ইজকাটা
এলিয়াহ

উত্তর:


704
  • apt-get remove packagename

    বাইনারিগুলি সরিয়ে ফেলবে, তবে প্যাকেজের কনফিগারেশন বা ডেটা ফাইল নয় packagename। এটি ইনস্টলেশনের সময় এটির সাথে ইনস্টল করা নির্ভরতাগুলি ছোঁয়াচে ফেলে দেবে।

  • apt-get purge packagename অথবা apt-get remove --purge packagename

    প্যাকেজ সম্পর্কিত সমস্ত কিছু সরিয়ে ফেলবে packagename, তবে এটির সাথে ইনস্টলেশনের সাথে ইনস্টল করা নির্ভরতা নয়। উভয় আদেশ সমান।

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

  • apt-get autoremove

    অনাথ প্যাকেজগুলি, অর্থাৎ ইনস্টল করা প্যাকেজগুলি যা নির্ভরতা হিসাবে ইনস্টল করা হত তা সরিয়ে দেয়, কিন্তু আর হয় না। এমন কোনও প্যাকেজ অপসারণের পরে এটি ব্যবহার করুন যা আপনার আর আগ্রহী নয় installed

  • aptitude remove packagenameবা aptitude purge packagename(একইভাবে)

    এছাড়াও অন্যান্য প্যাকেজগুলি অপসারণের চেষ্টা করবে যা প্রয়োজনীয় প্যাকেজগুলির দ্বারা প্রয়োজনীয় ছিল packagenameনা। মনে aptitudeরাখবেন যে এটি ইনস্টল করা প্যাকেজগুলির জন্য নির্ভরতা সম্পর্কিত তথ্য কেবল মনে রাখে।

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

আপনি যে তালিকাটি পেয়েছেন তা কেবল উদাহরণ examples নিশ্চিত হয়ে নিন যে আপনি অর্থগুলি বুঝতে পেরেছেন এবং অ্যাকশন গ্রহণ করার আগে এটি কী করতে চায় তা চেষ্টা করে দেখুন ( Yপ্রস্তাবিত হিসাবে এটি ক্রিয়াগুলি সম্পাদন করার আগে আপনাকে চাপ দিতে হবে)।

প্রশ্নটির তারকাচিহ্ন সংস্করণ সম্ভবত ভুল ; apt-getশেল হিসাবে গ্লোব প্যাটার্ন নয়, একটি নিয়মিত অভিব্যক্তি গ্রহণ করে। তাহলে কি হয়

sudo apt-get remove application*

নিম্নলিখিত:

  1. শেলটি application*বর্তমান ডিরেক্টরিতে থাকা ফাইলগুলির দিকে তাকিয়ে প্রসারিত করার চেষ্টা করে । যদি (যেমনটি সাধারণভাবে হয়) এটি কিছুই না পেয়ে থাকে তবে এটি গ্লোব প্যাটার্নটিকে আনলটার্টড ফিরিয়ে দেয় ( bashএখানে ডিফল্ট আচরণের সাথে ধরে রাখলে --- zshত্রুটি হয়ে যাবে)।

  2. apt-getপ্যাকেজ যার নাম মুছে ফেলা হবে একটি স্ট্রিং রয়েছে যে রেগুলার এক্সপ্রেশন সন্তুষ্ট application*, যে applicatioএর একটি অবাধ নম্বর n: applicatio, application, applicationn, libapplicatio, ইত্যাদি

  3. এটি কীভাবে বিপজ্জনক হতে পারে তা দেখতে, চেষ্টা করুন (দ্বিগুণ সুরক্ষার জন্য মূল ছাড়াই) apt-get -s remove "wine*"( -sএটি করার পরিবর্তে জিনিসটি অনুকরণ করবে) --- এটি বলবে যে সমস্ত প্যাকেজগুলি তাদের নামে এবং "নির্ভর" নামগুলিতে সরিয়ে ফেলবে, প্রায় পুরো সিস্টেম ...

সম্ভবত, যে আদেশটি বোঝানো হয়েছিল তা সত্যই

 sudo apt-get remove "^application.*"

(উদ্ধৃতি এবং বিন্দু নোট করুন) যা সমস্ত প্যাকেজগুলি সরিয়ে ফেলবে যার নাম দিয়ে শুরু হবে application

এই আদেশগুলি,

sudo updatedb                  # <-- updates the locate database (index). harmless
sudo locate application        # <-- locates the file 'application'. harmless
sudo rm -rf (file/folder name) # <-- removes files/dirs recursively. dangerous.

প্যাকেজ পরিচালনার সুযোগের বাইরে রয়েছে। প্যাকেজ ম্যানেজার ব্যবহার না করে প্যাকেজ সম্পর্কিত ফাইলগুলি সরিয়ে ফেলবেন না! এটি বিভ্রান্ত হবে এবং জিনিসগুলি করার ভুল উপায়।

কোন ফাইলটি কোন প্যাকেজের অন্তর্ভুক্ত তা যদি আপনি না জানেন তবে এটি ব্যবহার করে দেখুন:

dpkg -S /path/to/file

9
কনফিগারেশন ফাইলগুলি সহ যে কোনও অবশিষ্ট নির্ভরতা সম্পূর্ণরূপে মুছে ফেলার চেষ্টা করার সময় --purge বিকল্পটিও কার্যকর: apt-get-autoremove --purge আপনার হোম ডিরেক্টরিতে কনফিগারেশন ফাইলগুলি --purge বিকল্প দ্বারা অকার্যকর রয়েছে তা লক্ষ করাও গুরুত্বপূর্ণ। এগুলি আপনাকে ম্যানুয়ালি অপসারণ করতে হবে।
গ্লুটানীমেট

1
এখানে একটি ত্রুটি ছিল: অ্যাপটি-গেট আরআর গ্রহণ করে, গ্লোবগুলি নয়; সুতরাং এপটি-গেট রিমুভ প্যাক * প্যাকের সাথে শুরু হওয়া প্যাকেজগুলি শূন্য বা আরও বেশি কে দিয়ে সরিয়ে দেবে ... যা সাধারণত অপ্রত্যাশিত। আমি আনসার সম্পাদনা করেছি। আরও জিজ্ঞাসা করুন জিজ্ঞাসাবাবু / প্রশ্ন
২১০৯76

আমি মনে করি এই উত্তরটি এখন আর সঠিক নয়। হয় apt remove -s texlive*বা এর apt-getসমমনা ফেরত রেখাগুলি Note, selecting 'texlive-font-utils' for glob 'texlive*'( যেমন বোঝায় যে তারা প্রকৃতপক্ষে গ্লোব গ্রহণ করে), এর পরে যথারীতি Package 'texlive-common' is not installed, so not removedএবং শেষ অবধি Remvলাইনগুলি Remv texlive-font-utils [2015.20160320-1] [...]
জোনাথন ওয়াই।

@JonathanY। আপনি ইনস্টল না প্যাকেজ নির্বাচন করতে হবে। যাইহোক, আপনি দয়া করে একটি নতুন প্রশ্ন জিজ্ঞাসা করতে পারেন এবং প্রশ্নে আপনার পরিস্থিতি কী তা বিশদে আরও কিছুটা বিশদভাবে বর্ণনা করতে পারেন। আমি এটি দেখে খুশি হব :)
gertvdijk

আমি একটি নতুন প্রশ্ন জিজ্ঞাসা করছি না। আমি একটি সম্ভাব্য পরিবর্তনের দিকে ইঙ্গিত করছি যেহেতু এই উত্তরটি তৈরি করা হয়েছিল যা কিছু বিবরণকে ভুল করে তোলে। বুদ্ধিমানের সাথে, এটি দেখে মনে হবে এটি apt-get remove packa*সত্যিকার অর্থে packa*রেজেক্স হিসাবে দেখার পরিবর্তে বিশ্বকে গ্রহণ করবে : এটি মেলে packageতবে তা নয় pack
জোনাথন ওয়াই।

109

উবুন্টু 12.04 এবং সম্ভবত উচ্চতরগুলির জন্য, সঠিক পদ্ধতিটি হ'ল:

sudo apt-get --purge autoremove packagename

এখানে বিস্তারিত হিসাবে ।

packagename*অযৌক্তিক প্যাকেজগুলি মুছতে পারে এবং এটি সমাধানের চেয়ে আরও সমস্যার সৃষ্টি করতে পারে তা ব্যবহার করবেন না । অথবা আপনি যদি অন্তত একটি সঙ্গে এটি চালানোর আবশ্যক -s, --simulate, --dry-runপতাকা প্রথম ঠিক তা দেখতে এটা না করে চেষ্টা করতে হবে।


13
এটি সঠিক উত্তর, সংক্ষিপ্ত এবং সংক্ষিপ্ত:
আনোয়ার

20

আপনি এই আদেশটি ব্যবহার করতে পারেন:

sudo apt-get purge --auto-remove packagename

এটি সেই প্যাকেজগুলির সাথে ইনস্টল করা নির্ভরতাগুলির সাথে প্রয়োজনীয় প্যাকেজগুলি মুছে ফেলবে। --auto-removeবিকল্প (একজন ওরফে হচ্ছে autoremove) অনুরূপ কাজ করে sudo apt-get autoremove। এই কমান্ডটি ব্যবহার করে আমরা একটি একক কমান্ড চালাতে পারি:

sudo apt-get purge --auto-remove packagename

পরিবর্তে:

sudo apt-get purge packagename
sudo apt-get autoremove

2
যদিও আপনি সঠিক, তবে একটিটি ব্যবহার করতে পারেন sudo apt-get --purge autoremove packagename। একই একই কমান্ড এখানে
আনোয়ার

সম্পূর্ণ কমান্ডের apt-get autoremove --purgeপরিবর্তেও কি লেখা যায় apt-get purge --auto-remove?
felwithe

3
কেউ আমাকে গুলি করতে পারেন?
মার্টিন অ্যান্ডারসন

7

আপনি নিরাপদে sudo apt-get remove --purge applicationবা sudo apt-get remove applications99% সময় ব্যবহার করতে পারেন । আপনি purgeপতাকাটি ব্যবহার করার সময় , এটি সমস্ত কনফিগারেশন ফাইলগুলিও সরিয়ে দেয়। আপনি চাইলে অ্যাপ্লিকেশনটি পুনরায় ইনস্টল করতে চান কিনা তার উপর নির্ভর করে কোনটি আপনি চান তা নাও হতে পারে। application*সব অ্যাপ্লিকেশন যে দিয়ে শুরু ম্যাচ হবে application, যা সাধারণত প্লাগিন, অতিরিক্ত বৈশিষ্ট্য, প্রধান আবেদন আপনি সরাচ্ছেন ইত্যাদি আছে। অর্থাত

sudo apt-get remove gedit*

অপসারণ করা হবে gedit, gedit-pluginsএবং gedit-common। সাধারণত এটি করার প্রয়োজন হয় না, কারণ বেশিরভাগ প্লাগইন / সম্পর্কিত প্রোগ্রামগুলি মূল অ্যাপ্লিকেশনটির উপর নির্ভরশীল এবং আপনি যখন মূল অ্যাপ্লিকেশনটি আনইনস্টল করেন তখন স্বয়ংক্রিয়ভাবে সরানো হবে (বা অপসারণের জন্য চিহ্নিত)।

আপনার শেষ কমান্ডটি এমন অ্যাপ্লিকেশনগুলি থেকে বাদ পড়েছে যাতে অগোছালো আনইনস্টলার রয়েছে এবং এটি কেবল অ্যাপ্লিকেশনটির কোনও অবশিষ্টাংশ সরিয়ে দিচ্ছে।


5

আমি একটি প্যাকেজ মুছে ফেলার জন্য কিছু ত্রুটি বার্তা পেয়েছি, কেবলমাত্র আমি খুঁজে পেয়েছি এটি কাজ করেছিল:

mv /var/lib/dpkg/info/package.* /tmp/
dpkg --remove --force-remove-reinstreq package

আমি দেখতে পেয়েছি যদিও শুধুমাত্র ব্যবহার

dpkg --remove --force-remove-reinstreq package

প্যাকেজটি সরিয়ে দেয় না এটি আমাকে ফাইলটির সাথে সরানোর সঠিক পথটি দেখায়:

mv /var/lib/dpkg/info/package.* /tmp/

আপনার অ্যাপ্লিকেশন নাম সহ বিকল্প প্যাকেজ। উবুন্টুতে সুডো ব্যবহার করুন, দেবিয়ানের মূল হয়ে উঠুন।



1

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

সাবধান হোন যে sudo apt-get অপসারণ --purge অ্যাপ্লিকেশন নাম হিসাবে কমান্ড ব্যবহার করে অন্যান্য অ্যাপ্লিকেশনগুলির প্রয়োজনীয় কিছু নির্ভরতা সরিয়ে ফেলতে পারে এবং যেমন আপনার সিস্টেমটি ভেঙে দিতে পারে।

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


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

1

আমি কেবল একটি বিষয় স্পষ্ট করে বলতে চেয়েছিলাম যা এখানে এখানে বিভ্রান্তির উত্স বলে মনে হয়। dpkgউপযোগ সম্পর্কে জানতে বা একে অপরের, যা একটি বড় কারণ ছিল সম্পর্কিত প্যাকেজ নির্ভরতা ট্র্যাক করে না aptউন্নত ছিল আমি বিশ্বাস করি। আপনি এটি সম্পর্কে এই পৃষ্ঠায় 8.6 বিভাগে পড়তে পারেন দেবিয়ান জিএনইউ / লিনাক্স এফএকিউ - দেবিয়ান প্যাকেজ পরিচালনা সরঞ্জাম

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

  • ডিপিকেজি সহ: নির্ভরতা কী? তুমি আমাকে শুধু অভিশাপের
    প্যাকেজটি মুছে ফেলতে বলেছ যাতে আমি তাই করেছি! আপনার পক্ষে খারাপ পরিকল্পনা করা
    আমার পক্ষে জরুরী অবস্থা নয় ।

এই বলে যে, এখানে দুটি ওয়ান-লাইনার রয়েছে যা প্রতিটি খাঁটি পদ্ধতিতে ব্যবহার করা যেতে পারে:

dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --dry-run --purge

apt-get autoremove -y; apt-get --dry-run purge -y $(dpkg --list |grep '^rc' |awk '{print $2}')

--dry-runএটি কী পদক্ষেপ নিয়েছে তার পরিবর্তে প্রকৃত শুদ্ধ অভিযানটি সম্পাদন করতে সরান ।

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