Come rimuovo solo un pacchetto specifico con apt-get?


18

Ho appena installato MySQL-server e tutte le sue dipendenze, tra le altre necessità. Ma quando è andato a configurare mysql-server non è riuscito a farlo e ha generato un errore. Quale errore non è rilevante qui poiché sono riuscito a individuare il problema come problema di dipendenza tra mysql-server e mysql-common. Mysql-common deve essere rimosso.

Ma quando vado a

apt-get purge remove mysql-common 

Vuole rimuovere automaticamente tutto anche in associazione con esso, comprese tutte le dipendenze mysql, anche apache2 e php5 ..

Quindi quale argomento deve essere aggiunto al comando apt-get per disinstallare SOLO UN pacchetto, lasciando intatti tutti gli altri.

Risposte:


21

apt-get non ti consente di farlo, poiché è un passaggio potenzialmente pericoloso per un sistema di gestione dei pacchetti.

Finché sei consapevole che potrebbero esserci delle conseguenze, usa dpkgl' --removeopzione per farlo. Per esempio:

sudo dpkg --remove mysql-common

Nota : sul mio sistema 12.04 con apache2, php5, mysql-serverinstallato separatamente, utilizzando apt-getper rimuovere mysql-commonNON si desidera rimuovere apache2 o php5 .

Dal commento dell'insonnia: se è necessario ignorare la decisione del sistema di dipendenza, è possibile (con grande cura e assicurarsi di sapere cosa si sta facendo) utilizzare un ulteriore --force-depends.

sudo dpkg --remove --force-depends mysql-common

Va bene, grazie. Molti altri hanno affermato che ha funzionato. Intendo molte persone. Ma sì, succede su Ubuntu. Ma in realtà sono su Debian. Ma ho chiesto qui perché sono un utente qui, e sono molto simili e il sistema di pacchetti è lo stesso .. grazie amico.
insonnia

non preoccuparti amico. Non ti lascerò impiccato. Accetto sempre. La gente di solito lo ignora dopo che accetto e c'è ancora un problema. Ma l'ho appena provato e non me lo permetterebbe. C'è un comando di forza?
insonnia,

Scusa, esatto - penso che devi aspettare un certo periodo di tempo prima di poterlo fare - 15 minuti, penso? Riprova ogni volta che ne hai la possibilità, senza fretta. Inoltre, ho appena notato che hai menzionato che stai usando Debian - nota che le domande che riguardano Debian sono fuori tema e sono spesso chiuse come tali. Per favore, considera di chiedere a unix.stackexchange.com qualcosa di specifico per Debian in futuro :)
ish

Sì, ho immaginato come tale ... motivo principale per cui non l'ho menzionato fino a quando non ne ho avuto bisogno. Intendo dire che i loro gestori di pacchetti sono gli stessi, Ubuntu è appena stato inventato su Debian. ma va bene. la cosa dei 15 minuti non funziona, perché ho provato molto più a lungo di 15 minuti dopo. Ma non posso digitare qualcosa di simile a "dpkg -f --remove mysql-common"?
insonnia,

Se plain --removeti dà un avvertimento e si interrompe, certo, puoi forzarlo -f. A proposito, --removeè lo stesso di -r.
Ish,

0

Se qualcuno desidera sapere che il comando debian 2014 è:

dpkg --force-all -r name_of_package

È cambiato un po '

Ci sono molti argomenti --force-, quindi per motivi di dipendenza meglio controllarli tramite:

dpkg --force-help

--force-allnon è assolutamente sicuro, perché non suggerire --force-dependsE fornire anche un avviso adeguato?
Guntbert,

Non è mai sicuro eliminare il pacchetto necessario per altri pacchetti senza disinstallare l'altro. --force-all è solo un approccio rapido e sporco
Michal Sapsa,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.