जवाबों:
यदि वे आपके रास्ते में नहीं हैं, तो मैं उन्हें छोड़ दूंगा जहां वे हैं।
यदि आप हटाने पर जोर देते हैं, तो dpkg -l | grep i386
i386- पैकेजों की एक सूची बनाने के लिए उपयोग करें। आप कुछ के साथ सावधानीपूर्वक जाँच के बाद इन्हें हटा सकते हैं sudo apt-get purge <package-name>
।
apt-get purge <package-name>
हालांकि अभी भी काम करना चाहिए।
dpkg -l | grep amd64
मुझे अपनी सूची में एक i386 pkg मिला amd64-microcode 3.20160316.3 i386
, जो है , मुझे लगता है कि '': '' grep पैटर्न में महत्वपूर्ण है ! ( dpkg -l | grep ":amd64"
)
ऊपरी स्वचालित समाधान खतरनाक हैं और हमेशा काम नहीं कर रहे हैं (1), इसलिए यहां एक और तरीका है
sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
या
sudo apt-get purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
(हमेशा और केवल एक उपकरण का उपयोग करने की कोशिश करें। चूंकि निर्भरता की समस्या होने पर योग्यता बेहतर होती है, इसलिए मैं पसंद करता हूं)।
अच्छा विचार भी है
dpkg --remove-architecture i386
और शायद
dpkg --print-foreign-architectures
(1) पूर्व कमांड भी उनके नाम में केवल i386 वाले पैकेजों को सूचीबद्ध करता है (हालांकि वे 64 बिट आर्किटेक्चर के लिए हैं), नियमित अभिव्यक्ति काम नहीं करती थी और dpkg उन पैकेजों को दिखाता है जो पहले ही हटाए जा चुके हैं, लेकिन फिर भी कॉन्फ़िगरेशन फाइलें बाकी हैं ( dpkg -l स्थिति के रूप में "ii" के बजाय "rc" दिखाता है।
awk
भी तरह का उपयोग कर रहे हैं , इसलिए आप grep
आह्वान से छुटकारा पा सकते हैं । इसके अलावा, $()
backticks के बजाय बेहतर है। मैंने अपने i386 पैकेजों को इस कमांड का उपयोग करके छुटकारा दिलाया जो आपने दिया था:sudo apt purge $(dpkg --get-selections | awk '$1 ~ /:i386$/ { print $1 }')
मैंने अपने सभी 32 बिट पैकेज को इस तरह ब्लिट किया:
sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
dpkg -l | grep i386
जांच करता हूं कि पैकेज अभी भी कोई विचार हैं, तो
sudo dpkg --remove-architecture i386
यदि कोई सोच रहा है, तो ऐसा करने के लिए बहुत अधिक समझदार और सुंदर तरीका है। आखिरी पिछला उत्तर वही काम करने की उम्मीद करता है, लेकिन यह खोज विफल हो जाती है क्योंकि आर्किटेक्चर वास्तव में पैकेज नामों का हिस्सा नहीं हैं, विशेष मामलों को छोड़कर।
रूट के रूप में (या sudo के साथ) रन:
aptitude remove ~i~ri386
यदि आप पहले से ही एप्टीट्यूड का उपयोग नहीं करते हैं, तो करें। यह वास्तव में उत्कृष्ट है। आप योग्यता के खोज शब्दों की एक सूची पा सकते हैं यहाँ ।
यहाँ एक और तरीका है जो कम जोखिम वाला है:
apt-get remove "^.*:i386$"
यह विशेष रूप से केवल उन पैकेजों के साथ मेल खाएगा ":i386"
, जो सभी i386
आर्किटेक्चर डेबियन पैकेजों के लिए मानक नामकरण सम्मेलन है।
sudo apt-get purge .*:i386
डेबियन के multiarch गाइड : इस आदेश का उल्लेख है apt-get purge ".*:<arch>"
, जो होगा दिखता है के लिए इस तरह i386
:
apt-get purge ".*:i386"
फिर आप dpkg से आर्किटेक्चर को हटा सकते हैं:
dpkg --remove-architecture i386