W systemach opartych na Debianie, jak usuwamy pliki konfiguracyjne pakietów, które zostały już odinstalowane?

16

Mówiąc ściślej, chciałbym zrobić ekwiwalent dodając --purgeflagę do następującego polecenia

sudo apt-get autoremove --purge [package name]

do pakietów, które nie są już w systemie.

Najlepiej, gdybym chciał wiedzieć, jak to zrobić dla określonych pakietów i każdego odinstalowanego pakietu w systemie.

Alexandre Martins
źródło
Pytanie nie jest jasno sformułowane. Zakładam, że masz na myśli - „jak usunąć pliki konfiguracyjne z pakietów, które zostały usunięte z systemu, ale nadal mają zainstalowane pliki konfiguracyjne”. Wprowadzanie autoremovejest po prostu mylące, imo.
Faheem Mitha
@FaheemMitha Zmieniłem tytuł zgodnie z Twoimi sugestiami. Ale myślę, że autorove tylko by sprawiły zamieszanie, gdybym nie napisał nic innego. Ale zdanie „Chciałbym zrobić odpowiednik dodania flagi --purge do następującego polecenia” wyjaśnia wszystko.
Alexandre Martins

Odpowiedzi:

18

Następujące czynności powinny robić, co chcesz:

aptitude purge \~c

Spowoduje to wyczyszczenie wszystkich pakietów z cflagą stanu (usunięty pakiet, pliki konfiguracyjne nadal istnieją). Dokumentacja flagi jest tutaj .

Chris Down
źródło
Przepraszamy, nie działa linia 1> # sudo aptitude purge '-c' linia 2> aptitude: nieprawidłowa opcja - 'c'
Alexandre Martins
3
@AlexandreMartins Pierwszym znakiem w cudzysłowie jest tylda, a nie łącznik.
Chris Down
aptitude purge ~cdziała również
Ortomala Lokni
@OrtomalaLokni Niezawodnie. ~[user]jest prawidłowym rozszerzeniem tyldy POSIX.
Chris Down
@ Chris Down Ok, w przypadku, gdy masz użytkownika o nazwiec
Ortomala Lokni
6

Dla tych, którzy nie chcą instalować aptitude:

sudo dpkg -P $(dpkg -l | awk '/^rc/ { print($2) }')
Maciej Strzelecki
źródło
2

--purgeFlag usuwa pliki konfiguracyjne dla pakietów, które nie są już zainstalowane. Nie polecam ślepego usuwania plików konfiguracyjnych dla wszystkich odinstalowanych pakietów. Możesz zatrzymać niektóre z nich. W przypadku pojedynczego pakietu dpkg -Pzadziała ( -Poznacza --purge). Tutaj alacartezainstalowane są tylko pliki konfiguracyjne, stąd rcflagi. Na przykład

orwell:/home/faheem# dpkg -l alacarte
[...]
rc  alacarte                           0.11.5-1                           easy GNOME menu editing tool
orwell:/home/faheem# dpkg -P alacarte
(Reading database ... 345418 files and directories currently installed.)
Removing alacarte ...
Purging configuration files for alacarte ...
orwell:/home/faheem# dpkg -l alacarte
[...]
un  alacarte                           <none>                             (no description available)
Faheem Mitha
źródło
Zwykle ważne konfiguracje przechowuję we własnym folderze domowym. Oznacza to, że flaga --purge nie robi mi nic problematycznego. I to naprawdę pomaga mi później nie mieć żadnych problemów. Czy jest jakiś dobry powód, dla którego mówisz, że nie powinienem używać - purge, którego mi brakuje?
Alexandre Martins
1
@AlexandreMartins: Jeśli jesteś pewien, że nie masz żadnej konfiguracji w żadnym z plików konfiguracyjnych systemu, to chyba w porządku. Jednak zdecydowanie nie jest tak w moim przypadku.
Faheem Mitha
-1
aptitude --clean-on-startup

To powinno wyczyścić pamięć podręczną pakietu.

SuperBOB
źródło
3
Po stronie manuale: „Czyści pamięć podręczną pakietów po uruchomieniu programu”. Nie o to prosił PO.
enzotib