Puncte:3

De ce „apt-cache search” și „find / -name” arată fișierele asociate cu un pachet pe care l-am eliminat deja?

drapel mx

Am instalat în mod special libreoffice-writer pe sistemul meu și apoi l-am curățat cu sudo apt-get purge '*libreoffice-writer*' --autoremove. După aceasta, am rulat aceste comenzi de terminal una după alta pentru a afla dacă am scăpat de fapt de toate fișierele asociate cu libreoffice sau cu libreoffice-writer -

căutare apt-cache libreoffice-writer

sudo find / -name libreoffice 

imagine de ieșire a comenzii

si apoi am fugit căutare apt-cache libreoffice și a afișat zeci de fișiere cu numele „libreoffice” imaginea de ieșire

După cum puteți vedea în imaginile terminalului, de ce au mai rămas atât de multe fișiere asociate? Cum scap de toate aceste fișiere în așa fel încât data viitoare când instalez ceva de la libreoffice, acesta ar trebui să se instaleze ca și cum se instalează pentru prima dată pe sistemul meu?

guiverc avatar
drapel cn
`apt-cache search` caută fișierele găsite în listele dvs. de software (adică din datele din `apt update` și nu se limitează la pachetele instalate - permițându-vă să găsiți ce puteți instala etc). Nu folosesc Kubuntu și nu am `kubuntu-desktop` instalat; dar pot să „apt-cache search kubuntu-desktop” pentru a confirma că pachetul conține ceea ce cred că este... adică. caută în memoria cache a listelor mele de software... pachete neinstalate.
guiverc avatar
drapel cn
Am spus „`apt-cache search` caută fișierele găsite” în comentariul meu anterior; ar trebui să fie **pachete** nu fișiere, îmi pare rău.
skekmal avatar
drapel mx
Vrei să spui că comanda „purge” nu scapă de fișierele din cache? Atunci aceste fișiere din cache sunt temporare? așteaptă să dispară după ce mă repornesc/re-autent? Acesta este Ubuntu 21.10.
guiverc avatar
drapel cn
Lista de pachete este actualizată prin executarea comenzii `apt update`. Nu instalați pachete cu acea comandă, dar când utilizați ulterior `apt install`...`apt-cache` citește din memoria cache descărcată de comanda anterioară `apt update` și include toate pachetele disponibile sistemului dumneavoastră după sursele pe care le-ați activat/adăugat (fie ele instalate, fie neinstalate). Presupun că nu utilizați Kubuntu și, prin urmare, nu îl aveți instalat - utilizați exemplul pe care l-am folosit în comentariul anterior.. `apt-cache` este folosit pentru a căuta pachete disponibile pentru dvs..
muru avatar
drapel us
Vă rugăm să nu postați capturi de ecran de text. Copiați textul aici și folosiți formatarea codului: https://askubuntu.com/editing-help#code
Nate T avatar
drapel it
În mod ironic, postarea de imagini cu cuvinte creează o problemă similară cu cea pe care o întâmpinați. Când cineva caută „libreoffice-sdbc-firebird”, de exemplu, se așteaptă să vadă toate Q-urile asociate cu termenul, însă acesta nu va apărea. Chiar dacă este chiar acolo. În situația dvs., chiar dacă fișierele spun `libreoffice`, ele nu sunt asociate cu acel pachet. Cel puțin în multe dintre cazuri.
drapel cn
`Cum scap de toate aceste fișiere` - ar trebui să funcționeze: `find / -iname "*libreoffice*" -print0 | xargs -0 rm -rfv`
Puncte:12
drapel cn

Apt menține o bază de date locală a tuturor pachetelor deb disponibile din toate sursele cunoscute în prezent. „Disponibil” înseamnă că include pachete pe care nu le aveți instalate în prezent precum și pachetele pe care le aveți instalate în prezent.

  • apt-cache caută în baza de date
  • actualizare apt reîmprospătează baza de date din acele surse
  • lista apt libreoffice-writer sau lista apt libreoffice* va specifica ce pachete din ieșire sunt instalate.

Acum să ne uităm la fișierele și directoarele care rămân după un --purge.

  • Directoarele pot rămâne dacă nu sunt goale după ce apt a terminat de îndepărtat fișierele. Un alt pachet (sau administratorul) poate folosi și directorul.

  • Apt nu va elimina NICIODATĂ niciun fișier aflat sub directorul dvs. /home. (Pagina de manual este foarte clară despre asta)


Câteva cuvinte despre utilizarea metacaracterelor cu apt: Mulți utilizatori sunt surprinși când metacaracterele fac ca pachetele suplimentare să fie marcate pentru acțiune, iar când pachetele pe care se așteptau să fie marcate nu sunt.

Pot exista o mulțime de motive posibile pentru care obțineți o acțiune diferită de cea așteptată: dependențe, nume neașteptate, greșeli de ortografie, metacaracter greșit etc.

Există două școli de gândire cu privire la utilizarea sigură și eficientă a wildcards cu apt:

  1. Folosește apt --simula pentru a testa mai întâi acțiunea. Examinați-vă rezultatele și găsiți neașteptele ÎNAINTE de a o face pe bune.

  2. Evitați deloc să utilizați metacaracterele. Utilizați instrumentele apt pentru a CUNOAȘTE pachetele corecte asupra cărora doriți să acționați. Apoi enumerați acele pachete.

skekmal avatar
drapel mx
Totul are sens acum. La sugestia dvs. de a enumera toate pachetele instalate, am rulat comanda („apt-cache search libreoffice-writer --installed”), dar terminalul spune că „--installed” nu este înțeles în combinație cu alte opțiuni. Nu crezi că „căutarea apt-cache” este o alegere proastă pentru a căuta pachete instalate aici?
user535733 avatar
drapel cn
Mulțumesc că ai observat eroarea. Fix acum.
Puncte:3
drapel cn

căutare apt-cache caută pachetele găsite în listele dvs. de software (adică din datele de la actualizare apt și nu se limitează la pachetele instalate - permițându-vă să găsiți ceea ce puteți instala etc).

Nu folosesc Kubuntu și nu am kubuntu-desktop instalat; dar pot cautare apt-cache kubuntu-desktop pentru a confirma că pachetul conține ceea ce cred că este; este disponibil pentru sistemul meu, mi-am amintit corect numele etc. și apoi pot decide să îl instalez. adică. îmi caută cache-ul listelor de software... nu pachetele mele instalate.

Lista de pachete este actualizată prin executarea programului actualizare apt comanda. Nu instalați pachete cu acea comandă, ci atunci când utilizați ulterior instalare apt... apt-cache citește din cache descărcat de prior actualizare apt comandă și include toate pachetele disponibile sistemului dvs. după sursele pe care le-ați activat/adăugat (fie ele instalate sau nu).

guiverc avatar
drapel cn
comentariile anterioare *masate ușor* într-un răspuns dur
Puncte:2
drapel zw

Trebuie să folosești dpkg --list | grep -i libreoffice pentru a determina pachetele instalate legate de LibreOffice.

Dacă fișierele legate de LibreOffice au fost instalate folosind APT, atunci acestea ar trebui eliminate în acest fel. Pentru a automatiza procesul, utilizați comanda de mai jos:

sudo apt-get autopurge $(dpkg --list | grep -i libreoffice | awk '{print $2}')

și nu eliminați manual fișierele controlate de APT.


Lucruri de citit:

  1. om dpkg
  2. om apt
  3. man apt-cache

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.