J'ai cherché de telles informations sur le net et trouvé différentes lignes de commande, comme celles-ci:
sudo apt-get remove application
sudo apt-get remove application*
sudo apt-get remove --purge application
sudo apt-get remove --purge application*
sudo apt-get purge application
sudo apt-get purge application*
Alors, quelle est la bonne façon? Est-il nécessaire d'utiliser ce "*"?
Après cela, j'ai aussi trouvé ces commandes:
sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
command-line
package-management
utilisateur48949
la source
la source
application*
peut parfois donner des résultats inattendus - par exemple, si vous avez un fichier nommé dans le répertoire courantapplication_information
, le shell le développerait avant de le transmettre à apt-get. Si cela se produit et que vous voulez un astérisque littéral, vous pouvez utiliserapplication\*
ou'application*'
application*
est encore plus dangereux lorsqu'il n'y a pas de fichiers dans le répertoire en cours:apt-get
utilise des expressions régulières, pas de modèles globaux. Les gens ont presque effacé tout le système en essayant de le supprimerwine*
.application*
niapplication\*
sûr! Citant*
avec\
ou'
'
seulement augmente le risque ASSURANT*
est passé en-est deapt-get
(il est généralement de toute façon!), Faitapt-get
d'interpréter l'argument comme une expression régulière. Dans une expression rationnelle*
signifie "zéro ou plus du caractère précédent". Une forme courante de l'erreur consiste à désinstallerwine*
, en supprimant tous les emballages àwin
(nonwine
,win
) partout dans leurs noms et tous les paquets en fonction de l' un d'eux. Voir cette explication et les solutions possibles . @IzkataRéponses:
apt-get remove packagename
supprimera les fichiers binaires, mais pas les fichiers de configuration ou de données du paquet
packagename
. Il laissera également les dépendances installées avec lui au moment de l'installation intact.apt-get purge packagename
ouapt-get remove --purge packagename
supprimera à peu près tout ce qui concerne le paquet
packagename
, mais pas les dépendances installées lors de l'installation. Les deux commandes sont équivalentes.Particulièrement utile lorsque vous souhaitez «tout recommencer» avec une application, car vous avez gâché la configuration. Cependant, il ne supprime pas les fichiers de configuration ou de données résidant dans les répertoires de base des utilisateurs, généralement dans les dossiers cachés. Il n’existe pas non plus de solution simple pour les supprimer.
apt-get autoremove
supprime les packages orphelins, c'est-à-dire les packages installés qui étaient installés auparavant comme dépendance, mais ne le sont plus. Utilisez-le après avoir supprimé un paquet contenant des dépendances qui ne vous intéressent plus.
aptitude remove packagename
ouaptitude purge packagename
(pareillement)tentera également de supprimer les autres packages requis par
packagename
on mais non requis par les packages restants. Notez queaptitude
seules les informations de dépendance des packages installés par l'utilisateur sont mémorisées.Et beaucoup d'autres existent. Niveau inférieur
dpkg
-commandes peuvent être utilisés (avancé), ou des outils de l' interface graphique tels que muon, Synaptic, Software Center, etc. Il n'y a pas unique « de manière correcte » de la suppression d' applications ou d' effectuer d' autres tâches qui interagissent avec votre gestion des paquets.La liste que vous avez trouvée ne sont que des exemples. Assurez-vous de bien comprendre le sens et d'essayer ce qu'il veut faire avant d'accepter l'action (vous devez appuyer sur
Y
avant qu'il n'exécute réellement les actions proposées).La version astérisque dans la question est probablement fausse ;
apt-get
accepte une expression régulière et non un motif glob en tant que shell. Alors qu'est-ce qui se passe avecest le suivant:
Le shell essaie de se développer en
application*
regardant les fichiers du répertoire en cours. Si (comme c'est normalement le cas), il ne trouve rien, il retourne le modèle global sans modification (en supposantbash
que le comportement par défaut est ici ---zsh
va provoquer une erreur).apt-get
supprimera les paquets dont le nom contient une chaîne qui satisfait l'expression régulièreapplication*
, qui est,applicatio
suivie par un nombre arbitraire den
:applicatio
,application
,applicationn
,libapplicatio
, etc.Pour voir à quel point cela peut être dangereux, essayez (sans root pour une double sécurité)
apt-get -s remove "wine*"
(-s
simulera la chose au lieu de la faire) --- elle dira qu'elle supprimera tous les paquets qui ont "gagnant" en leur nom et la personne à charge, presque tout le système ...Probablement, la commande qui a été signifiée est vraiment
(notez les guillemets et le point) qui supprimera tous les paquets dont le nom commence par
application
.Ces commandes,
sont complètement hors du champ de la gestion des paquets. Ne supprimez pas les fichiers appartenant à des packages sans utiliser le gestionnaire de packages! Cela va devenir confus et c'est la mauvaise façon de faire les choses.
Si vous ne savez pas à quel paquet appartient un fichier, essayez ceci:
la source
apt-get-autoremove --purge
Il est également important de noter que les fichiers de configuration de votre répertoire de base ne sont pas affectés par l'option --purge. Vous devrez les supprimer manuellement.apt remove -s texlive*
ou sesapt-get
lignes de retour de contrepartie tels queNote, selecting 'texlive-font-utils' for glob 'texlive*'
(ce qui implique qu'ils acceptent en effet ne globs), suivi par les habituelsPackage 'texlive-common' is not installed, so not removed
, et enfin desRemv
lignes, commeRemv texlive-font-utils [2015.20160320-1] [...]
.apt-get remove packa*
cela prenne effectivement le globpacka*
au lieu de le regarder comme une regex: cela correspondpackage
mais paspack
.Pour Ubuntu 12.04 et plus, la méthode correcte est la suivante:
Comme détaillé ici .
Ne pas utiliser
packagename*
car cela peut supprimer des paquets non souhaités et causer plus de problèmes qu'il n'en résout. Ou si vous devez, au moins crontab avec-s
,--simulate
,--dry-run
drapeau d' abord pour voir exactement ce qu'il fera sans le faire.la source
Vous pouvez utiliser cette commande:
Il purgera les packages requis ainsi que les dépendances installées avec ces packages. L'
--auto-remove
option (étant un alias deautoremove
) fonctionne de manière similaire àsudo apt-get autoremove
. En utilisant cette commande, nous pouvons exécuter une seule commande:Au lieu de:
la source
sudo apt-get --purge autoremove packagename
. Même commande 1apt-get autoremove --purge
lieu deapt-get purge --auto-remove
?Vous pouvez utiliser en toute sécurité
sudo apt-get remove --purge application
ousudo apt-get remove applications
99% du temps. Lorsque vous utilisez l'purge
indicateur, tous les fichiers de configuration sont également supprimés. Ce qui peut être ou ne pas être ce que vous voulez, selon si vous souhaitez réinstaller ladite application. Leapplication*
correspondra à toutes les applications qui commencent parapplication
, qui sont généralement des plugins, des fonctionnalités supplémentaires, etc. de l'application principale que vous supprimez. c'est à direenlèverait
gedit
,gedit-plugins
etgedit-common
. En règle générale, cela n’est pas nécessaire, car la plupart des plugins / programmes associés dépendent de l’application principale et seront automatiquement supprimés (ou marqués pour suppression) lorsque vous désinstallez l’application principale.Votre dernière commande consiste simplement à supprimer les restes d'applications dont on sait qu'ils ont des programmes de désinstallation en désordre, et simplement à supprimer les restes de l'application.
la source
J'ai reçu des messages d'erreur lors de la suppression d'un paquet, la seule façon qui a fonctionné est la suivante:
J'ai trouvé que bien que n'utilisant que
ne supprime pas le paquet, il me montre le chemin correct du fichier à déplacer avec:
Paquet de remplacement avec votre nom d'application. Utilisez sudo dans Ubuntu, devenez root dans Debian.
la source
J'ai trouvé cette commande sur internet.
http://www.debian-administration.org/article/Reinstalling_packages_to_fix_problems .
la source
Cela dépend de l'application que vous souhaitez supprimer. Assurez-vous toujours de vérifier ses dépendances avant d'émettre la commande yes. Lorsque vous supprimez quelque chose en ligne de commande, il apparaît parfois une poignée de bibliothèques qui ne sont plus nécessaires. Ceux-ci peuvent être supprimés avec apt-get autoremove.
Attention, l'utilisation de commandes telles que sudo apt-get remove --purge applicationname peut supprimer certaines dépendances requises par d'autres applications et, en tant que telles, peut endommager votre système.
Si vous voulez le faire de manière plus sécurisée, vous pouvez toujours le supprimer en utilisant simplement le centre logiciel ou apt-get remove applicationname. Si les dépendances ne sont plus nécessaires, lancez apt-get autoremove ultérieurement.
la source
Je voulais juste clarifier une chose qui semble être une source de confusion ici. L'
dpkg
utilitaire ne connaît ni ne suit les dépendances des paquets les uns par rapport aux autres, ce qui était une raison importante qui aapt
été développée, je crois. Vous en saurez plus à ce sujet à la section 8.6 de cette page. La FAQ Debian GNU / Linux - Les outils de gestion des paquets DebianAvec apt: Si je voulais purger le paquet A, et qu'il a une dépendance appelée paquet B, et que le paquet B n'avait aucun autre paquet dépendant, alors les paquets A et B seront purgés. Si le package B possède d'autres packages dépendants, seul le package A sera purgé.
Avec dpkg: quelle dépendance? Tu viens de me dire de purger ce foutu
paquet alors c'est ce que j'ai fait! Une mauvaise planification de votre part ne
constitue pas une urgence de ma part.
Cela dit, voici deux lignes uniques qui peuvent être utilisées pour chaque méthode de purge:
Supprimez la
--dry-run
pour effectuer l'opération de purge réelle au lieu de signaler les actions qu'elle aurait entreprises.la source