প্রশ্ন সম্পূর্ণ একটি আবেদন মুছে ফেলার সঠিক উপায় কি?


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

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)

478
2017-09-14 21:54


উত্স


আপনার কিছু প্রশ্ন এই পোস্টে উত্তর দেওয়া হতে পারে: askubuntu.com/questions/1143/how-can-i-uninstall-software - Glutanimate
application* উপলক্ষ্যে অপ্রত্যাশিত ফলাফল দিতে পারে - উদাহরণস্বরূপ, যদি আপনার বর্তমান ডিরেক্টরীতে একটি ফাইল থাকে application_informationএটি শুরুর আগেই এটি প্রসারিত হবে। এই ঘটছে এবং আপনি আক্ষরিক তারকাচিহ্ন চাই, আপনি ব্যবহার করতে পারেন application\* অথবা 'application*' - Izkata
application* বর্তমান ডিরেক্টরির মধ্যে কোন ফাইল নেই যেখানে এমনকি আরও বিপজ্জনক: apt-get নিয়মিত এক্সপ্রেশন ব্যবহার করে, কোন glob নিদর্শন। মানুষ প্রায় মুছে ফেলার চেষ্টা সমগ্র সিস্টেম মুছে ফেলা হয়েছে wine*। - Andrea Corbellini
আপনি একটি উত্তর গ্রহণ করতে পারেন? যারা আপনাকে উত্তর দিতে কৃতজ্ঞ হতে। - m-ric
তন্ন তন্ন application* না application\* নিরাপদ! বরাত দিয়ে * সঙ্গে \ অথবা '  ' কেবল বৃদ্ধি ঝুঁকি, নিশ্চিত * হিসাবে পাস করা হয় apt-get (যদিও এটি সাধারণত যাইহোক!), কারণ apt-get একটি regex হিসাবে যুক্তি ব্যাখ্যা। একটি regex মধ্যে * মানে "পূর্ববর্তী অক্ষর শূন্য বা আরো।" ভুল একটি সাধারণ ফর্ম আনইনস্টল হয় wine*, সঙ্গে সব প্যাকেজ অপসারণ win (না wine, win) কোথাও তাদের নামের মধ্যে এবং তাদের উপর নির্ভর করে সব প্যাকেজ। দেখ এই ব্যাখ্যা এবং সম্ভব সমাধান। @Izkata - Eliah Kagan


উত্তর:


  • apt-get remove packagename

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

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

    সম্পর্কে মুছে ফেলা হবে সব প্যাকেজ সংক্রান্ত packagename, কিন্তু ইনস্টলেশনের উপর ইনস্টলেশনের সঙ্গে ইনস্টল করা হয় না। উভয় কমান্ড সমতুল্য।

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

  • apt-get autoremove

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

  • aptitude remove packagename অথবা aptitude purge packagename (অনুরূপভাবে)

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

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

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

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

sudo apt-get remove application*

নিম্নলিখিতটি হল:

  1. শেল প্রসারিত করার চেষ্টা করে application* বর্তমান ডিরেক্টরি ফাইল তাকান। যদি (হিসাবে সাধারণত ক্ষেত্রে) এটি কিছুই খুঁজে না, এটা glob প্যাটার্ন unaltered ফিরে (অনুমান 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

638
2017-09-14 22:04



- config বিকল্পটি যখন কনফিগারেশন ফাইলগুলি সহ কোনও অবশিষ্ট নির্ভরতা সম্পূর্ণরূপে মুছে ফেলার চেষ্টা করে তখনও কার্যকরী: apt-get-autoremove --purge  এটা মনে রাখা গুরুত্বপূর্ণ যে আপনার হোম ডিরেক্টরির মধ্যে কনফিগারেশন ফাইলগুলি --purge বিকল্প দ্বারা অপ্রাসঙ্গিক। এই আপনি নিজে অপসারণ করতে হবে। - Glutanimate
এখানে একটি ত্রুটি ছিল: apt-get RE স্বীকার করে, globs না; তাই apt-get অপসারণ প্যাক * প্যাকের সাথে শুরুর সমস্ত প্যাকেজগুলি সরিয়ে দেবে শূন্য বা তার বেশি ক ... যা সাধারণত অপ্রত্যাশিত। আমি উত্তর সম্পাদক সম্পাদনা। আরো দেখুন askubuntu.com/questions/210976/... - Rmano
আমি এই উত্তর আর সঠিক মনে হয়। উভয় ক্ষেত্রেই apt remove -s texlive* অথবা তার apt-get যেমন প্রতিরূপ ফেরত লাইন Note, selecting 'texlive-font-utils' for glob 'texlive*' (তারা প্রকৃতপক্ষে globs গ্রহণ করে বোঝায়), স্বাভাবিক অনুসরণ Package 'texlive-common' is not installed, so not removed, এবং পরিশেষে Remv লাইন, যেমন Remv texlive-font-utils [2015.20160320-1] [...]। - Jonathan Y.
@JonathanY। আপনি অ ইনস্টল প্যাকেজ নির্বাচন করবে। যাইহোক, আপনি একটি নতুন প্রশ্ন জিজ্ঞাসা করতে পারেন এবং বিস্তারিত আপনার পরিস্থিতি কি বিস্তারিত কিছু বিস্তারিত বিবৃত করতে পারে। আমি এটা দেখতে খুশি হবে :) - gertvdijk
আমি একটি নতুন প্রশ্ন জিজ্ঞাসা করছি না। আমি একটি সম্ভাব্য পরিবর্তন নির্দেশ করছি এই উত্তর তৈরি করা হয়েছে যে কিছু বিবরণ ভুল করে তোলে। বুদ্ধি, এটা যে মনে হবে apt-get remove packa* সত্যিই glob নিতে packa* পরিবর্তে এটি regex হিসাবে খুঁজছেন: এটা মেলে package কিন্তু না pack। - Jonathan Y.


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

sudo apt-get --purge autoremove packagename

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

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


92
2017-11-20 20:01



এই সঠিক উত্তর, সংক্ষিপ্ত এবং সংক্ষিপ্ত: - Anwar


আপনি এই কমান্ড ব্যবহার করতে পারেন:

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

17
2017-09-16 20:08



যদিও আপনি সঠিক, কিন্তু একটি ব্যবহার করতে পারেন sudo apt-get --purge autoremove packagename। একই 1 কমান্ড এখানে - Anwar
সম্পূর্ণ কমান্ড হিসাবে লেখা যেতে পারে apt-get autoremove --purge পরিবর্তে apt-get purge --auto-remove ? - felwithe
কেউ আমাকে অঙ্কুর করতে পারেন? - Martin Andersson


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

sudo apt-get remove gedit*

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

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


7
2017-09-14 22:05





আমি একটি প্যাকেজ মুছে ফেলার কিছু ত্রুটি বার্তা পেয়েছিলাম, আমি কাজ যে পাওয়া একমাত্র উপায় এই ছিল:

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/

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


5
2018-02-26 09:26





আমি ইন্টারনেটে এই কমান্ড পাওয়া যায়।

dpkg --purge --force-depends application

http://www.debian-administration.org/article/Reinstalling_packages_to_fix_problems


3
2017-09-14 22:10





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

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

আপনি নিরাপদ ভাবে এটি করতে চাইলে, আপনি কেবলমাত্র সফটওয়্যার কেন্দ্র বা অ্যাপ্লিকেশন-নামটি ব্যবহার করে অ্যাপ্লিকেশন নাম ব্যবহার করে এটি সরাতে পারেন। যদি নির্ভরতা আর প্রয়োজন হয় না, পরে apt-get autoremove ইস্যু করুন।


1
2017-09-14 22:10



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


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

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

  • Dpkg সঙ্গে: কি নির্ভরতা? তুমি শুধু আমাকে দোষী সাব্যস্ত করতে বলেছ
    প্যাকেজ তাই আমি কি কি! আপনার অংশ খারাপ পরিকল্পনা না
    আমার অংশ একটি জরুরী গঠন।

যে বলেন, এখানে দুটি এক-liners যা প্রতিটি purge পদ্ধতি জন্য ব্যবহার করা যেতে পারে:

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 পরিবর্তে এটি গ্রহণ করা হবে কি রিপোর্ট রিপোর্ট প্রকৃত purge অপারেশন সঞ্চালন।


1
2017-08-23 23:32