क्या 'सूडो एप्ट-गेट रिमूव [राइट] को नष्ट कर सकता है?


59

मैं अपना 'लिखना' ऐप हटाना चाहता था, इसलिए मुझे यह एक साइट पर मिला: पैकेज टाइप हटाने के लिए:

sudo apt-get remove [package_name]

इसलिए मैंने टाइप किया:

sudo apt-get remove [write]

और बाद में मैं संकेत पर सहमत हो गया: 'हाँ, जो मैं कहता हूं वह करो!' या कुछ इस तरह का। और वोइला! मेरा उबंटू हट रहा था! क्या कोई मुझे बता सकता है क्यों?


29
पूर्ण उत्पादन को पढ़ने के बारे में एक सुखद अनुभव। हममें से कई लोगों ने कुछ ऐसा ही किया है ... एक बार।
user535733

7
एक अच्छा टिप अगर आपको यकीन नहीं है कि क्या होगा तो झंडा --simulateया -sनीचे aptया apt-getपहले का उपयोग करना होगा - उदाहरण: sudo apt -s remove php7.2-pspellवास्तव में इसे हटा नहीं है। बस आपको दिखाता है कि क्या हटाया / प्रभावित होगा (यदि स्थापित है)। 'इंस्टॉल' के लिए भी।
bshea

touch wपहले खुद को कुछ दुःख से बचाने के लिए ;-)।
स्टीफन किट

@ B.Tanner मुझे यह सुनकर खुशी हुई कि मेरा जवाब वास्तव में सिर्फ ध्रुवीकरण के बजाय मदद करता है। हमेशा एयू सामान्य चैट रूम में आपका स्वागत है कि आपके पास (या अन्य) प्रश्न हैं या केवल नमस्ते कहना चाहते हैं!
मिठाई

इसके अलावा मैन पेजों में अंकन सम्मेलनों के बारे में एक अच्छा सबक।
चिरलीस

जवाबों:


92

नामित पैकेज को निकालने का सही आदेश writeहै:

sudo apt remove write

[write]एक वर्ण सेट है जो "w", "r", "i", "t" और "e" से मेल खाता है और जैसा कि मिलान द्वारा प्रतिस्थापित किया जाता है apt। इस प्रकार आपके द्वारा चलाया गया कमांड इन सभी में से किसी एक अक्षर से मेल खाता है , जो निश्चित रूप से बहुत सारे हैंaptबस आवश्यक लोगों की आउटपुट सूची को उद्धृत करने के लिए :

WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
  apt adduser (due to apt) gpgv (due to apt) ubuntu-keyring (due to apt) libapt-pkg5.0 (due to apt) libc6 (due to apt) libgcc1 (due to apt) libgnutls30 (due to apt) libseccomp2 (due to apt)
  libstdc++6 (due to apt) base-files base-passwd libdebconfclient0 (due to base-passwd) bash libtinfo5 (due to bash) debianutils (due to bash) bsdutils libsystemd0 (due to bsdutils) coreutils
  libacl1 (due to coreutils) libattr1 (due to coreutils) libselinux1 (due to coreutils) dash dpkg (due to dash) diffutils libbz2-1.0 (due to dpkg) liblzma5 (due to dpkg) libzstd1 (due to dpkg)
  zlib1g (due to dpkg) tar (due to dpkg) e2fsprogs libblkid1 (due to e2fsprogs) libcom-err2 (due to e2fsprogs) libext2fs2 (due to e2fsprogs) libss2 (due to e2fsprogs) libuuid1 (due to e2fsprogs) fdisk
  libfdisk1 (due to fdisk) libmount1 (due to fdisk) libncursesw5 (due to fdisk) libsmartcols1 (due to fdisk) findutils grep libpcre3 (due to grep) install-info (due to grep) gzip hostname init
  systemd-sysv (due to init) init-system-helpers (due to init) perl-base (due to init-system-helpers) libc-bin login libaudit1 (due to login) libpam0g (due to login) libpam-runtime (due to login)
  libpam-modules (due to login) mount util-linux (due to mount) ncurses-base ncurses-bin sed sysvinit-utils libudev1 (due to util-linux)
0 upgraded, 0 newly installed, 2503 to remove and 0 not upgraded.
After this operation, 7238 MB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'

कई चेतावनियों के साथ-साथ वस्तुतः टाइप करने की आवश्यकता

हाँ, जैसा मैं कहूँ वैसा करो!

क्या आपके सिस्टम को नष्ट करने से बचाने के लिए सुरक्षा के साधन मौजूद हैं, क्योंकि सिस्टम का पैकेज मैनेजर aptऐसा करने में पूरी तरह से सक्षम है। साथ चलने वाली कोई भी कमांड को sudoसावधानीपूर्वक और सोच-समझकर चलाना चाहिए, लेकिन झल्लाहट न करें: उबंटू के लगभग हर अनुभवी उपयोगकर्ता ने कम से कम एक बार अपने सिस्टम को तोड़ दिया, वास्तव में अगर आप मुझसे पूछें तो यह मजेदार है।

आगे की पढाई


1
टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
थॉमस वार्ड

15

अन्य लोगों ने जो कहा है, उसे जोड़ने के लिए, आपको सिंटैक्स दिखाई देगा जो ब्लॉगर ने अपने पोस्ट में काफी बार उपयोग किया है।

आदेशों का उपयोग करने के बारे में प्रलेखन लिखते समय बहुत संगत मानक हैं जो उपयोग किए जाते हैं। प्रत्येक मैनुअल पृष्ठ में, आपको बहुत समान संरचना दिखाई देगी।

यदि कुछ वैकल्पिक है , तो यह आमतौर पर कोष्ठक में होता है। ls [folder](आपको एलएस को एक फ़ोल्डर देने की आवश्यकता नहीं है, लेकिन आप इस प्रकार, वैकल्पिक कर सकते हैं)।

यदि कोई चीज़ फ़ाइल या ईमेल है , तो आप इसे आमतौर पर कोण कोष्ठक में देखेंगे।<likeThis.php>

यदि आपके पास चीजों की सीमित संख्या (यानी महीने) के बीच एक विकल्प है , तो आप इसे इस तरह से देखेंगे:{September,October,November,December}

इनमें से किसी एक के साथ, आप देख सकते हैं ...कि यह दर्शाता है कि इसमें से कई दिए जा सकते हैं।

और अंत में, अगर कोई चीज पूरी तरह से अनिवार्य है, तो आप इसके प्रलेखन को सूचीबद्ध करके देखेंगे और शायद रेखांकित करेंगे। उदाहरण के लिए, man mvएमवी का मैनुअल, यह कहता है:

mv [OPTION]... [-T] SOURCE DEST

तकनीकी रूप से, पैकेज का नाम (लिखना) कमांड का एक आवश्यक हिस्सा नहीं है। कोशिश करो। apt-get installया apt-get removeबस प्रोग्राम को सफलतापूर्वक चलाएगा और बाहर निकल जाएगा। यही कारण है कि यह उस ब्लॉग पर कोष्ठक में प्रस्तुत किया जा सकता है।


9

sudo apt-getअनुकार करने से पहले अनुकार करना बुद्धिमानी है:

$ apt-get remove [write] -s | wc -l
65280

वहाँ लगभग रहे हैं 65,280 संकुल कि हटाने के लिए अर्हता प्राप्त अगर आपके सिस्टम पर स्थापित। रेगेक्स मिलान के[write] लिए एक खोज पैटर्न है, जिसमें प्रत्येक पैकेज का चयन किया जा सकता है यदि उसमें यह शामिल हो:

  • पत्र wया rया iया tयाe

आउटपुट को वर्ड काउंट कमांड के साथ पाइप किया जाता है | wc -l। से आउटपुट लाइनें apt-getदबा दी जाती हैं wc-lस्विच का निर्देश wcलाइनों की केवल प्रिंट गिनती और नहीं शब्द गणना या चरित्र गिनती के लिए।

सिमुलेशन-s ध्वज के साथ निर्दिष्ट किया गया है । आप --simulateअधिक पठनीयता के लिए ध्वज का उपयोग भी कर सकते हैं । एक सिमुलेशन का एक और फायदा यह है कि आपको उन sudoशक्तियों की आवश्यकता नहीं है जो हम में से कई ने सीखी हैं जो कई बार खतरनाक हो सकती हैं।

lessकमांड को पाइप आउटपुट में शामिल पैकेज नामों का एक विचार प्राप्त करने के लिए :

$ apt-get remove [write] --simulate | less

NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Also keep in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists...
Building dependency tree...
Reading state information...
Package 'libpam-pin' is not installed, so not removed
Package 'activity-log-manager-common' is not installed, so not removed
Package 'libnet-patricial-perl' is not installed, so not removed
Package 'pe' is not installed, so not removed

   (.... Plus 65,269 more packages ....)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.