Tüm i386 paketleri Ubuntu 64bit'ten nasıl kaldırılır?


Yanıtlar:


15

Senin yolunda olmazlarsa, onları oldukları yerde bırakırdım.
Silme konusunda ısrar ediyorsanız dpkg -l | grep i386, i386 paketlerinin bir listesini oluşturmak için kullanın . Bunları, benzer bir şeyle dikkatlice kontrol ettikten sonra silebilirsiniz sudo apt-get purge <package-name>.


2
Bu yetenek çokarkala ayrıldıysa , o kadar iyi çalışmayacak: P
tumbleweed

apt-get purge <package-name>Yine de çalışmalıyım.
Eliah Kagan

2
"Dikkatli kontrol ettikten sonra" - bu belirsizdir. Lütfen daha net olun.
kevinarpe

1
Ben bir usb i386 sistemi var bazen amd64 makinelerde kullanıyorum, şimdi sadece tersini yapmak istedim, bu yüzden çalıştırdıktan sonra dpkg -l | grep amd64lepimde amd64-microcode 3.20160316.3 i386grp düzeninde ':' olduğunu düşünüyorum. önemli ! ( dpkg -l | grep ":amd64")
Jonah

24

Üst otomatik çözümler tehlikelidir ve her zaman çalışmazlar (1), işte başka bir deyişle

sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`

veya

sudo apt-get purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`

(Her zaman ve yalnızca araçlardan birini kullanmaya çalışın. Bağımlılık sorunu yaşarken yetenek daha iyi olduğu için bunu tercih ederim.)

Ayrıca iyi fikir

dpkg --remove-architecture i386

ve belki

dpkg --print-foreign-architectures

(1) Eski komutlar ayrıca adlarında yalnızca i386 olan paketleri de listeler (64bit mimarisine rağmen), normal ifade işe yaramadı ve dpkg zaten kaldırılmış olan, ancak hala yapılandırma dosyaları kalmış ( dpkg -l durum olarak "ii" yerine "rc" ifadesini gösterir).


awkYine de kullandığınızdan beri , grepistiladan kurtulabilirsiniz . Ayrıca, geri $()tepme yerine tercih edilir. Bu komutu kullanarak i386 paketlerimden, sudo apt purge $(dpkg --get-selections | awk '$1 ~ /:i386$/ { print $1 }')
vermiş olduğunuza dayanarak kurtuldum

23

32bit paketlerimin hepsini bu şekilde karıştırdım:

sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`

1
bu tür komutların nasıl yapıldığını, apt-get ve grep komutlarını biliyorum ama neyin awk '{print $ 1}' olduğunu bilmek istiyorum.
Sukupa91

müthiş ve şimdi i386 mimarisini kaldırabildim, ancak dpkg -l | grep i386paketleri kontrol etmek istediğimde hala herhangi bir fikir var, önceden yorum yapmak için +1 ve sanırım kabuk komut dosyası yazma teknikleriyle ilgili
İsmail Marmoush

Yanıt yok muhtemelen, çünkü yorumlar bir awk öğreticisinin yeri değildir. Bu awk biti, girilen her satırın yalnızca ilk alanını yazdırıyor. Awk'nin varsayılan alan ayırıcısı bir boşluktur "".
saat

Bitirinsudo dpkg --remove-architecture i386
Serge Stroobandt

9

Birisinin merak etmesi durumunda, bunu yapmanın çok daha akıllıca ve zarif bir yolu var. Son önceki cevap aynı şeyi yapmayı umuyor, ancak bu aramalar, mimarlık aslında özel durumlar dışında paket adlarının bir parçası olmadığından başarısız oluyor.

root olarak (veya sudo ile) çalıştırma:

aptitude remove ~i~ri386

Zaten apt-get üzerinde yetenek kullanmıyorsanız, yapın. Bu gerçekten mükemmel. Yetenek arama terimlerinin bir listesini burada bulabilirsiniz .


6

İşte daha düşük riskli başka bir yol:

apt-get remove "^.*:i386$"

Bu, özellikle ":i386"tüm i386mimari Debian paketleri için standart adlandırma kuralları olan biten paketlerle eşleşecektir .


neden fazla temizlik yapmayı kaldırsın?
Lotus,

1
@Lotus: Aradaki farkın farkında değilim. Açıklayabilir misin? Belki geliştirmek için bu cevabı güncelleyebiliriz.
kevinarpe

temizleme, yapılandırma dosyalarını ve kalan dizinleri de iirc alır
Lotus

2
@ Lotus temizliği kullandım ve 14.04'te çalıştı. Bu sadece tırnak işaretleri ve karot çıkardıktan sonra benim için çalıştı. sudo apt-get purge .*:i386
Antonios Hadjigeorgalis

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.