Herhangi bir Apple pkg Paketi dosyasını nasıl kaldırabilirim?


50

Aksine görüşlere rağmen , tüm paketler tek bir dizinde temiz bir şekilde kurulmamış. Bir pkg dosyasının yükleme işlemini, tercihen orijinal paketi ile (ya da kurulu paketler hakkındaki bilgi havuzundan) tersine çevirmenin bir yolu var mı?

Özellikle bir Power MacBook'a PowerPC MySQL 5.4.1 paketini kurdum ve gördüğüm 5.1 x86 kurulumunu geri alarak hala orada çalıştığımı ancak şu anda düzgün çalışmadığını doğru bir şekilde tersine çevirmek istiyorum.

Yanıtlar:


83

https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X .pkg dosyasının yerel kullanılarak nasıl kaldırılacağını açıklar pkgutil.

Değiştirilmiş alıntı

$ pkgutil --pkgs # list all installed packages
$ pkgutil --files the-package-name.pkg # list installed files

Dosya listesini görsel olarak inceledikten sonra şöyle bir şey yapabilirsiniz:

$ pkgutil --pkg-info the-package-name.pkg # check the location
$ cd / # assuming the package is rooted at /...
$ pkgutil --only-files --files the-package-name.pkg | tr '\n' '\0' | xargs -n 1 -0 sudo rm -f
$ pkgutil --only-dirs --files the-package-name.pkg | tail -r | tr '\n' '\0' | xargs -n 1 -0 sudo rmdir

Söylemeye gerek yok, kök ayrıcalıklı dosyaları kaldırırken her zaman çok dikkatli olunmalıdır. Özellikle, bazı paketlerin paylaşılan sistem bileşenlerini güncelleyebileceğini unutmayın; bu nedenle bunları kaldırmak, gerçekten gerekli bir bileşeni kaldırarak sisteminizi kırabilir.

Daha küçük paketler için, paket dosya listesini görsel olarak inceledikten sonra dosyaları yalnızca el ile kaldırmak daha güvenlidir.

Görünüşe göre, bir zamanlar bir --unlinkseçenek mevcuttu pkgutil, ancak Lion olarak man sayfasında belirtilmemiştir. Belki de çok tehlikeli olduğu için çıkarıldı.

Dosyaları kaldırdıktan sonra, makbuzu şu şekilde kaldırabilirsiniz:

$ sudo pkgutil --forget the-package-name.pkg

1
Ben kullanarak tavsiye ederim rmdiryerine rm -r; Bir de dizin sıralarının listesini doğru sırayla silmek için kullanabilir tacya tail -rda tersine çevirebilirdi
Sam Mason

18
Sudo rm -ir KISIMI ÇALIŞTIRMAYIN. Liste ana dizinleri içerir! Pkg / usr şey yüklü Yani eğer / ... TÜM / usr / kaldıracaktır
FiloSottile

2
Kullanılacak dizinleri silme komutunu değiştirdim rmdir(boş olmayan dizinleri silmez) ve tail -rdaha iyi sırayla listelemek için kullanır .
brablc

1
ironik olarak, pgkutil kullanırken, kullanabileceğimden uzak bir uninstaller.pl dosyası buldum. Mükemmel!
cmroanirgo

Pkgs'nin takip edemediği bir şey, pkgs tarafından oluşturulan sembolik işaretler. Paketi yukarıdaki talimatlardan (veya buradaki yöntemlerden herhangi biriyle) temizlemenin arızada kırık işaretler bırakması olasıdır.
James McMahon

19

Sistemde yerleşik olarak bir kaldırıcı kullanarak dosyaları kaldırma seçeneği yoktur; böylece bir kaldırıcıyı kendiniz yapabilir veya dosyaları el ile kaldırabilirsiniz.

Hangi dosyaların yüklendiğini belirlemek için en iyi yöntem, .pkgmümkünse orijinali tutmaktır . Bu mümkün değilse, adresinde bulunan makbuzları da kullanabilirsiniz /Library/Receipts. En büyük sorununuz, .mpkgbirden fazla .pkgdosya içeren bir dosyayla uğraşırken .pkg, o klasördeki tüm ayrı dosyaları bulmanız gerekecektir (tarihe göre sıralandığında neyse ki o kadar da zor değil).

.pkgDosyayı aldıktan sonra (Makbuz veya tam yükleme dosyası), kaldırıcıyı oluşturmak veya dosyaları bulmak için bir yardımcı program kullanabilirsiniz; böylece dosyaları el ile kaldırabilirsiniz:

Kaldırıcı

Mutlak Yazılım InstallEase , mevcut .pkg dosyalarından kaldırıcı oluşturabilen ücretsiz bir programdır. Kaldırma .pkgdosyasını yapın (not: .pkgdosyayı gerçekten oluşturmak için Apple’ın Geliştirici Araçlarına ihtiyacınız olacak )

el ile

Pacifist veya Suspicious Package gibi bir QuickLook eklentisi gibi bir program kullanarak, hangi dosyaların yüklendiğini ve hangi konumda olduğunu görebilirsiniz. Bu listeyi kullanarak daha sonra bu klasörlere manuel olarak gidebilir ve dosyaları kaldırabilirsiniz. InstallEase'i keşfetmeden önce bu yöntemi kişisel olarak sayısız kez kullandım, ancak yükleme birçok konum arasında yayılmıyorsa, bu genellikle daha hızlıdır.


Teşekkürler, düzenli 5.1 mysql paketleri bir makbuz bırakırken, beta 5.4 mysql paketleri vermedi. Bu biraz garip.
dlamblin

4
Vay, bunu bilseydim baştan .pkgbaşlayamazdım. yu no Programlar ve Özellikler OS X?
NobleUplift


1

Önerileri bu siteden deneyebilirsiniz: http://www.entropy.ch/software/macosx/mysql/remove-old-mysql.html . Ayrıca, bununla ilgili Adobe destek sitesinde bir makale var; İşte bağlantı: http://support.adobe.com/devsup/devsup.nsf/docs/52355.htm .

Ayrıca, genellikle sahip olduğunuz uygulamalar pkg dosyayı dmg genellikle de kaldırmayı için kullanılan başka pkg var. Bunun doğru olup olmadığından emin değilim, ancak orijinal dmg dosyasını saklamanızı bildirmek istedim.


1

Bir kabuk krema yaptım

deneyebilirsin

https://github.com/iamrToday/pkg-remove

Bir .gif demosu gösterir, kaynak kodunu görebilirsiniz, sadece brablc komut satırını kaydırın . Bilgi aramak için çalıştırabilirsiniz, ayrıca apk kaldırabilirsiniz. İnteraktif.


bu ne işe yarıyor?
Pierre.Vriens

Bir .gif demosu gösteriyorum, kaynak kodunu görebilirsiniz, sadece brablc komut satırını kaydırın . bilgi aramak için çalıştırabilirsiniz, ayrıca apk kaldırabilirsiniz. etkileşimli. :)
rToday Lin
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.